Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Ambari Metrics Collector API not return latest metrics

avatar
Explorer

Hello,

I've set up a AMS API call to retrieve Yarn matrix on a minute basis. I tried to add startTime/endTime in my query. Even though I found the metrics returned are not reflecting the latest time stamp, and data is kind of stale. Is there a way I can configure my query so that it can always catch the latest state of the metrics?

Example of my tests:

curl 'http://myhost:6188/ws/v1/timeline/metrics?metricNames=[metricsname]&appId=resourcemanager&startTime=1486410484&endTime=1486410784&precision=SECONDS'

In the return below, I want to see at least the endTime epoch or endTime - 1min epoch, but sometimes it can't get this far.

{u'metrics': [{u'metrics': {u'1486410630000': 0.0, u'1486410570000': 0.0, u'1486410540000': 0.0, u'1486410600000': 0.0, u'1486410510000': 0.0}, u'timestamp': 1486410510000, u'appid': u'resourcemanager', u'starttime': 1486410510000, u'metricname': u'metricsname'}]}

Thanks for the help!

1 ACCEPTED SOLUTION

avatar
Super Collaborator

When a hostname is not specified, AMS returns data aggregated across all hosts/appId that send this metric. The aggregation happens every 2 mins, creating 4 x 30 second aggregates per iteration.

Add the following query parameter to your curl URL.

&hostname=<resourcemanager_host>

This should return most recent data.

View solution in original post

2 REPLIES 2

avatar
Super Collaborator

When a hostname is not specified, AMS returns data aggregated across all hosts/appId that send this metric. The aggregation happens every 2 mins, creating 4 x 30 second aggregates per iteration.

Add the following query parameter to your curl URL.

&hostname=<resourcemanager_host>

This should return most recent data.

avatar
Explorer

Thanks @Aravindan Vijayan for the information. This works.