Section en cours de rédaction, en attente de validation |
Afin de visualiser le contenu de votre entrepôt elasticsearch, vous pouvez installer Kibana.
Kibana ne prévoit pas d'authentification interne à l'application. Vous devez assurer par ailleurs la vérification de l'accès à l'outil |
cd /home/elasticsearch wget https://download.elasticsearch.org/kibana/kibana/kibana-4.0.1-linux-x64.tar.gz tar -zxvf kibana-4.0.1-linux-x64.tar.gz ln -s kibana-4.0.1-linux-x64 kibana-4 rm kibana-4.0.1-linux-x64.tar.gz |
cd /opt/ wget https://download.elasticsearch.org/kibana/kibana/kibana-4.0.1-linux-x64.tar.gz tar -zxvf kibana-4.0.1-linux-x64.tar.gz ln -s kibana-4.0.1-linux-x64 kibana rm kibana-4.0.1-linux-x64.tar.gz |
cd /etc/init.d/ vim kibana |
#!/bin/sh # # /etc/init.d/kibana4_init -- startup script for kibana4 # bsmith@the408.com 2015-02-20; used elasticsearch init script as template # https://github.com/akabdog/scripts/edit/master/kibana4_init # ### BEGIN INIT INFO # Provides: kibana4 # Required-Start: $network $remote_fs $named # Required-Stop: $network $remote_fs $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Starts kibana4 # Description: Starts kibana4 using start-stop-daemon ### END INIT INFO #configure this with wherever you unpacked kibana: KIBANA_BIN=/opt/kibana/bin PID_FILE=/var/run/$NAME.pid PATH=/bin:/usr/bin:/sbin:/usr/sbin:$KIBANA_BIN DAEMON=$KIBANA_BIN/kibana NAME=kibana4 DESC="Kibana4" if [ `id -u` -ne 0 ]; then echo "You need root privileges to run this script" exit 1 fi . /lib/lsb/init-functions if [ -r /etc/default/rcS ]; then . /etc/default/rcS fi case "$1" in start) log_daemon_msg "Starting $DESC" pid=`pidofproc -p $PID_FILE kibana` if [ -n "$pid" ] ; then log_begin_msg "Already running." log_end_msg 0 exit 0 fi # Start Daemon start-stop-daemon --start --pidfile "$PID_FILE" --make-pidfile --background --exec $DAEMON log_end_msg $? ;; stop) log_daemon_msg "Stopping $DESC" if [ -f "$PID_FILE" ]; then start-stop-daemon --stop --pidfile "$PID_FILE" \ --retry=TERM/20/KILL/5 >/dev/null if [ $? -eq 1 ]; then log_progress_msg "$DESC is not running but pid file exists, cleaning up" elif [ $? -eq 3 ]; then PID="`cat $PID_FILE`" log_failure_msg "Failed to stop $DESC (pid $PID)" exit 1 fi rm -f "$PID_FILE" else log_progress_msg "(not running)" fi log_end_msg 0 ;; status) status_of_proc -p $PID_FILE kibana kibana && exit 0 || exit $? ;; restart|force-reload) if [ -f "$PID_FILE" ]; then $0 stop sleep 1 fi $0 start ;; *) log_success_msg "Usage: $0 {start|stop|restart|force-reload|status}" exit 1 ;; esac exit 0 |
[Unit] Description=Kibana4 ElasticSearch GUI Requires=network.target After=network.target [Service] Type=simple User=nobody Group=nobody ExecStart=/home/elasticsearch/kibana-4/bin/kibana SuccessExitStatus=143 Restart=always StandardOutput=null StandardError=journal |
systemctl enable kibana4.service |
Kibana a besoin d'effectuer une requête vers le port 9200 du serveur lorsqu'on veut visualiser les données. Il faut donc penser à ouvrir l'accès au port 9200 dans les ACL pour les personnes autorisées à voir le tableau de bord de Kibana.
La version de Kibana 4 est standalone et tourne sur le port 5601.
Depuis Elasticsearch 1.4, il faut ajouter dans la configuration un paramètre autorisant les requêtes depuis un navigateur se trouvant sur une autre machine. Pour cela, il faut modifier le fichier /etc/elasticsearch/elasticsearch.yml et ajouter :
#Autorise les requêtes depuis un navigateur situé sur une autre machine #L'expression régulière ci-dessous indique les URL qui peuvent être requêtées http.cors.allow-origin: /http://agimus.univ.fr(:9200)?/ http.cors.enabled: true |
La valeur du paramètre http.cors.allow-origin est traitée comme une expression régulière. Elle indique l'url de base qui peut être requêtée depuis un navigateur (ici c'est http://agimus.univ.fr avec éventuellement le port 9200 spécifié)
Vous trouverez des dashboards et des visualisations d'exemple sur l'espace github du projet