prometheus的搭建部署

于今腐草无萤火,终古垂杨有暮鸦。这篇文章主要讲述prometheus的搭建部署相关的知识,希望能为你提供帮助。
环境准备:1 centos7.0
2.安装需要用到的插件(官网下载)
??https://prometheus.io/download/??

  1. prometheus-2.32.1.linux-amd64.tar.gz服务端组件
  2. node_exporter-1.3.1.linux-amd64.tar.gz监控端组件
  3. grafana-enterprise-8.3.3-1.x86_64.rpm图形界面组件
  4. alertmanager-0.23.0.linux-amd64.tar.gz告警管理组件
3.?我一般讲这些文件放到/opt下,部署一般都是弄到/usr/local
4 解压缩安装包,放到/usr/local
tar -zxvf    prometheus-2.32.1.linux-amd64.tar.gz -C /usr/local
5  修改文件夹名称
mv prometheus-2.32.1.linux-amd64 prometheus
6 修改prometheus.yml配置文件
    默认配置文件说明:
默认prometheus配置文件[root@node00 prometheus]# cat prometheus.yml.default
# my global config
global:
scrape_interval:15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).


# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093告警端服务


# Load rules once and periodically evaluate them according to the global evaluation_interval.
rule_files:
# - "first_rules.yml"自定义规则服务
# - "second_rules.yml"


# A scrape configuration containing exactly one endpoint to scrape:
# Here its 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


# metrics_path defaults to /metrics
# scheme defaults to http.
static_configs:
- targets: [localhost:9090]节点配置文件


  • global: 此片段指定的是prometheus的全局配置, 比如采集间隔,抓取超时时间等。
  • rule_files: 此片段指定报警规则文件, prometheus根据这些规则信息,会推送报警信息到alertmanager中。
  • scrape_configs: 此片段指定抓取配置,prometheus的数据采集通过此片段配置。
  • alerting: 此片段指定报警配置, 这里主要是指定prometheus将报警规则推送到指定的alertmanager实例地址。
  • remote_write: 指定后端的存储的写入api地址。
  • remote_read: 指定后端的存储的读取api地址。
 
7.设置prometheus用户
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus
8.给prometheus用户赋权
cd ~
chown -R prometheus:prometheus /usr/local/prometheus/
9.创建prometheus运行数据目录
mkdir -p /var/lib/prometheus
chown -R prometheus:prometheus /var/lib/prometheus/
10.设置开机启动
touch /usr/lib/systemd/system/prometheus.service
chown prometheus:prometheus /usr/lib/systemd/system/prometheus.service
11 修改prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
[Service]
Type设置为notify时,服务会不断重启【prometheus的搭建部署】Type=simple
User=prometheus

--storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/Prometheus --web.listen-address=:9090
Restart=on-failure
[Install]
WantedBy=multi-user.target
注意:默认端口可以修改,可以用以下命令启动
./prometheus --config.file=prometheus.yml --web.listen-address=:10001 &
12.检查配置文件是否有问题
./promtool check config prometheus.yml用来检查yml配置文件问题
13 启动服务systemctl enable prometheus
systemctl start prometheus
systemctl status Prometheus
14 ??http://localhost:9090/graph??默认打开prometheus界面


点击Status> Targets,可以看到若干个配置好的job node,也就是之前在prometheus.yml配置文件中,配置好的需要监控的节点。当State为"UP"时,表示已连接并获取其监控指标,为"DOWN"时则需要根据Error来排查错误原因。





    推荐阅读