夜莺-Nightingale
夜莺V7
项目介绍 功能概览
部署升级 部署升级
数据接入 数据接入
告警管理 告警管理
数据查看 数据查看
功能介绍 功能介绍
API FAQ
夜莺V6
项目介绍 架构介绍
快速开始 快速开始
黄埔营
安装部署 安装部署
升级
采集器 采集器
使用手册 使用手册
API API
数据库表结构 数据库表结构
FAQ FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵 第1章:天降奇兵
第2章:探索PromQL 第2章:探索PromQL
第3章:Prometheus告警处理 第3章:Prometheus告警处理
第4章:Exporter详解 第4章:Exporter详解
第5章:数据与可视化 第5章:数据与可视化
第6章:集群与高可用 第6章:集群与高可用
第7章:Prometheus服务发现 第7章:Prometheus服务发现
第8章:监控Kubernetes 第8章:监控Kubernetes
第9章:Prometheus Operator 第9章:Prometheus Operator
参考资料

概述

Event Drop 處理器是一個靈活的事件過濾工具,允許您根據自訂的邏輯條件來決定是否刪除特定的告警事件。當標籤過濾和屬性過濾都無法滿足您的需求時,可以使用此處理器實現更加複雜的過濾邏輯。

工作原理

Event Drop 處理器使用 Go Template 語法來編寫判斷邏輯:

  • 如果模板執行結果為 true,則刪除該事件
  • 如果模板執行結果為 false 或其他值,則保留該事件

配置方法

1. 選擇處理器類型

在告警規則配置頁面中,選擇 “Event Drop” 作為處理器類型。

2. 編寫判斷邏輯

在判斷邏輯輸入框中,使用 Go Template 語法編寫您的過濾條件。

可用變數

在模板中,您可以使用以下預定義變數:

變數 描述 示例用法
$event 整個事件對象 $event.RuleName
$labels 事件的標籤映射 $labels.instance
$value 觸發值 $value

使用示例

示例1:根據標籤值過濾

{{ if eq $labels.service "mon" }}true{{ else }}false{{ end }}

此配置會刪除所有標籤 service 為 “mon” 的事件。

示例2:根據觸發值過濾

{{ if lt $value 10 }}true{{ else }}false{{ end }}

此配置會刪除所有觸發值小於 10 的事件。

示例3:根據實例名稱過濾

{{ if hasPrefix $labels.instance "test-" }}true{{ else }}false{{ end }}

此配置會刪除所有實例名稱以 “test-” 開頭的事件。

示例4:組合條件過濾

{{ if and (eq $labels.env "dev") (lt $value 5) }}true{{ else }}false{{ end }}

此配置會刪除環境為 “dev” 且觸發值小於 5 的事件。

常用模板函數

比較函數

  • eq: 等於 - {{ eq $value 100 }}
  • ne: 不等於 - {{ ne $labels.env "prod" }}
  • lt: 小於 - {{ lt $value 50 }}
  • le: 小於等於 - {{ le $value 50 }}
  • gt: 大於 - {{ gt $value 100 }}
  • ge: 大於等於 - {{ ge $value 100 }}

邏輯函數

  • and: 邏輯與 - {{ and (eq $labels.env "prod") (gt $value 100) }}
  • or: 邏輯或 - {{ or (eq $labels.env "dev") (eq $labels.env "test") }}
  • not: 邏輯非 - {{ not (eq $labels.env "prod") }}

字符串函數

  • hasPrefix: 前綴匹配 - {{ hasPrefix $labels.instance "web-" }}
  • hasSuffix: 後綴匹配 - {{ hasSuffix $labels.instance "-prod" }}
  • contains: 包含字符串 - {{ contains $labels.message "error" }}

測試功能

在配置完成後,您可以使用頁面提供的測試功能來驗證您的判斷邏輯是否正確:

  1. 點擊「測試」按鈕
  2. 查看測試結果,確認是否符合預期
  3. 根據需要調整判斷邏輯

故障排除

常見問題

  1. 模板解析失敗

    • 檢查 Go Template 語法是否正確
    • 確認變數名拼寫無誤
  2. 模板執行失敗

    • 檢查是否使用了不存在的標籤或屬性
    • 確認數據類型是否匹配
  3. 事件未按預期刪除

    • 確認模板返回值是否為字符串 “true”
    • 使用測試功能驗證邏輯

調試建議

  1. 使用簡單的條件開始測試
  2. 逐步增加複雜度
  3. 查看系統日誌了解執行結果
  4. 利用測試功能驗證邏輯正確性

通過合理使用 Event Drop 處理器,您可以實現精確的事件過濾,減少不必要的告警噪音,提高告警系統的效率。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat