安装
docker 版本
查询
docker search prometheus NAME DESCRIPTION STARS OFFICIAL AUTOMATED prom/prometheus 357 [OK] basi/prometheus-swarm A sample image that can be used as a base ... 6 [OK]
下载
docker pull prom/prometheus
启动
默认参数启动
docker run -p 9090:9090 --name prometheus prom/prometheus
自定义参数启动
编译默认配置文件
global: scrape_interval: 15s # By default, scrape targets every 15 seconds. # Attach these labels to any time series or alerts when communicating with # external systems (federation, remote storage, Alertmanager). external_labels: monitor: 'codelab-monitor' # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # Override the global default and scrape targets from this job every 5 seconds. scrape_interval: 5s static_configs: - targets: ['localhost:9090']
使用指定配置文件启动
docker run -p 9090:9090 --log-driver none -v /path/to/prometheus/etc/:/etc/prometheus/ -v /path/to/prometheus/data/:/prometheus/ -v /etc/localtime:/etc/localtime --name prometheus prom/prometheus
完整配置项见这里的文档.
非 docker 版本
主要参考自官方新手入门文档
- 下载
-
安装
-
启动
./prometheus --config.file=prometheus.yml
内置界面
其默认主页为
http://localhost:9090
metrics 信息
http://localhost:9090/metrics
可以看到收集到的数据的 metrics 信息
例如 prometheus_target_interval_length_seconds
为主动回收数据间隔时间.
自定义图表
http://localhost:9090/graph
可以自定义图表
示例:
- 主动回收数据时间
prometheus_target_interval_length_seconds
-
99% 的主动回收数据时间
prometheus_target_interval_length_seconds{quantile="0.99"}
-
回收次数
count(prometheus_target_interval_length_seconds)
数据回收
产生随机示例数据
# Fetch the client library code and compile example. git clone https://github.com/prometheus/client_golang.git cd client_golang/examples/random go get -d go build # Start 3 example targets in separate terminals: ./random -listen-address=:8080 ./random -listen-address=:8081 ./random -listen-address=:8082
可以在 http://localhost:8080/metrics, http://localhost:8081/metrics, 和 http://localhost:8082/metrics 中看到对应的 metrics 数据.
配置 Prometheus 来监控示例数据
我们将把这三个端点(endpoint)的数据进行采集,前两个端点进入分组 production
中,后一个端点进入分组 canary
中。
修改配置文件
修改 prometheus.yml 文件,增加新的采集任务 example-random
,具体内容如下:
scrape_configs: - job_name: 'example-random' # Override the global default and scrape targets from this job every 5 seconds. scrape_interval: 5s static_configs: - targets: ['localhost:8080', 'localhost:8081'] labels: group: 'production' - targets: ['localhost:8082'] labels: group: 'canary'
监控数据的二次处理
略,见 Configure rules for aggregating scraped data into new time series
其它
Push Gateway
Grafana
见 Grafana
FAQ
- 默认路径为 http://localhost:9090,如何设置相对路径,比如为 http://localhost:9090/prometheus
启动时增加参数
./prometheus --web.external-url=http://localhost:9090/prometheus
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于