Grafana alert预警+钉钉通知

news2025/1/24 2:24:18

1 Grafana alert预警

如下图所示,主要是前3步,设置alert rules、contact points 、notification policies。alert rules主要设置触发警告的规则;contact points设置通过什么发送预警,如钉钉;notification policies 将alert rules与contact points关联起来。
在这里插入图片描述

也如下面流程图所示,notification policies 将alert rules与contact points关联起来。Grafana通过为警报分配标签来处理警报通知,alert rules有定义label,即给不同的触发规则定义label。notification policies里配置label和contact points的关系。
在这里插入图片描述

所以接下来,我们配置下上面这几部分,可以是接到钉钉规则。

2 Webhook

用钉钉通知预警信息,需要webhook,所以,我们介绍下webhook。

在传统的web server设计中,我们项目A想要获取项目B的数据,通常项目B需要提供一个API,然后项目A去请求项目B的API,从而获得数据,这样的过程我们称之为"拉"数据。

webhook机制:项目A提供一个webhook url,每次项目B创建新数据时,便会向项目A的hook地址进行请求,项目A收到项目B的请求,然后对数据进行处理。都常应用于异步编程中,如:高安全的支付、微信登录(OAuth)、资源同步、资源创建与更新、耗时较长。

当我们使用web hook机制需要特别注意的问题:

  1. 当服务提供者通过web hook将数据发送你的服务端后,就不会再去关注这些数据。假设你的服务端此时出现了崩溃,或者无法请求成功等原因,就需要主动去尝试请求数据。
  2. webhook会发出大量的请求,可能会造成你的应用阻塞,在此需要确保你的应用能够处理好这些请求。
    在这里插入图片描述

3 获取钉钉webhook

在钉钉pc版上,打开群聊,打开群设置,如下图
在这里插入图片描述

选择智能群助手,然后如下图。

在这里插入图片描述

选择“添加机器人”,选择“自定义”。

在这里插入图片描述
在这里插入图片描述

添加机器人名字,同时可以进行一些安全设置,我采用“自定义关键词”,即推送的消息里要含有配置的关键词。
在这里插入图片描述

点击完成,获得webhook地址。
在这里插入图片描述

4 contact points配置钉钉webhook

如下图,在contact points中点击“new contact point”,新建一个预警推送方式。
在这里插入图片描述

如下配置即可,url里填上webhook地址,message含关键词(第2节webhook关键词)。

在这里插入图片描述

5 配置alert rules

1) 配置监控的数据,通过flux语言查询。可以参考https://blog.csdn.net/zephyr_wang/article/details/126780783

在这里插入图片描述

2)设置上面查到的A的值的条件,我下面设置的A大于55即触发预警。这个地方可以设置多个条件。设置后的是B。如果还想加数据,继续可以添加C等等,如下图的 add query是增加数据,add expression是增加基于数据的条件。
在这里插入图片描述

3)添加多久时间触发上面的条件,下面配置的1m(1分钟)。for配置的时间,表示报警状态为 Pending 后等待 5m 变成 Firing 状态,一旦变成 Firing 状态则将报警发送到 AlertManager。

在这里插入图片描述

4)主要是添加一下预警的名称之类的,方便识别预警。
在这里插入图片描述

5)添加label。这个比较有用,下面会用到。Grafana通过为警报分配标签来处理警报通知。
在这里插入图片描述

6 notification policies

如下图配置,就是将alert rules的label与contact points关联起来
在这里插入图片描述

7 钉钉收到机器人通知

正常情况下,配置完上面的grafana后,就可以收到预警通知了,如下图。不过我也不知道是钉钉的问题,还是什么原因,我收到的通知时间很没规律,怀疑钉钉有问题,因为我grafana关闭后,竟然还能收到钉钉的预警。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/408010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鼠标事件、键盘事件,你听过嘛?

📜个人简介 ⭐️个人主页:微风洋洋🙋‍♂️ 🍑博客领域:编程基础,后端 🍅写作风格:干货,干货,还是tmd的干货 🌸精选专栏:【JavaScript】 🚀支持洋锅&#xff…

Chrome-谷歌浏览器多开教程

Chrome谷歌浏览器多开教程在我们的日常生活中,我们常常在某一时刻需要在进行多个账号的查看,例如在跨境电商时,我们常常需要开多各店铺页面,又或者,我们在玩游戏时,需要开多个账号同时进行运作,…

一文通透从输入URL到页面渲染的全过程----高频面试

一文通透从输入URL到页面渲染的全过程----高频面试 喜欢大海 喜欢夕阳 写下便是永恒 文章目录一文通透从输入URL到页面渲染的全过程----高频面试重温进程与线程什么是进程什么是线程进程和线程的区别多进程和多线程JS为什么是单线程浏览器相关浏览器是多进程的浏览器包含哪些进…

jeecg-boot首页加载速度优化全过程

优化结果 前端和后端部署在轻量服务器: 以下结果都是三次强刷得到的 优化前: 优化后: 优化方案 开启Nginx压缩 方案来自于:jeecg官方文档 作用:通过nginx内置的压缩策略来压缩静态资源,提升资源请求速度 在nginx.conf 的 http 中加入以下片断: # gzip …

【微信小程序 | 实战开发】常用的视图容器类组件介绍和使用(1)

个人名片: 🐼作者简介:一名大二在校生,喜欢编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️ 零基础学Java——小白入门必备重识C语言——复习回顾

component lists rendered with v-for should have explicit keys

component lists rendered with v-for should have explicit keys 发现问题 关键报错 (Emitted value instead of an instance of Error) : component lists rendered with v-for should have explicit keys. See https://vuejs.org/guide/list.html#key for more info. 具体…

VUE之Element-ui文件上传详解

引言 对于文件上传,在开发主要涉及到以下两个方面: 单个文件上传和表单一起实现上传(这种情况一般都是文件上传之后,后端返回保存在服务器的文件名,最后和我们的表单一起上传) 单文件上传 element-ui中…

Cesium加载离线地图和离线地形

文章目录 前言一、Cesium加载离线地图 1.1 下载数据2.2 数据处理2.3 地图发布2.4下载速度改进 二、Cesium加载离线地形 2.1 下载数据2.2 数据处理2.3 地形发布2.4 遇到的问题 前言 直接把地图数据切片,然后通过nginx以静态服务方式发布。 使用工具:…

this.$emit使用方法【前端技术】

this.$emit()主要用于子组件向父组件传值。 下面就给大家举一个实际开发中使用到的案例。 需求: 点击关联项目,弹出关联项目数据进行选择一条数据,点击确定,项目编号会回显到关联项目中。 1新增页面 2 新增页面中点击关联项目弹出…

vue3全局自定义指令实现按钮权限控制

1. 文档介绍的全局自定义指令 在Vue的模板语法中我们除了使用:v-show、v-for、v-model等,Vue其实 也允许我们来自定义自己的指令。 1)注意,在 Vue 中,代码复用和抽象的主要形式是组件。 2)然而&#xff0c…

HTML+CSS实现搜索框

HTMLCSS实现搜索框: 需求分析: 1、输入框焦点事件 onfocus:成为焦点, 点击输入框的时候,出现闪烁光标,此时可以输入内容。 onblur :失去焦点, 点击页面空白区域,光标消失。此时不可以输入内容。 2、获取元素 3、…

vite配置@别名,以及如何让vscode智能提示路经

vite配置别名 vite.config.ts import { defineConfig } from vite import vue from vitejs/plugin-vue// 配置别名import { resolve } from "path"; // https://vitejs.dev/config/ export default defineConfig({plugins: [vue()],// ↓解析配置resolve: {// ↓路…

HTML基础之form表单

目录 一:表单属性 1 name 属性 2 action属性 3 method属性 4 target属性 5 enctype属性 二:表单对象 1 input标签 2 多行文本textarea 3 下拉列表select 4 表单控件(元素)button 5 表单控件(元素&#xff…

Vuex持久化插件(vuex-persistedstate)

为什么使用持久化 目的: 让在vuex中管理的状态数据同时储存在本地。可免去自己储存的环节。 在开发的过程中,像用户信息(名字,头像,token)需要vuex中储存且需要本地储存再例如,购物车如果需要未登录状态下…

Router-view

我们都知道,路由指的是组件和路径的一种映射关系。Router-view也被称为路由的出口,今天我们就探讨下如何去使用路由出口。 也就是: 路径--------------------------------------------------------------->页面 可以把router-view理解成一类代码存放的位置。 …

vue3项目中使用three.js

vue3项目中使用three.js前言一、three.js是什么?二、vue3中下载与安装three.js三、操作步骤1.创建场景2.创建物体3.添加光源4.添加相机5.开始渲染四、myThree.vue源代码五、效果图1.单个模型2.多个模型总结前言 在vue3项目中,通过three.js使用了一段短小…

java 课程设计——银行管理系统

银行管理系统(java) 环境: idea2020 jdk1.8 能实现的功能: 1.注册账户 2.登录 3.查询账户信息 4.存款 5.取款 6.向另一个账户转账 7.修改账户密码 8.注销账户 项目结构 项目演示 1.主页面: 2.注册账号:…

多行文本溢出显示省略号

文本溢出显示省略号分两种情况,单行文本溢出显示省略号(参考上篇文章https://blog.csdn.net/qq_43687594/article/details/123511873),另外一种就是多行文本溢出显示省略号。 多行文本显示省略号有两种办法 第一种: …

解决Vue刷新后页面数据丢失的问题(sessionStorage和localStorage的用法)

一、为什么刷新后数据会丢失 vuex存储的数据只是在页面中,相当于全局变量,页面刷新的时候vuex里的数据会重新初始化,导致数据丢失。因为vuex里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例&#xf…

初识React及React开发依赖介绍

文章目录初识ReactReact介绍React特点React的依赖介绍React的开发依赖Babel和React的关系React的依赖引入初识React React介绍 React是什么呢? 相信每个做开发的人对它都或多或少有一些印象; 这里我们来看一下官方对它的解释:用于构建用户界面的 JavaScript 库; 目前对于前端…