ELKF日志学习(十四)Kibana基于Sentinl实现钉钉告警

Kibana使用Watcher监控服务日志并发送飞书报警(Markdown) Kibana Watcher 是 Elasticsearch 的监控和告警工具,它允许你设置和管理告警规则以监控 Elasticsearch 数据和集群的状态。它提供了一种强大的方式来实时监控 Elasticsearch 数据、集群性能、日志和事件,以及其他关键指标。Create threshold alert: 一般用于简单的指标监控, 及Index数量统计。Create advanced watch: 高级预警, 用于创建更复杂和灵活的监控规则。 阅读详情

前言

最好先学习一下 sentinl 的使用,以及 Elasticsearch 的语法。
在这里插入图片描述

代码仓库

talk-lucky/elkf-study

配置流程

如果不熟悉的话,建议先使用 Wizard 来配置一些东西,再转换成 Advanced。

一般分四部分,分别是:输入、条件、行为、其它。

输入

这个一般是指定 index,配置一些筛选条件,比如(这是 Advanced 的示例):

{
    "search":{
        "request":{
            "index":[
                "crm-*"
            ],
            "body":{
                "size":0,
                "query":{
                    "bool":{
                        "must":[
                            {
                                "match":{
                                    "source":"/opt/logs/crm/crm.log"
                                }
                            },
                            {
                                "match_phrase":{
                                    "message":"Query Failed"
                                }
                            }
                        ],
                        "filter":[
                            {
                                "range":{
                                    "@timestamp":{
                                        "gte":"now-15m/m",
                                        "lte":"now/m",
                                        "format":"epoch_millis"
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        }
    }
}

这里指定了 index crm-*,日志来源 /opt/logs/crm/crm.log,错误信息 Query Failed,匹配范围 -15m。

条件

这里的条件是根据 输入 统计之后的结果进行的筛选,比如:

{
    "script":{
        "script":"payload.hits.total > 0"
    }
}

这里的意思是只要匹配到大于 0 的数量,就告警。

行为

行为是非常有意思的,这个建议还是先 Wizard 再 Advanced。

比如(钉钉告警 部分):

{
    "Webhook_crm_query":{
        "name":"Webhook",
        "throttle_period":"1s",
        "webhook":{
            "priority":"high",
            "stateless":false,
            "method":"POST",
            "host":"oapi.dingtalk.com",
            "port":"443",
            "path":"/robot/send?access_token={你的TOKEN}",
            "body":"{ \"msgtype\": \"text\", \"text\": { \"content\": \"{你的标识} 有MySQL执行错误\" } }",
            "params":{
                "watcher":"{{watcher.title}}",
                "payload_count":"{{payload.hits.total}}"
            },
            "headers":{
                "Content-Type":"application/json"
            },
            "auth":"",
            "message":"",
            "use_https":true
        }
    }
}

这里的东西比较多,需要注意的点有几个(加粗的要着重看):

  • throttle_period 是限流的,这里的配置是 1s 内执行触发一次
  • host、port、path、method、headers、body 这些都是和请求相关的
  • {你的TOKEN} 一定要对
  • {你的标识} 一定要和机器人的定义一致

其它

  • title 标题
  • trigger 指定多长时间执行一次

Demo

{
    "actions":{
        "Webhook_crm_query":{
            "name":"Webhook",
            "throttle_period":"1s",
            "webhook":{
                "priority":"high",
                "stateless":false,
                "method":"POST",
                "host":"oapi.dingtalk.com",
                "port":"443",
                "path":"/robot/send?access_token={你的TOKEN}",
                "body":"{ \"msgtype\": \"text\", \"text\": { \"content\": \"{你的标识} 有MySQL执行错误\" } }",
                "params":{
                    "watcher":"{{watcher.title}}",
                    "payload_count":"{{payload.hits.total}}"
                },
                "headers":{
                    "Content-Type":"application/json"
                },
                "auth":"",
                "message":"",
                "use_https":true
            }
        }
    },
    "input":{
        "search":{
            "request":{
                "index":[
                    "crm-*"
                ],
                "body":{
                    "size":0,
                    "query":{
                        "bool":{
                            "must":[
                                {
                                    "match":{
                                        "source":"/opt/logs/crm/crm.log"
                                    }
                                },
                                {
                                    "match_phrase":{
                                        "message":"Query Failed"
                                    }
                                }
                            ],
                            "filter":[
                                {
                                    "range":{
                                        "@timestamp":{
                                            "gte":"now-15m/m",
                                            "lte":"now/m",
                                            "format":"epoch_millis"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        }
    },
    "condition":{
        "script":{
            "script":"payload.hits.total > 0"
        }
    },
    "trigger":{
        "schedule":{
            "later":"every 2 minutes"
        }
    },
    "disable":false,
    "report":false,
    "title":"crm-mysql-error",
    "save_payload":true,
    "spy":false,
    "impersonate":false
}

最后

所有的操作都依赖原官方文档,这个是需要好好看的。

ELK系列-如何自动化配置报警邮件通知 文章目录前言一、使用管理工具Kibana: Elasticsearch watcher1.1.编辑/etc/elasticsearch/elasticsearch.yml,在最后添加邮件发送者的相关设置。1.2.在Kibana创建一个定制watch。(或者直接使用curl命令添加到watch)二、在Elasticsearch中设置cron job查询2.1.创建一个脚本alert.py,检查最近10分钟内是否遇到503错误。是则发送告警邮件,并在邮件正文中包含部分503错误信息2.2.设置cron job三 阅读详情

相关推荐

Kibana插件sentinl实现邮件报警

介绍 对日志的异常内容进行邮件报警,是因为在上周公司的线上业务多次出现锁表,开发在优化sql的同时,我也在想是不是可以对日志的异常内容进行检测并实现邮件预警。 使用插件sentinl,sentinl原名KaaE,sentinl这个插件完全可以满足我们的实际需求,接下来我们开始进行安装这个插件。 首先得知道我们的kibana的版本,因为我们安装的插件需要与我们的kibana版本一致。历史版本位置:h...

qq_40907977的博客 4179

Linux-Kibana之Sentinl日志报警

一、下载Sentinl插件 下载链接:https://github.com/sirensolutions/sentinl/releases/download/tag-6.6.0-0/sentinl-v6.6.0.zip PS:Sentinl版本和Kibana版本要一致 二、安装Sentinl插件 cd /usr/local/kibana/bin ./kibana-plugin ...

孟孟的博客 2758

Kibana 自定义索引连接器告警

jar包下载后用上面修改的yml配置文件覆盖jar包中的application.yml的内容然后启动服务。到这一步,告警数据就可以正常发送到es中了,接下来需要从es中取出数据并发送邮件。这里采用java服务自定义从es中取数据并发送邮件的功能。

lmj3732018的博客 1万+

ES8生产实践——ELK监控与告警(Kibana)

ELK的监控主要分为两方面,一方面是Filebeat、Logstash、Elasticsearch、Kibana自身的服务性能指标的采用与监控,另一方面是采集业务日志存入ES后,进行日志分析与告警监控。

qq_33816243的博客 8751

戴尔PowerEdge服务器R450 RAID配置步骤

戴尔PowerEdge服务器R450 RAID配置步骤

且听风呤tmj的博客 6910

红外:非均匀性校正01_基本原理与基本方法

非均匀校正(nonuniformity correction,NUC) 基本原理 这里要表达的意思就是:图中每一条直线对应一个像素点的,亮度/辐照度的情况。由于硬件的关系,每一个像素点的线性响应很不一样,所以需要通过矩阵来校正。 校正原理: 一点校正 两点校正 其他原理介绍: 参考链接: 基于多项式拟合的红外焦平面非均匀校正 课件:光电成像——非均匀性校正 红外图像非均匀性校正相关汇总 红外非均匀性校正算法总结 红外图像非均匀矫正——一点矫正 ...

dlvector的博客 2万+

ELKF日志学习(十三)Kibana安装Sentinl插件

前言 低版本的 Kibana 中,想要实现钉钉告警,只能通过第三方插件来实现。 这也就是为什么我们需要使用 Kibana:6.5.4 和 Kibana:7.6.1 来介绍了。 除了第三方插件,Elasticsearch 也可以实现钉钉告警,但是 6.5.4 的版本中,Elasticsearch 不支持 webhook,所以就只能使用插件了。 还有一个用第三方插件的好处就是,免费!免费!免费! Elasticsearch 的白金版才能实现告警,但需要收费。不过,这对于有这方面需求的公司,应该也是能负担的。 安

IMJCW的博客 844

TCNOpen实现TRDP通信协议(源码编译运行测试)

概述 本文介绍了通过TCNOpen开源源码实现TRDP通信,包括源码下载,开发环境搭建,编译运行,测试。 Linux环境下编译运行TRDP (一) 下载CANOpen源码。 下载地址:https://sourceforge.net/p/tcnopen/trdp/HEAD/tree/ (二) 源码编译 下载源码解压过后,在根目录文件readme-makefile.txt有介绍源码的配置和编译方法。 在trdp/config目录下可以看到包含在linux环境下的编译配置文件LINUX_config;执行”m

fengweibo112的博客 9632

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

踩坑 本人用的6.7版本ElasticSearch和Kibana,想实现监控钉钉机器人报警的功能,网上基本全部文章都是采用安装sentinl,无奈的是sentinl目前支持到6.6.1, 高版本的ELK安装都是报版本不兼容的错误。 经过多番尝试后决定自己研究,自己研究一下kibana的watch机制。 尝试 首先看一下watch的例子。 发现"logging"组件,去kibana官网查看"logging"组件,意外发现了"webhook"组件,而"sentinl"也是用"..

u014460433的博客 3805

手把手教你用SlowFast训练自定义手势识别数据集(附FFmpeg抽帧技巧)

本文提供了一份基于SlowFast架构训练自定义手势识别数据集的完整实战指南。文章重点剖析了数据准备的核心挑战,详细讲解了利用FFmpeg进行高、低帧率抽帧的技巧,并介绍了构建半自动标注流水线、生成符合SlowFast要求的AVA格式数据集文件的具体方法。最后,针对手势识别场景,给出了关键的模型训练配置与调优建议,帮助开发者高效完成从数据到模型的全流程。

s1t2u3的博客 909

基于 Langchain 开发一个完整的支持多轮数据分析(直连 mysql 数据,多表综合分析 SQL 取数,数据分析,报表生成)ChatBI 系统(前后端完整实现源代码)

ChatBI系统开发摘要 本文介绍了基于Langchain的多轮数据分析ChatBI系统开发方案。该系统支持MySQL数据库连接,提供多表分析、SQL查询、数据分析和报表生成功能。系统采用前后端分离架构:前端使用React+Ant Design+ECharts实现交互界面;后端基于FastAPI搭建服务,集成Langchain处理自然语言到SQL的转换;核心技术栈还包括SQLAlchemy、Pandas和Matplotlib。 系统核心模块包括: 数据库连接层:使用SQLAlchemy管理MySQL连接 L

AI天才研究院 816

基础架构之日志管理平台及钉钉&邮件告警通知

接上一篇,我们继续解释如何把ELK跟钉钉及发送邮件功能结合起来,让我们及时的了解重要日志并快速反馈。 Sentinel 安装,项目介绍在https://github.com/sirensolutions/sentinl,点击可以详细介绍。 运行命令转到kibana的bin目录 cd /usr/share/kibana/bin ,这里是默认安装路径,...

weixin_30509393的博客 591

十七、SAP-采购订单(STO)

业务逻辑、功能讲解、图文解析、章节总结

m0_72403327的博客 2068

kibana+sentinl 6.2.4实现钉钉邮件告警

一.ELK安装1.软件架构:filebeat----elasticsearch----kibana+sentinel---(邮件和钉钉)2.软件下载地址:https://www.elastic.co/cn/downloads/past-releases# (本教程使用的为6.2.4)3.elasticsearch安装[root@VM_0_7_centos ~]# egrep -v "^$|^...

caiqianxian4135的博客 1856

开发具有情感分析能力的AI Agent

本文将深入探讨开发具有情感分析能力的AI Agent的各个方面。我们将首先介绍情感分析的基础知识,包括定义、背景和应用领域。接着,我们将详细讲解情感分析的核心概念、数据处理方法和算法原理。随后,文章将展示如何设计情感分析系统架构,并进行项目实战,包括环境安装、源代码实现和案例分析。最后,我们将总结最佳实践和注意事项,为读者提供进一步学习的资源。情感分析(Sentiment Analysis),也称为意见挖掘,是自然语言处理(NLP)的一个分支。

SuperAGI2025 1146

基于OpenClaw的AI数字员工协同团队架构设计

随着大型语言模型从被动的文本生成器向具备自主规划与执行能力的智能代理演进,企业级人工智能的应用范式正在发生根本性转变。在这一演进过程中,OpenClaw(前身为Clawdbot及Moltbot)作为一种开源的、本地优先的个人AI智能体网关基础设施,凭借其对持续内存、多通道接入以及沙盒化工具执行的原生支持,迅速成为构建“始终在线”数字劳动力的核心框架 1。然而,将单体个人助理扩展为能够处理复杂业务逻辑、支持跨组织协同并严格保障数据隔离的多智能体(Multi-Agent)团队,绝非简单的API拼接。系统架构必须

形上得其象,形下合于数;阴阳自济,玄理自明。 1047

Docker部署ELK(配置密码登录)及Elastalert企业微信告警配置

使用ELK相对应的docker镜像来部署ELK环境,可以避免自己搭建环境时遇到的各种问题,本文提供docker安装时需要的各项配置文件以及配置方法,和详细的参数、命令说明。相信能让人更快的理解并搭建到ELK系统。同时还提供了通过elastalert向企业微信推送告警的配置方法,让监控通知能及时的触达到管理者。

xiaohai348257622的博客 3851

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

(实战)搭建EFK+elastalert2进行钉钉告警推送

ElastAlert 2 是一个用于实时监控和警报 Elasticsearch 数据的开源工具,旨在帮助您检测和响应于 Elasticsearch 中的日志、指标或事件数据中发生的关键事件。ElastAlert 2 是 ElastAlert 的改进版本,它通过 Python 编写,支持 Elasticsearch 5.0+ 和 Kibana 6.0+。灵活的规则引擎: ElastAlert 2 允许您定义自定义规则,以捕获感兴趣的事件或模式。

不积跬步无以至千里 3565

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Elastic:创建你的第一个Elastic alert - 邮件通知

这是我之前的文章 “Elastic:创建你的第一个Elastic alert” 的续篇。在那篇文章中,我们讲述了如何运用Watcher API来创建一个警报。我们只用了一个logging的简单的展示。可能大家觉得并不过瘾,比较我们很少坐在自己的位子上一直盯着自己的屏幕看log。另外我们可能有些情况,我们希望的情况是有一个错误的信息我们并不紧张,但是如果在规定的时间里,我们的错误或者异常到底规定的一...

Elastic 中国社区官方博客 4226

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【亲测免费】 ElastAlert Kibana 插件:集成日志与告警的利器

ElastAlert Kibana 插件是一个开源项目,旨在为用户在 Kibana 界面内直接创建、测试和编辑 ElastAlert 规则提供便利。该项目主要使用 JavaScript 编程语言开发。 ## 核心功能 该插件的核心功能是允许用户在 Kibana 中管理 ElastAlert 规则,而无需离开 Kibana 界面。其主要特点如下: - **规则管理**:用户可以在 Kibana...

gitblog_00305的博客 380

Kibana8.5破解白金版,配置webhook推送日志告警到钉钉

ELK日志告警

supermanAjxs的博客 2925

ELK系列x-pack监控错误日志并配置钉钉报警

本文章基于elk版本6.7.0监控错误日志 安装ELK和xpack安装破解略过,可以参考另一篇博客 https://blog.youkuaiyun.com/qq_43076479/article/details/106349348 配置Nginx代理 server { listen 8080;#监听端口 server_name localhost;#域名 index index.html index.htm index.php; root /usr/local/webser

qq_43076479的博客 1430

ELK + Sentinl 日志实时监控报警 钉钉、邮件

1、docker安装elk镜像:sebp/elk挂出的端口:5044,5601,9200,93002、进入容器,安装sentinl插件进入kibana安装目录:/etc/kibana/bin ,执行:./kibana-plugin install https://github.com/sirensolutions/sentinl/releases/download/tag-6.2.3-3/sent...

Dragon714的博客 1万+

逃脱只会部署集群系列 —— Alertmanager实现钉钉动态告警

目录 1、Alertmanager部署和配置 1.1、alertmanager-config配置文件 1.2、alertmanager其他资源清单文件 2、配置Prometheus与Alertmanager对话 2.1、配置Prometheus推送至alertmanager 2.2、热加载Prometheus 3、prometheus配置报警规则 3.1、配置prometheus加载告警规则配置 3.1、配置告警规则 3.3、查看Prometheus报警界面和邮箱 4、自定义webh.

一别两宽丶各生欢喜 2463

ELK的sentinl告警配置详解

背景 sentinl的监控&告警是通过watch实现的。 一、Watch Execution 执行开始的时候, watcher为watch创建watch执行上下文. 执行上下文提供脚本和模板, 可以访问watch元数据、payload、wathcID、执行时间和触发器. 执行过程,watcher具体执行: 将输入数据作为监视上下文中的payload加载. 这使得数据可以用于执行...

LJLLJL20020628的博客 666

kibana alert 告警的配置

kibana 告警

weixin_42490799的博客 656
上一篇: ELKF日志学习(十三)Kibana安装Sentinl插件
下一篇: wkhtmltopdf服务
IMJCW
博客等级 码龄10年 13粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值