Datadog API Node.JS Client 🐕
- Official Datadog API Documentation: http://docs.datadoghq.com/api/
- This fork
datadog-client
API Docs: https://omni-tools.github.io/node-datadog-client/ - Original
dogapi
API 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-client
You 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);