<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osnexus.com/index.php?action=history&amp;feed=atom&amp;title=Datadog_Integration</id>
	<title>Datadog Integration - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osnexus.com/index.php?action=history&amp;feed=atom&amp;title=Datadog_Integration"/>
	<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Datadog_Integration&amp;action=history"/>
	<updated>2026-11-04T01:53:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Datadog_Integration&amp;diff=28369&amp;oldid=prev</id>
		<title>Qadmin: osn-seo-utilities: datadog-integration @ 7b79d754f6a9 (approved in the portal)</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Datadog_Integration&amp;diff=28369&amp;oldid=prev"/>
		<updated>2026-11-03T20:00:04Z</updated>

		<summary type="html">&lt;p&gt;osn-seo-utilities: datadog-integration @ 7b79d754f6a9 (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;QuantaStor can send its alerts to [https://www.datadoghq.com/ Datadog] as Datadog events, through the Datadog module of the [[Storage System Alert Manager|Alert Manager]]. This page covers creating the Datadog API key, adding the endpoint in QuantaStor, testing it, and building Datadog monitors on the severity and system tags that every event carries.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Section !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[#How it works|How it works]] || What is sent, where, and what is not sent&lt;br /&gt;
|-&lt;br /&gt;
| [[#Step 1: Create a Datadog API key|Step 1: Create a Datadog API key]] || The key the endpoint URL carries&lt;br /&gt;
|-&lt;br /&gt;
| [[#Step 2: Add the Datadog endpoint|Step 2: Add the Datadog endpoint]] || The Alert Manager ITSM Integrations tab&lt;br /&gt;
|-&lt;br /&gt;
| [[#Step 3: Send a test alert|Step 3: Send a test alert]] || Confirm events arrive in Datadog&lt;br /&gt;
|-&lt;br /&gt;
| [[#Step 4: Create Datadog monitors|Step 4: Create Datadog monitors]] || Turn QuantaStor events into notifications&lt;br /&gt;
|-&lt;br /&gt;
| [[#Endpoint URL format and Datadog sites|Endpoint URL format and Datadog sites]] || The URL forms accepted and the site each host selects&lt;br /&gt;
|-&lt;br /&gt;
| [[#Event contents|Event contents]] || Title, body, host and date of each event&lt;br /&gt;
|-&lt;br /&gt;
| [[#Severity mapping and tags|Severity mapping and tags]] || How QuantaStor severities and tags appear in Datadog&lt;br /&gt;
|-&lt;br /&gt;
| [[#Configuring from the CLI|Configuring from the CLI]] || Adding, removing and testing the endpoint with qs&lt;br /&gt;
|-&lt;br /&gt;
| [[#Troubleshooting|Troubleshooting]] || No events, 403 errors, missing Info alerts&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
Each QuantaStor alert of Warning, Error or Critical severity is posted directly from the appliance to the Datadog Events API as a Datadog event. No Datadog Agent is needed on the appliance. Every event carries tags that name the product, the severity, the storage system and the grid, so you can filter the Datadog Event Explorer and build monitors on them.&lt;br /&gt;
&lt;br /&gt;
Three behaviours to know before you start:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Info alerts are never sent.&amp;#039;&amp;#039;&amp;#039; QuantaStor sends only Warning, Error and Critical alerts to ITSM modules, Datadog included. A test at Info level produces nothing in Datadog, which makes a correctly configured endpoint look broken.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Clearing an alert sends nothing.&amp;#039;&amp;#039;&amp;#039; Datadog events cannot be closed, so dismissing or clearing an alert in QuantaStor has no counterpart in Datadog. Use monitor recovery logic in Datadog if you need one.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Repeats roll up.&amp;#039;&amp;#039;&amp;#039; Repeats of the same alert type on the same storage system share an aggregation key, so Datadog groups them together rather than listing each one separately.&lt;br /&gt;
&lt;br /&gt;
The appliance needs outbound HTTPS access to the Datadog API host for your site. If the appliance is configured to use an HTTPS proxy, the module sends through it.&lt;br /&gt;
&lt;br /&gt;
== Step 1: Create a Datadog API key ==&lt;br /&gt;
&lt;br /&gt;
In Datadog, open &amp;#039;&amp;#039;&amp;#039;Organization Settings&amp;#039;&amp;#039;&amp;#039; &amp;amp;rarr; &amp;#039;&amp;#039;&amp;#039;API Keys&amp;#039;&amp;#039;&amp;#039; and create a key for QuantaStor, or copy an existing one. Use an &amp;#039;&amp;#039;&amp;#039;API key&amp;#039;&amp;#039;&amp;#039;, not an Application key: the Events API accepts only API keys.&lt;br /&gt;
&lt;br /&gt;
Note which Datadog site your organization is on (US1, US3, US5, EU1, AP1, AP2 or US1-FED). The key works only against that site&amp;#039;s API host; see [[#Endpoint URL format and Datadog sites|Endpoint URL format and Datadog sites]].&lt;br /&gt;
&lt;br /&gt;
== Step 2: Add the Datadog endpoint ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage System &amp;#039;&amp;#039;(toolbar group)&amp;#039;&amp;#039; &amp;amp;rarr; Alert Manager &amp;#039;&amp;#039;(toolbar)&amp;#039;&amp;#039; &amp;amp;rarr; ITSM Integrations &amp;#039;&amp;#039;(tab)&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
[[File:alertmgr_itsm_endpoints.png|thumb|right|800px|Alert Manager, ITSM Integrations tab with a Datadog endpoint added. Choose the module, paste the URL into Webhook URL, then click Add.]]&lt;br /&gt;
&lt;br /&gt;
The ITSM Integrations tab lists every configured endpoint, one row per module and URL. To add Datadog:&lt;br /&gt;
&lt;br /&gt;
# Open the &amp;#039;&amp;#039;&amp;#039;Alert Manager&amp;#039;&amp;#039;&amp;#039; and select the &amp;#039;&amp;#039;&amp;#039;ITSM Integrations&amp;#039;&amp;#039;&amp;#039; tab.&lt;br /&gt;
# In &amp;#039;&amp;#039;&amp;#039;Module&amp;#039;&amp;#039;&amp;#039;, select &amp;#039;&amp;#039;&amp;#039;Datadog&amp;#039;&amp;#039;&amp;#039;. The &amp;#039;&amp;#039;&amp;#039;?&amp;#039;&amp;#039;&amp;#039; button beside it opens the setup page for the selected module.&lt;br /&gt;
# In &amp;#039;&amp;#039;&amp;#039;Webhook URL&amp;#039;&amp;#039;&amp;#039;, paste the Datadog API host followed by {{Code|1=#}} and your API key, for example {{Code|1=https://api.datadoghq.com#aAbBcCdDeEfF0123456789aAbBcCdDeE}}.&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;Add&amp;#039;&amp;#039;&amp;#039;. The endpoint appears in the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Apply&amp;#039;&amp;#039;&amp;#039; to save the configuration.&lt;br /&gt;
&lt;br /&gt;
[[File:alertmgr_itsm_module_list.png|thumb|right|800px|The Module drop-down lists every ITSM module the appliance supports, Datadog among them.]]&lt;br /&gt;
&lt;br /&gt;
To remove an endpoint, tick it in the list, click &amp;#039;&amp;#039;&amp;#039;Remove Selected&amp;#039;&amp;#039;&amp;#039;, then click &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Apply&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
QuantaStor sends the API key to Datadog in the {{Code|1=DD-API-KEY}} request header, never in the request URL, and masks it as {{Code|1=********}} in the service log.&lt;br /&gt;
&lt;br /&gt;
== Step 3: Send a test alert ==&lt;br /&gt;
&lt;br /&gt;
[[File:Alertmgr_test_alert.png|thumb|right|328px|Send User Generated Alert, opened from Generate Test Alert. Severity offers Warning, Error and Critical.]]&lt;br /&gt;
&lt;br /&gt;
Click &amp;#039;&amp;#039;&amp;#039;Generate Test Alert&amp;#039;&amp;#039;&amp;#039; at the bottom of the Alert Manager. The &amp;#039;&amp;#039;&amp;#039;Send User Generated Alert&amp;#039;&amp;#039;&amp;#039; dialog opens with two fields:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Message&amp;#039;&amp;#039;&amp;#039; -- the text of the test alert.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Severity&amp;#039;&amp;#039;&amp;#039; -- Warning, Error or Critical. Info is not offered, because Info alerts never reach ITSM modules.&lt;br /&gt;
&lt;br /&gt;
Click &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;, then open the Datadog &amp;#039;&amp;#039;&amp;#039;Event Explorer&amp;#039;&amp;#039;&amp;#039; and search for {{Code|1=product:quantastor}}. The test event appears within a few seconds, with the host set to the storage system name.&lt;br /&gt;
&lt;br /&gt;
If nothing arrives, see [[#Troubleshooting|Troubleshooting]].&lt;br /&gt;
&lt;br /&gt;
== Step 4: Create Datadog monitors ==&lt;br /&gt;
&lt;br /&gt;
Events on their own notify nobody. To page an on-call engineer, create a Datadog &amp;#039;&amp;#039;&amp;#039;Event Monitor&amp;#039;&amp;#039;&amp;#039; for each severity you want to act on. For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Monitor !! Query !! Condition&lt;br /&gt;
|-&lt;br /&gt;
| QuantaStor critical alerts || {{Code|1=product:quantastor severity:critical}} || count &amp;amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| QuantaStor error alerts || {{Code|1=product:quantastor severity:error}} || count &amp;amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| QuantaStor warnings || {{Code|1=product:quantastor severity:warning}} || count &amp;amp;gt; 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Filter on the {{Code|1=severity}} tag rather than on the Datadog event status: Datadog has no Critical status, so Error and Critical alerts both arrive with status Error, and only the tag keeps them apart. Add {{Code|1=system:&amp;amp;lt;name&amp;amp;gt;}} or {{Code|1=grid:&amp;amp;lt;name&amp;amp;gt;}} to a query to scope a monitor to one storage system or one grid, and route each monitor to the team or channel that owns it.&lt;br /&gt;
&lt;br /&gt;
== Endpoint URL format and Datadog sites ==&lt;br /&gt;
&lt;br /&gt;
The Webhook URL takes either of two forms:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Form !! Example&lt;br /&gt;
|-&lt;br /&gt;
| API host, {{Code|1=#}}, API key || {{Code|1=https://api.datadoghq.com#aAbBcCdDeEfF0123456789aAbBcCdDeE}}&lt;br /&gt;
|-&lt;br /&gt;
| Datadog&amp;#039;s own Events API URL || {{Code|1=https://api.datadoghq.com/api/v1/events?api_key=aAbBcCdDeEfF0123456789aAbBcCdDeE}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Both send the key in a request header; the second form exists so you can paste the URL Datadog&amp;#039;s documentation gives.&lt;br /&gt;
&lt;br /&gt;
The host selects the Datadog site:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datadog site !! API host&lt;br /&gt;
|-&lt;br /&gt;
| US1 || {{Code|1=api.datadoghq.com}}&lt;br /&gt;
|-&lt;br /&gt;
| US3 || {{Code|1=api.us3.datadoghq.com}}&lt;br /&gt;
|-&lt;br /&gt;
| US5 || {{Code|1=api.us5.datadoghq.com}}&lt;br /&gt;
|-&lt;br /&gt;
| EU1 || {{Code|1=api.datadoghq.eu}}&lt;br /&gt;
|-&lt;br /&gt;
| AP1 || {{Code|1=api.ap1.datadoghq.com}}&lt;br /&gt;
|-&lt;br /&gt;
| AP2 || {{Code|1=api.ap2.datadoghq.com}}&lt;br /&gt;
|-&lt;br /&gt;
| US1-FED || {{Code|1=api.ddog-gov.com}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you paste a site or web interface host instead, such as {{Code|1=datadoghq.eu}} or {{Code|1=app.datadoghq.com}}, QuantaStor maps it to the matching API host automatically.&lt;br /&gt;
&lt;br /&gt;
== Event contents ==&lt;br /&gt;
&lt;br /&gt;
Each QuantaStor alert becomes one Datadog event:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Event field !! Content&lt;br /&gt;
|-&lt;br /&gt;
| Title || The alert title, prefixed with the alert type number in brackets, for example {{Code|1=[122] ...}}&lt;br /&gt;
|-&lt;br /&gt;
| Text || The alert description, followed by Severity, Alert Time, Alert Type, Storage System (linked to its IP address), Storage System ID, Storage Grid, Location, Serial Number, Service Version, Firmware Version, Kernel Version, System Startup and Alert ID&lt;br /&gt;
|-&lt;br /&gt;
| Host || The storage system name&lt;br /&gt;
|-&lt;br /&gt;
| Date || The time QuantaStor raised the alert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Severity mapping and tags ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! QuantaStor severity !! Datadog event status !! Severity tag&lt;br /&gt;
|-&lt;br /&gt;
| Info || &amp;#039;&amp;#039;not sent&amp;#039;&amp;#039; || --&lt;br /&gt;
|-&lt;br /&gt;
| Warning || Warn || {{Code|1=severity:warning}}&lt;br /&gt;
|-&lt;br /&gt;
| Error || Error || {{Code|1=severity:error}}&lt;br /&gt;
|-&lt;br /&gt;
| Critical || Error || {{Code|1=severity:critical}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Every event carries these tags:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Tag !! Value&lt;br /&gt;
|-&lt;br /&gt;
| {{Code|1=product:quantastor}} || Always present; use it to select all QuantaStor events&lt;br /&gt;
|-&lt;br /&gt;
| {{Code|1=severity:&amp;amp;lt;level&amp;amp;gt;}} || {{Code|1=warning}}, {{Code|1=error}} or {{Code|1=critical}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Code|1=system:&amp;amp;lt;name&amp;amp;gt;}} || The storage system that raised the alert&lt;br /&gt;
|-&lt;br /&gt;
| {{Code|1=system_id:&amp;amp;lt;id&amp;amp;gt;}} || The storage system&amp;#039;s unique ID&lt;br /&gt;
|-&lt;br /&gt;
| {{Code|1=grid:&amp;amp;lt;name&amp;amp;gt;}} || The storage grid the system belongs to&lt;br /&gt;
|-&lt;br /&gt;
| {{Code|1=alert_type_id:&amp;amp;lt;id&amp;amp;gt;}} || The alert type number, the same one shown in the title&lt;br /&gt;
|-&lt;br /&gt;
| {{Code|1=location:&amp;amp;lt;location&amp;amp;gt;}} || The storage system&amp;#039;s location, only when one is set&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Datadog adds {{Code|1=source:my_apps}} itself.&lt;br /&gt;
&lt;br /&gt;
== Configuring from the CLI ==&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#alert-config-set|qs alert-config-set]]&amp;lt;/code&amp;gt; with {{Code|1=--endpoints}} to add the endpoint. Each entry is {{Code|1=module:url}}; separate several entries with commas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs alert-config-set --endpoints=&amp;quot;datadog:https://api.datadoghq.com#aAbBcCdDeEfF0123456789aAbBcCdDeE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove the endpoint, give the same entry with a {{Code|1=~}} prefix:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs alert-config-set --endpoints=&amp;quot;~datadog:https://api.datadoghq.com#aAbBcCdDeEfF0123456789aAbBcCdDeE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Send a test alert with &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#alert-raise|qs alert-raise]]&amp;lt;/code&amp;gt;. Its {{Code|1=--alert-severity}} defaults to {{Code|1=info}}, which never reaches Datadog, so always set it to {{Code|1=warning}}, {{Code|1=error}} or {{Code|1=critical}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs alert-raise --title=&amp;quot;Datadog test&amp;quot; --message=&amp;quot;Testing the Datadog endpoint&amp;quot; --alert-severity=warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Symptom !! Cause and fix&lt;br /&gt;
|-&lt;br /&gt;
| No event arrives after a test || Check the test severity first: Info alerts are never sent. Then confirm the appliance can reach the Datadog API host over HTTPS, directly or through its configured proxy.&lt;br /&gt;
|-&lt;br /&gt;
| Datadog returns 403 || The API key usually belongs to a different Datadog site than the URL host. Use the API host for the site your organization is on.&lt;br /&gt;
|-&lt;br /&gt;
| Datadog rejects the key || Make sure you used an API key, not an Application key.&lt;br /&gt;
|-&lt;br /&gt;
| An alert cleared in QuantaStor still shows in Datadog || Expected. QuantaStor sends nothing when an alert is cleared, and Datadog events cannot be closed.&lt;br /&gt;
|-&lt;br /&gt;
| Error and Critical alerts look the same in Datadog || Datadog has no Critical status. Filter on the {{Code|1=severity}} tag instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To see what QuantaStor sent, check the service log at {{Code|1=/var/log/qs/qs_service.log}} on the appliance; the API key appears there masked.&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Storage System Alert Manager]]&lt;br /&gt;
* [[Call-home / Alerting]]&lt;br /&gt;
* [[Zabbix Integration]]&lt;br /&gt;
* [[PagerDuty Integration]]&lt;br /&gt;
* [[Slack Integration]]&lt;br /&gt;
* [[QuantaStor CLI Command Reference]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;#039;&amp;#039;Verified against QuantaStor 7.0.0.&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:integration_guide]]&lt;/div&gt;</summary>
		<author><name>Qadmin</name></author>
	</entry>
</feed>