6
0
Fork 0

Compare commits

...

2 Commits

Author SHA1 Message Date
Joachim Desroches 47d5dd3e9c
Add VEEAM file age exporter. 2021-11-16 13:47:19 +01:00
Joachim Desroches 0175a771b9
Parametrise borgbackup exporter. 2021-11-16 13:47:19 +01:00
7 changed files with 80 additions and 9 deletions

View File

@ -14,8 +14,19 @@ virtualenv venv
. venv/bin/activate
pip install prometheus_client
pip install dateutils
# Start service
service prometheus-borgbackup-exporter --ifstarted restart
service prometheus-borgbackup-exporter --ifstopped start
EOF
# Start service: `service` does not support the same options on different OSes
os=$(cat "${__global:?}/explorer/os")
case "$os" in
ubuntu)
echo "systemctl restart prometheus-borgbackup-exporter"
;;
alpine)
cat <<- EOF
service prometheus-borgbackup-exporter --ifstarted restart
service prometheus-borgbackup-exporter --ifstopped start
EOF
;;
esac

View File

@ -3,6 +3,9 @@
os=$(cat "${__global:?}/explorer/os")
mkdir -p "${__object:?}/files"
REPOS_DIR=$(cat "${__object:?}/parameter/repos-dir")
export REPOS_DIR
case "$os" in
debian|ubuntu)
__package python3-virtualenv
@ -32,9 +35,4 @@ case "$os" in
;;
esac
REPOS_DIR=$(cat "${__object:?}/parameter/repos-dir")
export REPOS_DIR
__directory /opt/prometheus-borgbackup-exporter
# Make sure the borgbackup user exist.
__user borgbackup --home "$REPOS_DIR" --create-home

View File

@ -0,0 +1,17 @@
#!/bin/sh
BACKUPDIR=$(cat "${__object:?}/parameter/backupdir")
cat << EOF
[Unit]
Description=e-Durable's VEEAM upload date exporter
After=network.target
[Service]
Type=simple
User=veeam
ExecStart=/opt/prometheus-veeam-exporter/venv/bin/python /opt/prometheus-veeam-exporter/prometheus-veeam-exporter ${BACKUPDIR:?}
[Install]
WantedBy=multi-user.target
EOF

View File

@ -0,0 +1,20 @@
#!/bin/sh
VCS_TAG=$(cat "${__object:?}/parameter/version")
VCS_URL="https://code.recycled.cloud/RecycledCloud/prometheus-veeam-exporter/raw/tag/${VCS_TAG:?}/prometheus-veeam-exporter"
cat << EOF
cd /opt/prometheus-veeam-exporter
# Fetch sources
curl "$VCS_URL" -o prometheus-veeam-exporter
# Install virtualenv and dependencies
python3 -m venv venv
. venv/bin/activate
pip3 install prometheus_client datetime
# Start service
systemctl restart prometheus-veeam-exporter
EOF

View File

@ -0,0 +1,23 @@
#!/bin/sh
os=$(cat "${__global:?}/explorer/os")
mkdir -p "${__object:?}/files"
case "$os" in
debian | ubuntu)
__package python3-venv
__package curl
"${__type:?}/files/prometheus-veeam-exporter.service.sh" \
>"${__object:?}/files/prometheus-veeam-exporter.service"
__systemd_unit prometheus-veeam-exporter.service \
--source "${__object:?}/files/prometheus-veeam-exporter.service" \
--enablement-state enabled
;;
*)
echo "$os is not supported by this type. Exiting" >&2
exit 1
;;
esac
__directory /opt/prometheus-veeam-exporter

View File

@ -0,0 +1,2 @@
backupdir
version