15.2. Visualisation de l'état du magasin de logs Elasticsearch


Vous pouvez consulter l'état de l'OpenShift Elasticsearch Operator et d'un certain nombre de composants Elasticsearch.

15.2.1. Visualisation de l'état du magasin de journaux

Vous pouvez consulter l'état de votre magasin de journaux.

Conditions préalables

  • Les opérateurs Red Hat OpenShift Logging et Elasticsearch doivent être installés.

Procédure

  1. Modification du projet openshift-logging.

    $ oc project openshift-logging
  2. Pour visualiser l'état :

    1. Obtenir le nom de l'instance du magasin de journaux :

      $ oc get Elasticsearch

      Exemple de sortie

      NAME            AGE
      elasticsearch   5h9m

    2. Obtenir l'état de l'entrepôt de données :

      $ oc get Elasticsearch <Elasticsearch-instance> -o yaml

      Par exemple :

      $ oc get Elasticsearch elasticsearch -n openshift-logging -o yaml

      La sortie comprend des informations similaires à celles qui suivent :

      Exemple de sortie

      status: 1
        cluster: 2
          activePrimaryShards: 30
          activeShards: 60
          initializingShards: 0
          numDataNodes: 3
          numNodes: 3
          pendingTasks: 0
          relocatingShards: 0
          status: green
          unassignedShards: 0
        clusterHealth: ""
        conditions: [] 3
        nodes: 4
        - deploymentName: elasticsearch-cdm-zjf34ved-1
          upgradeStatus: {}
        - deploymentName: elasticsearch-cdm-zjf34ved-2
          upgradeStatus: {}
        - deploymentName: elasticsearch-cdm-zjf34ved-3
          upgradeStatus: {}
        pods: 5
          client:
            failed: []
            notReady: []
            ready:
            - elasticsearch-cdm-zjf34ved-1-6d7fbf844f-sn422
            - elasticsearch-cdm-zjf34ved-2-dfbd988bc-qkzjz
            - elasticsearch-cdm-zjf34ved-3-c8f566f7c-t7zkt
          data:
            failed: []
            notReady: []
            ready:
            - elasticsearch-cdm-zjf34ved-1-6d7fbf844f-sn422
            - elasticsearch-cdm-zjf34ved-2-dfbd988bc-qkzjz
            - elasticsearch-cdm-zjf34ved-3-c8f566f7c-t7zkt
          master:
            failed: []
            notReady: []
            ready:
            - elasticsearch-cdm-zjf34ved-1-6d7fbf844f-sn422
            - elasticsearch-cdm-zjf34ved-2-dfbd988bc-qkzjz
            - elasticsearch-cdm-zjf34ved-3-c8f566f7c-t7zkt
        shardAllocationEnabled: all

      1
      Dans la sortie, les champs d'état de la grappe apparaissent dans la strophe status.
      2
      L'état de l'entrepôt de données :
      • Nombre d'unités primaires actives.
      • Nombre d'unités actives.
      • Nombre d'unités en cours d'initialisation.
      • Nombre de nœuds de données du magasin de journaux.
      • Nombre total de nœuds de stockage de journaux.
      • Le nombre de tâches en attente.
      • L'état du magasin de journaux : green, red, yellow.
      • Le nombre de tessons non attribués.
      3
      Toute condition d'état, le cas échéant. L'état du magasin de stockage indique les raisons pour lesquelles l'ordonnanceur n'a pas pu placer un module. Tous les événements liés aux conditions suivantes sont affichés :
      • Conteneur en attente pour les conteneurs de stockage de logs et de proxy.
      • Conteneur Terminé pour les conteneurs de stockage de logs et de proxy.
      • Pod inschedulable. Une condition est également indiquée pour un certain nombre de questions ; voir Example condition messages.
      4
      Les nœuds de stockage de logs dans le cluster, avec upgradeStatus.
      5
      Les pods client, données et maître du log store dans le cluster, répertoriés sous l'état "failed", notReady ou ready.

15.2.1.1. Exemples de messages de condition

Voici des exemples de messages de condition provenant de la section Status de l'instance Elasticsearch.

Le message d'état suivant indique qu'un nœud a dépassé le filigrane bas configuré et qu'aucun billon ne lui sera attribué.

status:
  nodes:
  - conditions:
    - lastTransitionTime: 2019-03-15T15:57:22Z
      message: Disk storage usage for node is 27.5gb (36.74%). Shards will be not
        be allocated on this node.
      reason: Disk Watermark Low
      status: "True"
      type: NodeStorage
    deploymentName: example-elasticsearch-cdm-0-1
    upgradeStatus: {}

Le message d'état suivant indique qu'un nœud a dépassé le filigrane élevé configuré et que les fragments seront déplacés vers d'autres nœuds.

status:
  nodes:
  - conditions:
    - lastTransitionTime: 2019-03-15T16:04:45Z
      message: Disk storage usage for node is 27.5gb (36.74%). Shards will be relocated
        from this node.
      reason: Disk Watermark High
      status: "True"
      type: NodeStorage
    deploymentName: example-elasticsearch-cdm-0-1
    upgradeStatus: {}

Le message d'état suivant indique que le sélecteur de nœud du magasin de journaux dans le CR ne correspond à aucun nœud du cluster :

status:
    nodes:
    - conditions:
      - lastTransitionTime: 2019-04-10T02:26:24Z
        message: '0/8 nodes are available: 8 node(s) didn''t match node selector.'
        reason: Unschedulable
        status: "True"
        type: Unschedulable

Le message d'état suivant indique que le magasin de journaux CR utilise une revendication de volume persistant (PVC) inexistante.

status:
   nodes:
   - conditions:
     - last Transition Time:  2019-04-10T05:55:51Z
       message:               pod has unbound immediate PersistentVolumeClaims (repeated 5 times)
       reason:                Unschedulable
       status:                True
       type:                  Unschedulable

Le message d'état suivant indique que votre cluster de stockage de journaux n'a pas suffisamment de nœuds pour prendre en charge la stratégie de redondance.

status:
  clusterHealth: ""
  conditions:
  - lastTransitionTime: 2019-04-17T20:01:31Z
    message: Wrong RedundancyPolicy selected. Choose different RedundancyPolicy or
      add more nodes with data roles
    reason: Invalid Settings
    status: "True"
    type: InvalidRedundancy

Ce message d'état indique que votre cluster a trop de nœuds de plan de contrôle :

status:
  clusterHealth: green
  conditions:
    - lastTransitionTime: '2019-04-17T20:12:34Z'
      message: >-
        Invalid master nodes count. Please ensure there are no more than 3 total
        nodes with master roles
      reason: Invalid Settings
      status: 'True'
      type: InvalidMasters

Le message d'état suivant indique que le stockage Elasticsearch ne prend pas en charge la modification que vous avez essayé d'apporter.

Par exemple :

status:
  clusterHealth: green
  conditions:
    - lastTransitionTime: "2021-05-07T01:05:13Z"
      message: Changing the storage structure for a custom resource is not supported
      reason: StorageStructureChangeIgnored
      status: 'True'
      type: StorageStructureChangeIgnored

Les champs reason et type indiquent le type de changement non pris en charge :

StorageClassNameChangeIgnored
Modification non prise en charge du nom de la classe de stockage.
StorageSizeChangeIgnored
Non pris en charge modifier la taille de la mémoire.
StorageStructureChangeIgnored

Changement non pris en charge entre les structures de stockage éphémères et persistantes.

Important

Si vous essayez de configurer la ressource personnalisée (CR) ClusterLogging pour passer d'un stockage éphémère à un stockage persistant, l'OpenShift Elasticsearch Operator crée une réclamation de volume persistant (PVC) mais ne crée pas de volume persistant (PV). Pour effacer l'état StorageStructureChangeIgnored, vous devez annuler la modification apportée à la CR ClusterLogging et supprimer le PVC.

15.2.2. Visualisation de l'état des composants du magasin de journaux

Vous pouvez consulter l'état d'un certain nombre de composants du magasin de journaux.

Indices Elasticsearch

Vous pouvez consulter l'état des index Elasticsearch.

  1. Obtenir le nom d'un module Elasticsearch :

    $ oc get pods --selector component=elasticsearch -o name

    Exemple de sortie

    pod/elasticsearch-cdm-1godmszn-1-6f8495-vp4lw
    pod/elasticsearch-cdm-1godmszn-2-5769cf-9ms2n
    pod/elasticsearch-cdm-1godmszn-3-f66f7d-zqkz7

  2. Obtenir l'état des indices :

    $ oc exec elasticsearch-cdm-4vjor49p-2-6d4d7db474-q2w7z -- indices

    Exemple de sortie

    Defaulting container name to elasticsearch.
    Use 'oc describe pod/elasticsearch-cdm-4vjor49p-2-6d4d7db474-q2w7z -n openshift-logging' to see all of the containers in this pod.
    
    green  open   infra-000002                                                     S4QANnf1QP6NgCegfnrnbQ   3   1     119926            0        157             78
    green  open   audit-000001                                                     8_EQx77iQCSTzFOXtxRqFw   3   1          0            0          0              0
    green  open   .security                                                        iDjscH7aSUGhIdq0LheLBQ   1   1          5            0          0              0
    green  open   .kibana_-377444158_kubeadmin                                     yBywZ9GfSrKebz5gWBZbjw   3   1          1            0          0              0
    green  open   infra-000001                                                     z6Dpe__ORgiopEpW6Yl44A   3   1     871000            0        874            436
    green  open   app-000001                                                       hIrazQCeSISewG3c2VIvsQ   3   1       2453            0          3              1
    green  open   .kibana_1                                                        JCitcBMSQxKOvIq6iQW6wg   1   1          0            0          0              0
    green  open   .kibana_-1595131456_user1                                        gIYFIEGRRe-ka0W3okS-mQ   3   1          1            0          0              0

Nodules de stockage de grumes

Vous pouvez consulter l'état des pods qui hébergent le magasin de journaux.

  1. Obtenir le nom d'un pod :

    $ oc get pods --selector component=elasticsearch -o name

    Exemple de sortie

    pod/elasticsearch-cdm-1godmszn-1-6f8495-vp4lw
    pod/elasticsearch-cdm-1godmszn-2-5769cf-9ms2n
    pod/elasticsearch-cdm-1godmszn-3-f66f7d-zqkz7

  2. Obtenir l'état d'un pod :

    $ oc describe pod elasticsearch-cdm-1godmszn-1-6f8495-vp4lw

    La sortie comprend les informations d'état suivantes :

    Exemple de sortie

    ....
    Status:             Running
    
    ....
    
    Containers:
      elasticsearch:
        Container ID:   cri-o://b7d44e0a9ea486e27f47763f5bb4c39dfd2
        State:          Running
          Started:      Mon, 08 Jun 2020 10:17:56 -0400
        Ready:          True
        Restart Count:  0
        Readiness:  exec [/usr/share/elasticsearch/probe/readiness.sh] delay=10s timeout=30s period=5s #success=1 #failure=3
    
    ....
    
      proxy:
        Container ID:  cri-o://3f77032abaddbb1652c116278652908dc01860320b8a4e741d06894b2f8f9aa1
        State:          Running
          Started:      Mon, 08 Jun 2020 10:18:38 -0400
        Ready:          True
        Restart Count:  0
    
    ....
    
    Conditions:
      Type              Status
      Initialized       True
      Ready             True
      ContainersReady   True
      PodScheduled      True
    
    ....
    
    Events:          <none>

Configuration du déploiement des pods de stockage de logs

Vous pouvez consulter l'état de la configuration du déploiement de la base de données de journaux.

  1. Obtenir le nom d'une configuration de déploiement :

    $ oc get deployment --selector component=elasticsearch -o name

    Exemple de sortie

    deployment.extensions/elasticsearch-cdm-1gon-1
    deployment.extensions/elasticsearch-cdm-1gon-2
    deployment.extensions/elasticsearch-cdm-1gon-3

  2. Obtenir l'état de la configuration du déploiement :

    $ oc describe deployment elasticsearch-cdm-1gon-1

    La sortie comprend les informations d'état suivantes :

    Exemple de sortie

    ....
      Containers:
       elasticsearch:
        Image:      registry.redhat.io/openshift-logging/elasticsearch6-rhel8
        Readiness:  exec [/usr/share/elasticsearch/probe/readiness.sh] delay=10s timeout=30s period=5s #success=1 #failure=3
    
    ....
    
    Conditions:
      Type           Status   Reason
      ----           ------   ------
      Progressing    Unknown  DeploymentPaused
      Available      True     MinimumReplicasAvailable
    
    ....
    
    Events:          <none>

Ensemble de répliques du magasin de journaux

Vous pouvez consulter l'état de l'ensemble de répliques du magasin de journaux.

  1. Obtenir le nom d'un ensemble de répliques :

    $ oc get replicaSet --selector component=elasticsearch -o name
    
    replicaset.extensions/elasticsearch-cdm-1gon-1-6f8495
    replicaset.extensions/elasticsearch-cdm-1gon-2-5769cf
    replicaset.extensions/elasticsearch-cdm-1gon-3-f66f7d
  2. Obtenir l'état de l'ensemble de répliques :

    $ oc describe replicaSet elasticsearch-cdm-1gon-1-6f8495

    La sortie comprend les informations d'état suivantes :

    Exemple de sortie

    ....
      Containers:
       elasticsearch:
        Image:      registry.redhat.io/openshift-logging/elasticsearch6-rhel8@sha256:4265742c7cdd85359140e2d7d703e4311b6497eec7676957f455d6908e7b1c25
        Readiness:  exec [/usr/share/elasticsearch/probe/readiness.sh] delay=10s timeout=30s period=5s #success=1 #failure=3
    
    ....
    
    Events:          <none>

15.2.3. État du cluster Elasticsearch

Un tableau de bord dans la section Observe de la console web OpenShift Container Platform affiche l'état du cluster Elasticsearch.

Pour obtenir l'état du cluster OpenShift Elasticsearch, visitez le tableau de bord dans la section Observe de la console web OpenShift Container Platform à l'adresse <cluster_url>/monitoring/dashboards/grafana-dashboard-cluster-logging.

Champs d'état Elasticsearch

eo_elasticsearch_cr_cluster_management_state

Indique si le cluster Elasticsearch est dans un état géré ou non géré. Par exemple :

eo_elasticsearch_cr_cluster_management_state{state="managed"} 1
eo_elasticsearch_cr_cluster_management_state{state="unmanaged"} 0
eo_elasticsearch_cr_restart_total

Indique le nombre de fois où les nœuds Elasticsearch ont redémarré pour des redémarrages par certificat, des redémarrages par roulement ou des redémarrages planifiés. Par exemple :

eo_elasticsearch_cr_restart_total{reason="cert_restart"} 1
eo_elasticsearch_cr_restart_total{reason="rolling_restart"} 1
eo_elasticsearch_cr_restart_total{reason="scheduled_restart"} 3
es_index_namespaces_total

Affiche le nombre total d'espaces de noms d'index Elasticsearch. Par exemple :

Total number of Namespaces.
es_index_namespaces_total 5
es_index_document_count

Indique le nombre d'enregistrements pour chaque espace de noms. Par exemple :

es_index_document_count{namespace="namespace_1"} 25
es_index_document_count{namespace="namespace_2"} 10
es_index_document_count{namespace="namespace_3"} 5

Le message "Les champs secrets d'Elasticsearch sont soit manquants, soit vides"

S'il manque à Elasticsearch les fichiers admin-cert, admin-key, logging-es.crt, ou logging-es.key, le tableau de bord affiche un message d'état similaire à l'exemple suivant :

message": "Secret \"elasticsearch\" fields are either missing or empty: [admin-cert, admin-key, logging-es.crt, logging-es.key]",
"reason": "Missing Required Secrets",
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.