Monitorare un cluster Kubernetes con Log AnalyticsMonitor a Kubernetes cluster with Log Analytics

Avviso

Si sta visualizzando la documentazione per la versione precedente del servizio contenitore di Azure.You are viewing documentation for the old version of the Azure Container Service. Il servizio Kubernetes di Azure, ovvero AKS, è in fase di aggiornamento per aggiungere nuove opzioni di distribuzione, funzionalità di gestione migliorate e vantaggi economici a Kubernetes in Azure.Azure Kubernetes Service (AKS) is being updated to add new deployment options, enhanced management capabilities, and cost benefit to Kubernetes on Azure. Per iniziare a usare tali funzionalità in anteprima, vedere AKS documentation (Documentazione del servizio contenitore di Azure).Visit the AKS documentation to start working with these preview features.

Il monitoraggio del cluster e dei contenitori Kubernetes è critico, soprattutto quando si gestisce un cluster di produzione su larga scala con più app.Monitoring your Kubernetes cluster and containers is critical, especially when you manage a production cluster at scale with multiple apps.

È possibile sfruttare diverse soluzioni di monitoraggio di Kubernetes, da Microsoft o da altri provider.You can take advantage of several Kubernetes monitoring solutions, either from Microsoft or other providers. In questa esercitazione si monitora il cluster Kubernetes con la soluzione Contenitori in Log Analytics, la soluzione di gestione IT di Microsoft basata sul cloudIn this tutorial, you monitor your Kubernetes cluster by using the Containers solution in Log Analytics, Microsoft's cloud-based IT management solution. (la soluzione Contenitori è in anteprima).(The Containers solution is in preview.)

Questa esercitazione, parte sette di sette, illustra le attività seguenti:This tutorial, part seven of seven, covers the following tasks:

  • Ottenere le impostazioni dell'area di lavoro di Log AnalyticsGet Log Analytics Workspace settings
  • Configurare gli agenti di Log Analytics nei nodi KubernetesSet up Log Analytics agents on the Kubernetes nodes
  • Accedere alle informazioni di monitoraggio nel portale di Log Analytics o nel portale di AzureAccess monitoring information in the Log Analytics portal or Azure portal

Prima di iniziareBefore you begin

Nelle esercitazioni precedenti è stato creato un pacchetto di un'applicazione in immagini del contenitore, caricate poi nel Registro contenitori di Azure, ed è stato creato un cluster Kubernetes.In previous tutorials, an application was packaged into container images, these images uploaded to Azure Container Registry, and a Kubernetes cluster created.

Se questi passaggi non sono stati ancora eseguiti e si vuole procedere, tornare a Tutorial 1 – Create container images (Esercitazione 1: Creare immagini del contenitore).If you have not done these steps, and would like to follow along, return to Tutorial 1 – Create container images.

Ottenere le impostazioni dell'area di lavoroGet Workspace settings

Quando è possibile accedere al portale di Log Analytics, passare a Impostazioni > Origini connesse > Server Linux.When you can access the Log Analytics portal, go to Settings > Connected Sources > Linux Servers. Qui è possibile trovare l'ID area di lavoro e una Chiave dell'area di lavoro primaria o secondaria.There, you can find the Workspace ID and a primary or secondary Workspace Key. Prendere nota di questi valori, per cui è necessario configurare gli agenti di Log Analytics nel cluster.Take note of these values, which you need to set up Log Analytics agents on the cluster.

Creare un segreto KubernetesCreate Kubernetes secret

Archiviare le impostazioni dell'area di lavoro di Log Analytics in un segreto Kubernetes denominato omsagent-secret usando il comando [kubectl create secret][kubectl-create-secret].Store the Log Analytics workspace settings in a Kubernetes secret named omsagent-secret using the [kubectl create secret][kubectl-create-secret] command. Aggiornare WORKSPACE_ID con l'ID dell'area di lavoro di Log Analytics e WORKSPACE_KEY con la chiave dell'area di lavoro.Update WORKSPACE_ID with your Log Analytics workspace ID and WORKSPACE_KEY with the workspace key.

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

Configurare gli agenti di Log AnalyticsSet up Log Analytics agents

Per configurare gli agenti di monitoraggio del contenitore in un cluster Kubernetes, è possibile usare il file manifesto Kubernetes seguente.The following Kubernetes manifest file can be used to configure the container monitoring agents on a Kubernetes cluster. Questa operazione crea un DaemonSet di Kubernetes, che esegue un singolo pod identico in ogni nodo del cluster.It creates a Kubernetes DaemonSet, which runs a single identical pod on each cluster node.

Salvare il testo seguente in un file denominato oms-daemonset.yaml.Save the following text to a file named 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:Create the DaemonSet with the following command:

kubectl create -f oms-daemonset.yaml

Per verificare che sia stato creato il DaemonSet, eseguire:To see that the DaemonSet is created, run:

kubectl get daemonset

L'output è simile al seguente:Output is similar to the following:

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.After the agents are running, it takes several minutes for Log Analytics to ingest and process the data.

Accesso ai dati di monitoraggioAccess monitoring data

Visualizzare e analizzare i dati di monitoraggio del contenitore con la Soluzione Contenitore nel portale di Log Analytics o nel portale di Azure.View and analyze the container monitoring data with the Container solution in either the Log Analytics portal or the Azure portal.

Per installare la Soluzione Contenitore tramite il portale di Log Analytics, passare a Raccolta soluzioni.To install the Container solution using the Log Analytics portal, go to Solutions Gallery. Aggiungere quindi la Soluzione Contenitore.Then add Container Solution. In alternativa, aggiungere la Soluzione Contenitore da Azure Marketplace.Alternatively, add the Containers solution from the Azure Marketplace.

Nel portale di Log Analytics cercare un riquadro di riepilogo Contenitori nel dashboard.In the Log Analytics portal, look for a Containers summary tile on the dashboard. Fare clic sul riquadro per i dettagli, tra cui: eventi del contenitore, errori, stato, inventario dell'immagine e uso di CPU e memoria.Click the tile for details including: container events, errors, status, image inventory, and CPU and memory usage. Per informazioni più granulari, fare clic su una riga in qualsiasi riquadro o eseguire una ricerca log.For more granular information, click a row on any tile, or perform a log search.

Dashboard dei contenitori nel portale OMS

Analogamente, nel portale di Azure passare a Log Analytics e selezionare il nome della propria area di lavoro.Similarly, in the Azure portal, go to Log Analytics and select your workspace name. Per visualizzare il riquadro di riepilogo dei Contenitori, fare clic su Soluzioni > Contenitori.To see the Containers summary tile, click Solutions > Containers. Per visualizzare i dettagli, fare clic sul riquadro.To see details, click the tile.

Vedere la Documentazione su Log Analytics per istruzioni dettagliate sulla creazione di query e sull'analisi dei dati di monitoraggio.See the Azure Log Analytics documentation for detailed guidance on querying and analyzing monitoring data.

Passaggi successiviNext steps

In questa esercitazione è stato monitorato il cluster Kubernetes con Log Analytics.In this tutorial, you monitored your Kubernetes cluster with Log Analytics. Le attività descritte includevano:Tasks covered included:

  • Ottenere le impostazioni dell'area di lavoro di Log AnalyticsGet Log Analytics Workspace settings
  • Configurare gli agenti di Log Analytics nei nodi KubernetesSet up Log Analytics agents on the Kubernetes nodes
  • Accedere alle informazioni di monitoraggio nel portale di Log Analytics o nel portale di AzureAccess monitoring information in the Log Analytics portal or Azure portal

Seguire questo collegamento per vedere esempi di script predefiniti per il servizio contenitore.Follow this link to see pre-built script samples for Container Service.