Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息

踩坑

 本人用的6.7版本ElasticSearch和Kibana,想实现监控钉钉机器人报警的功能,网上基本全部文章都是采用安装sentinl,无奈的是sentinl目前支持到6.6.1,

Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第1张图片

高版本的ELK安装都是报版本不兼容的错误。

Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第2张图片

经过多番尝试后决定自己研究,自己研究一下kibana的watcher机制。

 

尝试

首先看一下watcher的例子。

Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第3张图片

Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第4张图片

Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第5张图片发现"logging"组件,去kibana官网查看"logging"组件,意外发现了"webhook"组件,而"sentinl"也是用"webhook"功能实现钉钉机器人发送功能的,查看可"webhook"的使用文档,也很简单,于是就自己尝试一下"webhook""

Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第6张图片

 

实现方案

1.新建钉钉机器人。

Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第7张图片Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第8张图片

安全设置可以查看钉钉文档,我这边选择的IP地址选项。

2.新建watcher。

Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第9张图片

3.配置watchJson

{
  "trigger": {
    "schedule": {
      "interval": "20m"
    }
  },
  "input": {
    "search": {
      "request": {
        "search_type": "query_then_fetch",
        "indices": [
          "*"
        ],
        "types": [],
        "body": {
          "size": 0,
          "query": {
            "match_all": {}
          }
        }
      }
    }
  },
  "condition": {
    "compare": {
      "ctx.payload.hits.total": {
        "gte": 1
      }
    }
  },
  "actions": {
    "my_webhook": {
      "webhook": {
        "scheme": "https",
        "host": "oapi.dingtalk.com",
        "port": 443,
        "method": "post",
        "path": "/robot/send?access_token=你的tokenid",
        "params": {},
        "headers": {
          "Content-Type": "application/json"
        },
        "body": "{\"msgtype\": \"text\",\"text\": {\"content\": \"我就是我, 是不一样的烟火\"}, \"errmsg\": \"aa\"}"
      }
    }
  }
}

4.钉钉效果

Kibana6.X利用自带的webhook实现钉钉机器人发送报警信息_第10张图片

总结

1.面对困难大胆尝试,不要太迷恋百度谷歌。

2.多看官方文档,多尝试。

你可能感兴趣的:(数据可视化,数据库基础知识,大数据处理技术)