Docker方式
mkdir -p /opt/prometheus/{config,data}
chmod 777 /opt/prometheus/data
cd /opt/prometheus/config
wget -O prometheus.yml http://download.zhufunin.com/prometheus.yml
docker run -d --restart=always --name prometheus -p 9090:9090 -v /opt/prometheus/config:/etc/prometheus -v /opt/prometheus/data:/prometheus prom/prometheus
二进制安装
useradd prometheus -s /sbin/nologin
tar zxvf prometheus-2.14.0.linux-amd64.tar.gz -C /usr/local/
mv prometheus-2.14.0.linux-amd64 /usr/local/prometheus
chown prometheus:prometheus -R /usr/local/prometheus
#加入系统服务
vi /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
After=network.target
[Service]
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus/data
User=prometheus
[Install]
WantedBy=multi-user.target
#开机启动,启动服务
systemctl daemon-reload
systemctl enable prometheus
systemctl start prometheus
image.png
配置文件
prometheus.yml
• global:全局配置
scrape_interval: 15s # 采集数据时间间隔
evaluation_interval: 15s # 评估告警规则时间间隔,默认1分钟
scrape_timeout: 5s # 采集数据超时时间,默认10秒
• rule_files:告警规则
• scrape_configs:配置被监控端,称为target,每个target用
job_name分组管理,又分为静态配置和服务发现
• alerting:告警配置
• remote_write/remote_read:从远程数据库读写
其中被监控端部分:
目标(targets):被监控端
实例(Instances):每个被监控端称为实例
作业(Job):具有相同目标的实例集合称为作业
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node'
static_configs:
- targets: ['192.168.1.10:9090']
监控指标数据模型
数据模型:
• Prometheus将所有数据存储为时间序列;
• 具有相同度量名称以及标签属于同一个指标;
• 每个时间序列都由度量标准名称和一组键值对(称为标签)唯一标识,通过标签查询指定指标。
指标格式:
<metric name>{<label name>=<label value>,...}
网友评论