Установка агента
Linux · Debian / Ubuntu · systemd
1. Установить на сервер
Запустите команды на сервере, который нужно мониторить. Установщик поставит Python и psutil, создаст службу и включит её автозапуск.
curl -fsSL 'https://monitor.example.com/install.sh' -o install.sh &&
sudo bash install.sh --base-url 'https://monitor.example.com' --port 46
При обновлении сохраняются настройки и база метрик. Если меняете порт, обновите service_port в конфигурации панели.
2. Разрешить доступ с панели
Агент слушает TCP-порт 46 по умолчанию. Разрешите подключение с IP сервера, где работает PHP-панель. У агента нет встроенной авторизации; используйте частную сеть или правило по IP.
В примере замените 192.0.2.20 на исходящий IP сервера панели. Порт должен совпадать с выбранным выше.
sudo iptables -I INPUT 1 -p tcp -s 192.0.2.20 --dport 46 -j ACCEPT
Для сохранения текущих правил на Debian / Ubuntu:
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo systemctl enable netfilter-persistent
Установщик не изменяет firewall. Если используете UFW или firewall провайдера, настройте доступ там.
3. Добавить сервер в панель
Добавьте запись в массив servers файла config.php. Укажите реальный IP агента и включите запись.
[
'id' => 'srv-001',
'name' => 'Сервер 1',
'ip' => '192.0.2.10',
'domain' => '',
'description' => '',
'service_port' => 46,
'enabled' => true,
],
IP используется для запросов. domain — необязательная публичная подпись; при пустом значении ничего не показывается.
4. Проверить работу
systemctl status monitoring-service
curl --max-time 10 http://127.0.0.1:46/health
curl --max-time 20 'http://127.0.0.1:46/stats?hours=1'
journalctl -u monitoring-service -n 50 --no-pager
Первый замер появляется через несколько секунд. Дальше метрики собираются каждые 60 секунд. Если локально агент отвечает, но панель его не видит, проверьте доступ к IP и порту с PHP-сервера.
Настройки и обновление
Настройки: /etc/default/monitoring-service. База: /var/lib/monitoring-service/metrics.db. Исходник: /opt/monitoring-service/monitoring-service.py.
Для обновления повторите установку. Для изменения настроек отредактируйте файл и перезапустите службу:
sudo systemctl restart monitoring-service
Для установки из скачанного архива положите рядом install.sh и monitor_service_linux.tar.gz:
sudo bash install.sh --archive ./monitor_service_linux.tar.gz