You can use this module in your project...
npm install gcmetrics
In the auth method, it will save the related token information in "/tmp" path.
var metric = require('gmetrics')
metric.init({
scope: 'https://www.googleapis.com/auth/monitoring',
client_email: "your-service-account-email",
key_pem: "your-pem-file-path"
});
metric.createMetricDescriptor(project, metric_name, null, function(err, req, doc){
if(err) console.log('ERROR:', e);
console.log(doc);
});
var id = process.argv[3];
var labelscfg = [{
"key": "custom.cloudmonitoring.googleapis.com/" + id,
"description": "A store ID."
},{
"key": "custom.cloudmonitoring.googleapis.com/test" ,
"description": "A test ID."
}]
metric.createMetricDescriptor(project, metric_name, labelscfg, function(err, req, doc){
if(err) console.log('ERROR:', e);
console.log(doc);
});
metric.writeTimeSeries(metric_name, value);
metric.writeTimeSeries(
project_id,
metric_name,
value,
{"custom.cloudmonitoring.googleapis.com/" + metricid : catelogid},
null,
null,
function(err, req, doc){
if(err) console.log('ERROR:', err);
console.log(doc);
});
You can also get the metric data that already input.
var opts = {"youngest":"2015-6-22 23:18","oldest":"2015-6-22 23:15"}; //option
metric.getMetric(project_id,
metric_name,
opts ? opts : null,
function(err, req, doc){
if(err) console.log('ERROR:', err);
console.log(doc);
});
metric.deleteMetric(project_id , metric_name, function(err, req, doc){
if(err) console.log('ERROR:', err);
console.log(doc);
});