Description :

Avec ce script nous allons pouvoir monitorer quelques indicateurs :

  • File Descriptor
  • Mémoire de la JVM
  • Log rate
  • Shards

Script : elasticstats4cacti.sh

Help

 1 ./elasticstats4cacti.sh -h
 2 
 3 ElasticStack - Stats for Cacti
 4 Usage : elasticstats4cacti.sh [-D] [-h] [-v] [-S] -H <hostname> [-P <proxypass>] -s <stats command>
 5 
 6   -D | --debug : Enable debug script
 7   -h | --help : Read this help and exit
 8   -H | --hostname : ElasticStack host
 9   -P | --proxypass : Path of proxypass if ES is proxified (exemple : /path)
10   -s | --stats : command of stats
11     - filedescriptor
12     - jvmheapuse
13     - lograte
14     - shards
15   -S | --scheme : set scheme URL, default http
16   -v | --version : Print version info and exit

Argument pour le log rate

1 ./elasticstats4cacti.sh -S -H 192.168.1.1 -P /my_elasticsearch -s lograte
2 lograte:2441191

Argument les files descriptor

1 ./elasticstats4cacti.sh -S -H 192.168.1.1 -P /my_elasticsearch -s filedescriptor
2 open_FD:9582 max_FD:64000

Argument pour la mémoire de la JVM

1 ./elasticstats4cacti.sh -S -H 192.168.1.1 -P /my_elasticsearch -s jvmheapuse
2 heapusepercent:72

Argument pour les shards

1 ./elasticstats4cacti.sh -H 192.168.1.1 -P /my_elasticsearch -s shards
2 shards:102 pri:102 relo:0 init:0 unassign:76

Installation et intégration à Cacti

Installation

Mettre le script elasticstats4cacti.sh dans le dossier de scripts de Cacti, par défaut sur un RedHat Like c'est /var/lib/cacti/scripts.

1 cd /var/lib/cacti/scripts
2 wget https://raw.githubusercontent.com/alasta/elastic4cacti/master/elasticstats4cacti.sh
3 chmod +x elasticstats4cacti.sh

Test du script

1 ./elasticstats4cacti.sh -H 192.168.1.1 -P /my_elasticsearch -s shards
2 shards:102 pri:102 relo:0 init:0 unassign:76

Intégration

  • Importer les différents templates dans Import Templates.
  • Modifier dans Input String l'argument -P (path du ProxyPass) dans Data Input Methods, les templates ElasticStack.
  • Appliquer les graphs aux serveurs ElasticSatack.

Les sources

Le script et les templates sont disponible sur GitHub