# 屁大点儿事儿来一发
第一次发主题,小激动。
最近在用 cloud insight, 刚好看到 sdk 发布了,就试了试。我想说,提供 api 的服务才是好服务嘛,虽然这个 api 做的略简单了点(只能用在装有他们探针的机器上)。。。默认抓取的指标好多,但是好多指标都不懂是啥意思呢,呵呵呵呵呵 - - 。
不过够我玩玩了,那就是把 pm2.5 的数据发上来。。。 别喷,我就是试试 sdk 能干嘛而已。。想想当老大收到 pm25 的提醒,那感动的表情~
`pip install -i
http://pypi.oneapm.com/simple --upgrade oneapm-ci-sdk` 这就安装好了
简单用 ipython 看了看接口文档, gauge 是主要的发数据的接口,好像 increment 也可以,但是不懂是搞啥的,貌似数据类型不一样。
## 正事儿
找 pm2.5 的 api 还略郁闷,本以为网上一堆开放 api ,结果发现国内好几个网站使用的都是
http://www.pm25.in 的 api ,但是这个需要注册,还不是立刻就能用,到现在还没邮件给我 token 。。。
我就想只要一个数字而已啊总不至于去爬网页吧。。。又扒了扒拉,在 aqicn 的写的介绍小控件的文章
http://aqicn.org/faq/2015-07-28/air-quality-widget-new-improved-feed/ 这里找到一个他自己的小部件的请求的地址
http://feed.aqicn.org/feed/beijing/en/feed.v1.js, 换成 .json 竟然就是请求 json 了哈哈哈。 ok ,可以发了。
```
import requests
from oneapm_ci_sdk import statsd
PM25_API_URL = "
http://feed.aqicn.org/feed/%s/en/feed.v1.json"
def get_city_data(city):
try:
res = requests.get(PM25_API_URL % city)
except:
return 0
else:
return res.json()['aqi']['val']
def using_sdk():
statsd.gauge('airquality.beijing.pm25', float(get_city_data('beijing')))
statsd.gauge('airquality.shanghai.pm25', float(get_city_data('shanghai')))
statsd.gauge('airquality.guangzhou.pm25', float(get_city_data('guangzhou')))
statsd.gauge('airquality.xuchang.pm25', float(get_city_data('xuchang'))) # 家里。。
if __name__ == '__main__':
using_sdk()
```
然后跑个定时去发数据,因为这个数据一小时才更新一下。。。。那就一小时跑一下。
然后再搞个报警策略,邮件马上就来了。。。
不看不知道,原来北京今天雾霾好严重。。已飚到 500 ⊙﹏⊙‖∣
然后, V2EX 不能传图么。。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/245413
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.