60 lines
1.7 KiB
Bash
60 lines
1.7 KiB
Bash
#!/bin/bash
|
|
PROMETHEUS_VERSION="2.46.0"
|
|
wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz
|
|
tar -xzvf prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz
|
|
cd prometheus-${PROMETHEUS_VERSION}.linux-amd64/
|
|
# if you just want to start prometheus as root
|
|
#./prometheus --config.file=prometheus.yml
|
|
|
|
# Create user
|
|
useradd --no-create-home --shell /bin/false prometheus
|
|
|
|
# Create Directories
|
|
mkdir -p /etc/prometheus
|
|
mkdir -p /var/lib/prometheus
|
|
|
|
# Set ownership
|
|
chown prometheus:prometheus /etc/prometheus
|
|
chown prometheus:prometheus /var/lib/prometheus
|
|
|
|
# Copy binaries
|
|
cp prometheus /usr/local/bin/
|
|
cp promtool /usr/local/bin/
|
|
|
|
chown prometheus:prometheus /usr/local/bin/prometheus
|
|
chown prometheus:prometheus /usr/local/bin/promtool
|
|
|
|
# Copy config
|
|
cp -r consoles /etc/prometheus
|
|
cp -r console_libraries /etc/prometheus
|
|
# cp prometheus.yml /etc/prometheus/prometheus.yml
|
|
|
|
# Copy Soncini config
|
|
cd /etc/prometheus/
|
|
wget https://raw.githubusercontent.com/gsoncini/monitoring/main/Config/prometheus.yml
|
|
|
|
chown -R prometheus:prometheus /etc/prometheus/consoles
|
|
chown -R prometheus:prometheus /etc/prometheus/console_libraries
|
|
|
|
# Setup systemd
|
|
echo '[Unit]
|
|
Description=Prometheus
|
|
Wants=network-online.target
|
|
After=network-online.target
|
|
|
|
[Service]
|
|
User=prometheus
|
|
Group=prometheus
|
|
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' > /etc/systemd/system/prometheus.service
|
|
|
|
systemctl daemon-reload
|
|
systemctl enable prometheus
|