pm25,关爱老大 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GHfan
V2EX    分享发现

pm25,关爱老大

  •  
  •   GHfan 2015-12-22 16:51:24 +08:00 5033 次点击
    这是一个创建于 3639 天前的主题,其中的信息可能已经有所发展或是发生改变。

    屁大点儿事儿来一发

    第一次发主题,小激动。

    最近在用 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 不能传图么。。。

    第 1 条附言    2015-12-22 18:00:39 +08:00

    补两张图, 今天雾霾好严重


    16 条回复    2015-12-25 12:45:27 +08:00
    GHfan
        1
    GHfan  
    OP
       2015-12-22 17:14:21 +08:00
    果然一点都不好玩。。
    loserwn
        2
    loserwn  
       2015-12-22 17:38:27 +08:00
    好东西,实验了一下,确实不错。赞!
    aksoft
        3
    aksoft  
       2015-12-22 22:51:50 +08:00
    这个。。。飞信有提示。。
    GHfan
        4
    GHfan  
    OP
       2015-12-23 09:36:06 +08:00
    @aksoft ⊙⊙
    sichuyoudang312
        5
    sichuyoudang312  
       2015-12-23 12:58:19 +08:00
    只有北京的一路飘高,哎
    table cellpadding="0" cellspacing="0" border="0" width="100%"> msxcms
        6
    msxcms  
       2015-12-23 13:06:05 +08:00
    @sichuyoudang312 河北 1000 多,被你吃了? 233
    tvvo
        7
    tvvo  
       2015-12-23 13:17:35 +08:00
    感觉工作量不饱和啊~
    GHfan
        8
    GHfan  
    OP
       2015-12-23 13:19:15 +08:00
    @tvvo 哈哈哈,还算饱和
    tflz514
        9
    tflz514  
       2015-12-23 13:22:49 +08:00
    ( ω )
    wgp379
        10
    wgp379  
       2015-12-23 13:24:40 +08:00
    求监控我大邯郸~
    GHfan
        11
    GHfan  
    OP
       2015-12-23 13:46:18 +08:00
    @wgp379 - -,你自己拿那个 api 玩吧。。
    liubin
        12
    liubin  
       2015-12-23 13:49:13 +08:00
    最后那个设备是什么? pebble ?
    /tr>
    GHfan
        13
    GHfan  
    OP
       2015-12-23 13:51:27 +08:00
    @liubin 是 pebble ~
    killpanda
        14
    killpanda  
       2015-12-23 16:10:57 +08:00
    被你们玩坏了...
    shushuo
        15
    shushuo  
       2015-12-25 10:39:02 +08:00
    其实还能这么玩
    http://air.baobiao.io/
    GHfan
        16
    GHfan  
    OP
       2015-12-25 12:45:27 +08:00
    @shushuo 赞,这个界面好漂亮
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3183 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:42 PVG 19:42 LAX 03:42 JFK 06:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86