#!/usr/bin/env bash # apt-get update && apt-get install -y git && cd /opt && git -C /opt/icinga2-checks pull || git clone https://git.dp15.us/dpanzer/icinga2-checks.git /opt/icinga2-checks && bash /opt/icinga2-checks/install.sh ln_existing() { src=$1 dest=$2 if [[ -e "$dest" ]] || [[ -L "$dest" ]]; then rm "$dest" fi ln -s "$src" "$dest" } if [[ $UID != 0 ]]; then echo "Please run this script with sudo:" echo "sudo $0 $*" exit 1 fi apt-get update apt-get install -y python3-venv git sysstat bc smartmontools curl recode python3-pip curl https://bootstrap.pypa.io/get-pip.py | python3 # sudo synogear install pip install --disable-pip-version-check --root-user-action=ignore -U pip wheel setuptools pip install --disable-pip-version-check --root-user-action=ignore psutil check_systemd mkdir -p /usr/lib64/nagios/plugins/ # Install global pip packages #pip install --disable-pip-version-check --root-user-action=ignore psutil # git -C /opt/icinga2-checks pull || git clone https://git.evulid.cc/cyberes/icinga2-checks.git /opt/icinga2-checks mkdir -p /opt/venvs if [[ ! -d /opt/venvs/icinga2_checks ]]; then echo "Creating venv in /opt/venvs/icinga2_checks" python3 -m venv /opt/venvs/icinga2_checks fi if [[ ! -d /opt/venvs/check_pve ]]; then echo "Creating venv in /opt/venvs/check_pve" python3 -m venv /opt/venvs/check_pve fi /opt/venvs/icinga2_checks/bin/pip install --disable-pip-version-check --root-user-action=ignore -U pip wheel setuptools /opt/venvs/icinga2_checks/bin/pip install --disable-pip-version-check --root-user-action=ignore -r /opt/icinga2-checks/requirements.txt /opt/venvs/check_pve/bin/pip install --disable-pip-version-check --root-user-action=ignore -U pip wheel setuptools /opt/venvs/check_pve/bin/pip install --disable-pip-version-check --root-user-action=ignore -r /opt/icinga2-checks/check_pve/requirements.txt ln_existing /opt/icinga2-checks/check_iowait.sh /usr/lib64/nagios/plugins/check_iowait ln_existing /opt/icinga2-checks/check_bandwidth.py /usr/lib64/nagios/plugins/check_bandwidth ln_existing /opt/icinga2-checks/check_curl.sh /usr/lib64/nagios/plugins/check_curl # ============================================================================== # Install the Linuxfabrik checks if [[ ! -d /opt/linuxfabrik-monitoring-plugins ]]; then git clone https://github.com/Linuxfabrik/monitoring-plugins.git /opt/linuxfabrik-monitoring-plugins if [[ ! -d /opt/venvs/linuxfabrik ]]; then echo "Creating venv in /opt/venvs/linuxfabrik" python3 -m venv /opt/venvs/linuxfabrik fi cd /opt/linuxfabrik-monitoring-plugins rm -rf lib git clone https://github.com/Linuxfabrik/lib.git /opt/venvs/linuxfabrik/bin/pip install --disable-pip-version-check --root-user-action=ignore -U pip wheel setuptools /opt/venvs/linuxfabrik/bin/pip install --disable-pip-version-check --root-user-action=ignore bs4 psutil smbprotocol vici pymysql fi ln_existing /opt/linuxfabrik-monitoring-plugins/check-plugins/disk-io/disk-io3 /usr/lib64/nagios/plugins/disk-io ln_existing /opt/linuxfabrik-monitoring-plugins/check-plugins/cpu-usage/cpu-usage3 /usr/lib64/nagios/plugins/cpu-usage ln_existing /opt/linuxfabrik-monitoring-plugins/check-plugins/disk-usage/disk-usage3 /usr/lib64/nagios/plugins/disk-usage ln_existing /opt/linuxfabrik-monitoring-plugins/check-plugins/memory-usage/memory-usage3 /usr/lib64/nagios/plugins/memory-usage ln_existing /opt/linuxfabrik-monitoring-plugins/check-plugins/ping/ping3 /usr/lib64/nagios/plugins/ping ln_existing /opt/linuxfabrik-monitoring-plugins/check-plugins/disk-smart/disk-smart3 /usr/lib64/nagios/plugins/disk-smart setcap cap_net_raw+ep /usr/lib/nagios/plugins/check_icmp setcap cap_net_raw+ep /usr/lib/nagios/plugins/check_ping setcap 'cap_net_raw+ep' "$(which ping)" mkdir -p /opt/venvs/icinga2_checks/lib/python3.10/site-packages/certifi/ ln_existing /etc/ssl/certs/ca-certificates.crt /opt/venvs/icinga2_checks/lib/python3.10/site-packages/certifi/cacert.pem