简介

对于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. Django ORM那些相关操作

    一般操作 https://docs.djangoproject.com/en/1.11/ref/models/querysets/         官网文档 常用的操作 <1> all() ...

  2. Android WebView那些坑之上传文件

    最近公司项目需要在WebView上调用手机系统相册来上传图片,开发过程中发现在很多机器上无法正常唤起系统相册来选择图片. 解决问题之前我们先来说说WebView上传文件的逻辑:当我们在Web页面上点击 ...

  3. 【Java】0X003 面向对象

    一. 什么是面向对象 都说Java是一门面向对象的语言,但什么对象?什么又是面向对象?以下都是我学到的知识和一点自己的理解. 对象是指包含属性和行为的主体. 比如,人有性别.血型.单眼皮或双眼皮等的特 ...

  4. 集合之深入理解HashMap

    Hashmap是一种非常常用的.应用广泛的数据类型 1.hashmap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个 ...

  5. oracle获取表字段属性

    select b.COMMENTS,a.COLUMN_NAME,a.DATA_TYPE,a.DATA_LENGTH, a.DATA_PRECISION,a.DATA_SCALE,a.NULLABLE, ...

  6. python 评论楼

    评论楼 从数据库中取出本篇博客的所有评论使用python语句将评论整理成具有层级关系的列表 typename=request.POST.get('typename') comment_list = m ...

  7. 如何在pycharm中使用配置好的virtualenv环境

    1.手动建立: 第一步 建立虚拟环境 Windows cmd: pip install virtualenv 创建虚拟环境目录 env 激活虚拟环境 C:\Python27\Scripts\env\S ...

  8. angular中的路径问题

    我们在写项目时会遇到启动页调到引导页,引导页再调到首页, 那我们在用angular框架写这种东西的时候如果我们不细心的话就会遇到问题, 比如说找不到引导页的图片等等. 那我们怎么解决这个问题呢? 首先 ...

  9. Object.prototype.toString.call(obj)使用方法以及原理

    这几天看vue-router的源码 发现了Object.prototype.toString.call()这样的用法,当时以为这就是转成字符串的用的,但是越看越觉得不太对劲,赶紧查查资料,一查才知道没 ...

  10. Java面试题—初级(5)

    41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系? hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hashtable.H ...