Azure İzleyici'de Kapsayıcı İzleme çözümü

Kapsayıcılar simgesi

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:

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.

Azure İzleyici ile Azure bulutu, diğer bulutlar ve yerel ağda bulunan kapsayıcı konakları ve aracıları arasındaki ilişkileri gösteren diyagram.

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.

  1. 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.

  2. 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:

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:

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.

  1. Ana düğümde aşağıdakileri çalıştırın.

    echo "WSID" | docker secret create WSID -
    echo "KEY" | docker secret create KEY -
    
  2. 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
    
  3. 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.

Bu bölümde Log Analytics aracısını OpenShift daemon-set olarak yüklemek için gereken adımları ele alacağız.

  1. 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.

  2. 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  
    
  3. Daemon kümesini dağıtmak için aşağıdakileri çalıştırın:

    oc create -f ocp-omsagent.yaml

  4. 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.

  1. 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.

  2. 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  
    
  3. Aşağıdakileri çalıştırarak gizli dizi dosyasını dağıtın:

    oc create -f ocp-secret.yaml

  4. 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  
    
  5. 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

  6. 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

  1. Gizli bilgileri kullanarak Log Analytics aracısı DaemonSet'i kullanmak için önce gizli dizileri oluşturun.

    1. 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
    2. 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
      
    3. Aşağıdakileri çalıştırarak gizli diziler podunu oluşturun:

      sudo kubectl create -f omsagentsecret.yaml
      
    4. 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
      
    5. komutunu çalıştırarak omsagent daemon-set'inizi oluşturma sudo kubectl create -f omsagent-ds-secrets.yaml

  2. 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.

  1. 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.

    1. 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
    2. 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
      
    3. komutunu çalıştırarak omsagent daemon-set'inizi oluşturma kubectl create -f omsagentsecret.yaml

    4. 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
      
    5. komutunu çalıştırarak omsagent daemon-set'inizi oluşturma kubectl create -f ws-omsagent-de-secrets.yaml

  2. 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
    
  3. 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.

  1. 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

  2. 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
    
  3. 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_sPodLabel_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.

Kapsayıcılar hakkında özet bilgileri gösteren pasta grafiği içeren Kapsayıcılar kutucuğunu gösteren ekran görüntüsü.

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.

Toplanan verileri görüntülemek için bir panoyu gösteren ekran görüntüsü.

Kapsayıcıların durum, işlem, performans ve görüntü envanterini içeren toplanan verileri görüntülemek için bir panoyu gösteren ekran görüntüsü.

Kapsayıcı Durumu alanında, aşağıda gösterildiği gibi üst alana tıklayın.

Kapsayıcılar panosunun kapsayıcı durumu bilgilerini gösteren pasta grafiği içeren Kapsayıcı Durumu alanını gösteren ekran görüntüsü.

Log Analytics açılır ve kapsayıcılarınızın durumuyla ilgili bilgiler görüntülenir.

Kapsayıcıların durumu ve arama sonuçları için bir sorgu içeren Log Analytics'i gösteren ekran görüntüsü.

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

  1. Kapsayıcı Durumu alanına tıklayın.
    Kapsayıcılar panosunun Kapsayıcı Durumu alanını gösteren ve kapsayıcı durumu bilgilerini gösteren pasta grafiği içeren ekran görüntüsü.
  2. Log Analytics açılır ve aşağıdakine benzer şekilde kapsayıcılarınızın durumunu görüntüler.
    Kapsayıcıların durumu ve arama sonuçları için bir sorgu içeren Log Analytics'i gösteren ekran görüntüsü.
  3. 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. Açıklama satırı yapılması gereken satırı gösteren ekran görüntüsü.
  4. 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örüntü kimliğinin nasıl görüntülendiğini gösteren ekran görüntüsü.
  5. 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.
    Log Analytics'i kapsayıcı görüntüsü için bir sorgu ve görüntü hakkındaki ayrıntıları gösteren ekran görüntüsü.

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"
    Başarısız Ubuntu kapsayıcıları için aramayı ve arama sonuçlarını gösteren ekran görüntüsü.

    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.

Örnek günlük sorgularının bulunduğu Örnek Sorgular alanını gösteren ekran görüntüsü.

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.