简介

对于Kibana的一些数据我们有时候是想要对某些字段进行持续关注的,这时候通过报警的手段就可以大幅提升对这些信息状态了解的及时性及可靠性。使用sentinl插件就可以帮助我们实现这个功能。

此教程基于sentinl 6.2.3版本, sentinl版本最好与kibana的版本保持一致。

sentinl插件下载地址:https://github.com/sirensolutions/sentinl/releases

sentinl文档地址:http://sentinl.readthedocs.io/en/latest/

使用步骤

1.在kibana界面上配置sentinl,点击右上角new创建watchers

2.点击 +watcher创建新的Watcher

3.填写General页面内容, title是watcher的名称,Schedule是执行周期。

4.填写input页面内容, body 里面填写ES查询语句,可根据具体业务编写相应的查询语句

5.填写Condition页面内容, payload.hits.total > 1 (当查询结果数大于1时,触发Actions),可以自己制定条件。

6.Transform 可对input查询的结果做一些处理,此处没有使用,可以不填写

7.填写Actions页面内容,Actions包括webhook,email,email html,report,slack,console,此处介绍webhook。

7.1 使用webhook发rest请求,可以选择 get或post两种方式。

7.1.1 填好对应数据之后,点击右上角的Save按钮。

7.1.2 可以点击单次执行按钮进行测试。如下显示接收到参数,测试成功

7.2 使用webhook执行新的watchers(仅执行一次),在新的watchers中发rest请求。

path: /api/sentinl/watcher/_execute(固定值)

body的内容如下:

 {
"_source": {
"actions": {
"testRest": {
"throttle_period": "0h0m10s",
"webhook": {
"method": "POST",
"host": "127.0.0.1",
"port": ,
"proxy": false,
"path": "/kyle",
"body": "{\n \"id\":100,\n \"name\":\"kyle20\"\n}"
}
}
},
"input": {
"search": {
"request": {
"index": [
"movies"
],
"body": {
"query": {
"match_all": {}
}
}
}
}
},
"condition": {
"script": {
"script": "payload.hits.total > 1"
}
},
"transform": {},
"trigger": {
"schedule": {
"later": "every 5 minutes"
}
},
"disable": true,
"report": false,
"title": "watcher_title"
}
}

测试结果:

7.3 使用sentinl 执行多个watcher方案

原理:将第一个watcher的结果写入es index 中,以供其他watcher使用(可以作为触发其他watcher方式)

7.3.1 新建第一个watcher,内容如下:

 {
"actions": {
"New console action txv1ad1yazr": {
"throttle_period": "0h0m1s",
"console": {
"message": "{\n{{#payload.hits.hits}}\n\"name\":\"{{_source.name}}\",\n\"age\":{{_source.age}}\n{{/payload.hits.hits}}\n}"
}
},
"New webhook action 20wm9sojv9j": {
"throttle_period": "0h0m1s",
"webhook": {
"method": "POST",
"host": "127.0.0.1",
"port": ,
"proxy": false,
"path": "/twoindex/doc",
"body": "{\n{{#payload.hits.hits}}\n\"name\":\"{{_source.name}}\",\n\"age\":{{_source.age}}\n{{/payload.hits.hits}}\n}",
"save_payload": false,
"headers": {
"content-type": "application/json"
}
}
}
},
"input": {
"search": {
"request": {
"index": [
"trumantest"
],
"body": {
"query": {
"match": {
"age": ""
}
}
}
}
}
},
"condition": {
"script": {
"script": "payload.hits.total > 0"
}
},
"transform": {},
"trigger": {
"schedule": {
"later": "every 1 minutes"
}
},
"disable": false,
"report": false,
"title": "first_watcher"
}

第一个watcher 主要是检测 trumantest是否含有"age": "19" 数据,如果有,将该结果写入twoindex 中。

7.3.2新建第二个watcher,主要检测index 数量,如果大于1,则在console 中输出

 {
"actions": {
"New console action 34fsgrz5dhd": {
"throttle_period": "0h0m1s",
"console": {
"message": "this is a measage :{{payload.hits.total}}"
}
}
},
"input": {
"search": {
"request": {
"index": [
"twoindex"
],
"body": {
"query": {
"match_all": {}
}
}
}
}
},
"condition": {
"script": {
"script": "payload.hits.total > 1"
}
},
"transform": {},
"trigger": {
"schedule": {
"later": "every 1 minutes"
}
},
"disable": false,
"report": false,
"title": "two_watcher"
}

7.3.3实验结果:

Kibana插件sentinl使用教程的更多相关文章

  1. Kibana插件sentinl实现邮件报警

    为什么会突然想用到对日志的异常内容进行邮件报警,是因为在上周公司的线上业务多次出现锁表,开发在优化sql的同时,我也在想是不是可以对日志的异常内容进行检测并实现邮件预警. 在网上查询了一些资料后,决定 ...

  2. Kibana 插件环境搭建教程

    原文 环境背景, Kibana 7.4.0, Elasticsearch 7.4.0 注意, 执行以下命令时, 尽量在管理员权限的命令行窗口里执行, 避免一些没有权限的报错; 1. 准备 Kibana ...

  3. Sublime Text 2安装汉化破解、插件包安装教程

    原文地址: Sublime Text 2安装汉化破解.插件包安装教程_百度经验 http://jingyan.baidu.com/article/ff4116259b057c12e48237b8.ht ...

  4. 阿里巴巴Java开发规约插件p3c详细教程及使用感受

    阿里巴巴Java开发手册 在进入正题介绍这款插件之前,首先来谈一下<阿里巴巴Java开发手册>,2017年年初,首次公开的阿里官方Java代码规范标准手册可以说是引起了全民(IT界)代码规 ...

  5. 40款非常棒的 jQuery 插件和制作教程(系列一)

    jQuery 在现在的 Web 开发项目中扮演着重要角色,jQuery 让网站有更好的可用性和用户体验,让访问者对网站留下非常好的印象.jQuery以其插件众多.独特.轻量以及支持大规模的网站开发闻名 ...

  6. 利用kibana插件对Elasticsearch查询

    利用kibana插件对Elasticsearch查询 Elasticsearch是功能非常强大的搜索引擎,使用它的目的就是为了快速的查询到需要的数据. 查询分类: 基本查询:使用Elasticsear ...

  7. ES 04 - 安装Kibana插件(6.6.0版本)

    目录 1 Kibana是什么 2 安装并启动Kibana 2.1 准备安装包 2.2 修改配置文件 2.3 启动Kibana并验证 2.4 关闭Kibana服务 3 Kibana功能测试 3.1 关于 ...

  8. VS增加插件 Supercharger破解教程

    VS增加插件 Supercharger破解教程 Supercharger效果预览及下载路径: http://supercharger.tools/index.html 下载地址:https://vis ...

  9. Unity插件-NGUI使用教程

    Unity插件-NGUI使用教程 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 NGUI 一款强大的次 ...

随机推荐

  1. [POI2008]BLO-Blockade - Tarjan,割点

    Description 给定一张无向图,求每个点被封锁(删去与其相连的边)之后有多少个有序点对(x,y)(x!=y,1<=x,y<=n)满足x无法到达y. Input&Output ...

  2. POJ2318【判断点在直线哪一侧+二分查找区间】

    题目大意:给定一个矩形和一些线段,线段将矩形分割为从左至右的若干部分,之后给出一些玩具的坐标,求每个部分中玩具的数量 #include<cstdio> #include<cstdli ...

  3. python基础(初识Python)

    python基础(初识Python) 本章内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.pyc文件.脚步传入参数.变量.输入.流程控制与缩进.while循环) ...

  4. python--socket粘包

    socket粘包 1 什么是粘包 须知:只有TCP有粘包现象,UDP永远不会粘包,首先需要掌握一个socket收发消息的原理, 所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少 ...

  5. POJ-1861 Network---最小生成树

    题目链接: https://vjudge.net/problem/POJ-1861 题目大意: 有一些公司,公司之间需要连接起来.给出了哪些公司可以连接以及连接边的长度.求最小生成树中最大的边,以及最 ...

  6. JAVA数据库编程、JAVA XML解析技术

    JDBC概述 JDBC是JAVA中提供的数据库编程API curd :数据库增删改 链接字符串:String url = "mysql :/localhost :3306/jdbc/&quo ...

  7. DOM 节点

    <html> <head> <title>DOM 教程</title> </head> <body> <h1>DOM ...

  8. 最新的Windows环境搭建zeroMQ并使用java代码运行zeromq详细教程

    最近项目要用zeromq,linux上很好配置使用,但是windows上配置与使用没有找到合适的解决方案,看的很头疼,这里自己总结下供大家参考 准备工作: 1.libzmq下载地址:https://g ...

  9. ASP.NET MVC5 实现基于Quartz.NET任务调度

    工作之余.技术?.记是不可能记住的. 只有写点东西 才能维持得了生活这样子的.好早就像写一篇关于任务调度的文章.终究是太懒了 一.Quartz.NET介绍 Quartz.NET是一个强大.开源.轻量的 ...

  10. DDD实战进阶第一波(六):开发一般业务的大健康行业直销系统(实现产品上下文仓储与应用服务层)

    前一篇文章我们完成了产品上下文的领域层,我们已经有了关于产品方面的简单领域逻辑,我们接着来实现产品上下文关于仓储持久化与应用层的用例如何来协调 领域逻辑与仓储持久化. 首先大家需要明确的是,产品上下文 ...