Skip to main content
Version: 24.04

Datadog Events

Before starting

  • You can send events from a central server, a remote server or a poller.
  • By default, this stream connector sends events from host_status and service_status events. The event format is shown there.
  • Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events.

Installation

Login as root on the Centreon central server using your favorite SSH client.

Run the command according on your system:

dnf install centreon-stream-connector-datadog

Configuration

To configure your stream connector, you must head over the Configuration --> Poller --> Broker configuration menu. Select the central-broker-master configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and click the Output tab when the broker form is displayed.

Add a new generic - stream connector output and set the following fields as follow:

FieldValue
NameDatadog events
Path/usr/share/centreon-broker/lua/datadog-events-apiv2.lua
Filter categoryNeb

Add Datadog mandatory parameters

Each stream connector has a set of mandatory parameters. To add them you must click on the +Add a new entry button located below the filter category input.

TypeNameValue explanationValue exemple
stringapi_keythe datadog api key

Add Datadog optional parameters

Some stream connectors have a set of optional parameters dedicated to the Software that are associated with. To add them you must click on the +Add a new entry button located below the filter category input.

TypeNameValue explanationdefault value
stringdatadog_centreon_urlyour centreon server addresshttp://yourcentreonaddress.local
stringdatadog_event_endpointthe API endpoint that must be used to send events/api/v1/events
stringhttp_server_urlThe Datadog API hosting server addresshttps://api.datadoghq.com
stringlogfilethe file in which logs are written/var/log/centreon-broker/datadog-events.log
numberlog_levellogging level from 1 (errors) to 3 (debug)1

Standard parameters

All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules.

All those parameters are documented here

Some of them are overridden by this stream connector.

TypeNameDefault value for the stream connector
stringaccepted_categoriesneb
stringaccepted_elementshost_status,service_status

Event bulking

This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Datadog REST API.

TypeNameValue
numbermax_buffer_sizemore than one

Event format

This stream connector will send event with the following format.

service_status event

{
"title": "CRITICAL my_host my_service",
"text": "my service is not working",
"aggregation_key": "service_27_12",
"alert_type": "error",
"host": "my_host",
"date_happened": 1630590530
}

host_status event

{
"title": "CRITICAL my_host",
"text": "my host is not working",
"aggregation_key": "host_27",
"alert_type": "error",
"host": "my_host",
"date_happened": 1630590530
}

Custom event format

This stream connector allows you to change the format of the event to suit your needs. It also allows you to handle events type that are not handled by default such as ba_status events.

In order to use this feature you need to configure a json event format file and add a new stream connector parameter.

TypeNameValue
stringformat_file/etc/centreon-broker/elastic-events-format.json

The event format configuration file must be readable by the centreon-broker user

To learn more about custom event format and templating file, head over the following documentation.

Curl commands

Here is the list of all the curl commands that are used by the stream connector.

Send events

curl -X POST -H "content-type: application/json" -H "DD-API-KEY: <api_key>" <http_server_url><datadog_event_endpoint>' -d '{"title":"CRITICAL my_host my_service","text":"my service is not working","aggregation_key":"service_27_12","alert_type":"error","host":"my_host","date_happened":1630590530}'

You must replace all the <xxxx> inside the above command with their appropriate value. <http_server_url>* may become https://api.datadoghq.com.