Loading... ## Node Exporter 安装 > Node Exporter 是 Prometheus 官方发布的,用于采集节点的系统信息,比如 CPU,内存,磁盘和网络等信息。 通常情况下,如果我们在使用 Prometheus 作为监控方案,那 Node Exporter 基本都会用到的。 从[官网](https://prometheus.io/download/)下载对应的 Node Exporter 软件包,解压到 `/usr/local/node_exporter` ```bash wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz tar zxvf node_exporter-1.7.0.linux-amd64.tar.gz mv node_exporter-1.7.0.linux-amd64 /usr/local/node_exporter ``` ### 配置 TLS 和 Basic Auth #### TLS 将安装 Prometheus 时创建的证书 `node_exporter.crt` 和密钥 `node_exporter.key` 复制到 Node Exporter 路径 `/usr/local/node_exporter/` 创建配置文件 `vim /usr/local/node_exporter/config.yaml` ```yaml tls_server_config: cert_file: node_exporter.crt key_file: node_exporter.key ``` #### Basic Auth 使用 htpasswd 生成密码hash(如果命令不存在,则需要安装软件包 `apt install apache2-utils` ) ```bash htpasswd -nBC 12 '' | tr -d ':\n' ``` #### 增加配置文件 增加 Node Exporter 的配置文件 `vim /usr/local/node_exporter/config.yaml` ```yaml tls_server_config: cert_file: node_exporter.crt key_file: node_exporter.key # 增加 BasicAuth 验证 basic_auth_users: # 当前设置的用户名为 asdasfdassad,可以设置多个,冒号后面为上面生成的密码hash asdasfdassad: $2y$12$n2rueJIEKRfWcfTKyHUHneVxXbwr/qv2/dD.L.N6CHSXWNHbADoDG ``` ### 通过服务启动 创建服务 `vim /etc/systemd/system/node_exporter.service`,要根据实际情况修改启动参数 ```bash [Unit] Description=Prometheus node exporter Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/node_exporter/node_exporter --web.config.file=/usr/local/node_exporter/config.yaml [Install] WantedBy=multi-user.target ``` 创建用户并赋权 ```bash useradd prometheus -M -s /sbin/nologin chown prometheus:prometheus /usr/local/node_exporter -R chmod 755 /usr/local/node_exporter -R ``` 设置开机启动并启动服务 ```bash systemctl enable node_exporter service node_exporter start service node_exporter status ``` ### 增加防火墙规则 Node Exporter 默认使用 `9100` 端口,防火墙上需要放行这个端口(不建议公网直接访问),建议只允许 Prometheus 服务端IP访问 ``` iptables -A INPUT -s 10.20.30.110 -p tcp --dport 9100 -j ACCEPT -m comment --comment "prometheus-node-exporter" iptables-save >/etc/iptables/rules.v4 ``` ## 在 Prometheus 服务端增加 Node 修改配置文件 `vim /usr/local/prometheus/prometheus.yml`,在 `scrape_configs` 中增加一个 `job`;如果已经有 `job`,直接添加 `targets` 就行: ```yaml scrape_configs: - job_name: "node" scheme: https # 使用 HTTPS 连接 tls_config: ca_file: node_exporter.crt # 证书 server_name: "qwerto.local" insecure_skip_verify: true basic_auth: # 进行 Basic Auth 验证 username: asdasfdassad # node exporter 配置的用户名 password: AzxcvfdsQasfadfsfadsafsa # node exporter 配置的密码(明文) static_configs: - targets: ["<Node Exporter 服务器1 IP>:9100"] # node 1 - targets: ["<Node Exporter 服务器2 IP>:9100"] # node 2 - targets: ["<Node Exporter 服务器3 IP>:9100"] # node 3 - targets: ["<Node Exporter 服务器4 IP>:9100"] # node 4 ``` 重载 Prometheus 后生效 `service prometheus reload` 最后修改:2024 年 03 月 05 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏