Prometheus安装部署和node_exporter的使用

一、环境

服务器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/,我这里下载的都是最新版本的。

二、安装Prometheus Server

以下操作在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

三、安装node_exporter

在两个节点上都安装上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

四、配置Prometheus添加监对象

$ 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页面来查看监控的主机
Prometheus安装部署和node_exporter的使用_第1张图片

参考文章:
http://www.eryajf.net/2468.html

你可能感兴趣的:(Prometheus,prometheus)