prometheus的搭建部署
Posted chenxin23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了prometheus的搭建部署相关的知识,希望对你有一定的参考价值。
环境准备:1 centos7.0
2.安装需要用到的插件(官网下载)
https://prometheus.io/download/
- prometheus-2.32.1.linux-amd64.tar.gz 服务端组件
- node_exporter-1.3.1.linux-amd64.tar.gz 监控端组件
- grafana-enterprise-8.3.3-1.x86_64.rpm 图形界面组件
- 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地址。
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时,服务会不断重启
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来排查错误原因。
以上是关于prometheus的搭建部署的主要内容,如果未能解决你的问题,请参考以下文章
基于Prometheus+Grafana搭建监控平台(Windows/Linux环境exporter部署)
Kubernetes第七篇:使用kubernetes部署prometheus+grafana监控系统(Kubernetes工作实践类)
Kubernetes第七篇:使用kubernetes部署prometheus+grafana监控系统(Kubernetes工作实践类)
Kubernetes_08_使用kubernetes部署prometheus+grafana监控系统(Kubernetes工作实践类)