Prometheus的简单配置,如下:
global:
scrape_interval: 15s //每15秒拉去一次数据
scrape_timeout: 10s
evaluation_interval: 15s
scrape_configs:
- job_name: my-test
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /actuator/prometheus
scheme: http
static_configs:
- targets:
- XXXXXXX:40031
- job_name: my-pro
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /actuator/prometheus
scheme: http
static_configs:
- targets:
- XXXXXX:8888
- XXXXX:8888
global的配置会应用到每个job中,但是可以被job覆盖
1. 查询服务器各接口的QPS
sum(rate(http_server_requests_seconds_count{job="presell-pro", uri="/helloWorld"}[5m])) by (uri)
- job: 在Prometheus中定义的对用的
job_name
- uri: 是接口名,可能每个应用会不一样,这里表示对
helloWorld
接口每5分钟统计QPS - rate: Prometheus中的一个函数,计算QPS
- sum: sum的作用做要是当你有多台服务器时(上面的配置中我就配了两台服务器,对应
targets
的两个IP),可以对多台服务器进行累加
2. 其他
2.1 Prometheus支持正则
正则的匹配符号:!~
去除匹配的内容,=~
只保留匹配的内容。例如,你可以对uri进行正则匹配:
- 匹配以
/helloWorld
开头的uri
http_server_requests_seconds_count{job="presell-pro", uri=~"/helloWorld.*"}
- 匹配不以
/helloWorld
开头的uri
http_server_requests_seconds_count{job="presell-pro", uri!~"/helloWorld.*"}
2.2 Prometheus内置非常多的函数,具体请查看官方文档
2.3 Prometheus搭配Grafana更好用
Grafana是一个非常强大的可视化软件。使用起来也非常简单。具体请参阅官方文档。
网友评论