文档文档

Zenoss 事件处理程序

Zenoss 是一个混合 IT 监控服务,用于监控虚拟和物理 IT 环境。配置 Kapacitor 以将事件发送到 Zenoss。

配置

Zenoss 事件处理程序的配置以及默认的 选项 值在您的 kapacitor.conf 文件中设置。下面是一个配置示例。

[zenoss]
  enabled = true
  url = "https://tenant.zenoss.io:8080/zport/dmd/evconsole_router"
  username = ""
  password = ""
  action = "EventsRouter"
  method = "add_event"
  type = "rpc"
  tid = 1
  collector = "Kapacitor"
  severity-map = {OK = "Clear", Info = "Info", Warning = "Warning", Critical = "Critical"}
  global = false
  state-changes-only = false

enabled

设置为 true 以启用 Zenoss 事件处理程序。

url

Zenoss 路由器端点 URL。例如:https://tenant.zenoss.io:8080/zport/dmd/evconsole_router

username

用于 HTTP BASIC 身份验证的 Zenoss 用户名。若要禁用身份验证,请将其设置为空字符串 ("")。

password

用于 HTTP BASIC 身份验证的 Zenoss 密码。若要禁用身份验证,请将其设置为空字符串 ("")。

action

Zenoss 路由器名称。例如:"EventsRouter"

method

EventsRouter 方法。例如:"add_event"

type

事件类型。例如:"rpc"

tid

临时请求事务 ID。例如:1

collector

Zenoss 收集器名称。例如:"Kapacitor"

severity-map

将 Kapacitor 告警级别映射到 Zenoss 事件严重级别

{ OK = "Clear", Info = "Info", Warning = "Warning", Critical = "Critical" }

global

如果设置为 true,则所有告警都会发送到 Zenoss,而无需在 TICKscript 中显式指定 Zenoss。

state-changes-only

将所有告警设置为仅状态更改模式,这意味着仅在告警状态发生变化时才会发送告警。仅当 global 设置为 true 时适用。

选项

以下 Zenoss 事件处理程序选项可以在 处理程序文件中设置,或者在使用 TICKscript 中的 .zenoss() 方法时设置。

名称类型描述
actionstringZenoss 路由器名称
methodstringZenoss 路由器方法
typestringZenoss 事件类型
tidinteger临时请求事务 ID
summarystring事件摘要
devicestring与事件相关的设备
componentstring与事件相关的组件
evclasskeystringZenoss 事件类键
evclassstringZenoss 事件类
collectorstringZenoss 收集器
messagestring事件消息
customFieldmap要附加到事件的自定义字段

示例:处理程序文件

id: handler-id
topic: topic-name
kind: zenoss
options:
  action: EventsRouter
  method: add_event
  type: rpc
  tid: 1
  summary: Example event summary.
  device: example-device
  component: example-component
  evclasskey: example-event-class-key
  evclass: example-event-class
  collector: Kapacitor
  message: Example event message.
  customField: 
    customField1: customValue1
    customField2: customValue2

示例:TICKscript

|alert()
  // ...
  .zenoss()
    .action('EventsRouter')
    .method('add_event')
    .type('rpc')
    .tid(1)
    .summary('Example event summary.')
    .device('example-device')
    .component('example-component')
    .evclasskey('example-event-class-key')
    .evclass('example-event-class')
    .collector('Kapacitor')
    .message('Example event message.')
    .customField('customField1', 'customValue1')
    .customField('customField2', 'customValue2')

为避免在每个告警间隔发送消息,请使用 AlertNode.StateChangesOnly,这样只有告警状态发生变化的事件才会被发送到 Zenoss。

以下示例使用了 kapacitor.conf 中定义的 Zenoss 配置

kapacitor.conf 中的 Zenoss 设置
[zenoss]
  enabled = true
  url = "https://tenant.zenoss.io:8080/zport/dmd/evconsole_router"
  username = ""
  password = ""
  action = "EventsRouter"
  method = "add_event"
  type = "rpc"
  tid = 1
  collector = "Kapacitor"
  severity-map = {OK = "Clear", Info = "Info", Warning = "Warning", Critical = "Critical"}
  global = false
  state-changes-only = false

从 TICKscript 发送告警到 Zenoss

以下 TICKscript 使用 .zenoss() 事件处理程序将消息“Hey, check your CPU”发送到 Zenoss 的 #alerts 通道,只要 CPU 空闲使用率低于 20%。

zenoss-cpu-alert.tick
stream
  |from()
    .measurement('cpu')
  |alert()
    .warn(lambda: "usage_idle" < 20)
    .stateChangesOnly()
    .message('Hey, check your CPU')
    .zenoss()

从已定义的处理程序发送告警到 Zenoss

以下设置将告警发送到 cpu 主题,消息为“Hey, check your CPU”。添加了一个 Zenoss 处理程序,该处理程序订阅 cpu 主题并将所有告警消息发布到 Zenoss。

创建发布警报消息到主题的 TICKscript。下面的 TICKscript 在空闲 CPU 使用率下降到 5% 以下时,将一条严重警报消息发送到 cpu 主题。

cpu_alert.tick
stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: "usage_idle" < 5)
    .stateChangesOnly()
    .message('Hey, check your CPU')
    .topic('cpu')

添加并启用 TICKscript

kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert

创建一个处理程序文件,该文件订阅 cpu 主题并使用 Zenoss 事件处理程序将告警发送到 Zenoss。

zenoss_cpu_handler.yaml
id: zenoss-cpu-alert
topic: cpu
kind: zenoss
options:
  summary: High CPU usage
  device: example-device
  component: example-component
  evclasskey: example-event-class-key
  evclass: example-event-class

添加处理器

kapacitor define-topic-handler zenoss_cpu_handler.yaml

此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2