GitHub ↗

Установка агента

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