Condividi tramite


(DEPRECATO) Monitorare un cluster Kubernetes con Log Analytics

Suggerimento

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

Avvertimento

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

Nel 2017 è stato introdotto il servizio Azure Kubernetes per semplificare la gestione, la distribuzione e le operazioni di Kubernetes. Se si usa l'orchestratore Kubernetes, eseguire la migrazione ad AKS 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 è fondamentale, soprattutto quando si gestisce un cluster di produzione su larga scala con più app.

È possibile sfruttare diverse soluzioni di monitoraggio per Kubernetes, offerte da Microsoft o da altri provider. In questa esercitazione si monitora il cluster Kubernetes usando la soluzione Contenitori in Log Analytics, la soluzione di gestione IT basata sul cloud di Microsoft. La soluzione Contenitori è disponibile 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, un'applicazione è stata pacchettizzata in immagini del contenitore, queste immagini caricate su Azure Container Registry, e un cluster Kubernetes è stato creato.

Se questi passaggi non sono stati eseguiti e si vuole seguire questa procedura, 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> connesseServer Linux. È possibile trovare l'ID dell'area di lavoro e una chiave dell'area di lavoro primaria o secondaria. Annotare questi valori, che è necessario per 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]. Aggiorna WORKSPACE_ID con l'ID del tuo spazio di lavoro Log Analytics e WORKSPACE_KEY con la chiave dello spazio di lavoro.

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

Configurare gli agenti di Log Analytics

Il file manifesto kubernetes seguente può essere usato per configurare gli agenti di monitoraggio dei contenitori in un cluster Kubernetes. 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 DaemonSet con il comando seguente:

kubectl create -f oms-daemonset.yaml

Per verificare che il DaemonSet sia stato creato, 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

Dopo che gli agenti di Log Analytics sono in esecuzione, l'inserimento e l'elaborazione dei dati richiedono alcuni minuti.

Accedere ai dati di monitoraggio

Visualizzare e analizzare i dati di monitoraggio dei contenitori con la soluzione Contenitore nel portale di Log Analytics o nel portale di Azure.

Per installare la soluzione Contenitore usando il portale di Log Analytics, passare a Raccolta soluzioni. Aggiungere quindi Container Solution. In alternativa, aggiungere la soluzione Contenitori da Azure Marketplace.

Nel portale di Log Analytics, cercare un riquadro di riepilogo Contenitori nel cruscotto. Fare clic sul riquadro per informazioni dettagliate, tra cui eventi del contenitore, errori, stato, inventario immagini e utilizzo della CPU e della 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 dell'area di lavoro. Per visualizzare il riquadro Riepilogo contenitori, fare clic su Soluzioni>Contenitori. Per visualizzare i dettagli, fare clic sul riquadro.

Per indicazioni dettagliate sull'esecuzione di query e sull'analisi dei dati di monitoraggio, vedere la documentazione di Azure Log Analytics .

Passaggi successivi

In questa esercitazione, hai monitorato il tuo cluster Kubernetes con Log Analytics. Le attività descritte includono:

  • 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 visualizzare esempi di script predefiniti per il servizio Contenitore.