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
Modification du projet
openshift-logging
.$ oc project openshift-logging
Pour visualiser l'état :
Obtenir le nom de l'instance du magasin de journaux :
$ oc get Elasticsearch
Exemple de sortie
NAME AGE elasticsearch 5h9m
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
ouready
.
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.
ImportantSi 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'étatStorageStructureChangeIgnored
, vous devez annuler la modification apportée à la CRClusterLogging
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.
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
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.
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
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.
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
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.
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
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",