当前位置: 首页 > news >正文

VMAlert告警规则与动态配置详解

一、功能描述

VMAlert负责执行告警规则、生成告警事件,并将告警推送给 Alertmanager 或 Webhook,同时还能计算 Recording Rule 并写入存储。

在 集群模式下, VictoriaMetrics 具有独立的写入和读取路径组件 。vminsert写入组件用于执行规则表达式,读取vmselect组件用于持久化记录规则结果和警报状态。集群模式可以包含多个写入和读取组件。vmselectvminsertvminsertvmselect

vmalert配置标志:

1. 执行 Alerting Rules(告警规则)

从 Prometheus / VictoriaMetrics 数据源查询数据,周期性评估告警:

alert: HighErrorRate expr: rate(http_errors_total[5m]) > 10 for: 1m

当条件满足 → 触发告警

当条件恢复 → 发送恢复

2. 发送告警通知(Alert notifications)

支持两种方式发送告警:

发送给 Alertmanager(推荐)

走 Alertmanager,再由 Alertmanager 路由到不同通知渠道(Slack、钉钉、飞书、Webhook 等)

直接发送 Webhook(不经过 Alertmanager)

适合自定义告警系统或你这种需要直接推送到接口的情况。

3. 执行 Recording Rules(记录规则)

计算新的时序数据并写入 VictoriaMetrics(remote write):

record: job:http_requests:rate5m expr: rate(http_requests_total[5m])

Recording rules 的好处:

  • 查询速度更快

  • 降低 VictoriaMetrics 计算压力

  • Dashboards 用录制好的指标更顺畅

4. 动态加载规则(不需要重启)

VMAlert 支持:

  • ConfigMap 动态挂载规则

  • 随时 reload,而不重启 Pod

5. 提供 UI 查看规则状态

  • 当前规则执行情况

  • 告警触发状态

  • 执行错误

  • 数据查询结果

二、多个alert实例

需要增加下面参数,用来去重

VM单点模式下

insert和select 增加:dedup.minScrapeInterval: 10s

VM-Cluster 模式下

storage 需要增加 dedup.minScrapeInterval: 15s

select 需要增加 dedup.minScrapeInterval: 15s

数据延迟配置

extraArgs: loggerLevel: INFO rule.evalDelay: "30s" #默认值需要和search.latencyOffset 设置为一致 数据有延迟的时候需要配置

三、监控看板

https://grafana.com/grafana/dashboards/24513-victorialogs-vlagent/

四、全量配置:

apiVersion: operator.victoriametrics.com/v1beta1 kind: VMAlert metadata: name: custom-alert namespace: monitoring spec: replicaCount: 1 imagePullSecrets: - name: uhub-registry datasource: url: "http://vm-victoria-metrics-cluster-vmselect.monitoring:8481/select/0/prometheus" remoteWrite: url: "http://vm-victoria-metrics-cluster-vminsert.monitoring:8480/insert/0/prometheus" remoteRead: url: "http://vm-victoria-metrics-cluster-vmselect.monitoring:8481/select/0/prometheus" maxConnections: 4 image: repository: vmalert tag: v1.128.0 pullPolicy: Always externalLabels: cluster: xxx-prod environment: cn-beijing notifier: url: "http://vmalertmanager-custom-alertmanager.monitoring.svc:9093" timeout: 10s maxConnections: 5 #alertmanager: # enable: true #alertmanagerConfigSelector: # matchLabels: # vmamcfg: custom-webhook #notifier: # alertmanager: # enable: true # selector: # matchLabels: # app.kubernetes.io/name: alertmanager resources: limits: cpu: 2 memory: 4Gi requests: cpu: "100m" memory: "128Mi" #ExternalURL: "https://victoria-alert.xxx.cn" #external: # url: "https://victoria-alert.xxx.cn" extraArgs: loggerLevel: INFO rule.evalDelay: "30s" #默认值需要和search.latencyOffset 设置为一致 数据有延迟的时候需要配置 external.url: "https://victoria-alert.xxx.cn" # 可以将rules存到s3 # rule: s3://bucket/dir/alert.rules serviceMonitor: enabled: true interval: 30s tolerations: - effect: NoSchedule key: service operator: Equal value: sre-victoria-metrics affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: business operator: In values: - sre selectAllByDefault: true evaluationInterval: "30s" scrapeConfigSelector: {} serviceScrapeSelector: {} ruleNamespaceSelector: {} podScrapeSelector: {} nodeScrapeSelector: {} staticScrapeSelector: {} probeSelector: {} ruleSelector: {}

参考文档

https://docs.victoriametrics.com/victoriametrics/vmalert/

https://docs.victoriametrics.com/operator/resources/

http://www.cnnetsun.cn/news/113549.html

相关文章:

  • 雷柏V500Pro键盘新手必看:5分钟搞定基础设置
  • Java小白必看:5分钟上手MD5加密解密
  • AI一键搞定Java8安装:快马平台智能配置指南
  • 二叉排序树的构建与遍历
  • AI风险行为识别系统开发:给安全防护装个“智能哨兵”
  • After Effects Roto Brush 3.0:甲方没给绿幕也要“抠人”?AI 帮你 3 秒钟搞定逐帧噩梦
  • 1分钟搞定!用zip命令快速打包你的项目原型
  • 28、Linux 文件和目录管理全解析
  • 雷科电力-REKE610D绝缘油介质损耗电阻率测试仪
  • 对于设计IT系统的相关思路
  • 轻量无负担!2025 年 3 款小巧型文件加密软件分享
  • Canoe-Autosar网络管理自动化测试脚本 Capl源码,全套,修改项目配置可以直接使用...
  • 亚马逊、速卖通采购测评:构建安全环境,保障高效下单指南
  • 软连接vs硬链接:哪种更能提升你的工作效率?
  • 完全合作型博弈:当所有人的利益捆绑在一起 (Fully Cooperative)
  • 挖SRC必须知道的25个漏洞提交平台
  • AI市场舆情分析榜,原圈科技领跑研报神器
  • AI一键生成Python安装包配置脚本
  • 零基础学网安不慌!电脑小白 4 阶段入门路线,分阶段学习不踩坑
  • 传统锁 vs Redisson分布式锁:效率对比实测
  • 封神!从开发转安全渗透工程师,这是我做的最对的职业选择
  • 3、循环与分支:编程中的核心逻辑控制
  • 小白必看:5分钟学会检查你的个人信息是否泄露
  • 效率对比:传统开发vs使用MyBatisPlus代码生成器
  • DeepSeek在线:5分钟打造你的AI应用原型
  • EVS9323-EP伺服变频器
  • AI市场舆情分析榜,原圈科技领跑车企
  • 1900-0711-81触摸屏面板
  • 深圳比亚迪游学|被Zhong国智造狠狠圈粉!新能源黑科技太炸了[特殊字符]✨
  • 小程序项目之捷邻小程序源码(java+ssm+小程序+mysql)