Datadog API Node.JS Client 🐕
- Official Datadog API Documentation: http://docs.datadoghq.com/api/
- This fork
datadog-clientAPI Docs: https://omni-tools.github.io/node-datadog-client/ - Original
dogapiAPI Docs: https://brettlangdon.github.io/node-dogapi/
dogapi does not provide any functionality to talk to a local dogstatsd server.
This library is purely an interface to the HTTP api.
If you are looking for a good Datadog StatsD library, you can check out node-dogstatsd. Or the more adopted hot-shots supporting both StatsD and DogStatsD
npm install datadog-clientYou will need your Datadog api key as well as an application key to use dogapi.
🔐 Keys can be found at: https://app.datadoghq.com/account/settings#api
const dogapi = require('dogapi');
const options = {api_key: "YOUR_KEY_HERE", app_key: "YOUR_KEY_HERE"};
dogapi.initialize(options);If you are behind a proxy you need to a proxy agent. You can use the https proxy agent from http://blog.vanamco.com/proxy-requests-in-node-js/ if you like. To configure dogapi with the agent just add it to the options.
const dogapi = require('dogapi');
//Code from http://blog.vanamco.com/proxy-requests-in-node-js/
const HttpsProxyAgent = require('./httpsproxyagent');
const options = {
api_key: 'YOUR_KEY_HERE',
app_key: 'YOUR_KEY_HERE',
proxy_agent: new HttpsProxyAgent({
proxyHost: "MY_PROXY_HOST",
proxyPort: 3128
})
};
dogapi.initialize(options);dogapi now ships with a command line interface dogapi (or datadog-cli).
To use it you will need a .dogapirc file which meets the standards of https://github.com/dominictarr/rc
The config file must contain both api_key and app_key keys (you can find your datadog api and app keys here:
https://app.datadoghq.com/account/settings#api
Example:
{
"api_key": "<API_KEY>",
"app_key": "<APP_KEY>"
}Please run dogapi --help to see current usage documentation for the tool.
Every api method available in dogapi is exposed via the cli tool.
Al major improvements and eventuals breaking changes are TO BE DESCRIBED HERE
We have updated major versions for this library due to a backwards incompatible change to the argument format for dogapi.metric.send and dogapi.metric.send_all.
Previously in 1.x.x:
dogapi.metric.send('metric.name', 50);
dogapi.metric.send('metric.name', [datatog.now(), 50]);Now in 2.x.x:
dogapi.metric.send('metric.name', 50);
dogapi.metric.send('metric.name', [50, 100]);
dogapi.metric.send('metric.name', [[datadog.now(), 50]]);Previously in 1.x.x:
const metrics = [
{metric: 'metric.name', points: [datadog.now(), 50]},
{metric: 'metric.name', points: 50}
];
dogapi.metric.send_all(metrics);Now in 2.x.x:
const metrics = [
{metric: 'metric.name', points: [[datadog.now(), 50]]},
{metric: 'metric.name', points: [50, 100]},
{metric: 'metric.name', points: 50}
];
dogapi.metric.send_all(metrics);