Prometheus 监控系统快速搭建
操作系统为 CentOS 7.6.1810 x86_64, 用到的各相关程序版本如下:
- Prometheus:v2.16.0
- node_exporter:v0.18.1
- grafana:v6.7.2
获取程序包
prometheus 程序包下载地址:https://github.com/prometheus/prometheus/releases
node_export 程序包下载地址:https://github.com/prometheus/node_exporter/releases
grafana 程序包下载地址:https://grafana.com/grafana/download
安装 Prometheus
- 解压 文件
~]# useradd -rs /bin/false prometheus
src]# tar -xf prometheus-2.16.0.linux-amd64.tar.gz -C /usr/local/
[root@master src]# cd /usr/local/
[root@master local]# ln -sv prometheus-2.16.0.linux-amd64/ prometheus
[root@master local]# mkdir prometheus/data
local]# chown -R prometheus.prometheus /usr/local/prometheus
local]# chown -R prometheus.prometheus /usr/local/prometheus-2.16.0.linux-amd64/
- prometheus.yml:Prometheus的配置文件。这是您将要修改的文件,以调整Prometheus服务器,例如,更改抓取间隔或配置自定义警报。
- prometheus:Prometheus服务器的二进制文件。这是您要执行的命令,以在Linux机器上启动Prometheus实例。
- promtool:这是您可以运行以验证Prometheus配置的命令
- 配置 prometheus 为服务
~]# cp /usr/local/prometheus/{prometheus,promtool} /usr/local/bin/
~]# chown prometheus:prometheus /usr/local/bin/{prometheus,promtool}
~]# vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=prometheus
Group=prometheus
WorkingDirectory=/usr/local/prometheus/
ExecStart=/usr/local/bin/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--storage.tsdb.path=/usr/local/prometheus/data \
--web.console.templates=/usr/local/prometheus/consoles \
--web.console.libraries=/usr/local/prometheus/console_libraries \
--web.listen-address=0.0.0.0:9090 \
--web.enable-admin-api \
--web.enable-lifecycle
Restart=always
[Install]
WantedBy=multi-user.target
- 启动服务
~]# systemctl daemon-reload
~]# systemctl enable prometheus
~]# systemctl start prometheus
查看日志 ~]# journalctl -f -u prometheus.service
, 访问 localhost:9090,如下图所示,即表示 prometheus server 端部署成功
安装 Node Exporter
Node Exporter 可以收集Linux系统上的指标:CPU使用率,内存使用率以及文件系统上的各种统计信息等数据。
- 解压文件
src]# tar -xf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/
local]# ln -sv node_exporter-0.18.1.linux-amd64/ node_exporter
~]# chown -R node_exporter:node_exporter /usr/local/node_exporter
~]# chown -R node_exporter:node_exporter /usr/local/node_exporter-0.18.1.linux-amd64/
- 配置 node_exporter 为服务
~]# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=node_exporter
Group=node_exporter
WorkingDirectory=/usr/local/node_exporter/
ExecStart=/usr/local/node_exporter/node_exporter \
--collector.mountstats \
--collector.logind \
--collector.processes \
--collector.ntp \
--collector.systemd \
--collector.tcpstat \
--collector.wifi
Restart=always
[Install]
WantedBy=multi-user.target
- 启动服务
~]# systemctl daemon-reload
~]# systemctl enable node_exporter
~]# systemctl start node_exporter
查看日志确保服务能正常起来 ~]# journalctl -f -u node_exporter.service
配置 Node_exporter 为 Promethe 的目标
新增配置 'localhost:9100'
如下:
~]# vim /usr/local/prometheus/prometheus.yml
static_configs:
- targets: ['localhost:9090', 'localhost:9100']
重启 prometheus, 也可用使用 systemctl restart prometheus
~]# curl -X POST http://localhost:9090/-/reload
安装Grafana
src]# yum localinstall ./grafana-6.7.2-1.x86_64.rpm
~]# systemctl start grafana-server
~]# systemctl enable grafana-server
配置 Grafana
grafana 安装完成后,默认监听的端口是 3000,用户名密码为 admin/admin
- 将Prometheus配置为Grafana数据源
- 通过左侧菜单单击
Configuration
>Data sources
,转到 Data sources 面板。
- 点击
Add data source
- 选择
Prometheus
数据源 然后点击Select
- 配置 Prometheus ,确保
Data source is working
。如果有证书,则需要使用自签名证书时,请跳过TLS验证。
- 导入 Grafana Dashboards 监控Linux指标
granfan 有很多开源的面板,我们可以直接导入到 grafana 使用
- 将鼠标悬停在
+
图标上,然后单击Import
- 在下一个窗口中,只需在相应字段中输入仪表板ID(在本例中为8919,仪表板应由Grafana自动检测
- 选择 Prometheus 数据源,然后单击
Import
至此,一个完整监控展示完成了。