Kibana自动关联ES索引

原因:

Kibana中关联ES索引需要手动操作,如果ES中索引较多(如每天生成),则工作量会比较大。

 

方法:

考虑使用Linuxcron定时器自动关联ES索引,原理是调用Kibana API接口自动关联ES索引(示例中ES索引按天生成)

 

需要了解的技术背景:

1、简单的shell脚本

2、Kibana手动关联过ES索引

3、Linux下的cron

 

流程:

1、创建脚本
    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\"}}"

2、设置cron定时器
    a) 编辑crontabcrontab -e
    b) 每隔5分钟执行一次脚本(Linuxcron最小单位为分钟)
        */5 * * * * bash /today_index.sh
    c) 查看crontabcrontab -l

    

3、查看cron定时器执行日志

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

 

4、脚本自动创建关联ES索引的前提Kibana至少存在一个默认关联索引(可通过Kibana手动创建)

 

总结:

1、上述示例可通过调整cron表达式、索引名称规则,按指定时间和规则自动关联ES索引

2、Linuxcron默认最小单位为分钟,也可以实现秒级定时任务
      https://www.cnblogs.com/handle/p/9246197.html

3、删除索引的Kibana API接口

curl -XDELETE "http://localhost:5601/api/saved_objects/index-pattern/${demo}" -H 'kbn-xsrf: true'

 

posted @ 2019-10-09 12:35    阅读(1991)  评论(1编辑  收藏  举报