counter是测控中会频繁使用的数据类型,它记录的是事件的数量或者大小,通常用来跟踪某个特定代码路径被执行的频率。
1.定义一个暴露prometheus指标的示例,并记录hello world程序被请求了多少次
[root@master-prom scripts]# cat 1.py
#!/usr/bin/python3
import http.server
from prometheus_client import start_http_server,Counter
REQUESTS = Counter('hello_worlds_total',
'Hello Worlds requested.')
class MyHandler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
REQUESTS.inc()
self.send_response(200)
self.end_headers()
self.wfile.write(b"Hello World")
if __name__ == "__main__":
start_http_server(8000)
server = http.server.HTTPServer(('localhost',8001),MyHandler)
server.serve_forever()
2.访问网址
可以看到hello_worlds_total的请求数
3.查看prometheus主页,可以看到多了hello_worlds_total指标
运用rate(hello_worlds_total[1m])查看每秒钟产生了多少次hello world的请求