How set a monitoring system with prometheus, node_exporter and grafana dashboard.
N.B: this tutorial is based on UBUNTU
Prometheus
create prometheus user:
sudo useradd --no-create-home --shell /bin/false prome
create directories
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
download prometheus on your server:
wget https://github.com/prometheus/prometheus/releases/download/v2.29.0-rc.1/prometheus-2.29.0-rc.1.linux-amd64.tar.gz
extract the tar file
tar xvfz prometheus-*.tar.gz
enter in the folder:
cd prometheus-*
edit prometheus.yml
vim prometheus.yml
copy prometheus folder (not the root folder but the folder inside the root folder) in:
sudo cp -rf prometheus /usr/local/bin/
sudo cp -rf promtool /usr/local/bin/
set permission:
sudo chown prome:prome /usr/local/bin/prometheus
sudo chown prome:prome /usr/local/bin/promtool
copy files:
sudo cp -rf consoles /etc/prometheus
sudo cp -rf console_libraries/ /etc/prometheus/
set permissions in /etc
sudo chown -R prome:prome /etc/prometheus/consoles
sudo chown -R prome:prome /etc/prometheus/console_libraries
copy prometheus.yml
sudo cp prometheus.yml /etc/prometheus/prometheus.yml
start prometheus
./prometheus --config.file=prometheus.yml
create service file:
sudo vim /etc/systemd/system/prometheus.service
and add this code:
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prome
Group=prome
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries
[Install]
WantedBy=multi-user.target
reload daemon
sudo systemctl daemon-reload
system command:
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo systemctl status prometheus
check:
node exporter
download node exportyet:
wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
extract:
tar xvfz node_exporter-1.2.2.linux-amd64.tar.gz
enter in the extracted folder:
cd node_exporter-1.2.2.linux-amd64
run node exportyer
./node_exporter
check metrics on:
http://your-vps-ip:9100
back to prometheus.yml and add ip and port node_exporter
- job_name: "node exporter test"
static_configs:
- targets: ['localhost:9100']
node exporter as service
create user:
sudo useradd -rs /bin/false node_exporter
copy node exporter in bin folder
sudo cp -rf node_exporter-1.2.2.linux-amd64/node_exporter /usr/local/bin
create service file
vim /etc/systemd/system/node_exporter.service
[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
launch sevice commands:
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
sudo systemctl status node_exporter
grafana
install dependency library:
sudo apt-get install -y adduser libfontconfig1
download deb
wget https://dl.grafana.com/oss/release/grafana_8.1.0_amd64.deb
install:
sudo dpkg -i grafana_8.1.0_amd64.deb
check:
Top comments (0)