Difference between revisions of "Install Node Exporter in Linux CentOS 7 and Connect It to Prometheus Server"
Line 56: | Line 56: | ||
[root@target-server ~]# firewall-cmd --zone=public --permanent --add-port=9100/tcp | [root@target-server ~]# firewall-cmd --zone=public --permanent --add-port=9100/tcp | ||
[root@target-server ~]# firewall-cmd --reload | [root@target-server ~]# firewall-cmd --reload | ||
+ | |||
+ | Then try access the metric from browser : http://target-server:9100 | ||
+ | |||
+ | == Configure Prometheus Server == | ||
+ | |||
+ | === Step 1 : Config Prometheus YML File === | ||
+ | |||
+ | Open Prometheus YML file : | ||
+ | |||
+ | [root@monitoring-server ~]# vi /etc/prometheus/prometheus.yml | ||
+ | |||
+ | Add this under <code>scrape_configs:</code> path if it not set yet : | ||
+ | |||
+ | <pre> | ||
+ | - job_name: "file_service_discovery" | ||
+ | file_sd_configs: | ||
+ | - files: | ||
+ | - "/etc/prometheus/files_sd/*.yml" | ||
+ | </pre> | ||
+ | |||
+ | === Step 2 : Create Node Exporter File === | ||
+ | |||
+ | Create node-exporter file in files_sd directory (adjust the target-server name) : | ||
+ | |||
+ | [root@monitoring-server ~]# vi /etc/prometheus/files_sd/target-server-node-exporter.yml | ||
+ | |||
+ | Fill it with below (adjust the target-server name) : | ||
+ | |||
+ | <pre> | ||
+ | - targets: ['target-server:9100'] | ||
+ | labels: | ||
+ | "job": "node" | ||
+ | </pre> | ||
+ | |||
+ | === Step 3 : Restart Prometheus === | ||
+ | |||
+ | [root@monitoring-server ~]# systemctl restart prometheus | ||
+ | |||
+ | Check the Prometheus page already included with this target server. |
Revision as of 21:49, 7 November 2020
Contents
Introduction
Node-exporter is one of Prometheus exporter which used to generate metrics data from a server.
The metrics data can be a usage of : cpu, memory, disk, etc.
Assumption
To do guidance in this page, we asumpt that we already have a Prometheus server.
Let say the Prometheus server is called monitoring-server and target server is target-server.
To know about how to install Prometheus server, follow : Install Prometheus in Linux CentOS 7
Install & Configure Node Exporter in Target Server
Step 1 : Prepare User & Group
[root@target-server ~]# groupadd --system exporter [root@target-server ~]# useradd -s /sbin/nologin --system -g exporter exporter
Step 2 : Download Node Exporter
[root@target-server ~]# mkdir -p /root/Temp [root@target-server Temp]# cd /root/Temp [root@target-server Temp]# wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz [root@target-server Temp]# tar -xf node_exporter-0.18.1.linux-amd64.tar.gz [root@target-server Temp]# mv node_exporter-0.18.1.linux-amd64.tar.gz /opt/node_exporter
Step 3 : Set System Service
Create service file :
[root@target-server ~]# vi /etc/systemd/system/node-exporter.service
Fill it with below :
[Unit] Description=Node Exporter Wants=network-online.target After=network-online.target
[Service] User=exporter ExecStart=/opt/node_exporter/node_exporter
[Install] WantedBy=default.target
Step 4 : Start and Enable Node Exporter
[root@target-server ~]# systemctl daemon-reload [root@target-server ~]# systemctl start node-exporter [root@target-server ~]# systemctl enable node-exporter [root@target-server ~]# systemctl status node-exporter
Step 5 : Enable Node Exporter Port
[root@target-server ~]# firewall-cmd --zone=public --permanent --add-port=9100/tcp [root@target-server ~]# firewall-cmd --reload
Then try access the metric from browser : http://target-server:9100
Configure Prometheus Server
Step 1 : Config Prometheus YML File
Open Prometheus YML file :
[root@monitoring-server ~]# vi /etc/prometheus/prometheus.yml
Add this under scrape_configs:
path if it not set yet :
- job_name: "file_service_discovery" file_sd_configs: - files: - "/etc/prometheus/files_sd/*.yml"
Step 2 : Create Node Exporter File
Create node-exporter file in files_sd directory (adjust the target-server name) :
[root@monitoring-server ~]# vi /etc/prometheus/files_sd/target-server-node-exporter.yml
Fill it with below (adjust the target-server name) :
- targets: ['target-server:9100'] labels: "job": "node"
Step 3 : Restart Prometheus
[root@monitoring-server ~]# systemctl restart prometheus
Check the Prometheus page already included with this target server.