1.prometheus部署
- 官网下载地址:https://prometheus.io/download/
//1.解压并创建文件路径
[root@jumpserver x]# tar -zxvf prometheus-2.13.1.linux-amd64.tar.gz
[root@docker-3 src]# mv prometheus-2.13.1.linux-amd64 /usr/local/prometheus-2.13.1
[root@docker-3 src]# ln -s /usr/local/prometheus-2.13.1/ /usr/local/prometheus
[root@docker-3 src]#mkdir /usr/local/prometheus/data
//2.添加到系统服务
[root@jumpserver x]# vi /usr/lib/systemd/system/prometheus.service
[Unit]
Description=https://prometheus.io
[Service]
Restart=on-failure
ExecStart=/usr/local/prometheus/prometheus \
--storage.tsdb.path=/usr/local/prometheus/data \
--config.file=/usr/local/prometheus/prometheus.yml
[Install]
WantedBy=multi-user.target
//3.启动
root@docker-3 prometheus]# cp prometheus.yml prometheus.yml.bak
[root@jumpserver x]# systemctl start prometheus
//4.访问测试
http://ip:9090/
2.Prometheus 配置文件介绍
- global: 此片段指定的是 prometheus 的全局配置, 比如采集间隔,抓取超时时间等。
# How frequently to scrape targets by default. [ scrape_interval: <duration> | default = 1m ] # 抓取间隔
# How long until a scrape request times out. [ scrape_timeout: <duration> | default = 10s ] # 抓取超时时间
# How frequently to evaluate rules. [ evaluation_interval: <duration> | default = 1m ] # 评估规则间隔
- rule_files: 此片段指定报警规则文件, prometheus 根据这些规则信息,会推送报警信息到alertmanager 中。
- scrape_configs: 此片段指定抓取配置,prometheus 的数据采集通过此片段配置。
一个 scrape_config 片段指定一组目标和参数, 目标就是实例,指定采集的端点, 参数描述如何采集这些实例, 主要参数如下:
scrape_interval: 抓取间隔,默认继承 global 值。
scrape_timeout: 抓取超时时间,默认继承 global 值。
metric_path: 抓取路径, 默认是/metrics *_sd_configs: 指定服务发现配置
static_configs: 静态指定服务 job。
relabel_config: relabel
- alerting: 此片段指定报警配置, 这里主要是指定 prometheus 将报警规则推送到指定的
- alertmanager 实例地址。
- remote_write: 指定后端的存储的写入 api 地址。
- remote_read: 指定后端的存储的读取 api
3.告警模块 alertermanager 部署
[root@docker-3 src]# tar xf alertmanager-0.20.0.linux-amd64.tar.gz
[root@docker-3 src]# mv alertmanager-0.20.0.linux-amd64 /usr/local/alertmanager-0.20
[root@docker-3 src]# ln -s /usr/local/alertmanager-0.20/ /usr/local/alertmanager
[root@docker-3 prometheus]# cat /usr/lib/systemd/system/alertmanager.service
[Unit]
Description=alertmanager System
Documentation=alertmanager System
[Service]
ExecStart=/usr/local/alertmanager/alertmanager \
--config.file=/usr/local/alertmanager/alertmanager.yml
[Install]
WantedBy=multi-user.target
[root@docker-3 alertmanager]# cp alertmanager.yml alertmanager.yml.bak
检查语法
[root@docker-3 alertmanager]# ./amtool check-config alertmanager.yml
启动
systemctl start alertmanager
systemctl enable alertmanager
默认端口号9093,浏览器可以直接访问