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"}
    
  • La seguente query seleziona i log degli operatori cluster:

    {cluster="admin", namespace="kube-system", resources="k8s_container", control_plane="anthos-cluster-operator"}
    

    L'operatore cluster è una risorsa fornita da Anthos su Bare Metal che gestisce i cluster utente e le risorse correlate sul cluster di amministrazione.

  • La seguente query seleziona i log del diario Journald:

    {cluster="admin", resources="k8s_node"}
    
  • La seguente query seleziona gli audit log:

    {cluster="admin", resources="k8s_audit"}
    
  • La query seguente seleziona i log di bootstrap del cluster utente:

    {cluster="admin", namespace="cluster-user-1"}
    

    Dove il cluster utente in fase di avvio è "user-1".

Log del Centro gestione

  • La seguente query seleziona i log acm-controller-manager:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="acm-controller-manager"}
    
  • La seguente query seleziona i log asm-controller-manager:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="asm-controller-manager"}
    
  • La query seguente seleziona i log di bootstrap-service-controller-manager:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="bootstrap-service-controller-manager"}
    
  • La seguente query seleziona i log di fatturazione-controller-gestore:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="billing-controller-manager"}
    
  • La seguente query seleziona i log anthos-admin-controller-manager:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="anthos-admin-controller-manager"}
    
  • La seguente query seleziona i log di iam-controller-manager:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="iam-controller-manager"}
    

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.

Passaggi successivi