Au fil des flows

30jan/158

Importer et exporter vos tableaux de bords de Kibana en ligne de commande

Kibana est une console visuelle extraordinaire. En quelques heures, vous pouvez créer un tableau de bord pour l'analyse de vos données. Lorsque j'expérimente, j'efface souvent le contenu du noeud elasticsearch pour relancer les imports logstash.
Cette opération efface tous les tableaux de bords personnalisés.

Kibana stocke la configuration de ces tableaux de bord directement sous forme de document dans Elasticsearch dans l'index kibana-int. Voici quelques requetes pour les manipuler.

Requete elasticsearch pour manipuler vos tableaux de bord

Requete avec curl pour voir l'ensemble des dashboards de Kibana :

curl http://localhost:9200/_search?q=dashboard:*&pretty

Requete avec curl pour exporter / sauvegarder un dashboard appellé "Custom"

curl http://localhost:9200/kibana-int/dashboard/Custom/_source > Custom.json

Requete avec curl pour supprimer le dashboard "Custom" :

curl -XDelete http://localhost:9200/kibana-int/dashboard/Custom

Requete avec curl pour creer un dashboard depuis le fichier json :

curl -XPOST --data-binary @Custom.json http://localhost:9200/kibana-int/dashboard/Custom

Exporter et importer vos tableaux de bords avec un script

Voici un script python pour l'exportation :

# python export-kibana-dashboards.py http://localhost:9200 > data/dashboards.json

import sys, urllib, json

if len(sys.argv) < 2 :
    print("usage :  python export-kibana-dashboards.py http://localhost:9200 > file.json")
    exit()

elasticsearch_url = sys.argv[1]
query_url = elasticsearch_url + "/_search?q=dashboard:*"
response = urllib.urlopen(query_url)
data = json.loads(response.read())
dashboards = data['hits']['hits']

print(json.dumps(dashboards, sort_keys=True, indent=4))

Voici le script pour réimporter votre fichier json

# python import-kibana-dashboards.py http://localhost:9200 < file.json

import sys, httplib, urllib2, json

if len(sys.argv) < 2 :
    print("usage :  python import-kibana-dashboards.py http://localhost:9200 < file.json")
    exit()

elasticsearch_url = sys.argv[1]
post_dashboard_url = elasticsearch_url + "/kibana-int/dashboard"

json_dashboards = sys.stdin.read()
dashboards = json.loads(json_dashboards)

for dashboard in dashboards:
    try:
        print("Importation de %s" % dashboard["_id"])
        data = json.dumps(dashboard['_source'])

        url = post_dashboard_url + "/" + urllib2.quote(dashboard["_id"])
        req = urllib2.Request(url, data)
        req.add_header('Content-Length', str(len(data)))
        req.add_header('Content-Type', 'application/octet-stream')
        res = urllib2.urlopen(req)
        print(res)
    except  httplib.BadStatusLine as e:
        print(e)

Posted by Fabien Arcellier

Remplis sous: Non classé Laisser un commentaire
Commentaires (8) Trackbacks (0)
  1. Merci Fabien,

    As-tu essayé la commande d’import avec kibana 4.2;
    Elle ne fonctionne pas pour moi.

  2. Essa Instrução ou realizar concurso no segundo semestre e contratar os aprovados em 2016.

  3. Hello.This post was really motivating, particularly because I
    was browsing for thoughts on this topic last week.

  4. I got this web page from my buddy who told mee concerning ths
    website andd att thhe moment this time Iam browsing this web page
    and reading very informative posts at this place.

  5. I visit day-to-daya few blogs and websites to read articles or reviews, but this weblog
    provides quality based content.

  6. Hi there, this weekend is fastidious designed for me,
    since this time i am reading this impressive educational piece of writing here at my residence.

  7. Can I simply say what a relief to uncover a person that genuinely knows what they are talking
    about over the internet. You actually understand how to bring an issue to
    light and make it important. More people must look at this and understand this side of the story.
    It’s surprising you’re not more popular since you definitely
    have the gift.

  8. Pretty! This was an incredibly wonderful post. Thanks
    for providing these details.

    Dapatkan Informasi Seputar Rokok Elektrik dan juga Harga serta Spesifikasinya


Annuler la réponse.

Aucun trackbacks pour l'instant