Installing Prometheus Bash Script

tj_27

tj_27

Posted on August 15, 2024

Installing Prometheus Bash Script

Installing monitors like Grafana would be very helpful for us. As one of the most used datasource, I decided to make a script on how to install prometheus.

#!/bin/bash
# Installing Prometheus

if [ -f "/usr/local/prometheus" ]; then
    echo "Prometheus already exists ..."
    exit
fi


# tput commands
CLEAR="tput clear"
DOWN="tput cud1"
BOLD="tput bold"
NORMAL="tput sgr0"
BLACK="tput setaf 0"
RED="tput setaf 1"
GREEN="tput setaf 2"
YELLOW="tput setaf 3"
BLUE="tput setaf 4"


$CLEAR

printf "Installing Prometheus\n\n"
# Curling Google to check if connected to a network
printf "Looling for a network...\n\n"
if curl google.com > /dev/null; then
    $DOWN
    $YELLOW
    printf "Network connected.\n\n"
    $NORMAL
else
    $DOWN
    printf "The server is not connected to the network. Please connect and try again.\n\n";
    exit 1
fi

$DOWN

echo -n "Insert the version you would like to be installed, default is [ 2.49.1 ] : "
$BOLD
$BLUE
read VERSION
$NORMAL
VERSION=${VERSION:-2.49.1}
$DOWN
$NORMAL
if [ ! -f "prometheus-$VERSION.linux-amd64.tar.gz" ]; then
    # Download prometheus
    wget https://github.com/prometheus/prometheus/releases/download/v$VERSION/prometheus-$VERSION.linux-amd64.tar.gz -P /opt
fi

# extract the file
tar -xzvf /opt/prometheus-$VERSION.linux-amd64.tar.gz -C /usr/local
# make it s soft link
ln -s /usr/local/prometheus-$VERSION.linux-amd64 /usr/local/prometheus

# create a prometheus service file
cat >/usr/lib/systemd/system/prometheus.service<<EOF
[Unit]
Description=prometheus
After=network.target

[Service]
Type=simple
PIDFile=/var/run/prometheus.pid
WorkingDirectory=/usr/local/prometheus/prometheus --web.listen-address=0.0.0.0:9090 --storage.tsdb.path=/data/prometheus --web.enable-admin-api --storage.tsdb.retention=7d
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF
$DOWN
# start the prometheus
sudo systemctl start prometheus.service
# check the status
sudo systemctl status prometheus.service

# see the listening sockets
netstat -tnlp |grep 9090
$DOWN
if sudo systemctl is-active --quiet prometheus.service; then
    $DOWN
    $BOLD
    $YELLOW
    printf "=========================================\n"
    $GREEN
    printf "Prometheus installed successfully!\n"
    $NORMAL
    $BOLD
    $YELLOW
    printf "=========================================\n"
    $NORMAL
    $DOWN
else
    $DOWN
    $RED
    printf "Prometheus installation failed.\n\n"
    $NORMAL
    $DOWN
fi
Enter fullscreen mode Exit fullscreen mode
💖 💪 🙅 🚩
tj_27
tj_27

Posted on August 15, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Installing Prometheus Bash Script
prometheus Installing Prometheus Bash Script

August 15, 2024