Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
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
languagebash
titleInstallation debian
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
languagebash
titleactivation
linenumberstrue
collapsetrue
cd /etc/init.d/
vim kibana
Bloc de code
languagebash
titleScript init.d sous debian
linenumberstrue
collapsetrue
#!/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
title/usr/lib/systemd/system/kibana4.service
[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
titlesystemctl
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
titleconfig/kibana.yml
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