码迷,mamicode.com
首页 > 编程语言 > 详细

将文本序列映射到python字典push至open-falcon监控平台

时间:2016-06-07 11:20:17      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:文本->字典;open-falcon

1. 安装python2.7需要的模块

    requests

    setuptools

2. 准备数据源文本,格式如下:

   apay_fail:87

   bpay_fail:432

   coty_fail:266

   dfund_fail:33

   fpay_fail:61

   ...

3. 代码解释

name:push.py

#!/usr/bin/python27
#-*-coding:utf8-*-
import requests
import time
import json

ts = int(time.time())
resultlog = ‘/home/work/monitor/logs/result.log‘

#文本转为字典格式的函数
def load_source_dictfile(filename):
    d1 = {}
    try:
        with open(filename,‘r‘) as f1:  
            for line in f1:  
                (key,value) = line.strip(‘\n‘).split(‘:‘) #去掉结尾符‘\n‘,以":"分割字串
                d1[key] = float(value)   #左为key,右为value,更新字典的d1
            f1.close()    #记得最后关闭文件
            return d1   #将d1作为函数返回值
    except IOError as ioerr:
        print "文件 %s 无法创建" % (filename)

result=load_source_dictfile(resultlog)
print result

#遍历字典,通过变量解包分离key和value
for k,v in result.items():
    payss = [
        {
            "endpoint":"testpointzcy",
            "metric":"paygz",
            "timestamp":ts,
            "step":60,
            "value":v,
            "counterType":"GAUGE",
            "tags":"paygz=" + k,
        }
    ]
    r = requests.post("http://127.0.0.1:1988/v1/push", data=json.dumps(payss))
    print r.text

4. 执行结果

{apay_fail‘: 87.0, ‘bpay_fail‘: 432.0, ‘coty_fail‘: 266.0, ‘dfund_fail‘: 33.0, ‘fpay_fail‘: 61.0,...}

success

...

本文出自 “Zcy.gy” 博客,请务必保留此出处http://1064187464.blog.51cto.com/9108437/1786762

将文本序列映射到python字典push至open-falcon监控平台

标签:文本->字典;open-falcon

原文地址:http://1064187464.blog.51cto.com/9108437/1786762

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!