Avertissement |
---|
Section en cours de rédaction, en attente de validation |
Afin de visualiser le contenu de votre entrepôt elasticsearch, vous pouvez installer Kibana.
Avertissement |
---|
Kibana ne prévoit pas d'authentification interne à l'application (à moins d'utiliser X-Pack, payant). Vous devez assurer par ailleurs la vérification de l'accès à l'outil |
Installation
Bloc de code |
---|
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 |
Installation (Debian)
Bloc de code | ||||
---|---|---|---|---|
| ||||
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 |
Activation du service sur Debian
Bloc de code | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
cd /etc/init.d/
vim kibana |
Bloc de code | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#!/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
|
Activation du service pour Centos7
Bloc de code | ||
---|---|---|
| ||
[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
|
Bloc de code | ||
---|---|---|
| ||
systemctl enable kibana4.service |
ACL
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.
Autoriser les requêtes depuis les navigateurs
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 :
Bloc de code |
---|
#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é)
Dashboard d'exemple
. Nous vous proposons une architecture à la page Sécuriser l'accès à kibana |
Info |
---|
Si vous utilisez actuellement la version 2 d'Agimus-NG, vous pouvez vous aider de la page Exporter vos configurations kibana v4 vers kibana v7 pour effectuer la migration de vos tableaux de bord |
Installation
Suivez les instructions qui correspondent à votre système
https://www.elastic.co/guide/en/kibana/current/install.html
ACL
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 du ou des serveurs elascticsearch dans les ACL pour Kibana.
Kibana est standalone et affiche le service sur le port 5601. Vous pouvez le modifier dans le fichier de configuration.
Configuration
Voici les réglages à apporter dans le fichier de configuration
Bloc de code | ||
---|---|---|
| ||
server.port: 5601
server.host: "0.0.0.0"
server.basePath: "/kibana"
server.name: "Agimus-NG"
elasticsearch.hosts: ["http://agimus1.univ.fr:9200","http://agimus2.univ.fr:9200"]
kibana.index: ".kibana"
logging.dest: /var/log/kibana/kibana.log
# En prod pour permettre l'intégration dans une iframe
csp.strict: false
csp.warnLegacyBrowsers: false
csp.rules:
- "script-src 'self' 'unsafe-eval' 'unsafe-inline'"
- "worker-src blob: 'self'"
- "style-src 'unsafe-inline' 'self'" |
Dashboard d'exemple
Vous trouverez des dashboards et des visualisations d'exemple sur l'espace github du projet
Remarque |
---|
Par défaut le sélecteur de date de kibana est paramétré sur les 15 dernières minutes. Pensez à le changer pour pouvoir afficher vos données. |
Suivant les attributs que vous avez utilisés pour enrichir vos logs, il se peut que certaines visualisations n'affichent pas de données. N'hésitez pas à les modifier via l'interface graphique après les avoir importées.
Vous trouverez des dashboards et des visualisations d'exemple sur l'espace github du projet