По своему опыту могу сказать, что очень удобен вот такой вариант:
#!/bin/sh
TOKEN="0007475344:AAHuPC9vCATO-SeXo1Axz-0FSgsUBzeMhf4"
ID="-000827438"
URL="https://api.telegram.org/bot$TOKEN/sendMessage"
#DIR="$(ls -1)"
UPT="$(uptime)"
DF="$(df -h | grep sda)"
FREEM="$(free -m)"
FIRST="$(cat /proc/loadavg | awk {'print $2'} | cut -d . -f 1)"
OUTPUT="$([[ $(cat /proc/loadavg | awk {'print $2'} | cut -d . -f 1) -gt 0 ]] && echo ALARM)"
#DIR="$(ls -1)"
txt="${UPT} ${FREEM} ${DF} ${FIRST} ${OUTPUT}"
#curl -s -X POST $URL -d chat_id=$ID -d text="ИМЯ_СЕРВЕРА:"
#curl -s -X POST $URL -d chat_id=$ID -d text="${UPT}"
#curl -s -X POST $URL -d chat_id=$ID -d text="${FREEM}"
#curl -s -X POST $URL -d chat_id=$ID -d text="${DF}"
#curl -s -X POST $URL -d chat_id=$ID -d text="${FIRST}"
#curl -s -X POST $URL -d chat_id=$ID -d text="${OUTPUT}"
curl -s -X POST $URL -d chat_id=$ID -d text="${txt}"
# DISK ALERT
# Get the disk usage percentage
DISK_USAGE=$(df -h / | awk '{print $5}' | tail -n 1 | sed 's/%//')
# Check if the disk usage is above 75% or 90%
if [ $DISK_USAGE -ge 75 ] && [ $DISK_USAGE -lt 90 ]; then
MESSAGE="Warning: Disk usage is at $DISK_USAGE%."
curl -s -X POST $URL -d chat_id=$ID -d text="$MESSAGE"
elif [ $DISK_USAGE -ge 90 ]; then
MESSAGE="Alert: Disk usage is at $DISK_USAGE%!"
curl -s -X POST $URL -d chat_id=$ID -d text="$MESSAGE"
fi
echo "Done! /n"
Вешаем такой скрипт на cron с заданной периодичностью и получаем оповещение в Телеграм-канале с отчётом о техничском состоянии системы.
Основными параметрами считаю нагрузку на процессор (Load average) и использование памяти.
Очень важный фактор: свободное дисковое пространство. Поэтому скрипт будет слать предупреждения и тревожные сообщения при достижении заполнения диска на 75 и 90 процентов соответственно.
Дискуссия
Написал Rocky 9
Опубликовано в: Установка nginx c PHP-FPM под CentOS 7.0 in LinuxНаписал Константин
Опубликовано в: Докеризация стека LEMP под Ubuntu c помощью Compose in LinuxНаписал bammbr
Опубликовано в: Шлюз для маленького отдела на Red Hat 9 in LinuxНаписал Федор
Опубликовано в: Установка и конфигурация Samba на CentOS 7 in LinuxНаписал Evgenytrl
Опубликовано в: Загрузка файлов с помощью Wget in Linux