Prometheus和前些时候介绍的Jaeger类似,都可以用来收集程序运行时候的信息,和自由自定义的Jaeger不同,Prometheus提供了若干提交信息的数据结构,虽然方便了使用,但是相应的粒度不如jaeger细。
官方网站:prometheus.io
github地址:github.com/proetheus/client_python 这是python版本的,还有其它语言的client可以使用,本文主体参考该github中的源码以及样例。
和jaeger不同,prometheus下载后直接访问提供prometheus服务的端口即可获取数据,在python中通过库中start_http_server启动服务即可
各个组件(counter、gauge、summary、histogram)在metrics.py中可以找到具体的定义以及支持的操作方法,需要在全局初始化并在需要操作的地方运行对应的方法,部分方法支持作为装饰器使用,这些方法在对应的注释中有明显的声明。
同时如果使用的是python,还会自动附加进程运行时python的版本信息,如果是在linux环境下运行,还会自动加上进程运行时cpu等资源的占用情况。
所以和Jaeger一对比,真的是简单的不行。