服务器IP | 系统 | 组件 |
---|---|---|
192.168.0.181 | CentOS7.6 | Prometheus Server 2.18.1 |
192.168.0.182 | CentOS7.6 | node_exporter 1.0.0 |
下载地址为:https://prometheus.io/download/,我这里下载的都是最新版本的。
以下操作在192.168.0.181
上执行
1、下载安装包
$ cd /usr/local/src/
$ wget https://github.com/prometheus/prometheus/releases/download/v2.18.1/prometheus-2.18.1.linux-amd64.tar.gz
$ wget https://github.com/prometheus/node_exporter/releases/download/v1.0.0/node_exporter-1.0.0.linux-amd64.tar.gz
2、解压安装包
$ tar -zxf prometheus-2.18.1.linux-amd64.tar.gz -C /usr/local/
$ cd /usr/local/
$ mv prometheus-2.18.1.linux-amd64 prometheus
3、安装Prometheus
创建prometheus用户,指定家目录为/var/lib/prometheus
用来作为prometheus的本地存储。
$ groupadd prometheus
$ useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
4、将prometheus交由systemd管理
cat > /usr/lib/systemd/system/prometheus.service << "EOF"
[Unit]
Description=prometheus
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --storage.tsdb.retention=15d --log.level=info --web.enable-lifecycle
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
来看一下prometheus启动时的一些参数:
--config.file
:指定配置文件的路径
--storage.tsdb.path
:指定Prometheus本地存储的路径。最好是指定较大分区下的目录,因为Prometheus收集的监控数据都会存储在这个目录下。
--log.level
:指定日志级别,为[debug, info, warn, error]中的一种。
--web.enable-lifecycle
:支持热加载新配置。从2.0开始,hot reload功能是默认关闭的,如需开启,需要在启动Prometheus的时候,添加--web.enable-lifecycle
参数,热加载的方式为curl -X POST localhost:9090/-/reload
。
在两个节点上都安装上ndoe_exporter用来监控主机,以下操作需在两台上都执行。
注意:node_exporter也是用prometheus用户启动的,所以需要在每个安装ndoe_exporter的节点上都创建prometheus用户
。
$ groupadd prometheus
$ useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
解压
$ tar -zxf node_exporter-1.0.0.linux-amd64.tar.gz -C /usr/local/
$ cd /usr/local/
$ mv node_exporter-1.0.0.linux-amd64 node_exporter
$ chown -R prometheus:prometheus node_exporter
将node_exporter交由systemd管理
cat > /usr/lib/systemd/system/node_exporter.service << "EOF"
[Unit]
Description=node_export
Documentation=https://github.com/prometheus/node_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
启动node_exporter
服务
$ systemctl daemon-reload
$ systemctl enable node_exporter.service
$ systemctl start node_exporter.service
$ systemctl status node_exporter.service
$ cd /usr/local/prometheus/
$ vim prometheus.yml
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090','localhost:9100'] # 对本机node_exporter进行监控
# 新增对其它node节点的监控
- job_name: '192.168.0.182'
#重写了全局抓取间隔时间,由15秒重写成5秒。
scrape_interval: 5s
static_configs:
- targets: ['192.168.0.182:9100']
启动Prometheus Server:
$ chown -R prometheus:prometheus /usr/local/prometheus
$ systemctl daemon-reload
$ systemctl enable prometheus.service
$ systemctl start prometheus.service
$ systemctl status prometheus.service
现在可以访问Prometheus的web页面来查看监控的主机
参考文章:
http://www.eryajf.net/2468.html