用python实现的mackerel客户端。
mackerel.client的Python项目详细描述
client是一个访问mackerel(https://mackerel.io/)的python库。
此客户端是从mackerel-client-ruby移植的。
安装
$ pip install mackerel.client
依赖性
mackerel.client使用requests、simplejson和click。
用法
获取主机
frommackerel.clientimportClientclient=Client(mackerel_api_key='<Put your API key')host=client.get_hosts()
获得主机
frommackerel.clientimportClientclient=Client(mackerel_api_key='<Put your API key')host=client.get_host('<hostId>')
更新主机状态
frommackerel.clientimportClientclient=Client(mackerel_api_key='<Put your API key')# Poweroff.self.client.update_host_status('<hostId>','poweroff')# Standby.self.client.update_host_status('<hostId>','standby')# Working.self.client.update_host_status('<hostId>','working')# Maintenance.self.client.update_host_status('<hostId>','maintenance')
退出主机
frommackerel.clientimportClientclient=Client(mackerel_api_key='<Put your API key')self.client.retire_host('<hostId>')
获取最新指标
frommackerel.clientimportClientclient=Client(mackerel_api_key='<Put your API key')# Get hostId A's and hostId B's loadavg5, memory.free value.metrics=self.client.get_latest_metrics(['<hostId A>','<hostId B>'],['loadavg5','memory.free'])
后指标
frommackerel.clientimportClientclient=Client(mackerel_api_key='<Put your API key>')metrics=[{'hostId':'<hostId>','name':'custom.metrics.loadavg','time':1401537844,'value':1.4},{'hostId':'<hostId>','name':'custom.metrics.uptime','time':1401537844,'value':500}]# Post `custom.metrics.loadavg` and `custom.metrics.uptime` to `hostId`.client.post_metrics(metrics)
服务后指标
frommackerel.clientimportClientclient=Client(mackerel_api_key='<Put your API key>')metrics=[{'name':'custom.metrics.latency','time':1401537844,'value':0.5},{'name':'custom.metrics.uptime','time':1401537844,'value':500}]# Post 'custom.metrics.latency' and 'custom.metrics.uptime' to `service_name`.self.client.post_service_metrics('service_name',metrics)
cli
从主机名或服务、角色获取主机信息。
$ mkr.py info [--name foo][--service service][--role role]
设置主机的状态。
$ mkr.py status --host-id foo --status working
使主机退役。
$ mkr.py retire --host-id foo
获取主机的状态。
$ mkr.py status --host-id foo
身份验证
$ exportMACKEREL_APIKEY=foobar