文档文档

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

将所有警报设置为仅状态更改模式,这意味着仅当警报状态更改时才会发送警报。仅当 globaltrue 时适用。

选项

以下 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() 事件处理程序在空闲 CPU 使用率降至 20% 以下时,向 #alerts Zenoss 频道发送消息“Hey, check your CPU”。

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

此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像目前一样使用它,而无需对您的代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看