GHfan

pm25,关爱老大

  •  
  •   GHfan · Dec 22, 2015 · 5831 views
    This topic created in 3974 days ago, the information mentioned may be changed or developed.

    屁大点儿事儿来一发

    第一次发主题,小激动。

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

    Supplement 1  ·  Dec 22, 2015

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


    16 replies  •  2015-12-25 12:45:27 +08:00
    GHfan
    GHfan
    OP
    Dec 22, 2015
    1
    果然一点都不好玩。。
    loserwn
    loserwn
    Dec 22, 2015
    2
    好东西,实验了一下,确实不错。赞!
    aksoft
    aksoft
    Dec 22, 2015
    3
    这个。。。飞信有提示。。
    GHfan
    GHfan
    OP
    Dec 23, 2015
    4
    @aksoft ⊙﹏⊙
    sichuyoudang312
    sichuyoudang312
    Dec 23, 2015
    5
    只有北京的一路飘高,哎
    msxcms
    msxcms
    Dec 23, 2015
    6
    @sichuyoudang312 河北 1000 多,被你吃了? 233
    tvvo
    tvvo
    Dec 23, 2015
    7
    感觉工作量不饱和啊~
    GHfan
    GHfan
    OP
    Dec 23, 2015
    8
    @tvvo 哈哈哈,还算饱和
    tflz514
    tflz514
    Dec 23, 2015
    9
    ( • ̀ω•́ )
    wgp379
    wgp379
    Dec 23, 2015
    10
    求监控我大邯郸~
    GHfan
    GHfan
    OP
    Dec 23, 2015
    11
    @wgp379 - -,你自己拿那个 api 玩吧。。
    liubin
    liubin
    Dec 23, 2015
    12
    最后那个设备是什么? pebble ?
    GHfan
    GHfan
    OP
    Dec 23, 2015
    13
    @liubin 是 pebble ~
    killpanda
    killpanda
    Dec 23, 2015
    14
    被你们玩坏了...
    shushuo
    shushuo
    Dec 25, 2015
    15
    其实还能这么玩
    http://air.baobiao.io/
    GHfan
    GHfan
    OP
    Dec 25, 2015
    16
    @shushuo 赞,这个界面好漂亮
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   525 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 19:57 · PVG 03:57 · LAX 11:57 · JFK 14:57
    ♥ Do have faith in what you're doing.