通过python开发自定义exporter

导读:本篇文章讲解 通过python开发自定义exporter,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.环境准备

python依赖下载
链接:https://pan.baidu.com/s/1-xVH5yGS-GTp6QpSBS6qGA
提取码:8gx7

pip install prometheus_client-0.12.0-py2.py3-none-any.whl

2、exporter.py脚本编写

# -*- coding:utf-8 -*-

import time
import commands
import os
import sys
from prometheus_client import Gauge
from prometheus_client import start_http_server
reload(sys)
sys.setdefaultencoding('utf-8')

g = Gauge('HLY_custom_test_metric', 'Description of gauge', ['itemkey'])

def get_shell_valve():
    commands.getoutput('bash  /data1/hjj/test.sh') #多个脚本执行的结果输出到一个文件b.txt中(第一列为key值,第二列为数据)
    



def del_valvue():
    commands.getoutput('1>/data1/hjj/b.txt 2>&1')##为下一次得到最新数据,需要在本次清空文本内容

if __name__ == '__main__':
    start_http_server(8006)  # 8006端口启动
    while True:
        get_shell_valve()


        ff = open("/data1/hjj/b.txt","r")
        ffs = ff.readlines()
        for lines in ffs:
            if lines:
                line = lines.split()
                itemkey = line[0]
                valve = line[1]
                g.labels(itemkey).set(valve)
        ff.close()


 	time.sleep(10)     #每10秒执行一次
        del_valvue()

上述脚本中文件及shell脚本的解释
在这里插入图片描述

3、启动脚本

nohup python /data1/hjj/exporter.py &

4、打开页面验证

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/75696.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!