【2023】Prometheus-Prometheus与Alertmanager配置详解
记录一下Prometheus与Alertmanager的配置参数等内容
目录
- 1.Prometheus
- 1.1.prometheus.yml
- 1.2.告警规则定义
- 2.alertmanager
- 2.1.alertmanager.yml
- 2.1.1.global:全局配置
- 2.1.1.1.以email方式作为告警发送方
- 2.1.1.2.以wechat方式作为告警发送方
- 2.1.1.3.以webhook方式作为告警发送方
- 2.1.2.templates:告警通知模板
- 2.1.3.route:路由
- 2.1.3.1.routes:子路由用法示例
- 2.1.4.receivers:接收器
- 2.1.4.1.email_configs:配置邮件告警通知
- 2.1.4.2.webhook_config:配置钉钉告警通知
- 2.1.4.3.wechat_config:配置微信告警通知
- 2.1.5.inhibit_rules:告警抑制
- 2.2.templates:告警通知模板
- 2.2.1.定义一个email告警通知模板
1.Prometheus
1.1.prometheus.yml
global:
# 采集间隔时间为15秒,默认1分钟scrape_interval: 15s
# 评估规则间隔15秒,默认1分钟evaluation_interval: 15s# 接入alertmanager工具
alerting:alertmanagers:- static_configs:- targets:- 192.168.10.5:9093# 定义告警规则存放位置
rule_files:- "/data/prometheus/rules/*_rules.yml"# 采集数据源的源信息的配置项,可以配置多个
scrape_configs:- job_name: "prometheus"static_configs:- targets: ["localhost:9090"]
1.2.告警规则定义
- node节点告警规则定义,列出两个例子,其他告警规则照猫画虎
groups:- name: node_statusrules:- alert: '节点状态'expr: up == 0for: 1mlabels:severity: '紧急严重'annotations:discription: "Node has been down for more than 2 minutes"summary: "IP为 {{ $labels.instance }} 节点宕机"- name: cpu_userules:- alert: 'CPU使用情况'expr: ((node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Buffers_bytes - node_memory_Cached_bytes) / node_memory_MemTotal_bytes) > 0.9for: 1mlavels:severity: '警告'annotations:discription: "内存使用超过百分之九十了"summary: "IP为 {{ $labels.instance }} 节点内存告警"
2.alertmanager
2.1.alertmanager.yml
2.1.1.global:全局配置
2.1.1.1.以email方式作为告警发送方
global:# 邮箱SMTP服务器代理地址smtp_from: 'smtp.163.com:465'# 发送邮件的名称smtp_smarthost: 'xxx@163.com'# 邮箱用户名smtp_auth_username: 'xxx@163.com'# 邮箱授权密码tokensmtp_auth_password: 'PLAPPSJXJCQABYAF'# 通过指定文件来输入密码,与上条选一即可smtp_auth_password_file: 'password/pass'# 设置tls协议,是否使用分别是ture/falsesmtp_require_tls: false# 用于控制在确认报警后多久可以被视为解决的时间,默认5分resolve_timeout: 5m
2.1.1.2.以wechat方式作为告警发送方
global:
# 企业微信API地址,默认为https://qyapi.weixin.qq.com/cgi-bin/wechat_api_url: XXX
# 设置为企业微信中创建的Prometheus应用中记录的“Secret”内容wechat_api_secret: XXX
# 设置为企业微信中记录的“企业ID”wechat_api_corp_id: XXX
2.1.1.3.以webhook方式作为告警发送方
- 默认全局段没有配置
2.1.2.templates:告警通知模板
-
alertmanager启动会加载该目录下文件,可自行定义告警内容。
-
templates:模板,用于定义接收告警的内容
# 注意:目录需自行创建,目录存放在alertmanager安装目录
templates:- 'template/*.tmpl'
2.1.3.route:路由
- 用于处理prometheus生成的告警信息将其发送到receiver指定的目的地址。
- 设置的第一个route为根节点,后面包含的节点为子节点
route:# 对报警进行分组,将多个相似告警合并为一个组,减少重复报警group_by: ['cluster,alertname']# 从接收告警到发送告警的等待时间,时间段内告警会合并一个通知,默认30sgroup_wait: 30s# 相同的group之间发送告警的时间间隔,默认5分钟group_interval: 5m# 告警成功发送后能再次发送相同告警的时间间隔,默认4小时repeat_interval: 20m# 配置要发送告警使用的接收器名称receiver: 'email'# 默认为false,用于指示处理警告时进行下一步处理# 若设置为true,告警则进行匹配子节点continue: false# 用于将报警规则与报警事件进行匹配的功能# 通过字符方式进行匹配,判断告警中是否有标签labelname=labelvaluematch:[ <labelname>: <labelvalue> ]# 通过正则表达式进行告警规则匹配设置match_re:[ <labelname>: <regex>, ... ]# 可以设置触发器发出的报警消息来检测指定的指标值,并执行相应的报警操作# 例如定义报警时间、报警级别等matchers:- foo = bar- dings != bums# 暂停某个时间段内告警,比如晚上8点到第二天7点间暂停告警mute_time_intervals: [{start: "20:00", end: "07:00"}]# 指定在哪些时间段内才发出警告,用法与上条一样active_time_intervals: [{start: "20:00", end: "07:00"}]# 可进行子路由节点匹配设置routes:
2.1.3.1.routes:子路由用法示例
- 下面这段代码的含义是告警发送给admin-receiver,按照cluster与alertname进行分组。
- 子路由中若告警匹配到标签service=mysql或service=redis,将会向databas-pager发送告警
- 子路由中若告警匹配到标签team=frontend,则会按照标签product,environment对告警进行分组后发送
route:... ...group_by: ['cluster,alertname']receiver: 'admin-receiver'routes:- receiver: 'database-pager'group_wait: 10smatchers:- service=~"mysql|redis"- receiver: 'frontend-pager'group_by: [product,environment]matchers:- team="frontend"
2.1.4.receivers:接收器
- 接收器是一个通称,每个接收器需要一个唯一的全局名称
- 接收器的名称要与routes中的receiver保持一致
receivers:
# 指定接收器名称
- name: database-pager
# 配置email告警email_configs:[ - <email_config>, ... ]
# 配置钉钉告警webhook_configs:[ - <webhook_config>, ... ]
# 配置微信告警wechat_configs:[ - <wechat_config>, ... ]
- name: database-pageremail_configs:[ - <email_config>, ... ]webhook_configs:[ - <webhook_config>, ... ]wechat_configs:[ - <wechat_config>, ... ]
2.1.4.1.email_configs:配置邮件告警通知
- 还有一些其他的选项没有列出,如需要请自行查看官网
email_configs:
# 设置接收告警邮件的地址- to: '接收通知邮箱地址'
# 设置告警通知内容的来源,名字为模板文件的define内容html: '{{ template "email.html" . }}'
# 故障恢复是否通知,默认为falsesend_resolved: true
# 告警邮件标题headers:subject: "[XXX] 告警通知"
2.1.4.2.webhook_config:配置钉钉告警通知
webhook_configs:
- url: 接收钉钉告警的地址send_resolved: true
2.1.4.3.wechat_config:配置微信告警通知
wechat_configs:
# 用于验证身份的企业id
- corp_id: 'XXX'
# 企业微信API地址api_url: 'XXX'
# 设置为企业微信中创建的Prometheus应用中记录的“AgentId”内容agent_id: 'XXX'
# 设置为企业微信中新建的Prometheus应用中记录的“Secret”内容api_secret: 'XXX'
# 设置为企业微信中的“部门ID”to_party: '2
# 设置为企业微信中使用的账号to_user: 'XXX'send_resolved: true
2.1.5.inhibit_rules:告警抑制
- 可以指定在特定条件下要忽略的告警条件
- 可以使用此选项设置首选项,例如优先处理某些告警
- 如果同一组中的告警同时发生,则忽略其他告警
inhibit_rules:
# 当存在源标签告警触发时抑制含有目标标签的告警
- source_match:severity: 'critical'target_match:severity: 'warning'
# 保证该配置下标签内容相同才会被抑制equal: ['alertname','dev','instance']
2.2.templates:告警通知模板
- 由
alertmanager.yml
中templates:
块定义存放位置
2.2.1.定义一个email告警通知模板
{{ define "test.html" }}
{{- if gt (len .Alerts.Firing) 0 -}}
{{- range $index, $alert := .Alerts -}}
========= ERROR ==========<br>
告警名称:{{ .Labels.alertname }}<br>
告警级别:{{ .Labels.severity }}<br>
告警机器:{{ .Labels.instance }} {{ .Labels.device }}<br>
告警详情:{{ .Annotations.summary }}<br>
告警时间:{{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br>
========= END ==========<br>
{{- end }}
{{- end }}
{{- if gt (len .Alerts.Resolved) 0 -}}
{{- range $index, $alert := .Alerts -}}
========= INFO ==========<br>
告警名称:{{ .Labels.alertname }}<br>
告警级别:{{ .Labels.severity }}<br>
告警机器:{{ .Labels.instance }}<br>
告警详情:{{ .Annotations.summary }}<br>
告警时间:{{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br>
恢复时间:{{ (.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}<br>
========= END ==========<br>
{{- end }}
{{- end }}
{{- end }}
- 模板中的变量来自下图
- 后续待定
相关文章:
【2023】Prometheus-Prometheus与Alertmanager配置详解
记录一下Prometheus与Alertmanager的配置参数等内容 目录1.Prometheus1.1.prometheus.yml1.2.告警规则定义2.alertmanager2.1.alertmanager.yml2.1.1.global:全局配置2.1.1.1.以email方式作为告警发送方2.1.1.2.以wechat方式作为告警发送方2.1.1.3.以webhook方式作为…...
华为HCIE学习之openstack基础
文章目录一、Openstack各种文件位置二、Openstack命令操作1.使用帮助三、用命令发放云主机1、创建租户2、创建用户并与租户绑定3、注册镜像4、创建规格5、创建公有网络及其子网(做弹性IP用)6、创建私有网络及其子网7、创建路由并设置网关与端口8、创建安…...
Python实现贝叶斯优化器(Bayes_opt)优化BP神经网络分类模型(BP神经网络分类算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。1.项目背景贝叶斯优化器(BayesianOptimization) 是一种黑盒子优化器,用来寻找最优参数。贝叶斯优化器是基…...
Elasticsearch(九)搜索---搜索辅助功能(下)--搜索性能分析
一、前言 上篇文章我们学习了ES的搜索辅助功能的一部分–分别是指定搜索返回的字段,搜索结果计数,分页,那么本次我们来学习一下ES的性能分析相关功能。 二、ES性能分析 在使用ES的过程中,有的搜索请求的响应比较慢,…...
化繁为简|中信建投基于StarRocks构建统一查询服务平台
近年来,在证券服务逐渐互联网化,以及券商牌照红利逐渐消退的行业背景下,中信建投不断加大对数字化的投入,尤其重视数据基础设施的建设,期望在客户服务、经营管理等多方面由经验依赖向数据驱动转变,从而提高…...
2023数字中国创新大赛·数据开发赛道首批赛题启动报名
由数字中国建设峰会组委会主办的2023数字中国创新大赛(DCIC 2023)已正式启幕,本届大赛结合当下数字技术发展的热点和业界关注的焦点,面向产业实际需求设置了九大赛道。其中,数据开发赛道2月8日正式上线首批赛题&#x…...
MySQL数据库
1.MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景? 1.1事务处理上方面 MyISAM:强调的是性能,每次查询具有原子性,其执行数度比InnoDB类型更快,但是不提供事务支持。 InnoDB:提供事务…...
鸿蒙设备学习|快速上手BearPi-HM Micro开发板
系列文章目录 第一章 鸿蒙设备学习|初识BearPi-HM Micro开发板 第二章 鸿蒙设备学习|快速上手BearPi-HM Micro开发板 文章目录系列文章目录前言一、环境要求1.硬件要求2.软件要求3.Linux构建工具要求4.Windows开发工具要求5.工具下载地址二、安装编译基础环境1.安装Linux编译环…...
软件测试标准流程
软件测试的基本流程大概要经历四个阶段,分别是制定测试计划、测试需求分析、测试用例设计与编写以及测试用例评审。因此软件测试的工作内容,远远没有许多人想象的只是找出bug那么简单。准确的说,从一个项目立项以后,软件测试从业者…...
Python身份运算符
Python身份运算符身份运算符用于比较两个对象的存储单元运算符描述实例isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) id(y) , 如果引用的是同一个对象则返回 True,否则返回 Falseis notis not 是判断两个标识符是不是引用自不同对象x is not y &a…...
linux 安装,卸载jdk8
1>安装1 xshell,xsftp 教育版下载 https://www.xshell.com/zh/free-for-home-school/ 2下载jdk包 https://www.oracle.com/java/technologies/downloads/3在usr下新建java文件夹把jdk包拉进去解压tar -zxvf 4首先使用vim打开etc目录下的profile文件 --> vim /etc/profile…...
标准舆情监测平台解决方案及流程,TOOM舆情监测工作计划有哪些?
舆情监测流程一般包括:数据收集、数据分析、信息汇报三个部分。首先,通过多种途径收集舆情数据,如网络媒体、社交媒体、博客、论坛等;其次,对收集的数据进行分析,统计舆情趋势、舆情类型等;最后,根据舆情分…...
Lombok使用总结
文章目录介绍Lombok原理常用注解DataGetterSetterToStringEqualsAndHashCodeNoArgsConstructorAllArgsConstructorRequiredArgsConstructorAccessors(chain true)遇到的问题谨慎使用Data问题总结Builder和Data不能共用解决介绍 官网:https://projectlombok.org/ …...
Qt 如何处理耗时的线程,不影响主线程响应 QApplication::processEvents)
事件原因: 前些时间遇到一个问题,在主线程接收子线程读的数据,一直接收不到,但放在子线程没有问题; 后面查了一下,因为接收子线程使用了 qApp->processEvents(); 查了一下 qApp->processEvents(); …...
Antd-table全选踩坑记录
目录 一、需求 二、问题 编辑三、解决 四、全选选中所有数据而不是当前页 一、需求 最近遇到一个小小的需求,在我们这个项目中,有一个表格需要添加全选删除功能。这还不简单吗,于是我找到andt的官网,咔咔咔一顿cv࿰…...
防灾必看,边滑坡安全预警解决方案
一、行业背景在我国大部分地区经常会有雨季发生,大量的雨水渗透到了土壤内部,长时间饱含雨水的土壤会变得很重而且还会减少与下方岩石之间的摩擦力,顺着山坡这个滑梯滑下去,造成崩塌、滑坡、泥石流等地质灾害。地质灾害每年都是有…...
你每天所做的工作,让你产生了成就感吗?
我们是为了什么而工作?金钱?理想?生活? 似乎这一切都没有标准答案,你自己问你自己,问问你自己,每天踏入公司,坐到工位面前,你最真实的感受是什么? “成就感…...
MySQL中的锁
共享锁 共享锁也成为读锁,针对同一份数据,多个事务的读操作可以同时进行而不会互相影响,相互不阻塞的。 通过下面命令加共享锁 SELECT...LOCK IN SHARE MODE #或 SELECT...FOR SHARE;#(8.0新增语法)排他锁 排他锁也叫写锁,当一…...
WebView自定义进度条、加载动画,拿走直接用~
年前有个小需求,要对有些域名的H5进行加载流程优化,通过展示H5加载动画来安抚用户焦躁的心情,以提高用户体验。虽然不能理解加个动画咋就优化了用户体验,但需求还是得做的。想着这是个基础的小功能,独立性比较好&#…...
内存数据库Apache Derby、H2
概述 传统关系型数据库涉及大量的工作,如果想在Java应用程序里使用MySQL数据库,至少需要如下步骤: 安装(可选:配置用户名密码)建表(要么从命令行进入,要么安装一个可视化工具&…...
麻省理工出版 | 2023年最新深度学习综述手册
UCL Simon Prince的新书:《Understanding Deep Learning》 ,在2023年2月6日由MIT Press出版。他之前写过很受欢迎的《Computer Vision: Models, Learning, and Inference》。 关于这本最新的深度学习手册,作者这样介绍它: 正如书…...
vi命令详解
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 13 2020 16:04:38) 用法: vim [参数] [文件 …] 编辑指定的文件 或: vim [参数] - 从标准输入(stdin)读取文本 或: vim [参数] -t tag 编辑 tag 定义处的文件 或: vim [参数] -q [errorfile] 编辑第一个出错处的文件 参数:…...
抖音的外卖行业入局,为中小外卖企业创业者的机会给了哪些机会?
一则关于抖音进入外卖市场的消息,让美团“非常受伤”。 2月8日,美团(03690.HK)盘中跌幅超9%。截至收盘,美团报收153.1港元,跌幅6.48%。美团大幅下跌的根源就是前一天关于抖音外卖进展的消息传闻。 2月7日,…...
供应PEG试剂AC-PEG-COOH,Acrylate-PEG-Acid,丙烯酸酯-PEG-羧基
英文名称:AC-PEG-COOH,Acrylate-PEG-Acid 中文名称:丙烯酸酯-聚乙二醇-羧基 丙烯酸酯-PEG-COOH是一种含有丙烯酸酯和羧酸的线性杂双功能PEG试剂。它是一种有用的带有PEG间隔基的交联剂。丙烯酸酯可与紫外光或自由基引发剂聚合。丙烯酸酯-PE…...
java二叉排序树
1.先看一个需求 给你一个数列 (7, 3, 10, 12, 5, 1, 9),要求能够高效的完成对数据的查询和添加 2.解决方案分析 使用数组 数组未排序, 优点:直接在数组尾添加,速度快。 缺点:查找速度慢. [示意图] 数组排序…...
聊一聊 gRPC 的四种通信模式
温馨提示:本文需要结合上一篇 gRPC 文章一起食用,否则可能看不懂。 前面一篇文章松哥和大家聊了 gRPC 的基本用法,今天我们再来稍微深入一点点,来看下 gRPC 中四种不同的通信模式。 gRPC 中四种不同的通信模式分别是:…...
科技云报道:开源真的香,风险知多少?
科技云报道原创。 过去几年,开源界一片火热,开源软件技术已全面进军操作系统、云原生、人工智能、大数据、半导体、物联网等行业领域。 数据显示,我国超九成企业在使用或正计划使用开源技术。 与此同时,全球各大开源组织相继兴…...
国产化适配迁移记录
国产化适配迁移记录 本项目基于RuoYi-Vue的框架进行迁移。目前已完成覆盖测试暂无其他问题。 国产化环境 名称版本达梦数据库DmJdbcDriver18 8.1.2.144通用mapper – tk.mybatismapper-spring-boot-starter 4.2.5<!-- 达梦数据库--><dependency><groupId>…...
又一国产开源项目走向世界,百度RPC框架Apache bRPC正式成为ASF顶级项目
2023 年 1 月 26 日,Apache 软件基金会 (ASF) 官方正式宣布Apache bRPC 正式毕业,成为 Apache的顶级项目。 我听到这个消息是挺开心的,毕竟是又一款由国人主导的apche顶级项目,再次证明国内在开源界正在发挥越来越重要的作用。 …...
多数据库学习之GBase8s查询数据库表元信息常用SQL
多数据库学习之GBase8s查询数据库表元信息常用SQL简介常用SQL创建用户创建数据库及模式获取表元数据其他参考链接简介 背景介绍 GBase 8t是基于IBM informix源代码、编译和测试体系自主研发的交易型数据库产品。 南大通用安全数据库管理系统(简称 GBase 8sÿ…...
哈尔滨网站建设网站/百度大数据
Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修改即可。 方法一:readline函数 # -*-…...
亦庄开发区建设局网站/seo网站优化专员
首先要确保自己的jdk、mysql、idea、maven安装完毕 1.搭建一个提供测试的数据库 CREATE DATABASE mybatis;USE mybatis;DROP TABLE IF EXISTS user;CREATE TABLE user ( id int(20) NOT NULL, name varchar(30) DEFAULT NULL, pwd varchar(30) DEFAULT NULL, PRIMARY KEY (id…...
做网站和小程序的区别/seo搜索优化公司排名
在 fdatool 中发现在对滤波器的数据进行定点化时,可以选择不同的 rounding mode 和 overflow mode,对于舍入模式,我以前只用过round fix floor ceiling,但是这次发现默认的舍入模式是 nearest convergent ,没有见过…...
网站自动下注程序需要怎么做/关键词歌曲免费听
准备:买点猪肉,纯瘦的和带点肥的都行,切块土豆,去皮,切块葱花,没有也没关系做法:锅里放油,用葱花爆锅,然后放入肉快,在油里炒一会,倒入一点酱油猪…...
惠州响应式网站建设公司/最新热搜新闻事件
本文将介绍了最先进的深度学习优化方法,帮助神经网络训练得更快,表现得更好。有很多个不同形式的优化器,这里我们只找最基础、最常用、最有效和最新的来介绍。 优化器 首先,让我们定义优化。当我们训练我们的模型以使其表现更好…...
个人网站 做导航/江西优化中心
一,display:none; 隐藏元素,不占网页中的任何空间,让这个元素彻底消失(看不见也摸不着) 二,overflow:hidden; 让超出的元素隐藏,就是在设置该属性的时候他会根据你设置的宽高把多余的那部分剪掉…...