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'
相关文章
相关标签/搜索