content/flux/v0/stdlib/contrib/bonitoo-io/zenoss/event.md
zenoss.event() sends an event to Zenoss.
(
severity: A,
url: string,
?action: B,
?apiKey: C,
?collector: D,
?component: E,
?device: F,
?eventClass: G,
?eventClassKey: H,
?message: I,
?method: J,
?password: string,
?summary: K,
?tid: L,
?type: M,
?username: string,
) => int where C: Equatable
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
({{< req >}}) Zenoss router endpoint URL.
Zenoss username to use for HTTP BASIC authentication.
Default is "" (no authentication).
Zenoss password to use for HTTP BASIC authentication.
Default is "" (no authentication).
Zenoss cloud API key.
Default is "" (no API key).
Zenoss router name. Default is "EventsRouter".
EventsRouter method. Default is "add_event".
Event type. Default is "rpc".
Temporary request transaction ID.
Default is 1.
Event summary.
Default is "".
Related device.
Default is "".
Related component.
Default is "".
({{< req >}}) Event severity level.
Supported values:
Event class.
Default is "".
Event class key.
Default is "".
Zenoss collector.
Default is "".
Related message.
Default is "".
import "contrib/bonitoo-io/zenoss"
import "influxdata/influxdb/secrets"
username = secrets.get(key: "ZENOSS_USERNAME")
password = secrets.get(key: "ZENOSS_PASSWORD")
lastReported =
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_idle")
|> last()
|> findRecord(fn: (key) => true, idx: 0)
zenoss.event(
url: "https://tenant.zenoss.io:8080/zport/dmd/evconsole_router",
username: username,
username: password,
device: lastReported.host,
component: "CPU",
eventClass: "/App",
severity:
if lastReported._value < 1.0 then
"Critical"
else if lastReported._value < 5.0 then
"Warning"
else if lastReported._value < 20.0 then
"Info"
else
"Clear",
)