Cluster beobachten

Auf dieser Seite wird erläutert, wie Sie die Logging- und Monitoringoptionen verwenden, die im privaten Anthos-Modus verfügbar sind.

Diese Seite richtet sich an Plattformadministratoren.

Dashboards überwachen

Beispieldashboards für das Monitoring von Cluster- und Knotenmesswerten finden Sie im Anthos Management Center.

Tab: Monitoring

Mit der Schaltfläche Grafana Monitoring Dashboard wird die Grafana-Anwendung geöffnet, die im Administratorcluster gehostet wird. Der Grafana-Zugriff wird über das Management Center gesteuert. Wenn Sie im Management Center angemeldet sind, ist keine zusätzliche Anmeldung erforderlich.

Nach der Anmeldung ist eine Liste mit Beispiel-Dashboards verfügbar:

Grafana-Dashboards

Abfragelogs

Die Schaltfläche Grafana Loki Logs öffnet die Grafana Explorer, in der Logs, einschließlich Kubernetes-Systemlogs, abgefragt werden können. Logs werden mit Labels versehen, wie im folgenden Abschnitt beschrieben.

Loglabels

Logtyp Labels
Containerlogs
  • cluster=CLUSTER_NAME
  • resources=k8s_container
  • namespace=NAMESPACE_NAME
  • node=NODE_NAME
  • pod=POD_NAME
  • container=CONTAINER_NAME
  • Weitere Kubernetes-Labels
Knoten-Journald-Logs
  • cluster=CLUSTER_NAME
  • resources=k8s_node
  • node=NODE_NAME
  • identifier=SYSLOG_IDENTIFIER
  • machine=MACHINE_ID
Audit-Logs
  • cluster=CLUSTER_NAME
  • resource=k8s_audit
  • level=LEVEL
  • vert=VERB

Alle Kubernetes-Labels und das Label Cluster sind als Loglabels enthalten.

Beispielabfragen

  • Mit der folgenden Abfrage werden Containerlogs ausgewählt:

    {cluster="admin", namespace="kube-system", resources="k8s_container", container="kube-apiserver"}
    
  • Mit der folgenden Abfrage werden Cluster-Operator-Logs ausgewählt:

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

    Der Cluster-Operator ist eine von Anthos auf Bare-Metal bereitgestellte Ressource, mit der Nutzercluster und zugehörige Ressourcen im Administratorcluster verwaltet werden.

  • Mit der folgenden Abfrage werden Knoten-Journald-Logs ausgewählt:

    {cluster="admin", resources="k8s_node"}
    
  • Mit der folgenden Abfrage werden Audit-Logs ausgewählt:

    {cluster="admin", resources="k8s_audit"}
    
  • Mit der folgenden Abfrage werden Bootstrap-Logs für Nutzercluster ausgewählt:

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

    Der Nutzercluster, der über Bootstrapping verknüpft wird, lautet "user-1".

Management Center-Logs

  • Mit der folgenden Abfrage werden acm-controller-manager-Logs ausgewählt:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="acm-controller-manager"}
    
  • Mit der folgenden Abfrage werden asm-controller-manager-Logs ausgewählt:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="asm-controller-manager"}
    
  • Mit der folgenden Abfrage werden bootstrap-service-controller-manager-Logs ausgewählt:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="bootstrap-service-controller-manager"}
    
  • Mit der folgenden Abfrage werden billing-controller-manager-Logs ausgewählt:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="billing-controller-manager"}
    
  • Mit der folgenden Abfrage werden anthos-admin-controller-manager-Logs ausgewählt:

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="anthos-admin-controller-manager"}
    
  • Mit der folgenden Abfrage werden iam-controller-manager-Logs ausgewählt:

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

Benutzerdefinierte StorageClass konfigurieren

Der private Modus von Anthos verwendet PersistentVolumeClaims, um Speicherplatz für das Speichern von Messwerten, Logs, Dashboards und Benachrichtigungen bereitzustellen. Wenn Sie einen Cluster erstellen, legt der Cluster automatisch eine benutzerdefinierte LogMon-Ressource an. Um die Standard-StorageClass zu überschreiben, führen Sie die folgenden Schritte aus:

  1. Führen Sie den folgenden Befehl aus, um Ihre benutzerdefinierte LogMon-Ressource in einem Befehlszeileneditor zu öffnen:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. Aktualisieren Sie in der benutzerdefinierten Ressource LogMon den storageClassName unter dem Feld 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. Um die Änderungen der benutzerdefinierten Ressource LogMon zu speichern, speichern Sie im Befehlszeileneditor und beenden Sie ihn.

Speichergröße konfigurieren

Wenn Sie einen Cluster erstellen, legt der Cluster automatisch eine benutzerdefinierte LogMon-Ressource an. Um die Speichergröße für Messwerte, Logs, Dashboards und Benachrichtigungen zu überschreiben, führen Sie die folgenden Schritte aus:

  1. Führen Sie den folgenden Befehl aus, um Ihre benutzerdefinierte LogMon-Ressource in einem Befehlszeileneditor zu öffnen:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. Aktualisieren Sie in der benutzerdefinierten Ressource LogMon die storageSize unter dem Feld 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. Um die Änderungen der benutzerdefinierten Ressource LogMon zu speichern, speichern Sie im Befehlszeileneditor und beenden Sie ihn.

Aufbewahrungsdauer konfigurieren

Um die Aufbewahrungsdauer für Logs in den Prometheus- und Loki-Agents zu konfigurieren, die im Cluster ausgeführt werden, führen Sie die folgenden Schritte aus:

  1. Führen Sie den folgenden Befehl aus, um Ihre benutzerdefinierte LogMon-Ressource in einem Befehlszeileneditor zu öffnen:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. Aktualisieren Sie in der benutzerdefinierten Ressource LogMon die retentionTime unter dem Feld 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. Um die Änderungen der benutzerdefinierten Ressource LogMon zu speichern, speichern Sie im Befehlszeileneditor und beenden Sie ihn.

Weitere Informationen