部署promtheus server
添加运行promtheus的用户
useradd -u 8001 -s /sbin/nologin -M prometheus
useradd -u 8002 -s /sbin/nologin -M node_exporter
创建配置,数据相关目录
mkdir /etc/prometheus
mkdir /data/prometheus
chown prometheus:prometheus /etc/prometheus/
chown prometheus:prometheus /data/prometheus/
下载软件包
wget https://github.com/prometheus/prometheus/releases/download/v2.1.0/prometheus-2.1.0.linux-amd64.tar.gz
tar -xf prometheus-2.1.0.linux-amd64.tar.gz
部署
# 二进制程序部署
cp prometheus-2.1.0.linux-amd64/promtool /usr/local/bin/
cp prometheus-2.1.0.linux-amd64/prometheus /usr/local/bin/
chown prometheus.prometheus /usr/local/bin/prom*
# 配置部署
cp prometheus-2.1.0.linux-amd64/prometheus.yml /etc/prometheus/
cp -r prometheus-2.1.0.linux-amd64/consoles/ /etc/prometheus/
cp -r prometheus-2.1.0.linux-amd64/console_libraries/ /etc/prometheus/
chown -R prometheus:prometheus /etc/prometheus/
promtheus-systemd脚本
cat >> /usr/lib/systemd/system/prometheus.service << EOF
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \\
--config.file /etc/prometheus/prometheus.yml \\
--storage.tsdb.path=/data/prometheus/ \\
--storage.tsdb.retention=30d \\ 指定数据保留天数
--web.console.templates=/etc/prometheus/consoles \\
--web.enable-lifecycle \\
--web.console.libraries=/etc/prometheus/console_libraries
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable prometheus
配置prometheus
示例而已
cat /etc/prometheus/prometheus.yml
global:
scrape_interval: 90s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 90s # Evaluate rules every 15 seconds. The default is every 1 minute.
scrape_timeout: 15s # scrape_timeout is set to the global default (10s).
external_labels:
monitor: 'lovego-monitor'
rule_files:
- "/etc/prometheus/rules/*.rules"
scrape_configs:
- job_name: 'prometheus-server'
scrape_interval: 60s
scrape_timeout: 10s
static_configs:
- targets: ['10.10.16.7:9090']
labels:
instance: prometheus_server
- job_name: 'node_exporter_prometheus_16_7'
scrape_interval: 60s
static_configs:
- targets: ['10.10.16.7:9093']
labels:
instance: node_16_7
group: common-server
alerting:
alertmanagers:
- scheme: http
static_configs:
- targets: ['10.10.16.7:9095']
这只是一个简单的例子
https://github.com/prometheus/prometheus/blob/a51c500e30e96df4026282c8a4f743cf6a8827f1/config/testdata/conf.good.yml
启动服务
]# systemctl start prometheus
]# systemctl status prometheus
● prometheus.service - Prometheus
Loaded: loaded (/usr/lib/systemd/system/prometheus.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2018-03-01 14:54:39 CST; 5s ago
Main PID: 19506 (prometheus)
# 访问 http://10.10.16.7:9090/graph
curl -XPOST http://127.0.0.1:9090/-/reload 重新加载配置