怎样使用Prometheus Node Exporter监控Linux服务器

文章转载于:https://devopscube.com/monitor-linux-servers-prometheus-node-exporter/

prometheus-setup.jpg

Node Exporter是收集所有 Linux 服务器相关指标和统计数据以进行监视的最佳方法。

使用Prometheus Node Exporter监控Linux服务器

在本指南中,您将学习如何在 Linux 服务器上设置Prometheus Node Exporter,以便将所有Node级别指标导出到Prometheus服务器

准备条件

  1. Prometheus Node Exporter需要Prometheus服务器保持启动和运行。如果您想配置Prometheus服务,请参考 Linux Prometheus 配置指南。
    英文文档,也可参照我的简书中文文章
  2. 在服务器防火墙中打开端口9100,因为Prometheus通过该端口的读取相关监控指标数据。

安装Prometheus Node Exporter

步骤1:下载最新的 node exporter安装包,您应该检查确认Prometheus的版本,并更新此命令以获取该软件包。

cd /tmp
curl -LO https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz

可以在https://prometheus.io/download/获得最新版本下载地址或者下载,如图所示:

node-exporter.png

步骤2:解压tar压缩包

tar -xvf node_exporter-1.6.0.linux-amd64.tar.gz

步骤3:将解压后的文件移到 /usr/local/bin

sudo mv node_exporter-1.6.0.linux-amd64/node_exporter /usr/local/bin/

创建自定义Node Exporter服务

步骤1:创建一个node_exporter用户,来运行Node Exporter服务。

sudo useradd -rs /bin/false node_exporter

步骤2:在 systemd 下创建Node Exporter服务文件。

sudo vim /etc/systemd/system/node_exporter.service

步骤3:在服务文件中添加以下服务文件内容并保存。

[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

步骤4:重新加载系统守护进程并启动Node Exporter服务。

sudo systemctl daemon-reload
sudo systemctl start node_exporter

步骤5:检查Node Exporter状态,确保其处于正常运行状态。

sudo systemctl status node_exporter

步骤6:开启服务器开机自启动Node Exporter服务。

sudo systemctl enable node_exporter

现在,Node Exporter可以通过 9100 端口导出监控指标数据了。

您可以通过访问您的服务器URL/metrics查看所有服务器指标,如所示

http://<server-IP>:9100/metrics

配置Prometheus

现在我们已经在服务器上安装并运行了Node Exporter服务,我们必须在Prometheus服务器配置中将该服务器添加为目标。

注意:该配置应在 Prometheus 服务器上完成。

步骤1:登录Prometheus服务器并打开prometheus.yml文件。

sudo vim /etc/prometheus/prometheus.yml

步骤2:在 scrape config 部分下添加Node Exporter服务,如下所示。将 localhost 改为您设置节点输出器的服务器 IP。为便于识别,任务名称可以是您的服务器主机名或 IP。

- job_name: 'node_exporter_metrics'
  scrape_interval: 5s
  static_configs:
    - targets: ['localhost:9100']

步骤3:重启prometheus服务,使配置更改生效。

sudo systemctl restart prometheus

现在,如果您在prometheus web UI(http://<prometheus-IP>:9090/targets)中检查目标,您将能够看到如下所示的状态。

sudo systemctl status prometheus

用户界面,如下图所示:

node-exporter-metrics.png

此外,您还可以使用 Prometheus 表达式浏览器查询Node Exporter相关指标数据。以下是一些关键node指标数据,您可以用来查找其统计数据。

node_memory_MemFree_bytes
node_cpu_seconds_total
node_filesystem_avail_bytes
rate(node_cpu_seconds_total{mode="system"}[1m]) 
rate(node_network_receive_bytes_total[1m])

使用prometheus查询标签来查询可用的指标,如下图所示:

node-exporter-prometheus.png

接下来只需要安装配置好Grafana就可以将相关指标数据可视化展示了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容