Networking Minerva User Guide

Configure Notifications

To set up notifications, add an endpoint, check the rate limiter and templates for its endpoint type, and then enable notifications on a view.

Add an Endpoint

  1. Go to Settings > Notifications and click Actions > Add new endpoint.

  2. Enter an Endpoint Name and select the endpoint type in Plugin Type.

  3. Fill in the fields for the type, and then click OK.

Plugin type

Fields

Email

SMTP Server Type (Local Postfix or Custom SMTP) and Recipients, separated by commas. For Custom SMTP, also SMTP Host, SMTP Port, SMTP Username, and SMTP Password, and optionally Sender Name and Sender Email.

Kafka

broker (host:port) and topic.

OpenTelemetry (alpha)

See OpenTelemetry Endpoints.

ServiceNow

See ServiceNow Endpoints.

Slack

webhook: the Slack incoming webhook URL.

Syslog

transport, servers (host:port, separated by commas), Facility, Severity, and Application. Facility, Severity, and Application can each use the value from the event instead of a fixed value.

Webhook

Webhook: the URL. Optionally, click Add another header to add header key/value pairs.

After you rename an endpoint, do not create another endpoint with its former name. The new endpoint can overwrite the renamed endpoint's stored configuration.

OpenTelemetry Endpoints

OpenTelemetry endpoints are an alpha feature.

An OpenTelemetry endpoint sends each notification as an OpenTelemetry Protocol (OTLP) log record to an OTLP receiver, such as an OpenTelemetry Collector. The Endpoint value sets the protocol:

  • An http:// or https:// URL uses OTLP/HTTP. Enter the full URL, including the path, such as http://collector.example.com:4318/v1/logs.

  • A host:port value with no scheme, such as otel-collector:4317, uses OTLP/gRPC. OTLP/gRPC connections are unencrypted.

Headers are sent only to OTLP/HTTP endpoints. On an OTLP/gRPC endpoint, they're ignored.

To skip verifying the certificate of an https:// receiver, such as a receiver with a self-signed certificate, select Insecure (skip TLS certificate verification).

OpenTelemetry templates don't define the payload. Instead, they map event fields to parts of the log record, such as the body, severity, and attributes. NVIDIA Minerva includes built-in OpenTelemetry templates, and Default mapping is the default.

ServiceNow Endpoints

A ServiceNow endpoint creates and updates ServiceNow tickets. NVIDIA Minerva tracks the open tickets it creates. Events with the same dedupe key map to the same ticket. When an event arrives, NVIDIA Minerva checks whether a ticket is already open for its dedupe key, and then either creates a ticket or updates the open one.

Views that notify a ServiceNow endpoint need deduplication dimensions. Without a dedupe key, NVIDIA Minerva doesn't send the event to ServiceNow.

Field

Description

POST URL

The ServiceNow URL that NVIDIA Minerva posts events to.

No verify

Skips verifying the ServiceNow server's TLS certificate.

Poll URL

Optional. The URL that NVIDIA Minerva polls to track each ticket's number and state.

Custom Transaction ID

Replaces __TXID__ in the Poll URL with the transaction ID of each event.

Poll Timer

Optional. How often to poll, in seconds.

Authentication Type

authorization header or basic auth.

Username and Password

The ServiceNow account credentials.

ServiceNow notifications use the built-in Minerva Service Now template unless the view selects another one. To customize it, copy it and edit the copy (see Create a Template).

Configure Endpoint Types

Each endpoint type has a rate limiter and a set of templates that apply to all endpoints of that type. To change them, go to Settings > System Configuration, select the type under Endpoint Types, and click the edit icon.

Rate Limiter

Rate Limiter Config limits how many notifications with the same dedupe key each endpoint receives within Time Window. Notifications over Count are dropped. For example, a Time Window of 24h and a Count of 1 send at most one notification a day for each dedupe key. See Deduplication and Rate Limiting.

Endpoint type

Default

Email, Slack, Webhook

1 per 24 hours

Syslog

1 per 6 hours

ServiceNow

1 per 5 minutes

Kafka, OpenTelemetry

1 per minute

Templates

A template defines the content of the notifications for one endpoint type:

  • Webhook, Slack, and ServiceNow: the JSON payload. NVIDIA Minerva fills in the template variables and sends the result as is.

  • Email: a subject and a plain-text body.

  • OpenTelemetry: a mapping from event fields to the log record (see OpenTelemetry Endpoints).

A JSON payload template must:

  • Be valid JSON.

  • Match the format that the receiving service expects. For example, a Slack template must be a valid Slack incoming webhook or Block Kit payload.

  • Use Go template syntax, such as {{.deviceName}}, rather than other formats, such as ${event.deviceName}.

Templates support Go template syntax:

  • {{.variable}}: inserts event data.

  • {{if .variable}} {{.variable}} {{end}}: inserts a field only when it has a value.

Create a Template

  1. Go to Settings > System Configuration, select the endpoint type under Endpoint Types, and click the edit icon.

  2. Click + next to Templates. To start from an existing template, click the copy icon next to it instead.

  3. Enter a Template Name. To make this template the default for new views that use this endpoint type, select Make default.

  4. Edit the template, and then click OK and Save.

Built-in templates can't be edited. To customize one, copy it and edit the copy.

Template editor for an endpoint type, with the template name and payload fields

For example, a "Link Down" webhook template might include the alert name, a link to the event, the device name, the interface, the link-down count, and a timestamp. nilToSkip leaves the value empty when the event doesn't have the field.

{
  "alertName": "Link Down",
  "alertLink": "{{.url}}",
  "ifDownCount": "{{.ifDown | nilToSkip}}",
  "deviceName": "{{.deviceName}}",
  "ifName": "{{.ifName}}",
  "time": "{{.time}}"
}

Additional Variables

Most template variables come from the record that triggered the notification. NVIDIA Minerva also supplies these variables:

  • {{.domainUrl}}: base URL of the NVIDIA Minerva system

  • {{.viewName}}: name of the view that triggered the notification

  • {{.url}}: permalink of the event that triggered the notification

  • {{.preview}}: URL of a preview image of the event, in Slack and webhook templates only

Template Selection Scope

A view can use multiple endpoints, including multiple endpoints of the same type. However, template selection is scoped to the view and endpoint type, not to an individual endpoint. For example, if a view uses two Slack endpoints, both receive payloads rendered with the same Slack template. That view can use a different template for another endpoint type, such as webhook or email, at the same time.

Enable Notifications on a View

A view needs an eventType filter before you can enable notifications on it.

  1. Open the view and click its Settings Settings icon.

  2. Set Notifications to enabled, and then click the settings icon next to it.

  3. Complete the four steps, clicking Next after each one, and then click OK.

Select Notification Endpoints

Select one or more endpoints. To use a template other than the default for an endpoint type, click the settings icon next to the endpoint and select a Template.

Select Deduplication Dimensions

Optionally, select the dimensions that form the dedupe key. See Deduplication and Rate Limiting.

Deduplication dimensions step of the view notification settings

Set Notification Dimensions

Optionally, set the following:

  • Notification Severity and Application: values added to every notification from this view, as the notificationSeverity and application fields. Templates can use them, and syslog endpoints can use them in the syslog header.

  • Notify Missing Data: sends a notification only when the view returns no data, instead of when it returns events.

Notification dimensions step of the view notification settings

Notification Timers

Three timers control how often NVIDIA Minerva checks the view for new events:

  • Poll Interval: how often NVIDIA Minerva checks the view for new events, in minutes.

  • Poll Window: how far back in time NVIDIA Minerva looks on each check, in minutes. Defaults to the Poll Interval if not set.

  • Poll Lag: how many minutes the polling interval lags behind the current time. Defaults to 0.

Last updated: