Напълно автоматизиран мониторинг за Proxmox VE с Telegram известия
На скоро ми се наложи да напиша скрипт за автоматизиран мониторинг на Proxmox. Работех по проект, който изискваше непрекъснато следене.
Proxmox VE е мощен инструмент за виртуализация, но липсва вградена система за мониторинг с известия в реално време. Това е проблем, особено когато сървърът ви е под натоварване или някоя от виртуалните машини спре неочаквано.
В тази статия ще разгледаме bash скрипт за автоматизиран мониторинг на Proxmox, който:
✅ Проверява CPU, памет, диск и натоварване
✅ Следи състоянието на всички контейнери и виртуални машини
✅ Изпраща моментни известия в Telegram при проблеми
✅ Поддържа история на събитията чрез логове
Как работи скриптът?
Скриптът извършва следните проверки на зададен интервал (по подразбиране 60 секунди):
1. Системен мониторинг
- CPU използване – ако надвиши прага (напр. 80%), изпраща предупреждение
- RAM използване – проверява за изчерпване на памет
- Дисково пространство – предупреждава при запълване
- Средно натоварване – ако системата е претоварена
2. Проверка на Proxmox услуги
- Автоматично проверява критични процеси като
pveproxy
,pvedaemon
,corosync
- Ако някоя услуга спре, вие получавате известие
3. Мониторинг на контейнери и виртуални машини
- Сканира всички LXC и QEMU/KVM инстанции
- Известява, ако някоя машина е спряна неочаквано
4. Telegram интеграция
- Използва Telegram bot за моментни известия
- Поддържа HTML форматиране (удебелен текст, кодови блокове)
- Изпраща два типа съобщения:
- 🚨 Аварийни (при проблеми)
- ✅ Възстановяване (когато системата се нормализира)
Как да го инсталирате?
1. Изисквания
- Proxmox VE (тествано с версии 7.x и 8.x)
curl
,jq
,bc
(инсталират се автоматично)- Telegram бот (създава се чрез @BotFather)
2. Инсталация
Свалете скрипта proxmox-monitor.sh
Поставете го в /usr/local/bin/
Направете го изпълним:
chmod +x /usr/local/bin/proxmox-monitor
Инсталирайте:
/usr/local/bin/proxmox-monitor install
3. Конфигурация
Редактирайте /opt/proxmox-monitor/config.conf:
TELEGRAM_BOT_TOKEN="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
TELEGRAM_CHAT_ID="123456789"
CHECK_INTERVAL=60
CPU_THRESHOLD=80
MEMORY_THRESHOLD=85
DISK_THRESHOLD=90
LOAD_THRESHOLD=5.0
4. Стартиране на мониторинга
systemctl enable --now proxmox-monitor.timer
Как да го използвате?
Употреба: /usr/local/bin/proxmox-monitor [команда]
Команди:
install – Инсталира и конфигурира монитора
daemon – Стартира като демон (използва се от systemd)
check – Извършва единична проверка
status – Показва текущия статус
summary – Изпраща обобщен отчет
test – Тества Telegram известието
config – Показва конфигурацията
logs – Показва последните логове
help – Показва тази помощ
Примерно Telegram известие

Заключение
Този скрипт предоставя пълен мониторинг на Proxmox с минимални настройки. Ако искате автоматизиран надзор без сложни решения като Zabbix или Prometheus, той е идеален избор. Скриптът е напълно автономен и не изисква cron.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut