一、前言
Prometheus 是一个开源的系统监控和警报工具,用于收集、存储和查询时间序列数据。它旨在提供高效的多维数据收集和查询功能,帮助用户监控其应用程序和基础设施的性能,并在出现问题时触发警报,总来得说prometheus是用来收集监控的信息,并配置告警规则,但是要想实现报警提示 还得需要其它组件的配合,grafana用来展示prometheus收集的数据,alertmanager用来实现告警信息的发送,prometheus是通过部署收集信息的监控服务在被监控主机上,然后prometheus通过这些收集信息服务的端口获取监控到的数据,Prometheus收集监控数据的服务有很多,例如node_exporter、mysqld_exporter、kube-state-metrics等,可以根据自己的需求去下载部署
二、部署
这里使用二进制的方式部署,下载prometheus的安装包
下载地址:Download | Prometheus
我这里下载的是 2.46.0版本,下载后放到部署的主机上
创建prometheus目录,并将安装包放进来
mkdir /opt/prometheus & cd /opt/prometheus
tar -zxvf prometheus-2.46.0.linux-amd64.tar.gz
mv prometheus-2.46.0.linux-amd64 prometheus
cd prometheus && ls
配置prometheus的配置文件
vi prometheus.yml
global:
scrape_interval: 15s #指定Prometheus 每隔 15 秒抓取一次目标实例的指标数据,15秒是默认值,可以根据需求变更
evaluation_interval: 15s #指定Prometheus 每隔 15 秒对规则进行一次评估,用于触发告警,15秒是默认值,可以根据需求变更
alerting: #配置告警信息发送工具,Prometheus触发的告警信息会发送到alertmanager上处理
alertmanagers:
- static_configs:
- targets: #这里先暂时不用配置,需要使用在配置
# - 10.1.60.118:9093
rule_files: #配置告警规则文件路径,Prometheus 规则文件通常包含告警规则的定义
- "/opt/prometheus/prometheus/rule/*.yml"
scrape_configs: #配置收集数据服务的地址和端口
- job_name: "prometheus" #定义该收集器的名称
static_configs:
- targets: ["localhost:9090"] #配置prometheus数据收集服务地址和端口,metrics路径不用填,默认是自动补上去的
配置使用系统管理Prometheus服务
vi /usr/lib/systemd/system/prometheus.serivce
[Unit]
Description=Prometheus #服务的名称
After=network.target
[Service]
ExecStart=/opt/prometheus/prometheus/prometheus --config.file=/opt/prometheus/prometheus/prometheus.yml #配置prometheus的启动命令
User=root #使用root用户
[Install]
WantedBy=multi-user.target
配置开机启动
systemctl enable prometheus
systemctl start prometheus
查看prometheus端口是否正常
netstat -tlpn
访问prometheus web,查看配置的监控数据收集是否生效
http://10.1.60.118:9090
可以看到Prometheus可以正常获取到自身的监控数据,每个数据收集服务的监控数据路径都是地址+端口+metrics路径
也可以查看一下prometheus的数据收集情况
http://10.1.60.118:9090/metrics