Osservazione dei cluster

In questa pagina viene spiegato come utilizzare le opzioni di logging e monitoraggio disponibili con la modalità privata di Anthos.

Questa pagina è rivolta agli amministratori della piattaforma.

Monitorare le dashboard

Dashboard di esempio per cluster e monitoraggio delle metriche dei nodi sono disponibili in Anthos Management Center.

Scheda Monitoring

Il pulsante Grafana Monitoring Dashboard apre l'applicazione Grafana ospitata sul cluster di amministrazione. L'accesso a Grafana è controllato tramite il Centro di gestione. Se hai eseguito l'accesso al Centro di gestione, non è richiesto alcun accesso aggiuntivo.

Dopo l'accesso, è disponibile un elenco di dashboard di esempio a scopo dimostrativo:

Dashboard di Grafana

Log delle query

Il pulsante Grafana Loki Logs apre Grafana Explorer, dove è possibile eseguire query sui log, inclusi i log di sistema di Kubernetes. I log sono etichettati come descritto nella sezione seguente.

Etichette di log

Tipo di log Etichette
Log dei container
  • cluster=CLUSTER_NAME
  • risorse=k8s_container
  • Spazio dei nomi=NAMESPACE_NAME
  • nodo=NODE_NAME
  • pod = POD_NAME
  • container=CONTAINER_NAME
  • Altre etichette Kubernetes
Log del journal di nodi
  • cluster=CLUSTER_NAME
  • risorse=nodo_k8s
  • nodo=NODE_NAME
  • identificatore=SYSLOG_IDENTIFIER
  • macchina=MACHINE_ID
Audit log
  • cluster=CLUSTER_NAME
  • risorsa=k8s_audit
  • level=LEVEL
  • vert=VERB

Tutte le etichette Kubernetes e un'etichetta cluster sono incluse come etichette di log.

Query di esempio

  • La seguente query seleziona i log dei container:

    {cluster="admin", namespace="kube-system", resources="k8s_container", container="kube-apiserver"}
    

    Log container Query Grafana

  • La seguente query seleziona i log del diario Journald:

    {cluster="admin", resources="k8s_node"}
    

    Log dei nodi delle query Grafana

  • La seguente query seleziona gli audit log:

    {cluster="admin", resources="k8s_audit"}
    

    Audit log delle query Grafana

Configurare un oggetto StorageClass personalizzato

La modalità privata di Anthos utilizza PersistentVolumeClaims per eseguire il provisioning di spazio per archiviare metriche, log, dashboard e avvisi. Quando crei un cluster, il cluster crea automaticamente una risorsa personalizzata LogMon. Per sostituire l'impostazione predefinita StorageClass, completa i seguenti passaggi:

  1. Esegui questo comando per aprire la risorsa personalizzata LogMon in un editor della riga di comando:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. Nella risorsa personalizzata LogMon, aggiorna storageClassName nel campo spec:

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          default_loki:
            deployment:
              storageClassName: anthos-system # configure the new storage class here 
      system_metrics:
        outputs:
          default_prometheus:
            deployment:
              storageClassName: anthos-system # configure the new storage class here
    
  3. Per salvare le modifiche apportate alla risorsa personalizzata LogMon, salva e esci dall'editor della riga di comando.

Configura dimensioni spazio di archiviazione

Quando crei un cluster, il cluster crea automaticamente una risorsa personalizzata LogMon. Per eseguire l'override delle dimensioni di archiviazione per metriche, log, dashboard e avvisi, procedi come riportato di seguito:

  1. Esegui questo comando per aprire la risorsa personalizzata LogMon in un editor della riga di comando:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. Nella risorsa personalizzata LogMon, aggiorna storageSize nel campo spec:

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          default_loki:
            deployment:
              components:
                loki:
                   storageSize: 20Gi # configure the new storage size for logs here
      system_metrics:
        outputs:
          default_prometheus:
            deployment:
              components:
                alertmanager:
                   storageSize: 1Gi # configure the new storage size for alerts here
                grafana:
                   storageSize: 1Gi # configure the new storage size for dashboards here
                prometheus:
                   storageSize: 20Gi # configure the new storage size for metrics here
    ````
    
  3. Per salvare le modifiche apportate alla risorsa personalizzata LogMon, salva e esci dall'editor della riga di comando.

Configura il tempo di conservazione

Per configurare il tempo di conservazione per i log negli agenti Prometheus e Loki in esecuzione nel cluster, completa i passaggi seguenti:

  1. Esegui questo comando per aprire la risorsa personalizzata LogMon in un editor della riga di comando:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. Nella risorsa personalizzata LogMon, aggiorna retentionTime nel campo spec:

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          default_loki:
            deployment:
              retentionPolicy:
                retentionTime: 720h # configure the new retention time for logs here
      system_metrics:
        outputs:
          default_prometheus:
            deployment:
              retentionPolicy:
                retentionTime: 720h # configure the new retention time for metrics here
    
  3. Per salvare le modifiche apportate alla risorsa personalizzata LogMon, salva e esci dall'editor della riga di comando.

Configurare l'output aggiuntivo a flussi di bit

È supportata l'esportazione di log in altre destinazioni oltre al Loki in esecuzione nel cluster. Consulta l'elenco delle destinazioni supportate. Per configurare la destinazione di output dei log aggiuntivi, segui questi passaggi:

  1. Crea una configmap nello spazio dei nomi kube-system con l'etichetta logmon: system_logs. La configurazione dell'output aggiuntiva ha la stessa sintassi dei plug-in di output a bit fluente e deve essere aggiunta al file output.conf nel campo data. Consulta i file di configurazione di esempio.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # The name should match the configmap name specified in step 3.
      name: <customized-system-logs-fluent-bit-output-config>
      # Don't change the namespace
      namespace: kube-system
      labels:
        # This label is required.
        logmon: system_logs
    data:
      # The file name must be output.conf
      output.conf: |
        # Add a customized fluent-bit output plugin configuration here
    
  2. Esegui questo comando per aprire la risorsa personalizzata LogMon in un editor della riga di comando:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  3. Nella risorsa personalizzata LogMon, aggiungi il campo additionalOutput sotto il campo spec/system_logs/outputs.

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          additionalOutput:
            fluentbitConfigmaps:
            # The name should match the configmap name created in step 1.
            - "<customized-system-logs-fluent-bit-output-config>"
            # Scheme: []v1.VolumeMount. Add volumeMounts if necessary
            volumeMounts:
            - ...
            - ...
            # Scheme: []v1.Volume. Add volumes if necessary
            volumes:
            - ...
            - ...
    
  4. Per salvare le modifiche apportate alla risorsa personalizzata LogMon, salva e esci dall'editor della riga di comando.