api_key = '' service_name = '' metric_name = '' import requests import json import datetime import pprint headers = { 'X-Api-Key': api_key, } payload = { 'name': metric_name, 'from': datetime.datetime.now().timestamp() - 60*60*24*30, 'to': datetime.datetime.now().timestamp(), } r = requests.get(f"https://api.mackerelio.com/api/v0/services/{service_name}/metrics", headers=headers, params=payload, ) pprint.pprint(json.loads(r.text))
Mackerel API からサービスメトリクス名の一覧を取得する - @kyanny's blog と合わせて複数のサービスメトリクスの値を一度に取得する場合は以下のようにする。
api_key = '' service_name = '' import requests import json import datetime import pprint headers = { 'X-Api-Key': api_key, } r = requests.get(f"https://api.mackerelio.com/api/v0/services/{service_name}/metric-names", headers=headers, ) metric_names = json.loads(r.text)['names'] for metric_name in metric_names: payload = { 'name': metric_name, 'from': datetime.datetime.now().timestamp() - 60*60*24*30, 'to': datetime.datetime.now().timestamp(), } r = requests.get(f"https://api.mackerelio.com/api/v0/services/{service_name}/metrics", headers=headers, params=payload, ) pprint.pprint(json.loads(r.text))