Kibana自動關聯ES索引

緣由:html

Kibana中關聯ES索引須要手動操做,若是ES中索引較多(如天天生成),則工做量會比較大。shell

 

方法:json

考慮使用Linuxcron定時器自動關聯ES索引,原理是調用Kibana API接口自動關聯ES索引(示例中ES索引按天生成)api

 

須要瞭解的技術背景:bash

一、簡單的shell腳本app

二、Kibana手動關聯過ES索引curl

三、Linux下的cronurl

 

流程:spa

一、建立腳本
    a) 索引名稱:demo---日(如demo-2019-01-01
    b) 腳本名稱:today_index.sh
    c) 腳本內容:日誌

#!/bin/bash
today=`date +%Y.%m.%d`
demo='demo-'${today}
echo ${today}

curl -f -XPOST -H 'Content-Type: application/json' -H 'kbn-xsrf: anything' \
     "http://localhost:5601/api/saved_objects/index-pattern/${demo}" -d"{\"attributes\":{\"title\":\"${demo}\",\"timeFieldName\":\"@timestamp\"}}"

二、設置cron定時器
    a) 編輯crontabcrontab -e
    b) 每隔5分鐘執行一次腳本(Linuxcron最小單位爲分鐘)
        */5 * * * * bash /today_index.sh
    c) 查看crontabcrontab -l

    

三、查看cron定時器執行日誌

a) 日誌文件位置:tail -f /var/log/cron

 

4、腳本自動建立關聯ES索引的前提Kibana至少存在一個默認關聯索引(可經過Kibana手動建立)

 

總結:

一、上述示例可經過調整cron表達式、索引名稱規則,按指定時間和規則自動關聯ES索引

二、Linuxcron默認最小單位爲分鐘,也能夠實現秒級定時任務
      http://www.javashuo.com/article/p-envfginx-hm.html

三、刪除索引的Kibana API接口

curl -XDELETE "http://localhost:5601/api/saved_objects/index-pattern/${demo}" -H 'kbn-xsrf: true'
相關文章
相關標籤/搜索