(DEPRECATO) Monitorare un cluster Kubernetes con Log Analytics

Suggerimento

Per la versione aggiornata di questa esercitazione che usa Azure Kubernetes Service, vedere Panoramica di monitoraggio di Azure per contenitori (anteprima).

Avviso

Il servizio Azure Container (ACS) è deprecato. Non saranno aggiunte nuove funzionalità al servizio Azure Container. Tutte le API, l'esperienza del portale, i comandi dell'interfaccia della riga di comando e la documentazione sono contrassegnate come deprecate.

Nel 2017 abbiamo presentato il servizio Azure Kubernetes per semplificare la gestione, la distribuzione e le operazioni di Kubernetes. Se si usa l'agente di orchestrazione di Kubernetes, eseguire la migrazione al servizio Azure Kubernetes entro il 31 gennaio 2020. Per iniziare, vedere eseguire la migrazione al servizio Azure Kubernetes.

Per altre informazioni, vedere l'annuncio di deprecazione del servizio Azure Container su Azure.com.

Il monitoraggio del cluster e dei contenitori Kubernetes è critico, soprattutto quando si gestisce un cluster di produzione su larga scala con più app.

È possibile sfruttare diverse soluzioni di monitoraggio di Kubernetes, da Microsoft o da altri provider. In questa esercitazione si monitora il cluster Kubernetes con la soluzione Contenitori in Log Analytics, la soluzione di gestione IT di Microsoft basata sul cloud (la soluzione Contenitori è in anteprima).

Questa esercitazione, parte sette di sette, illustra le attività seguenti:

  • Ottenere le impostazioni dell'area di lavoro Log Analytics
  • Configurare gli agenti di Log Analytics nei nodi Kubernetes
  • Accedere alle informazioni di monitoraggio nel portale di Log Analytics o nel portale di Azure

Prima di iniziare

Nelle esercitazioni precedenti è stato creato un pacchetto di un'applicazione in immagini del contenitore, caricate poi in Registro Azure Container, ed è stato creato un cluster Kubernetes.

Se questi passaggi non sono stati ancora eseguiti e si vuole procedere, tornare a Esercitazione 1: Creare immagini del contenitore.

Ottenere le impostazioni dell'area di lavoro

Quando è possibile accedere al portale di Log Analytics, passare a Impostazioni>Origini connesse>Server Linux. Qui è possibile trovare l'ID area di lavoro e una Chiave dell'area di lavoro primaria o secondaria. Prendere nota di questi valori, per cui è necessario configurare gli agenti di Log Analytics nel cluster.

Creare un segreto Kubernetes

Archiviare le impostazioni dell'area di lavoro Log Analytics in un segreto Kubernetes denominato omsagent-secret usando il comando [kubectl create secret][kubectl-create-secret]. Aggiornare WORKSPACE_ID con l'ID dell'area di lavoro Log Analytics e WORKSPACE_KEY con la chiave dell'area di lavoro.

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

Configurare gli agenti di Log Analytics

Per configurare gli agenti di monitoraggio del contenitore in un cluster Kubernetes, è possibile usare il file manifesto Kubernetes seguente. Questa operazione crea un DaemonSet di Kubernetes, che esegue un singolo pod identico in ogni nodo del cluster.

Salvare il testo seguente in un file denominato 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

Creare il DaemonSet con il comando seguente:

kubectl create -f oms-daemonset.yaml

Per verificare che sia stato creato il DaemonSet, eseguire:

kubectl get daemonset

L'output è simile al seguente:

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

Quando gli agenti sono in esecuzione, Log Analytics impiega alcuni minuti per inserire ed elaborare i dati.

Accesso ai dati di monitoraggio

Visualizzare e analizzare i dati di monitoraggio del contenitore con la Soluzione Contenitore nel portale di Log Analytics o nel portale di Azure.

Per installare la Soluzione Contenitore tramite il portale di Log Analytics, passare a Raccolta soluzioni. Aggiungere quindi la Soluzione Contenitore. In alternativa, aggiungere la Soluzione Contenitore da Azure Marketplace.

Nel portale di Log Analytics cercare un riquadro di riepilogo Contenitori nel dashboard. Fare clic sul riquadro per i dettagli, tra cui: eventi del contenitore, errori, stato, inventario dell'immagine e uso di CPU e memoria. Per informazioni più granulari, fare clic su una riga in qualsiasi riquadro o eseguire una ricerca log.

Dashboard dei contenitori nel portale di Azure

Analogamente, nel portale di Azure passare a Log Analytics e selezionare il nome della propria area di lavoro. Per visualizzare il riquadro di riepilogo dei Contenitori, fare clic su Soluzioni>Contenitori. Per visualizzare i dettagli, fare clic sul riquadro.

Vedere la documentazione su Log Analytics per istruzioni dettagliate sulla creazione di query e sull'analisi dei dati di monitoraggio.

Passaggi successivi

In questa esercitazione è stato monitorato il cluster Kubernetes con Log Analytics. Le attività descritte includevano:

  • Ottenere le impostazioni dell'area di lavoro Log Analytics
  • Configurare gli agenti di Log Analytics nei nodi Kubernetes
  • Accedere alle informazioni di monitoraggio nel portale di Log Analytics o nel portale di Azure

Seguire questo collegamento per vedere esempi di script predefiniti per il servizio contenitore.