Are you tired of having to periodically poll your network devices to get notifications? Are you looking for a faster, more lightweight solution?
Welcome to the world of Webhooks.
Webhooks are an increasingly popular way to enable automated real time event notification, and NNMi 2022.11 introduces the ability to consume network events via webhooks. The capability enables operators to view network events as they are published over webhooks on the NNMi Incident Browser. This new feature is available across NNMi Standalone, Application Failover, and High Availability Deployments.
So, what exactly are webhooks?
Webhooks are HTTP-based call-back functions that are driven by event notifications. This allows monitoring software to receive event notifications instantaneously rather than periodically polling the source at regular intervals for notifications. To receive a notification, the user service needs to register the webhook endpoint with the notification server.
Webhooks can be implemented as HTTP GET or POST requests. GET based webhooks add notification information as part of a query string, while POST based webhooks add notification information as part of the request payload. POST based webhooks provide additional flexibility with the option to include complex payload and authentication tokens with the request. Notifications are transmitted as a JSON, XML, or text-based payload over a POST based webhook.
Webhooks are different from other real time notification mechanisms such as WebSocket or Telemetry, both of which require an active client service communication to be established to enable data transfer. With HTTP this is not required, making webhooks an ultra lightweight option.
Webhooks with NNMi
The NNMi 2022.11 release introduces a new webhook service using a POST based endpoint at https://<nnmi-host>:<webhook-port>/nom/api/incident/v1/publish. Users can register the endpoint on the webhook configuration dashboard on supported servers. Communication is secured over SSL with support for server and client-side validation using certificates or Basic Auth (coming soon in NNMi). Each webhook event is converted into an NNMi Management incident which can be viewed in NNMi’s Incident browser console.
Users can easily differentiate webhook incidents from other incidents in the Incident Browser using the “Origin” property.
Once an incident is received via webhook, subsequent event state changes published via webhook are auto synced with respective Incident States in NNMi.
How do I Onboard a New Device That Supports Webhooks in NNMi?
NNMi’s webhook service provides the ability to filter out any irrelevant information available on a webhook endpoint. This is done by creating a set of webhook parsing templates, also known as “mapping rule files”, available in the $NnmDataDir/shared/nnmwebhooksrvc/conf/mappingrules/ folder.
A webhook parsing template translates an event into a management incident. Users can create new webhook parsing templates and hot-deploy them in NNMi to enable notifications from a new webhook device. NNMi provides out of the box sample mapping files such as dnac-config-1.0.0.json for users to replicate and create new webhook parsing templates.
The templates allow users to control various properties of an NNMi Management incident. Properties include, but are not limited to, name, description, status, priority, severity, and payload properties consumed as custom attributes. Users can also see the correlated Incident Source Node, filter out unresolved incidents, and enable GNM sync for incidents. Learn more about the properties of a parsing template at https://docs.microfocus.com/doc/Network_Node_Manager_i/2022.11/ConfigWebhook.
That’s great! But what if I mess up my template?
New webhook parsing templates can be validated using the nnmwebhookvalidateconfig.ovpl CLI available on the NNMi system. When executed against the new template, the CLI analyses syntax and semantics and provides guidance to correct the template.
Once a new template is created and hot-deployed in the mapping rule folder, NNMi is ready to consume a new payload type from the webhook endpoint. Information about the template being used to parse a webhook is available as part of the incident custom attribute.
Webhooks are a lightweight option for real-time event notification in network infrastructure. NNMi provides its users with power and flexibility to onboard new webhook events and visualize them in real time as incidents on NNMi’s console.
Want to get started today? Learn more about what NNMi 2022.11 has to offer and how to get version-current at our Practitioner Portal.
written by Venkatesh Ramteke
Want to dive even deeper into the new NNMi and Network Operations Management? Register for the Network Operations Management Virtual Forum (February 14–16, 2023), where you can join daily webinars and access exclusive on-demand content—all designed to make 2023 the best year ever for your network team.
Session highlights include (but are not limited to):
- Network expert Chris Grundemann covers the most important trends to be aware of in 2023
- NOM customer speaks to how they’re leveraging OPTIC to address their network challenges
- Our product team discusses the road ahead and answers your most pressing questions
- Network Automation experts dive into how you can leverage NA to secure your networks