Dela via


(INAKTUELL) Övervaka ett Kubernetes-kluster med Log Analytics

Tips/Råd

Den uppdaterade versionen av denna självstudie, som använder Azure Kubernetes Service, finns i översikten över Azure Monitor för containrar (förhandsversion).

Varning

Azure Container Service (ACS) håller på att tas ur bruk. Inga nya funktioner läggs till i ACS. Alla API:er, portalupplevelser, CLI-kommandon och dokumentation markeras som inaktuella.

År 2017 introducerade vi Azure Kubernetes Service (AKS) för att förenkla Kubernetes-hantering, distribution och åtgärder. Om du använder Kubernetes-orkestreraren ska du migrera till AKS senast den 31 januari 2020. Kom igång genom att läsa om att migrera till Azure Kubernetes Service.

Mer information finns i utfasningsmeddelandet för Azure Container Service på Azure.com.

Det är viktigt att övervaka kubernetes-klustret och containrarna, särskilt när du hanterar ett produktionskluster i stor skala med flera appar.

Du kan dra nytta av flera Kubernetes-övervakningslösningar, antingen från Microsoft eller andra leverantörer. I den här självstudien övervakar du ditt Kubernetes-kluster med hjälp av containerlösningen i Log Analytics, Microsofts molnbaserade IT-hanteringslösning. (Containerlösningen är i förhandsversion.)

I den här självstudien, del sju av sju, beskrivs följande uppgifter:

  • Hämta Log Analytics-arbetsyteinställningar
  • Konfigurera Log Analytics-agenter på Kubernetes-noderna
  • Få åtkomst till övervakningsinformation i Log Analytics-portalen eller Azure-portalen

Innan du börjar

I tidigare självstudier paketerades ett program i containeravbildningar, dessa avbildningar laddades upp till Azure Container Registry och ett Kubernetes-kluster skapades.

Om du inte har gjort de här stegen och vill följa med går du tillbaka till Självstudie 1 – Skapa containeravbildningar.

Hämta inställningar för arbetsyta

När du har åtkomst till Log Analytics-portalen går du till Inställningar>Anslutna källor>Linux-servrar. Där hittar du arbetsyte-ID:t och en primär eller sekundär arbetsytenyckel. Anteckna dessa värden som du behöver för att ställa in Log Analytics-agenten på klustret.

Skapa Kubernetes-hemlighet

Lagra Log Analytics-arbetsyteinställningarna i en Kubernetes-hemlighet med namnet omsagent-secret med kommandot [kubectl create secret][kubectl-create-secret]. Uppdatera WORKSPACE_ID med ditt Log Analytics-arbetsyte-ID och WORKSPACE_KEY med arbetsytenyckeln.

kubectl create secret generic omsagent-secret --from-literal=WSID=WORKSPACE_ID --from-literal=KEY=WORKSPACE_KEY

Konfigurera Log Analytics-agenter

Följande Kubernetes-manifestfil kan användas för att konfigurera containerövervakningsagenterna i ett Kubernetes-kluster. Den skapar en Kubernetes DaemonSet som kör en enda identisk podd på varje klusternod.

Spara följande text i en fil med namnet oms-daemonset.yaml.

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
 name: omsagent
spec:
 template:
  metadata:
   labels:
    app: omsagent
    agentVersion: 1.4.3-174
    dockerProviderVersion: 1.0.0-30
  spec:
   containers:
     - name: omsagent
       image: "microsoft/oms"
       imagePullPolicy: Always
       securityContext:
         privileged: true
       ports:
       - containerPort: 25225
         protocol: TCP
       - containerPort: 25224
         protocol: UDP
       volumeMounts:
        - mountPath: /var/run/docker.sock
          name: docker-sock
        - mountPath: /var/log
          name: host-log
        - mountPath: /etc/omsagent-secret
          name: omsagent-secret
          readOnly: true
        - mountPath: /var/lib/docker/containers
          name: containerlog-path
       livenessProbe:
        exec:
         command:
         - /bin/bash
         - -c
         - ps -ef | grep omsagent | grep -v "grep"
        initialDelaySeconds: 60
        periodSeconds: 60
   nodeSelector:
    beta.kubernetes.io/os: linux
   # Tolerate a NoSchedule taint on master that ACS Engine sets.
   tolerations:
    - key: "node-role.kubernetes.io/master"
      operator: "Equal"
      value: "true"
      effect: "NoSchedule"
   volumes:
    - name: docker-sock
      hostPath:
       path: /var/run/docker.sock
    - name: host-log
      hostPath:
       path: /var/log
    - name: omsagent-secret
      secret:
       secretName: omsagent-secret
    - name: containerlog-path
      hostPath:
       path: /var/lib/docker/containers

Skapa DaemonSet med följande kommando:

kubectl create -f oms-daemonset.yaml

Om du vill se att DaemonSet har skapats kör du:

kubectl get daemonset

De utdata som genereras liknar följande:

NAME       DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE-SELECTOR   AGE
omsagent   3         3         3         0            3           <none>          5m

När agenterna kör tar det flera minuter för Log Analytics att mata in och bearbeta data.

Åtkomst till övervakningsdata

Visa och analysera containerövervakningsdata med containerlösningen i antingen Log Analytics-portalen eller Azure-portalen.

Om du vill installera containerlösningen med Log Analytics-portalen går du till lösningsgalleriet. Lägg sedan till containerlösning. Du kan också lägga till containerlösningen från Azure Marketplace.

Leta efter en sammanfattningspanel för containrar på instrumentpanelen i Log Analytics-portalen. Klicka på panelen för information, inklusive: containerhändelser, fel, status, bildinventering samt cpu- och minnesanvändning. Om du vill ha mer detaljerad information klickar du på en rad på valfri panel eller utför en loggsökning.

Instrumentpanel för containrar i Azure-portalen

På samma sätt går du till Log Analytics i Azure-portalen och väljer ditt arbetsytenamn. Klicka påLösningscontainrar> för att se sammanfattningspanelen Containrar. Om du vill se information klickar du på panelen.

I Dokumentationen för Azure Log Analytics finns detaljerad vägledning om hur du frågar efter och analyserar övervakningsdata.

Nästa steg

I den här självstudien övervakade du ditt Kubernetes-kluster med Log Analytics. Uppgifter som omfattades:

  • Hämta Log Analytics-arbetsyteinställningar
  • Konfigurera Log Analytics-agenter på Kubernetes-noderna
  • Få åtkomst till övervakningsinformation i Log Analytics-portalen eller Azure-portalen

Följ den här länken om du vill se färdiga skriptexempel för Container Service.