Je trouvai qu'il manquait dans le monitoring de kibana une vue globale permettant d'afficher les noeuds d'allocation des shards de tous mes index. Je vous partage ce petit script shell qui affiche cela. Il est optimisable, je l'ai réalisé très rapidement mais il fait le taf, remplacer mes_index par vos index et localhost par l'ip de votre elasticsearch (si vous connaissez un outil graphique gratuit qui fait la même chose je suis preneur) :
res=/tmp/res_shard
res_node=/tmp/res_node
> $res_node
idx=""
node=""
node_p=""
curl -XGET "http://localhost:9200/_cat/shards/mes_index*" | sort -n > $res
echo ""
echo "Index noeuds d'allocation des shards"
while read ligne
do
idx=`echo $ligne | cut -d " " -f1`
node=`echo $ligne | cut -d " " -f8 `
#node=`echo $ligne | cut -d " " -f8 | cut -c9-10 `
if [ "$idx" != "$idx_p" ]
then
for i in `cat $res_node|sort -n|uniq`
do
node_p="$node_p $i"
done
echo "$idx_p $node_p"
node_p=""
> $res_node
fi
#echo $ligne
idx_p=$idx
echo $node >> $res_node
#node_p="$node_p $node"
done < $res
for i in `cat $res_node|sort -n|uniq`
do
node_p="$node_p $i"
done
echo "$idx_p $node_p"
Oui ça manque d'une vue globale donnant la liste des noeuds où sont les shards de TOUS LES INDEX. C'est un peu fatiguant de devoir cliquer sur chaque index pour voir où sont les shards je trouve (surtout dans une architecture hot warm)
Les index passent sur une page avec 1 index par ligne, avec pagination comme c'est fait dans Kibana. Effectivement ça peut devenir encombrant pour afficher les shards par index au niveau des colonnes au delà d'un certain nombre. Une idée serait de réduire l'écriture :
Exemple :
l'index 1 a ses shards sur les noeuds ES-Data-1, ES-Data-2, ..., ES-Data-500
l'index 2 a ses shards sur les noeuds ES-Ingest-1, ES-Ingest-2, ..., ES-Ingest-100, ES-Data-1, ES-Data-2, ..., ES-Data-500
Après ça marche si les noeuds ont des noms qui respectent une certaine règle d'écriture avec incrémentation du numéro de la machine, sinon ça met la pagaille sur une IHM. Avec un script shell c'est assez sympa.
Ou alors il faut reprendre une partie du projet elasticsearch head, qui étai bien pratique sur les premières versions d'elasticsearch
Je crois que ça a arrêté de suivre les versions à partir de la 5...
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.