Quantcast
Channel: Active questions tagged https - Stack Overflow
Viewing all articles
Browse latest Browse all 1499

Understand Prometheus HTTP API result type

$
0
0

I get a big difference when I invoke HTTP API :

1/ via a bash/curl call

2/ via a nodejs/https GET call

Any help appreciated

Thanks

1/

Here is the invocation via bash+curl :

#!/bin/bashAPIKEY="xxx-xxx"curl https://<server>/prometheus-api/query \-H "x-api-key: $APIKEY" \-H "content-type: application/x-www-form-urlencoded" \--data-urlencode \query='ifHCInOctets{instance="MYROUTER.xxx"} and ifHCInOctets{ifName=~"et-1/1/1"}'

Here is the result : resultType is "vector" and result "value" is a number as string, 16 digits (??help)

$ jq '.' result{"status": "success","data": {"resultType": "vector","result": [      {"metric": {"__name__": "ifHCInOctets","ifAlias": "--- Lien vers ...","ifDescr": "et-1/1/1","ifIndex": "682","ifName": "et-1/1/1","instance": "MYROUTER.xxx","job": "ifmibsnmp"        },"value": [          1725001024.046,"1975177966081341"        ]      }    ]  }}

2/

Now here is the invocation via nodejs+https :

var request = '/prometheus-api/query?query=\"ifHCInOctets{instance=\'MYROUTER.xxx\'} and ifHCInOctets{ifName=~\'et-1/1/1\'}\"'  var erequest = encodeURI(request)  var options = {      host:host,      port: 443,      method: "GET",      path: erequest,      headers: {'x-api-key': 'xxxxx','content-type': 'application/x-www-form-urlencoded',      },      rejectUnauthorized: false,  }  https.get(options,function(resp) {    resp.setEncoding('utf8');    console.log('statusCode',resp.statusCode)    if(resp.statusCode!=200) {      console.log('-----------------')    }    //console.log('headers:', resp.headers);    let data = '';    resp.on('data',function(chunk) {      data += chunk;    });    resp.on('end', () => {      exec.emit('data',data)    });  }).on('error', (err) => {    console.log('Error: '+ err.message);  });

Here is the result when invoked via nodejs+https : resultType is "string" and result[1] is NaN

{ statusCode 200data {  status: 'success',  data: {    resultType: 'string',    result: [      1725001330.179,"ifHCInOctets{instance='MYROUTER.xxx'} and ifHCInOctets{ifName=~'et-1/1/1'}"    ]  }}

Viewing all articles
Browse latest Browse all 1499

Trending Articles