| .. | |||
| .env.example | 18 hours ago | ||
| README.md | 18 hours ago | ||
| deploy.sh | 16 hours ago | ||
| hard-monitor.service | 18 hours ago | ||
| hard_monitor.py | 18 hours ago | ||
| install.sh | 18 hours ago | ||
| requirements.txt | 18 hours ago | ||
Агент GHard Monitor для серверов. Stateless: только собирает факты (CPU, RAM, диски, сеть, топ процессов, docker, температуры) и POST-ит их на панель по PANEL_URL с ключом SERVER_KEY. Вся логика — пороги, ивенты, расчёт МБ/с — на панели.
Servers → добавить сервер → скопируй ключ (ghm_..., показывается один раз)sudo ./install.sh https://panel.example.com ghm_xxxxxxxxxxxxxxxx 30
или одной командой с raw-скриптом:
curl -fsSL https://git.gnexus.space/root/hard-panel/raw/branch/master/monitor/install.sh | \
sudo bash -s -- https://panel.example.com ghm_xxxxxxxxxxxxxxxx 30
Устанавливает всё в /opt/hard-monitor (venv + psutil + requests), пишет .env (права 600), ставит systemd-юнит hard-monitor и запускает. Повторный запуск — обновление агента с рестартом сервиса.
.env (перекрывается переменными окружения):
PANEL_URL=https://panel.example.com SERVER_KEY=ghm_... INTERVAL=30
./hard_monitor.py --dry-run # собрать и напечатать пакет, не отправляя ./hard_monitor.py --once # один пакет на панель ./hard_monitor.py # штатный цикл (обычно через systemd) journalctl -u hard-monitor -f # логи сервиса
Зависимости: python3.8+, psutil, requests. Docker-метрики собираются автоматически, если есть доступ к docker-сокету (иначе тихо пропускаются).