安装
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
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于