Azure İzleyici'de Kapsayıcı İzleme çözümü
Bu makalede, Docker ve Windows kapsayıcı konaklarınızı tek bir konumda görüntülemenize ve yönetmenize yardımcı olan Azure İzleyici'de Kapsayıcı İzleme çözümünün nasıl ayarlanacağı ve kullanılacağı açıklanır. Docker, BT altyapısına yazılım dağıtımını otomatik hale getiren kapsayıcılar oluşturmak için kullanılan bir yazılım sanallaştırma sistemidir.
Önemli
Kapsayıcı İzleme çözümü aşamalı olarak kaldırılıyor. Kubernetes ortamlarınızı izlemek için Azure İzleyici Kapsayıcı içgörülerine geçiş yapmanızı öneririz.
Not
Bu makale kısa süre önce Log Analytics yerine Azure İzleyici günlükleri terimini kullanacak şekilde güncelleştirildi. Günlük verileri hala bir Log Analytics çalışma alanında depolanır ve aynı Log Analytics hizmeti tarafından toplanır ve analiz edilir. Terminolojiyi , Azure İzleyici'deki günlüklerin rolünü daha iyi yansıtacak şekilde güncelleştiriyoruz. Ayrıntılar için bkz. Azure İzleyici terminolojisi değişiklikleri .
Çözüm hangi kapsayıcıların çalıştığını, hangi kapsayıcı görüntüsünü çalıştırdığını ve kapsayıcıların nerede çalıştığını gösterir. Kapsayıcılarla kullanılan komutları gösteren ayrıntılı denetim bilgilerini görüntüleyebilirsiniz. Ayrıca Docker veya Windows konaklarını uzaktan görüntülemek zorunda kalmadan merkezi günlükleri görüntüleyip arayarak kapsayıcı sorunlarını giderebilirsiniz. Gürültülü olabilecek ve konakta fazla kaynak tüketen kapsayıcılar bulabilirsiniz. Ayrıca kapsayıcılar için merkezi CPU, bellek, depolama ve ağ kullanımı ile performans bilgilerini görüntüleyebilirsiniz. Windows çalıştıran bilgisayarlarda Windows Server, Hyper-V ve Docker kapsayıcılarından günlükleri merkezileştirebilir ve karşılaştırabilirsiniz. Çözüm aşağıdaki kapsayıcı düzenleyicilerini destekler:
- Docker Swarm
- DC/OS
- Service Fabric
Kubernetes ve Red Hat OpenShift'inizi izlemek için Azure İzleyici Kapsayıcı içgörülerini kullanmanızı öneririz:
- AKS (AKS için Kapsayıcı içgörülerini yapılandırma)
- Red Hat OpenShift (Azure Arc kullanarak Kapsayıcı içgörülerini yapılandırma)
Azure Service Fabric'te dağıtılan kapsayıcılarınız varsa hem Service Fabric çözümünü hem de bu çözümü küme olaylarının izlenmesini içerecek şekilde etkinleştirmenizi öneririz. Service Fabric çözümünü etkinleştirmeden önce, ne sağladığını ve nasıl kullanılacağını anlamak için Service Fabric çözümünü kullanma makalesini gözden geçirin.
Azure Kubernetes Service(AKS) üzerinde barındırılan Kubernetes ortamlarına dağıtılan iş yüklerinizin performansını izlemek istiyorsanız bkz. İzleme Azure Kubernetes Service. Kapsayıcı İzleme çözümü bu platformu izlemeyi desteklemez.
Aşağıdaki diyagramda Azure İzleyici ile çeşitli kapsayıcı konakları ve aracılar arasındaki ilişkiler gösterilmektedir.
Sistem gereksinimleri ve desteklenen platformlar
Başlamadan önce, önkoşulları karşıladığınızdan emin olmak için aşağıdaki ayrıntıları gözden geçirin.
Docker Orchestrator ve işletim sistemi platformu için kapsayıcı izleme çözümü desteği
Aşağıdaki tabloda Azure İzleyici ile kapsayıcı envanteri, performansı ve günlüklerinin Docker düzenlemesi ve işletim sistemi izleme desteği özetlenmektedir.
Docker Orchestration | ACS | Linux | Windows | Kapsayıcı Envanter |
Görüntü Envanter |
Düğüm Envanter |
Kapsayıcı Performans |
Kapsayıcı Olay |
Olay Günlük |
Kapsayıcı Günlük |
---|---|---|---|---|---|---|---|---|---|---|
Kubernetes | • | • | • | • | • | • | • | • | • | • |
Mesosphere DC/OS |
• | • | • | • | • | • | • | • | • | |
Docker Sürüsü |
• | • | • | • | • | • | • | • | • | |
Hizmet Fabric |
• | • | • | • | • | • | • | • | • | |
Red Hat Open Shift |
• | • | • | • | • | • | • | |||
Windows Server (tek başına) |
• | • | • | • | • | • | • | |||
Linux Server (tek başına) |
• | • | • | • | • | • | • |
Linux'ta desteklenen Docker sürümleri
- Docker 1.11 - 1.13
- Docker CE ve EE v17.06
Kapsayıcı konakları olarak desteklenen x64 Linux dağıtımları
- Ubuntu 14.04 LTS ve 16.04 LTS
- CoreOS(kararlı)
- Amazon Linux 2016.09.0
- openSUSE 13.2
- openSUSE LEAP 42.2
- CentOS 7.2 ve 7.3
- SLES 12
- RHEL 7.2 ve 7.3
- Red Hat OpenShift Container Platform (OCP) 3.4 ve 3.5
- ACS Mesosphere DC/OS 1.7.3 - 1.8.8
- ACS Kubernetes 1.4.5 - 1.6
- Kubernetes olayları, Kubernetes envanteri ve kapsayıcı işlemleri yalnızca Linux için Log Analytics aracısının 1.4.1-45 ve sonraki sürümleriyle desteklenir
- ACS Docker Swarm
Not
Microsoft Operations Management Suite'ten Azure İzleyici'ye devam eden geçişin bir parçası olarak, Windows veya Linux için Operations Management Suite Aracısı, Windows için Log Analytics aracısı ve Linux için Log Analytics aracısı olarak adlandırılır.
Desteklenen Windows işletim sistemi
- Windows Server 2016
- Windows 10 Yıldönümü Sürümü (Professional veya Enterprise)
Windows'da desteklenen Docker sürümleri
- Docker 1.12 ve 1.13
- Docker 17.03.0 ve üzeri
Çözümü yükleme ve yapılandırma
Çözümü yüklemek ve yapılandırmak için aşağıdaki bilgileri kullanın.
kapsayıcı izleme çözümünü log analytics çalışma alanınıza Azure Market veya Çözüm Galerisi'nden izleme çözümleri ekleme bölümünde açıklanan işlemi kullanarak ekleyin.
Docker'ı bir Log Analytics aracısı ile yükleyin ve kullanın. İşletim sisteminize ve Docker düzenleyicinize bağlı olarak, aracınızı yapılandırmak için aşağıdaki yöntemleri kullanabilirsiniz.
- Tek başına konaklar için:
- Desteklenen Linux işletim sistemlerinde Docker'ı yükleyip çalıştırın ve linux için Log Analytics aracısını yükleyip yapılandırın.
- CoreOS'ta Linux için Log Analytics aracısını çalıştıramazsınız. Bunun yerine, Linux için Log Analytics aracısının kapsayıcılı bir sürümünü çalıştırırsınız. Azure Kamu Cloud'da kapsayıcılarla çalışıyorsanız CoreOS dahil olmak üzere Linux kapsayıcı konaklarını veya CoreOS dahil Azure Kamu Linux kapsayıcı konaklarını gözden geçirin.
- Windows Server 2016 ve Windows 10 docker altyapısını ve istemcisini yükleyin, ardından bilgileri toplamak ve Azure İzleyici'ye göndermek için bir aracı bağlayın. Windows ortamınız varsa Windows kapsayıcı konaklarını yükleme ve yapılandırma bölümünü gözden geçirin.
- Docker çok ana bilgisayarlı düzenleme için:
- Red Hat OpenShift ortamınız varsa Red Hat OpenShift için Log Analytics aracısını yapılandırma bölümünü gözden geçirin.
- Azure Container Service kullanan bir Kubernetes kümeniz varsa:
- Kubernetes için Log Analytics Linux aracısını yapılandırma bölümünü gözden geçirin.
- Kubernetes için Log Analytics Windows aracısını yapılandırma bölümünü gözden geçirin.
- Linux Kubernetes'te Log Analytics aracısını dağıtmak için Helm kullanma bölümünü gözden geçirin.
- Azure Container Service DC/OS kümeniz varsa Azure container service DC/OS kümesini Azure İzleyici ile izleme konusunda daha fazla bilgi edinin.
- Docker Swarm modu ortamınız varsa Docker Swarm için Log Analytics aracısı yapılandırma bölümünde daha fazla bilgi edinin.
- Service Fabric kümeniz varsa Azure İzleyici ile kapsayıcıları izleme konusunda daha fazla bilgi edinin.
- Tek başına konaklar için:
Docker Engine'inizi Windows çalıştıran bilgisayarlara yükleme ve yapılandırma hakkında ek bilgi için Windows üzerinde Docker Altyapısı makalesini gözden geçirin.
Önemli
Kapsayıcı konaklarınıza Linux için Log Analytics aracısınıyüklemeden önce Docker'ın çalışıyor olması gerekir. Docker'ı yüklemeden önce aracıyı yüklediyseniz Linux için Log Analytics aracısını yeniden yüklemeniz gerekir. Docker hakkında daha fazla bilgi için Docker web sitesine bakın.
Linux kapsayıcı konaklarını yükleme ve yapılandırma
Docker'ı yükledikten sonra aracıyı Docker ile kullanılacak şekilde yapılandırmak üzere kapsayıcı konağınız için aşağıdaki ayarları kullanın. İlk olarak, Azure portal bulabileceğiniz Log Analytics çalışma alanı kimliğiniz ve anahtarınız olmalıdır. Çalışma alanınızda, Çalışma Alanı Kimliğinizi ve Birincil Anahtarınızı görüntülemek için Hızlı Başlangıç>Bilgisayarları'na tıklayın. Her ikisini de kopyalayıp sık kullandığınız bir düzenleyiciye yapıştırın.
CoreOS dışındaki tüm Linux kapsayıcı konakları için:
- Linux için Log Analytics aracısını yükleme hakkında daha fazla bilgi ve adım için bkz. Log Analytics aracısına genel bakış.
CoreOS dahil olmak üzere tüm Linux kapsayıcı konakları için:
İzlemek istediğiniz kapsayıcıyı başlatın. Aşağıdaki örneği değiştirin ve kullanın:
sudo docker run --privileged -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/containers:/var/lib/docker/containers -e WSID="your workspace id" -e KEY="your key" -h=`hostname` -p 127.0.0.1:25225:25225 --name="omsagent" --restart=always mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
CoreOS dahil olmak üzere tüm Azure Kamu Linux kapsayıcı konakları için:
İzlemek istediğiniz kapsayıcıyı başlatın. Aşağıdaki örneği değiştirin ve kullanın:
sudo docker run --privileged -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/log:/var/log -v /var/lib/docker/containers:/var/lib/docker/containers -e WSID="your workspace id" -e KEY="your key" -e DOMAIN="opinsights.azure.us" -p 127.0.0.1:25225:25225 -p 127.0.0.1:25224:25224/udp --name="omsagent" -h=`hostname` --restart=always mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
Yüklü bir Linux aracısını kullanmaktan kapsayıcıdaki bir aracıya geçme
Daha önce doğrudan yüklenen aracıyı kullandıysanız ve bunun yerine kapsayıcıda çalışan bir aracı kullanmak istiyorsanız, önce Linux için Log Analytics aracısını kaldırmanız gerekir. Aracıyı başarıyla kaldırmayı anlamak için bkz. Linux için Log Analytics aracısını kaldırma.
Docker Swarm için Log Analytics aracısı yapılandırma
Log Analytics aracısını Docker Swarm'da genel bir hizmet olarak çalıştırabilirsiniz. Log Analytics aracı hizmeti oluşturmak için aşağıdaki bilgileri kullanın. Log Analytics Çalışma Alanı Kimliğinizi ve Birincil Anahtarınızı sağlamanız gerekir.
Ana düğümde aşağıdakileri çalıştırın.
sudo docker service create --name omsagent --mode global --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mount type=bind,source=/var/lib/docker/containers,destination=/var/lib/docker/containers -e WSID="<WORKSPACE ID>" -e KEY="<PRIMARY KEY>" -p 25225:25225 -p 25224:25224/udp --restart-condition=on-failure mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
Docker Swarm için güvenli gizli diziler
Docker Swarm için Çalışma Alanı Kimliği ve Birincil Anahtar gizli dizisi oluşturulduktan sonra gizli dizi bilgilerinizi oluşturmak için aşağıdaki bilgileri kullanın.
Ana düğümde aşağıdakileri çalıştırın.
echo "WSID" | docker secret create WSID - echo "KEY" | docker secret create KEY -
Gizli dizilerin düzgün oluşturulduğunu doğrulayın.
keiko@swarmm-master-13957614-0:/run# sudo docker secret ls
ID NAME CREATED UPDATED j2fj153zxy91j8zbcitnjxjiv WSID 43 minutes ago 43 minutes ago l9rh3n987g9c45zffuxdxetd9 KEY 38 minutes ago 38 minutes ago
Gizli dizileri kapsayıcılı Log Analytics aracısına bağlamak için aşağıdaki komutu çalıştırın.
sudo docker service create --name omsagent --mode global --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mount type=bind,source=/var/lib/docker/containers,destination=/var/lib/docker/containers --secret source=WSID,target=WSID --secret source=KEY,target=KEY -p 25225:25225 -p 25224:25224/udp --restart-condition=on-failure mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
Red Hat OpenShift için Log Analytics aracısını yapılandırma
Kapsayıcı izleme verilerini toplamaya başlamak için Log Analytics aracısını Red Hat OpenShift'e eklemenin üç yolu vardır.
- Linux için Log Analytics aracısını doğrudan her OpenShift düğümüne yükleme
- Azure'da bulunan her OpenShift düğümünde Log Analytics VM Uzantısını etkinleştirme
- Log Analytics aracısını OpenShift daemon-set olarak yükleme
Bu bölümde Log Analytics aracısını OpenShift daemon-set olarak yüklemek için gereken adımları ele alacağız.
OpenShift ana düğümünde oturum açın ve ocp-omsagent.yaml yaml dosyasını GitHub'dan ana düğüme kopyalayın ve Log Analytics Çalışma Alanı Kimliğinizle ve Birincil Anahtarınızla değeri değiştirin.
Azure İzleyici için bir proje oluşturmak ve kullanıcı hesabını ayarlamak için aşağıdaki komutları çalıştırın.
oc adm new-project omslogging --node-selector='zone=default' oc project omslogging oc create serviceaccount omsagent oc adm policy add-cluster-role-to-user cluster-reader system:serviceaccount:omslogging:omsagent oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagent
Daemon kümesini dağıtmak için aşağıdakileri çalıştırın:
oc create -f ocp-omsagent.yaml
Yapılandırıldığını ve düzgün çalıştığını doğrulamak için aşağıdakileri yazın:
oc describe daemonset omsagent
ve çıkış şuna benzemelidir:
[ocpadmin@khm-0 ~]$ oc describe ds oms Name: oms Image(s): mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest Selector: name=omsagent Node-Selector: zone=default Labels: agentVersion=1.4.0-12 dockerProviderVersion=10.0.0-25 name=omsagent Desired Number of Nodes Scheduled: 3 Current Number of Nodes Scheduled: 3 Number of Nodes Misscheduled: 0 Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed No events.
Log Analytics aracısı daemon-set yaml dosyasını kullanırken Log Analytics Çalışma Alanı Kimliğinizin ve Birincil Anahtarınızın güvenliğini sağlamak için gizli dizileri kullanmak istiyorsanız aşağıdaki adımları gerçekleştirin.
OpenShift ana düğümünde oturum açın ve GitHub'dan ocp-ds-omsagent.yaml ve gizli dizi oluşturma betiği ocp-secretgen.sh yaml dosyasını kopyalayın. Bu betik, gizli dizi bilgilerinizin güvenliğini sağlamak için Log Analytics Çalışma Alanı Kimliği ve Birincil Anahtar için gizli diziler yaml dosyasını oluşturur.
Azure İzleyici için bir proje oluşturmak ve kullanıcı hesabını ayarlamak için aşağıdaki komutları çalıştırın. Gizli dizi oluşturan betik Log Analytics Çalışma Alanı Kimliğinizi
<WSID>
ve Birincil Anahtarınızı<KEY>
ister ve tamamlandığında ocp-secret.yaml dosyasını oluşturur.oc adm new-project omslogging --node-selector='zone=default' oc project omslogging oc create serviceaccount omsagent oc adm policy add-cluster-role-to-user cluster-reader system:serviceaccount:omslogging:omsagent oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagent
Aşağıdakileri çalıştırarak gizli dizi dosyasını dağıtın:
oc create -f ocp-secret.yaml
Aşağıdakileri çalıştırarak dağıtımı doğrulayın:
oc describe secret omsagent-secret
ve çıkış şuna benzemelidir:
[ocpadmin@khocp-master-0 ~]$ oc describe secret omsagent-secret Name: omsagent-secret Namespace: omslogging Labels: <none> Annotations: <none> Type: Opaque Data ==== KEY: 89 bytes WSID: 37 bytes
Aşağıdakileri çalıştırarak Log Analytics aracısı daemon-set yaml dosyasını dağıtın:
oc create -f ocp-ds-omsagent.yaml
Aşağıdakileri çalıştırarak dağıtımı doğrulayın:
oc describe ds oms
ve çıkış şuna benzemelidir:
[ocpadmin@khocp-master-0 ~]$ oc describe ds oms Name: oms Image(s): mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest Selector: name=omsagent Node-Selector: zone=default Labels: agentVersion=1.4.0-12 dockerProviderVersion=10.0.0-25 name=omsagent Desired Number of Nodes Scheduled: 3 Current Number of Nodes Scheduled: 3 Number of Nodes Misscheduled: 0 Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed No events.
Kubernetes için Log Analytics Linux aracısını yapılandırma
Kubernetes için, Linux için Log Analytics aracısını yüklemek üzere Çalışma Alanı Kimliğiniz ve Birincil Anahtarınız için gizli diziler yaml dosyasını oluşturmak üzere bir betik kullanırsınız. Log Analytics Docker Kubernetes GitHub sayfasında gizli dizi bilgilerinizle veya gizli bilgileriniz olmadan kullanabileceğiniz dosyalar vardır.
- Linux DaemonSet için Varsayılan Log Analytics aracısının gizli bilgileri yoktur (omsagent.yaml)
- Linux Için Log Analytics aracısı DaemonSet yaml dosyası, gizli diziler yaml (omsagentsecret.yaml) dosyasını oluşturmak için gizli dizi oluşturma betikleriyle birlikte gizli bilgileri (omsagent-ds-secrets.yaml) kullanır.
Gizli dizilerle veya gizli diziler olmadan omsagent DaemonSets oluşturmayı seçebilirsiniz.
Varsayılan OMSagent DaemonSet yaml dosyası gizli diziler olmadan
Varsayılan Log Analytics aracısı DaemonSet yaml dosyası için ve
<KEY>
değerini WSID ve KEY dosyanızla değiştirin<WSID>
. Dosyayı ana düğüme kopyalayın ve aşağıdakileri çalıştırın:sudo kubectl create -f omsagent.yaml
Varsayılan OMSagent DaemonSet yaml dosyası ve gizli diziler
Gizli bilgileri kullanarak Log Analytics aracısı DaemonSet'i kullanmak için önce gizli dizileri oluşturun.
Betiği ve gizli şablon dosyasını kopyalayın ve aynı dizinde olduklarından emin olun.
- Gizli dizi oluşturma betiği - secret-gen.sh
- gizli dizi şablonu - secret-template.yaml
Aşağıdaki örnekte olduğu gibi betiği çalıştırın. Betik Log Analytics Çalışma Alanı Kimliğini ve Birincil Anahtarı ister ve siz girdikten sonra betik, çalıştırabilmeniz için bir gizli yaml dosyası oluşturur.
#> sudo bash ./secret-gen.sh
Aşağıdakileri çalıştırarak gizli diziler podunu oluşturun:
sudo kubectl create -f omsagentsecret.yaml
Doğrulamak için aşağıdakileri çalıştırın:
keiko@ubuntu16-13db:~# sudo kubectl get secrets
Çıkış şuna benzemelidir:
NAME TYPE DATA AGE default-token-gvl91 kubernetes.io/service-account-token 3 50d omsagent-secret Opaque 2 1d
keiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secret
Çıkış şuna benzemelidir:
Name: omsagent-secret Namespace: default Labels: <none> Annotations: <none> Type: Opaque Data ==== WSID: 36 bytes KEY: 88 bytes
komutunu çalıştırarak omsagent daemon-set'inizi oluşturma
sudo kubectl create -f omsagent-ds-secrets.yaml
Aşağıdakine benzer şekilde Log Analytics aracısı DaemonSet'in çalıştığını doğrulayın:
keiko@ubuntu16-13db:~# sudo kubectl get ds omsagent
NAME DESIRED CURRENT NODE-SELECTOR AGE omsagent 3 3 <none> 1h
Kubernetes için bir betik kullanarak Çalışma Alanı Kimliği için gizli diziler yaml dosyasını ve Linux için Log Analytics aracısı için Birincil Anahtar'ı oluşturun. Gizli bilgilerinizin güvenliğini sağlamak için omsagent yaml dosyasıyla aşağıdaki örnek bilgileri kullanın.
keiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secret
Name: omsagent-secret
Namespace: default
Labels: <none>
Annotations: <none>
Type: Opaque
Data
====
WSID: 36 bytes
KEY: 88 bytes
Kubernetes için Log Analytics Windows aracısını yapılandırma
Windows Kubernetes için, Log Analytics aracısını yüklemek üzere Çalışma Alanı Kimliğiniz ve Birincil Anahtarınız için gizli diziler yaml dosyasını oluşturmak üzere bir betik kullanırsınız. Log Analytics Docker Kubernetes GitHub sayfasında gizli dizi bilgilerinizle kullanabileceğiniz dosyalar vardır. Ana düğümler ve aracı düğümleri için Log Analytics aracısını ayrı olarak yüklemeniz gerekir.
Ana düğümdeki gizli dizi bilgilerini kullanarak Log Analytics aracısı DaemonSet'i kullanmak için önce oturum açın ve gizli dizileri oluşturun.
Betiği ve gizli şablon dosyasını kopyalayın ve aynı dizinde olduklarından emin olun.
- Gizli dizi oluşturma betiği - secret-gen.sh
- gizli dizi şablonu - secret-template.yaml
Aşağıdaki örnekte olduğu gibi betiği çalıştırın. Betik Log Analytics Çalışma Alanı Kimliğini ve Birincil Anahtarı ister ve siz girdikten sonra betik, çalıştırabilmeniz için bir gizli yaml dosyası oluşturur.
#> sudo bash ./secret-gen.sh
komutunu çalıştırarak omsagent daemon-set'inizi oluşturma
kubectl create -f omsagentsecret.yaml
Denetlemek için aşağıdakileri çalıştırın:
root@ubuntu16-13db:~# kubectl get secrets
Çıkış şuna benzemelidir:
NAME TYPE DATA AGE default-token-gvl91 kubernetes.io/service-account-token 3 50d omsagent-secret Opaque 2 1d root@ubuntu16-13db:~# kubectl describe secrets omsagent-secret Name: omsagent-secret Namespace: default Labels: <none> Annotations: <none> Type: Opaque Data ==== WSID: 36 bytes KEY: 88 bytes
komutunu çalıştırarak omsagent daemon-set'inizi oluşturma
kubectl create -f ws-omsagent-de-secrets.yaml
Aşağıdakine benzer şekilde Log Analytics aracısı DaemonSet'in çalıştığını doğrulayın:
root@ubuntu16-13db:~# kubectl get deployment omsagent NAME DESIRED CURRENT NODE-SELECTOR AGE omsagent 1 1 <none> 1h
Aracıyı Windows çalıştıran Çalışan Düğümüne yüklemek için Windows kapsayıcı konaklarını yükleme ve yapılandırma bölümündeki adımları izleyin.
Linux Kubernetes'te Log Analytics aracısını dağıtmak için Helm kullanma
Linux Kubernetes ortamınızda Log Analytics aracısını dağıtmak üzere helm kullanmak için aşağıdaki adımları uygulayın.
komutunu çalıştırarak omsagent daemon-set'inizi oluşturma
helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms
Sonuçlar aşağıdakine benzer olacaktır:
NAME: omsagent LAST DEPLOYED: Tue Sep 19 20:37:46 2017 NAMESPACE: default STATUS: DEPLOYED RESOURCES: ==> v1/Secret NAME TYPE DATA AGE omsagent-msoms Opaque 3 3s ==> v1beta1/DaemonSet NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE-SELECTOR AGE omsagent-msoms 3 3 3 3 3 <none> 3s
komutunu çalıştırarak omsagent'ın durumunu de kontrol edebilirsiniz:
helm status "omsagent"
ve çıkış aşağıdakine benzer olacaktır:keiko@k8s-master-3814F33-0:~$ helm status omsagent LAST DEPLOYED: Tue Sep 19 20:37:46 2017 NAMESPACE: default STATUS: DEPLOYED RESOURCES: ==> v1/Secret NAME TYPE DATA AGE omsagent-msoms Opaque 3 17m ==> v1beta1/DaemonSet NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE-SELECTOR AGE omsagent-msoms 3 3 3 3 3 <none> 17m
Daha fazla bilgi için lütfen Kapsayıcı Çözümü Helm Grafiği'ne bakın.
Windows kapsayıcı konaklarını yükleme ve yapılandırma
Windows kapsayıcı konaklarını yüklemek ve yapılandırmak için bölümündeki bilgileri kullanın.
Windows aracılarını yüklemeden önce hazırlık
Windows çalıştıran bilgisayarlara aracıları yüklemeden önce Docker hizmetini yapılandırmanız gerekir. Yapılandırma, Windows aracısının veya Azure İzleyici sanal makine uzantısının Docker TCP yuvasını kullanarak aracıların Docker daemon'larına uzaktan erişmesini ve izleme verilerini yakalamasını sağlar.
Docker hizmetini yapılandırmak için
Windows Server için TCP kanalını ve adlandırılmış kanalı etkinleştirmek için aşağıdaki PowerShell komutlarını gerçekleştirin:
Stop-Service docker
dockerd --unregister-service
dockerd --register-service -H npipe:// -H 0.0.0.0:2375
Start-Service docker
Windows Kapsayıcıları ile kullanılan Docker daemon yapılandırması hakkında daha fazla bilgi için bkz. Windows üzerinde Docker Altyapısı.
Windows aracılarını yükleme
Windows ve Hyper-V kapsayıcı izlemeyi etkinleştirmek için Microsoft Monitoring Agent'ı (MMA) kapsayıcı konakları olan Windows bilgisayarlara yükleyin. Şirket içi ortamınızda Windows çalıştıran bilgisayarlar için bkz. Windows bilgisayarlarını Azure İzleyici'ye bağlama. Azure'da çalışan sanal makineler için, sanal makine uzantısını kullanarak bunları Azure İzleyici'ye bağlayın.
Service Fabric üzerinde çalışan Windows kapsayıcılarını izleyebilirsiniz. Ancak şu anda Service Fabric için yalnızca Azure'da çalışan sanal makineler ve şirket içi ortamınızda Windows çalıştıran bilgisayarlar desteklenmektedir.
Kapsayıcı İzleme çözümünün Windows için doğru ayarlandığını doğrulayabilirsiniz. Yönetim paketinin düzgün indirilip indirilmediğini denetlemek için ContainerManagement.xxx arayın. Dosyalar C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs klasöründe olmalıdır.
Çözüm bileşenleri
Azure portal Çözüm Galerisi'ne gidin ve Kapsayıcı İzleme Çözümünü ekleyin. Windows aracıları kullanıyorsanız, bu çözümü eklediğinizde aracı içeren her bilgisayara aşağıdaki yönetim paketi yüklenir. Yönetim paketi için yapılandırma veya bakım gerekmez.
- ContainerManagement.xxx C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs dizinine yüklendi
Kapsayıcı veri toplama ayrıntıları
Kapsayıcı İzleme çözümü, etkinleştirdiğiniz aracıları kullanarak kapsayıcı konaklarından ve kapsayıcılardan çeşitli performans ölçümleri ve günlük verileri toplar.
Veriler aşağıdaki aracı türleri tarafından her üç dakikada bir toplanır.
Kapsayıcı kayıtları
Aşağıdaki tabloda, Kapsayıcı İzleme çözümü tarafından toplanan kayıtların örnekleri ve günlük arama sonuçlarında görünen veri türleri gösterilmektedir.
Veri türü | Günlük Arama'da veri türü | Alanlar |
---|---|---|
Konaklar ve kapsayıcılar için performans | Perf |
Bilgisayar, ObjectName, CounterName (%İşlemci Zamanı, Disk Okuma ZAMANı MB, Disk Yazma MB, Bellek Kullanımı MB, Ağ Alma Baytları, Ağ Gönderme Baytları, İşlemci Kullanımı sn, Ağ), CounterValue,TimeGenerated, CounterPath, SourceSystem |
Kapsayıcı envanteri | ContainerInventory |
TimeGenerated, Bilgisayar, kapsayıcı adı, ContainerHostname, Image, ImageTag, ContainerState, ExitCode, EnvironmentVar, Command, CreatedTime, StartedTime, FinishedTime, SourceSystem, ContainerID, ImageID |
Kapsayıcı görüntüsü envanteri | ContainerImageInventory |
TimeGenerated, Computer, Image, ImageTag, ImageSize, VirtualSize, Running, Paused, Stopped, Failed, SourceSystem, ImageID, TotalContainer |
Kapsayıcı günlüğü | ContainerLog |
TimeGenerated, Bilgisayar, görüntü kimliği, kapsayıcı adı, LogEntrySource, LogEntry, SourceSystem, ContainerID |
Kapsayıcı hizmeti günlüğü | ContainerServiceLog |
TimeGenerated, Computer, TimeOfCommand, Image, Command, SourceSystem, ContainerID |
Kapsayıcı düğümü envanteri | ContainerNodeInventory_CL |
TimeGenerated, Computer, ClassName_s, DockerVersion_s, OperatingSystem_s, Volume_s, Network_s, NodeRole_s, OrchestratorType_s, InstanceID_g, SourceSystem |
Kubernetes envanteri | KubePodInventory_CL |
TimeGenerated, Computer, PodLabel_deployment_s, PodLabel_deploymentconfig_s, PodLabel_docker_registry_s, Name_s, Namespace_s, PodStatus_s, PodIp_s, PodUid_g, PodCreationTimeStamp_t, SourceSystem |
Kapsayıcı işlemi | ContainerProcess_CL |
TimeGenerated, Computer, Pod_s, Namespace_s, ClassName_s, InstanceID_s, Uid_s, PID_s, PPID_s, C_s, STIME_s, Tty_s, TIME_s, Cmd_s, Id_s, Name_s, SourceSystem |
Kubernetes olayları | KubeEvents_CL |
TimeGenerated, Computer, Name_s, ObjectKind_s, Namespace_s, Reason_s, Type_s, SourceComponent_s, SourceSystem, Message |
PodLabel veri türlerine eklenen etiketler kendi özel etiketlerinizdir. Tabloda gösterilen eklenen PodLabel etiketleri örnektir. Bu nedenle, PodLabel_deployment_s
, , PodLabel_deploymentconfig_s
PodLabel_docker_registry_s
ortamınızın veri kümesinde farklılık gösterir ve genel olarak benzer olurPodLabel_yourlabel_s
.
Kapsayıcıları izleme
çözümü Azure portal etkinleştirdikten sonra Kapsayıcılar kutucuğu, kapsayıcı konaklarınız ve konaklarda çalışan kapsayıcılar hakkındaki özet bilgileri gösterir.
Kutucuk, ortamda kaç kapsayıcınız olduğunu ve bunların başarısız, çalışıyor veya durdurulmuş olup olmadığını gösteren bir genel bakış gösterir.
Kapsayıcılar panosunu kullanma
Kapsayıcılar kutucuğuna tıklayın. Buradan, şu şekilde düzenlenmiş görünümler görürsünüz:
- Kapsayıcı Olayları - Kapsayıcı durumunu ve başarısız kapsayıcıları olan bilgisayarları gösterir.
- Kapsayıcı Günlükleri - Zaman içinde oluşturulan kapsayıcı günlük dosyalarının grafiğini ve en fazla günlük dosyasına sahip bilgisayarların listesini gösterir.
- Kubernetes Olayları - Zaman içinde oluşturulan Kubernetes olaylarının grafiğini ve podların olayları oluşturma nedenlerinin listesini gösterir. Bu veri kümesi yalnızca Linux ortamlarında kullanılır.
- Kubernetes Ad Alanı Envanteri - Ad alanı ve pod sayısını gösterir ve hiyerarşilerini gösterir. Bu veri kümesi yalnızca Linux ortamlarında kullanılır.
- Kapsayıcı Düğümü Envanteri - Kapsayıcı düğümlerinde/konaklarında kullanılan düzenleme türlerinin sayısını gösterir. Bilgisayar düğümleri/konakları da kapsayıcı sayısına göre listelenir. Bu veri kümesi yalnızca Linux ortamlarında kullanılır.
- Kapsayıcı Görüntüleri Envanteri - Kullanılan toplam kapsayıcı görüntüsü sayısını ve görüntü türlerinin sayısını gösterir. Görüntü sayısı, görüntü etiketi tarafından da listelenir.
- Kapsayıcı Durumu - Çalışan kapsayıcılara sahip kapsayıcı düğümlerinin/konak bilgisayarların toplam sayısını gösterir. Bilgisayarlar, çalışan konakların sayısına göre de listelenir.
- Kapsayıcı İşlemi - Zaman içinde çalışan kapsayıcı işlemlerinin çizgi grafiğini gösterir. Kapsayıcılar ayrıca kapsayıcılar içinde komut/işlem çalıştırılarak da listelenir. Bu veri kümesi yalnızca Linux ortamlarında kullanılır.
- Kapsayıcı CPU Performansı - Bilgisayar düğümleri/konakları için zaman içindeki ortalama CPU kullanımının çizgi grafiğini gösterir. Ayrıca ortalama CPU kullanımına göre bilgisayar düğümlerini/konaklarını listeler.
- Kapsayıcı Bellek Performansı - Zaman içindeki bellek kullanımının çizgi grafiğini gösterir. Örnek adına göre bilgisayar belleği kullanımını da listeler.
- Bilgisayar Performansı - Zaman içindeki CPU performansının yüzdesini, zaman içindeki bellek kullanımını yüzdesini ve zaman içinde megabayt boş disk alanını gösteren çizgi grafikleri gösterir. Daha fazla ayrıntı görüntülemek için grafikteki herhangi bir satırın üzerine gelebilirsiniz.
Panonun her alanı, toplanan veriler üzerinde çalıştırılacak bir aramanın görsel bir gösterimidir.
Kapsayıcı Durumu alanında, aşağıda gösterildiği gibi üst alana tıklayın.
Log Analytics açılır ve kapsayıcılarınızın durumuyla ilgili bilgiler görüntülenir.
Burada, ilgilendiğiniz belirli bilgileri bulmak için arama sorgusunu düzenleyerek değiştirebilirsiniz. Günlük sorguları hakkında daha fazla bilgi için bkz. Azure İzleyici'de günlük sorguları.
Başarısız bir kapsayıcıyı bularak sorun giderme
Log Analytics, sıfır olmayan bir çıkış koduyla çıktıysa kapsayıcıyı Başarısız olarak işaretler. Başarısız Kapsayıcılar alanında ortamdaki hatalara ve hatalara genel bir bakış görebilirsiniz.
Başarısız kapsayıcıları bulmak için
- Kapsayıcı Durumu alanına tıklayın.
- Log Analytics açılır ve aşağıdakine benzer şekilde kapsayıcılarınızın durumunu görüntüler.
- Başarısız satırını genişletin ve ölçütlerini sorguya eklemek için + simgesine tıklayın. Ardından sorgudaki Özetle satırını açıklama satırı yapın.
- Sorguyu çalıştırın ve ardından görüntü kimliğini görüntülemek için sonuçlardaki bir satırı genişletin.
- Günlük sorgusuna aşağıdakileri yazın.
ContainerImageInventory | where ImageID == <ImageID>
görüntü boyutu ve durdurulan ve başarısız görüntülerin sayısı gibi görüntüyle ilgili ayrıntıları görmek için.
Kapsayıcı verileri için sorgu günlükleri
Belirli bir hatayı giderirken, bunun ortamınızda nerede oluştuğunu görmenize yardımcı olabilir. Aşağıdaki günlük türleri, istediğiniz bilgileri döndürmek için sorgular oluşturmanıza yardımcı olur.
- ContainerImageInventory : Görüntüye göre düzenlenmiş bilgileri bulmaya ve görüntü kimlikleri veya boyutları gibi görüntü bilgilerini görüntülemeye çalışırken bu türü kullanın.
- ContainerInventory : Kapsayıcı konumu, adlarının ne olduğu ve çalıştırdıkları görüntüler hakkında bilgi almak istediğinizde bu türü kullanın.
- ContainerLog : Belirli hata günlüğü bilgilerini ve girdilerini bulmak istediğinizde bu türü kullanın.
- ContainerNodeInventory_CL Kapsayıcıların barındırıldığı konak/düğüm hakkındaki bilgileri istiyorsanız bu türü kullanın. Docker sürümü, düzenleme türü, depolama alanı ve ağ bilgileri sağlar.
- ContainerProcess_CL Kapsayıcı içinde çalışan işlemi hızla görmek için bu türü kullanın.
- ContainerServiceLog : Docker daemon'unun başlatma, durdurma, silme veya çekme komutları gibi denetim izi bilgilerini bulmaya çalışırken bu türü kullanın.
- KubeEvents_CL Kubernetes olaylarını görmek için bu türü kullanın.
- KubePodInventory_CL Küme hiyerarşisi bilgilerini anlamak istediğinizde bu türü kullanın.
Kapsayıcı verilerinin günlüklerini sorgulamak için
Son zamanlarda başarısız olduğunu bildiğiniz bir görüntü seçin ve bunun hata günlüklerini bulun. ContainerInventory araması ile bu görüntüyü çalıştıran bir kapsayıcı adı bularak başlayın. Örneğin,
ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
Bu kapsayıcının ayrıntılarını görüntülemek için sonuçlardaki herhangi bir satırı genişletin.
Örnek günlük sorguları
Genellikle bir veya iki örnekle başlayan ve sonra bunları ortamınıza uyacak şekilde değiştiren sorgular oluşturmak yararlı olur. Başlangıç noktası olarak, daha gelişmiş sorgular oluşturmanıza yardımcı olmak için çözüm sayfasının sağ ucundaki ÖRNEK SORGULAR alanını deneyebilirsiniz.
Günlük sorgularını kaydetme
Sorguları kaydetme, Azure İzleyici'de standart bir özelliktir. Bunları kaydederek, gelecekte kullanmak için kullanışlı bulduğunuz kişilere sahip olursunuz.
Yararlı bulduğunuz bir sorgu oluşturduktan sonra, Günlük Araması sayfasının üst kısmındaki Sık Kullanılanlar'a tıklayarak sorguyu kaydedin. Daha sonra Panom sayfasından kolayca erişebilirsiniz.
Çözümü çalışma alanınızdan kaldırma
Kapsayıcı İzleme Çözümünü kaldırmak için aşağıdakilerden birini kullanarak çözümleri kaldırma yönergelerini izleyin: Azure portal, PowerShell veya Azure CLI
Sonraki adımlar
Ayrıntılı kapsayıcı veri kayıtlarını görüntülemek için günlükleri sorgulayın.