Introduction
Node Exporter is a Prometheus exporter for hardware and operating system metrics. Prometheus is an open-source monitoring and alerting toolkit designed for reliability and scalability. Node Exporter is specifically focused on exporting system-level metrics from Linux and Unix-based systems.
Prerequisites
- Up and running ubuntu 22.04 LTS machine.
- Basic knowledge in linux commands.
- Internet connectivity.
- Ansible should be installed.
We can use the given link to install Ansible on Ubuntu 22.04 LTS Linux machine.
In this post, We will show you how to deploy Node Exporter using Ansible-play on ubuntu 22.04 LTS Linux machine.
Step 1: Create an Ansible playbook
To deploy Node Exporter using Ansible on Ubuntu 22.04 LTS, you can create an Ansible playbook that installs Node Exporter. Node Exporter is a Prometheus exporter for hardware and OS metrics exposed by *NIX kernels.
To create Ansible playbook.
sudo nano deploy_node_exporter.yml
Paste the following tasks.
---
- name: Deploy Node Exporter
hosts: your_target_servers
become: true
tasks:
- name: Create Node Exporter user
user:
name: node_exporter
system: yes
shell: /bin/false
- name: Download and extract Node Exporter
get_url:
url: "https://github.com/prometheus/node_exporter/releases/download/v2.2.1/node_exporter-2.2.1.linux-amd64.tar.gz"
dest: "/tmp/node_exporter.tar.gz"
- name: Extract Node Exporter
ansible.builtin.unarchive:
src: "/tmp/node_exporter.tar.gz"
dest: "/opt/"
- name: Set permissions and ownership
file:
path: "/opt/node_exporter-2.2.1.linux-amd64/node_exporter"
mode: "0755"
owner: "node_exporter"
group: "node_exporter"
- name: Create Node Exporter systemd service
systemd:
name: node_exporter
enabled: yes
state: started
daemon_reload: yes
daemon_reexec: yes
scope: user
user: node_exporter
exec_start: "/opt/node_exporter-2.2.1.linux-amd64/node_exporter"
This playbook does the following:
- Creates a user named node_exporter for running Node Exporter.
- Downloads the Node Exporter binary from the official GitHub release page.
- Extracts the Node Exporter tarball to the /opt/ directory.
- Sets the necessary permissions and ownership for the Node Exporter binary.
- Creates a systemd service for Node Exporter and starts it.
Replace your_target_servers
with the target servers or server group where you want to install Node Exporter and Save the playbook file.
Step 2: Run the Ansible playbook
We need to execute the following command to deploy the node-exporter on target machine.
ansible-playbook -i inventory.ini deploy_node_exporter.yml
This playbook assumes that you have Ansible installed on your local machine and SSH access to the target servers. Additionally, ensure that the servers have internet access to download Node Exporter during the installation process. Adjust the version number in the URL to the latest version available on the Node Exporter GitHub releases page.
Conclusion
We have successfully deployed Node exporter using Ansible Playbook on Ubuntu 22.04 LTS. If you are still having issues, please leave a comment below.