Aller au contenu principal

Elasticsearch

Vue d'ensemble​

Elasticsearch est un moteur de recherche et d'analyse distribué et en open source pour tout type de données, y compris les données textuelles, numériques, géospatiales, structurées et non structurées. Elasticsearch a été conçu à partir d'Apache Lucene et a été lancé en 2010 par Elasticsearch N. V. (maintenant appelé Elastic).

Contenu du connecteur de supervision​

Objets supervisés​

  • Bases de données
  • Noeuds
  • Partitions
  • Clusters
  • Indices
  • Documents
  • Licences

Métriques Collectées​

MétriqueDescriptionUnité
displayNom du cluster Elasticsearch
statusStatus du cluster Elasticsearch
nodes_totalNombre de noeuds
nodes_donnéeNombre de données
nodes_coordinatingNombre de noeuds se coordonnants
nodes_masterNombre de noeuds maîtres
nodes_ingestNombre de données ingérées
indices_countNombre d'indices
Shards_totalNombre total de partitions
Shards_activeNombre de partitions actives
Shards_unassignedNombre de partitions non-assignées
Shards_relocatingNombre de partitions se relocalisants
active_Shards_percentPourcentage de partitions active%
tasks_pendingNombre de tâches suspendues
docs_countNombre de documents
size_in_bytesTailles de toutes les partitions assignéesB

Utilisez le module de découverte pour pouvoir superviser vos bases de donnée Elasticsearch, Allez dans Configuration > Services > Découverte pour lancer l'analyse.

Prerequis​

Afin de superviser un cluster Elasticsearch, celui-ci doit être configuré comme indiqué dans la documentation officielle Elasticsearch.

Pour pouvoir communiquer avec le collecteurs Centreon poller, l'API du noeud Elasticsearch doit utiliser le protocole http et le port 9200.

Installation​

  1. Installer le Plugin sur tous les collecteurs Centreon contrôlants les ressources Elasticsearch:
yum install centreon-plugin-Applications-Databases-Elasticsearch
  1. Installer le connecteur de supervision Elasticsearch dans la page Configuration > Packs de plugins de l'interface Web Centreon

Configuration​

Toujours dans l'interface Web Centreon, aller à la page Configuration > Hôstes et cliquer sur Ajouter. Remplir alors les champs du formulaires. Dans le champs Modèles cliquer sur + Ajouter une nouvelle entrée puis sélectionner App-DB-Elascticsearch-custom

Cliquer sur le bouton Sauvegarder.

Les macros suivantes doivent être configurées sur l'hôte:

MacroDescriptionValeur par défautExemple
ELASTICSEARCHPORTThe Elasticsearch instance port92001234
ELASTICSEARCHPROTOThe Elasticsearch instance protocolhttphttps
ELASTICSEARCHUSERNAMEThe Elasticsearch instance usernamecentreon
ELASTICSEARCHPASSWORDThe Elasticsearch instance passwordcentreon

FAQ​

Comment tester en ligne de commande et que signifient les options principales ?​

Une fois que le Plugin est installé, vous pouvez le tester directement en ligne de commande depuis votre collecteurs Centreon avec l'utilsiateur centreon-engine:

su - centreon-engine \
/usr/lib/centreon/plugins/centreon_elasticsearch.pl \
--hostname=168.253.16.125 \
--port=9200 \
--proto=http \
--plugin=database::elasticsearch::restapi::plugin \
--mode=node-statistics \
--filter-name='Node 1' \
--username='Elasticsearch_username' \
--password='Elasticsearch_password'\
--warning-disk-free='20%' \
--critical-disk-free='5%'

Sortie:

OK: Node 'i-Vertix Node 1' JVM Heap: 26%, Free Disk Space: 1.56TB, Documents: 4362761044, donnée: 1.26TB | 'i-Vertix Node 1#node.jvm.heap.usage.percentage'=26%;;;0;100 'i-Vertix Node 1#node.jvm.heap.usage.bytes'=36380302240B;;;0;137151119360 'i-Vertix Node 1#node.disk.free.bytes'=1710072680448B;;;0;3113589145600 'i-Vertix Node 1#node.documents.total.count'=4362761044;;;0; 'i-Vertix Node 1#node.donnée.size.bytes'=1386278479651B;;;0;

La commande demande des statistiques au noeud Elasticsearch nommé 'Node 1' (--mode=node-statistics --filter-name='Node 1) qui possède l'adresse IP/FQDN 168.253.16.125 (--hostname=168.253.16.125). Nous utiliserons le port 92000 (--port=9200) et le protocole http (proto=http''). Le nom d'utilisateur de la base de donnée est Elasticsearch_username (--username='Elasticsearch_username') et son mot de passe Elasticsearch_password(--password='Elasticsearch_password'). Cette commande déclenchera une alerte WARNING si il reste moins de 20% d'espace libre sur le disque (--warning-disk-free='20%'') et une alerte CRITICAL si moins de 5% (--critical-disk-free='5%').

On peut assigner des seuils aux métriques avec les options "--warning-" et "--critical-".

Tous les modes disponibles peuvent être listés par la ligne de commande suivante:

/usr/lib/centreon/plugins/centreon_elasticsearch.pl \
--list-mode

Et les options des différents modes peuvent être affichées grâce au paramètre --help:

/usr/lib/centreon/plugins/centreon_elasticsearch.pl \
--mode=node-statistics \
--help

Comment interpréter les erreurs suivantes ?​

UNKNOWN: 500 Can't connect​

Ce message indique que la connexion a l'API a échouée.

Il est nécessaire de vérifier qu'aucun équipement tiers agissant en tant que Pare-Feu ne bloque le flux. Il est également possible qu'une connexion via proxy soit requise. Dans ce cas, il vous est possible de renseigner l'adresse de votre proxy grâce à l'option --proxyurl

UNKNOWN: 501 Protocol scheme 'connect' is not supported​

SI vous utilisez un proxy, il est possible d'obtenir cette erreur. Lorsque c'est le cas, utiliser le Backend curl qui résoudra cette erreur: --http-backend='curl'.