RousselTMLEARNING

Observabilité

Kibana : rôle, installation et premiers pas

Ce qu'est Kibana dans la suite Elastic, comment l'installer avec Elasticsearch (start-local, Docker), le connecter de façon sécurisée et créer ses premières data views.

1. Kibana dans la suite Elastic #

L'interface de la stack.

Rôle #

La suite Elastic
Kibana ne stocke rien : il interroge Elasticsearch et y enregistre ses objets (dashboards, règles).

Kibana est l'interface web de la suite Elastic : exploration des données (Discover), visualisations et dashboards, solutions métier (Observability, Security, Search), alertes et administration de la stack (Fleet, rôles, index).

À savoir : Cette formation complète les formations Elasticsearch, Logstash et Beats : elle se concentre sur l'exploitation des données et sur Elastic Observability.

2. Installer #

Trois options.

start-local pour apprendre #

curl -fsSL https://elastic.co/start-local | sh
# Elasticsearch : http://localhost:9200   Kibana : http://localhost:5601
cat elastic-start-local/.env | grep -E 'ES_LOCAL_PASSWORD|ES_LOCAL_API_KEY'

Le script officiel lance Elasticsearch et Kibana avec Docker, la sécurité activée et une licence d'essai : idéal pour les TP. Ne l'utilisez pas en production.

Docker, de façon explicite #

docker network create elastic
docker run -d --name es --net elastic -p 9200:9200 -m 2GB \
  -e discovery.type=single-node -e ELASTIC_PASSWORD=changeme \
  docker.elastic.co/elasticsearch/elasticsearch:$VERSION
# Jeton d'inscription pour Kibana (valable 30 min)
docker exec es /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
docker run -d --name kibana --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:$VERSION
docker logs kibana | grep "Go to"      # lien avec le code de vérification
Bonne Pratique : Utilisez la même version pour Elasticsearch et Kibana (par exemple VERSION=9.1.0 ; vérifiez la dernière version sur elastic.co). Kibana refuse de démarrer face à un Elasticsearch plus récent.

kibana.yml en production #

server.host: 0.0.0.0
server.publicBaseUrl: https://kibana.example.org
elasticsearch.hosts: [https://es-1:9200, https://es-2:9200]
elasticsearch.serviceAccountToken: ${KIBANA_SA_TOKEN}
elasticsearch.ssl.certificateAuthorities: [/etc/kibana/certs/ca.crt]
xpack.encryptedSavedObjects.encryptionKey: ${ENCRYPTION_KEY}   # 32 caractères minimum
xpack.reporting.encryptionKey: ${REPORTING_KEY}
xpack.security.encryptionKey: ${SECURITY_KEY}
Erreur Courante : Sans xpack.encryptedSavedObjects.encryptionKey stable, les règles d'alerte et les connecteurs ne peuvent pas stocker leurs secrets et cessent de fonctionner après un redémarrage.

3. Les data views #

Dire à Kibana quoi interroger.

Créer une data view #

Une data view (anciennement index pattern) désigne un ou plusieurs index, alias ou data streams (par exemple logs-*) et le champ de temps. Discover, Lens et les dashboards s'appuient dessus.

curl -s -X POST localhost:5601/api/data_views/data_view -u elastic:$PASS \
  -H 'kbn-xsrf: true' -H 'Content-Type: application/json' \
  -d '{"data_view": {"title": "logs-*", "name": "Tous les logs", "timeFieldName": "@timestamp"}}'
À savoir : Les API de Kibana exigent l'en-tête kbn-xsrf pour toute requête qui modifie quelque chose.

Articles liés

Explorer ses données dans Discover : KQL, Lucene et ES|QL

Rechercher et analyser des logs dans Kibana Discover : filtres, KQL, syntaxe Lucene, et le langage ES|QL pour…

Visualiser dans Kibana : Lens, dashboards et objets enregistrés

Construire des visualisations avec Lens, assembler des dashboards interactifs (filtres, contrôles, liens), et…

Elastic Observability : logs, infrastructure, APM et synthétiques

Les fonctions d'Elastic Observability : exploration des logs, inventaire d'infrastructure avec Elastic Agent …

Pour aller plus loin