Datadog API

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

Datadog resources can be provisioned via an API.

HTTP

Organization

Organization information

curl -s -X GET "https://api.datadoghq.com/api/v1/org" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DATADOG_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DATADOG_APP_KEY}"

Python

Environment

The following environment variables must be present: DD_API_KEY, DD_APP_KEY. Apparently DATADOG_API_KEY and DATADOG_APP_KEY are ignored.

DD_API_KEY='...'
DD_APP_KEY='...'

requirements.txt

datadog_api_client [== x.y.z] # How do I find the latest version?

Dashboard

https://docs.datadoghq.com/api/latest/dashboards/

Get All Dashboards

https://docs.datadoghq.com/api/latest/dashboards/#get-all-dashboards
Playground Example
from datadog_api_client.v1 import ApiClient, Configuration
from datadog_api_client.v1.api.dashboards_api import DashboardsApi

configuration = Configuration()
#
# Get all dashboards
#
with ApiClient(configuration) as api_client:
    api_instance = DashboardsApi(api_client)
    dashboard_summaries = api_instance.list_dashboards(filter_shared=False)
m = dashboard_summaries.to_dict()
l = m.get('dashboards')
for d in l:
    print(d['title'] + ' (ID ' + d['id'] + ')')

Get A Dashboards

https://docs.datadoghq.com/api/latest/dashboards/#get-a-dashboard
from datadog_api_client.v1 import ApiClient, Configuration
from datadog_api_client.v1.api.dashboards_api import DashboardsApi

configuration = Configuration()
d_id = ...

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = DashboardsApi(api_client)
    dashboard = api_instance.get_dashboard(dashboard_id=d_id)
    m = dashboard.to_dict()
    print(m)

Generic

TO PROCESS:

https://github.com/ovidiuf/playground/tree/master/datadog/python-api/generic