Prometheus-Grafana Informative || Prometheus Node Exporter/Grafana as Service on Linux
2 min readNov 27, 2022
Describing Title
Prometheus Node Exporter
To Install and configure Prometheus Node Exporter as Service on Linux using shell script;
#!/bin/bash
echo 'Downloading and configururing Node Exporter'
sudo systemctl stop node_exporter >/dev/null 2>&1
wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz >/dev/null 2>&1
tar xfz node_exporter-*.tar.gz
mv node_exporter-*.linux-amd64 node_exporter
sudo rm -rf /etc/node_exporter
sudo mv node_exporter/ /etc/node_exporter/
rm node_exporter-*.tar.gz
sudo chown -R root:root /etc/node_exporter
sudo tee -a /etc/systemd/system/node_exporter.service << EOF
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/etc/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable node_exporter >/dev/null 2>&1
sudo systemctl start node_exporter
sudo systemctl status node_exporter
Grafana
To Install and configure Grafana as Service on Linux using shell script;
Note: This script is for Debian Based Linux-Distributions only
#!/bin/bash
echo 'Downloading and configururing Grafana'
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/enterprise/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana-enterprise -y
sudo systemctl daemon-reload
sudo systemctl enable grafana-server.service
sudo systemctl start grafana-server
sudo systemctl status grafana-server
Alert Manager
To Install and configure Alert Manager as Service on Linux using shell script
#!/bin/bash
echo 'Downloading and configururing Alert Manager'
sudo systemctl stop alertmanager >/dev/null 2>&1
wget https://github.com/prometheus/alertmanager/releases/download/v0.24.0/alertmanager-0.24.0.linux-amd64.tar.gz >/dev/null 2>&1
sudo mkdir -p /etc/alertmanager/templates
sudo mkdir /var/lib/alertmanager
sudo chown root:root /etc/alertmanager
sudo chown root:root /var/lib/alertmanager
tar -xvf alertmanager-*.tar.gz
mv alertmanager-*.linux-amd64 alertmanager-files
sudo cp alertmanager-files/alertmanager /usr/bin/
sudo cp alertmanager-files/amtool /usr/bin/
sudo chown root:root /usr/bin/alertmanager
sudo chown root:root /usr/bin/amtool
sudo cp alertmanager-files/alertmanager.yml /etc/alertmanager/alertmanager.yml
sudo chown root:root /etc/alertmanager/alertmanager.yml
sudo tee -a /usr/lib/systemd/system/alertmanager.service << EOF
[Unit]
Description=AlertManager
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/bin/alertmanager \
--config.file /etc/alertmanager/alertmanager.yml \
--storage.path /var/lib/alertmanager/
[Install]
WantedBy=multi-user.target
EOF
sudo chmod 664 /usr/lib/systemd/system/alertmanager.service
sudo systemctl daemon-reload
sudo systemctl enable alertmanager >/dev/null 2>&1
sudo systemctl start alertmanager
sudo systemctl status alertmanager
Ref:
- https://developer.couchbase.com/tutorial-configure-alertmanager
- https://prometheus.io/download/#alertmanager
BlackBox Exporter
To Install and configure BlackBox Exporter as Service on Linux using shell script
#!/bin/bash
echo 'Downloading and configururing BlackBox Exporter'
sudo systemctl stop blackbox_exporter >/dev/null 2>&1
wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.23.0/blackbox_exporter-0.23.0.linux-amd64.tar.gz >/dev/null 2>&1
tar xfz blackbox_exporter-*.tar.gz
mv blackbox_exporter-*.linux-amd64 blackbox_exporter
sudo rm -rf /etc/blackbox_exporter
sudo mv blackbox_exporter/ /etc/blackbox_exporter/
rm blackbox_exporter-*.tar.gz
sudo chown -R root:root /etc/blackbox_exporter
sudo tee -a /etc/systemd/system/blackbox_exporter.service << EOF
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/etc/blackbox_exporter/blackbox_exporter --config.file=/etc/blackbox_exporter/blackbox.yml
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable blackbox_exporter >/dev/null 2>&1
sudo systemctl start blackbox_exporter
sudo systemctl status blackbox_exporter