使用python测试prometheus的实现

 更新时间:2022年02月09日 10:16:29   作者:quietguoguo  
本文主要介绍了使用python测试prometheus的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

为了更直观的了解prometheus如何工作,本文使用prometheus的python库来做一些相应的测试。

python库的github地址是https://github.com/prometheus

根据提示,使用pip安装prometheus_client

pip3 install prometheus_client

然后根据文档中的示例文件并简单修改,运行一个client

文件命名为prometheus_python_client.py

from prometheus_client import start_http_server, Summary
import random
import time
import sys

# Create a metric to track time spent and requests made.
REQUEST_TIME = Summary ('request_processing_seconds', 'Time spent processing request')


# Decorate function with metric.
@REQUEST_TIME.time ( )
def process_request(t):
    """A dummy function that takes some time."""
    time.sleep (t)


if __name__ == '__main__':
    try:
        if sys.argv[1].isdigit():
            port = sys.argv[1]
        else:
            port = 8080
    except:
        port = 8080

    # Start up the server to expose the metrics.
    start_http_server (8080)
    # Generate some requests.
    while True:
        process_request (random.random ( ))

在后台运行client

pytho3 prometheus_python_client.py 8080 &

此时可以访问本机的8080端口,可以看到相应的metric

curl 127.0.0.1:8080/metrics

得到如图所示结果

为了能监控到这个端口为8080的目标,需要在prometheus的配置文件prometheus.yml进行一些修改

在scrape_configs块部分加上一个新的job

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
      - targets: ["localhost:9090"]
  - job_name: 'python-client'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:8080']
        labels:
          group: 'python-client-group'

重启prometheus,并访问其web页面,在Expression中输入一个python client的metric并执行

可以看到对应的结果正如在scrape_configs中所配置的相一致。

到此这篇关于使用python测试prometheus的实现的文章就介绍到这了,更多相关python测试prometheus内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 手把手教你如何安装Pycharm(详细图文教程)

    手把手教你如何安装Pycharm(详细图文教程)

    这篇文章主要介绍了手把手教你如何安装Pycharm(详细图文教程),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Pandas实现重命名列的4种方法

    Pandas实现重命名列的4种方法

    学习重命名列是数据清洗的第一步,而数据清洗是数据分析的核心部分,本文主要介绍了Pandas实现重命名列的4种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例

    Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例

    这篇文章主要介绍了Python cookbook(数据结构与算法)通过公共键对字典列表排序算法,结合实例形式分析了Python基于operator模块中的itemgetter()函数对字典进行排序的相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Python实现8个概率分布公式的方法详解

    Python实现8个概率分布公式的方法详解

    在本文中,我们将介绍一些常见的分布(均匀分布、高斯分布、对数正态分布等)并通过Python代码进行可视化以直观地显示它们,感兴趣的可以学习一下
    2022-05-05
  • python sys模块使用方法介绍

    python sys模块使用方法介绍

    sys模块是最常用的和python解释器交互的模块,sys模块可供访问由解释器(interpreter)使用或维护的变量和与解释器进行交互的函数,需要的朋友可以参考下
    2022-08-08
  • Python的json模块中json.load()和json.loads()的区别

    Python的json模块中json.load()和json.loads()的区别

    这篇文章主要介绍了Python的json模块中json.load()和json.loads()的区别,json.load用于从一个文件对象中读取JSON数据并将其解析为Python对象,而json.loads用于解析一个JSON格式的字符串并将其转换为Python对象,根据你的具体需求选择使用哪个方法,需要的朋友可以参考下
    2024-12-12
  • Windows下python2.7.8安装图文教程

    Windows下python2.7.8安装图文教程

    这篇文章主要为大家详细介绍了Windows下python2.7.8安装图文教程,在安装过程中出现“python不是内部或外部命令”提示的解决方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 基于Python+Tkinter实现音乐播放器

    基于Python+Tkinter实现音乐播放器

    Tkinter 是 Python 中用于创建图形用户界面 (GUI) 的标准库之一,它是一个简单而强大的工具,适用于创建各种类型的窗口应用程序,本文给大家介绍了如何基于Python+Tkinter实现音乐播放器,需要的朋友可以参考下
    2025-03-03
  • Python作用域与名字空间原理详解

    Python作用域与名字空间原理详解

    这篇文章主要介绍了python作用域与名字空间原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python fileinput模块使用实例

    Python fileinput模块使用实例

    这篇文章主要介绍了Python fileinput模块使用实例,本文讲解了典型用法、基本格式、默认格式、常用函数和常见例子等内容,需要的朋友可以参考下
    2015-06-06

最新评论