Observer les clusters

Cette page explique comment utiliser les options de journalisation et de surveillance disponibles avec Anthos en mode déconnecté.

Cette page s'adresse aux administrateurs de plates-formes.

Tableaux de bord de surveillance

Des exemples de tableaux de bord pour la surveillance des métriques des clusters et des nœuds sont disponibles dans le centre de gestion Anthos.

Onglet Monitoring.

Le bouton Grafana Monitoring Dashboard (tableau de bord de surveillance Grafana) ouvre l'application Grafana hébergée sur le cluster d'administrateur. L'accès à Grafana est contrôlé via le centre de gestion. Si vous êtes connecté au Centre de gestion, aucune connexion supplémentaire n'est requise.

Une fois la connexion établie, une liste d'exemples de tableaux de bord est disponible pour la démonstration.

Tableaux de bord Grafana

Journaux de requête

Le bouton Journaux Loki Grafana permet d'ouvrir Grafana Explorer, où les journaux, y compris les journaux système Kubernetes, peuvent être interrogés. Les journaux sont libellés comme décrit dans la section suivante.

Libellés de journaux

Type de journal Libellés
Journaux de conteneur
  • Cluster=CLUSTER_NAME
  • resources=k8s_container
  • namespace=NAMESPACE_NAME
  • node=NODE_NAME
  • pod=POD_NAME
  • container=CONTAINER_NAME
  • Autres libellés Kubernetes
Journaux de nœud journald
  • Cluster=CLUSTER_NAME
  • resources=k8s_node
  • node=NODE_NAME
  • identifier=SYSLOG_IDENTIFIER
  • Machine=MACHINE_ID
Journaux d'audit
  • Cluster=CLUSTER_NAME
  • resource=k8s_audit
  • level=LEVEL
  • vert=VERB

Tous les libellés Kubernetes et un libellé de cluster sont inclus en tant que libellés de journal.

Exemples de requêtes

  • La requête suivante sélectionne les journaux du conteneur :

    {cluster="admin", namespace="kube-system", resources="k8s_container", container="kube-apiserver"}
    
  • La requête suivante sélectionne les journaux cluster-operator :

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

    Cluster-operator est une ressource fournie par Anthos sur solution Bare Metal qui gère les clusters d'utilisateur et les ressources associées sur le cluster d'administrateur.

  • La requête suivante sélectionne les journaux Journald du nœud :

    {cluster="admin", resources="k8s_node"}
    
  • La requête suivante sélectionne les journaux d'audit :

    {cluster="admin", resources="k8s_audit"}
    
  • La requête suivante sélectionne les journaux d'amorçage du cluster d'utilisateur :

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

    Où le cluster d'utilisateur amorcé est "user-1".

Journaux du centre de gestion

  • La requête suivante sélectionne les journaux acm-controller-manager :

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="acm-controller-manager"}
    
  • La requête suivante sélectionne les journaux asm-controller-manager :

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="asm-controller-manager"}
    
  • La requête suivante sélectionne les journaux bootstrap-service-controller-manager :

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="bootstrap-service-controller-manager"}
    
  • La requête suivante sélectionne les journaux billing-controller-manager :

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="billing-controller-manager"}
    
  • La requête suivante sélectionne les journaux anthos-admin-controller-manager :

    {cluster="admin", namespace="anthos-management-center", resources="k8s_container", control_plane="anthos-admin-controller-manager"}
    
  • La requête suivante sélectionne les journaux iam-controller-manager :

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

Configurer une ressource StorageClass personnalisée

Le mode déconnecté d'Anthos utilise PersistentVolumeClaims pour provisionner de l'espace afin de stocker des métriques, des journaux, des tableaux de bord et des alertes. Lorsque vous créez un cluster, le cluster crée automatiquement une ressource personnalisée LogMon. Pour remplacer la valeur par défaut StorageClass, procédez comme suit :

  1. Exécutez la commande suivante pour ouvrir la ressource personnalisée LogMon dans un éditeur de ligne de commande :

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. Dans la ressource personnalisée LogMon, mettez à jour storageClassName sous le champ 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. Pour enregistrer les modifications apportées à la ressource personnalisée LogMon, enregistrez et quittez l'éditeur de ligne de commande.

Configurer la taille de l'espace de stockage

Lorsque vous créez un cluster, le cluster crée automatiquement une ressource personnalisée LogMon. Pour ignorer la taille de stockage des métriques, journaux, tableaux de bord et alertes, procédez comme suit :

  1. Exécutez la commande suivante pour ouvrir la ressource personnalisée LogMon dans un éditeur de ligne de commande :

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. Dans la ressource personnalisée LogMon, mettez à jour l'élément storageSize sous le champ 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. Pour enregistrer les modifications apportées à la ressource personnalisée LogMon, enregistrez et quittez l'éditeur de ligne de commande.

Configurer la durée de conservation

Pour configurer la durée de conservation des journaux des agents Prometheus et Loki exécutés dans le cluster, procédez comme suit :

  1. Exécutez la commande suivante pour ouvrir la ressource personnalisée LogMon dans un éditeur de ligne de commande :

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  2. Dans la ressource personnalisée LogMon, mettez à jour l'élément retentionTime sous le champ 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. Pour enregistrer les modifications apportées à la ressource personnalisée LogMon, enregistrez et quittez l'éditeur de ligne de commande.

Étapes suivantes