Установка агента
Агент StatusRadar — это лёгкий демон мониторинга на Python, который собирает системные метрики и данные плагинов с ваших серверов. Это руководство поможет установить и настроить агент на серверах под управлением Linux.
Быстрый старт
Самый быстрый способ установить агент — воспользоваться нашим скриптом-установщиком в одну строку:
TOKEN='your-agent-token-here' bash -c "$(curl -sL https://statusradar.dev/install-agent.sh)"
Примечание: Замените
your-agent-token-hereна ваш реальный токен агента из панели управления.
Способы установки
Способ 1. Автоматическая установка (рекомендуется)
Автоматический установщик делает всё за вас:
- Скачивает последнюю версию агента
- Устанавливает зависимости Python
- Создаёт systemd-сервис
- Настраивает агент
- Запускает мониторинг
Базовая установка:
TOKEN='your-token' bash -c "$(curl -sL https://statusradar.dev/install-agent.sh)"
Установка с плагинами:
PLUGINS='redis,mysql,nginx' TOKEN='your-token' bash -c "$(curl -sL https://statusradar.dev/install-agent.sh)"
Способ 2. Ручная установка
Если нужен больший контроль над процессом установки, выполните следующие шаги вручную:
Шаг 1. Скачайте агент
# Create directory
sudo mkdir -p /opt/statusradar
cd /opt/statusradar
# Download agent
sudo curl -sL https://statusradar.dev/agent/statusradar-agent.py -o statusradar-agent.py
sudo curl -sL https://statusradar.dev/agent/requirements.txt -o requirements.txt
# Download plugins
sudo mkdir -p plugins
cd plugins
sudo curl -sL https://statusradar.dev/agent/plugins/redis_plugin.py -o redis_plugin.py
# ... download other plugins as needed
Шаг 2. Установите зависимости
# Install Python 3 and pip (if not already installed)
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y python3 python3-pip python3-venv
# CentOS/RHEL/Rocky
sudo yum install -y python3 python3-pip
# Install agent dependencies
cd /opt/statusradar
sudo python3 -m pip install -r requirements.txt
Шаг 3. Создайте конфигурацию
Агент читает настройки из shell-файла окружения по пути /opt/statusradar/config.env (systemd-юнит загружает его через EnvironmentFile=). Автоматический установщик создаёт этот файл за вас; при ручной установке создайте его самостоятельно:
# /opt/statusradar/config.env
API_TOKEN=your-agent-token-here
API_URL=https://api.statusradar.dev
INTERVAL=300
# Comma-separated list of enabled plugins (optional)
PLUGINS=redis,nginx
# Plugin settings — add only the ones your enabled plugins need
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
NGINX_STATUS_URL=http://127.0.0.1/nginx_status
Затем ограничьте доступ к файлу, чтобы токен не был доступен на чтение всем пользователям:
sudo chmod 600 /opt/statusradar/config.env
Шаг 4. Создайте systemd-сервис
Создайте файл /etc/systemd/system/statusradar-agent.service:
[Unit]
Description=StatusRadar Server Monitoring Agent
After=network.target
Wants=network-online.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/statusradar
EnvironmentFile=/opt/statusradar/config.env
ExecStart=/usr/bin/python3 /opt/statusradar/statusradar-agent.py --token ${API_TOKEN} --api-url ${API_URL} --interval ${INTERVAL}
Restart=always
RestartSec=30
StandardOutput=append:/var/log/statusradar/agent.log
StandardError=append:/var/log/statusradar/agent.log
[Install]
WantedBy=multi-user.target
Примечание: Настройки берутся из
EnvironmentFile=/opt/statusradar/config.env— не прописывайте токен жёстко вExecStart. Сначала создайте каталог для логов (sudo mkdir -p /var/log/statusradar). На версиях systemd старше v240 (CentOS/RHEL 7) замените две строкиStandard*наStandardOutput=journalиStandardError=journal.
Шаг 5. Запустите агент
# Reload systemd
sudo systemctl daemon-reload
# Enable agent to start on boot
sudo systemctl enable statusradar-agent
# Start the agent
sudo systemctl start statusradar-agent
# Check status
sudo systemctl status statusradar-agent
Установка плагинов
Плагины позволяют отслеживать конкретные сервисы — базы данных, веб-серверы и кеши.
Доступные плагины
| Плагин | Что отслеживает | Требования |
|---|---|---|
| Redis | Кеш/база данных Redis | Redis 4.0+ |
| MySQL | База данных MySQL/MariaDB | MySQL 5.7+ или MariaDB 10.3+ |
| PostgreSQL | База данных PostgreSQL | PostgreSQL 10+ |
| MongoDB | База данных MongoDB | MongoDB 4.0+ |
| Nginx | Веб-сервер Nginx | Nginx с включённым stub_status |
| Apache | Веб-сервер Apache | Apache с включённым mod_status |
| PHP-FPM | Менеджер процессов PHP-FPM | PHP-FPM с включённой страницей статуса |
| Memcached | Кеш Memcached | Memcached 1.4+ |
| RabbitMQ | Брокер сообщений RabbitMQ | RabbitMQ 3.8+ с management-плагином |
| Elasticsearch | Поисковый движок Elasticsearch | Elasticsearch 7.0+ |
| Meilisearch | Поисковый движок Meilisearch | Meilisearch 1.0+ с включёнными метриками |
| Varnish | HTTP-кеш Varnish | Varnish 6.0+ |
| HAProxy | Балансировщик нагрузки HAProxy | HAProxy 2.0+ с stats-сокетом |
| Docker | Контейнеры Docker | Docker 20.10+ |
| VictoriaMetrics | TSDB VictoriaMetrics | VictoriaMetrics 1.80+ |
| mdadm | Программные RAID-массивы Linux | mdadm + /proc/mdstat |
Установка плагинов
Пример: плагин Redis
PLUGINS='redis' \
REDIS_HOST='localhost' \
REDIS_PORT='6379' \
TOKEN='your-token' \
bash -c "$(curl -sL https://statusradar.dev/install-agent.sh)"
Пример: несколько плагинов
PLUGINS='redis,mysql,nginx,memcached' \
REDIS_HOST='localhost' \
MYSQL_USER='monitor' \
MYSQL_PASSWORD='secret' \
NGINX_STATUS_URL='http://127.0.0.1/nginx_status' \
TOKEN='your-token' \
bash -c "$(curl -sL https://statusradar.dev/install-agent.sh)"
Пример: плагин PostgreSQL
PLUGINS='postgresql' \
POSTGRESQL_HOST='localhost' \
POSTGRESQL_PORT='5432' \
POSTGRESQL_USER='postgres' \
POSTGRESQL_PASSWORD='secret' \
POSTGRESQL_DATABASE='postgres' \
TOKEN='your-token' \
bash -c "$(curl -sL https://statusradar.dev/install-agent.sh)"
Настройка плагинов
Плагины настраиваются через переменные окружения в файле /opt/statusradar/config.env. Перечислите нужные плагины в PLUGINS=, добавьте их переменные, а затем перезапустите агент (sudo systemctl restart statusradar-agent):
# /opt/statusradar/config.env
PLUGINS=redis,mysql,nginx,docker
# Redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
# MySQL / MariaDB
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=monitor
MYSQL_PASSWORD=secret
MYSQL_DATABASE=
# Nginx (stub_status endpoint)
NGINX_STATUS_URL=http://127.0.0.1/nginx_status
# Docker
DOCKER_SOCKET=/var/run/docker.sock
Установщик автоматически сохраняет переменные Redis, Docker, VictoriaMetrics и RabbitMQ. Для любого другого плагина (MySQL, PostgreSQL, Nginx, …) добавьте его переменные в
config.envи перезапустите агент. Полный список переменных каждого плагина приведён на его странице плагина.
Поддерживаемые операционные системы
Агент StatusRadar поддерживает все современные дистрибутивы Linux:
- Ubuntu: 18.04, 20.04, 22.04, 24.04
- Debian: 10 (Buster), 11 (Bullseye), 12 (Bookworm)
- CentOS: 7, 8, Stream 8, Stream 9
- RHEL: 7, 8, 9
- Rocky Linux: 8, 9
- Fedora: 36, 37, 38, 39
- Arch Linux: последняя версия
- Alpine Linux: 3.15+ (агент работает; сначала установите
bashи настройте сервис вручную — автоматическая настройка OpenRC в планах)
Примечание: Установщик автоматически определяет ваш менеджер пакетов (apt, dnf/yum, zypper, pacman, apk), поэтому большинство современных дистрибутивов работают «из коробки». Windows и macOS в настоящее время не поддерживаются.
Системные требования
Минимальные требования
- CPU: 1 ядро (общее)
- RAM: 50 МБ
- Диск: 100 МБ
- Python: 3.6 или новее
- Сеть: исходящий доступ по HTTPS к api.statusradar.dev
Рекомендуемые требования
- CPU: 1 ядро (выделенное)
- RAM: 100 МБ
- Диск: 500 МБ (для логов)
- Python: 3.10 или новее
Влияние на производительность
- Загрузка CPU: < 1% в среднем
- Потребление памяти: ~20 МБ базово + 5–10 МБ на плагин
- Сетевой трафик: ~1 КБ/мин (базовые метрики) + ~5 КБ/мин на плагин
- Дисковый ввод-вывод: минимальный (только во время сбора)
Проверка
После установки убедитесь, что агент работает:
Проверьте статус сервиса
sudo systemctl status statusradar-agent
Ожидаемый вывод:
● statusradar-agent.service - StatusRadar Server Monitoring Agent
Loaded: loaded (/etc/systemd/system/statusradar-agent.service; enabled)
Active: active (running) since ...
Проверьте логи
sudo journalctl -u statusradar-agent -n 50 --no-pager
Найдите сообщения об успешном сборе метрик:
INFO: Metrics collected successfully
INFO: Sent metrics to API
Проверьте панель управления
Откройте панель управления StatusRadar — там должен появиться ваш сервер с метриками в реальном времени.
Обновление агента
Чтобы обновить агент до последней версии, используйте режим обновления:
curl -s https://statusradar.dev/install-agent.sh | sudo bash -s update
Или вручную:
# Stop the agent
sudo systemctl stop statusradar-agent
# Download latest version
cd /opt/statusradar
sudo curl -sL https://statusradar.dev/agent/statusradar-agent.py -o statusradar-agent.py
# Restart the agent
sudo systemctl start statusradar-agent
Устранение неполадок
Агент не запускается
Проверьте логи на наличие ошибок:
sudo journalctl -u statusradar-agent -n 100 --no-pager
Частые проблемы:
- Неверный токен → проверьте
/opt/statusradar/config.env - Отсутствующие зависимости → выполните
pip3 install -r requirements.txt - Permission denied → сервис должен запускаться от root
Метрики не появляются
- Убедитесь, что агент запущен:
systemctl status statusradar-agent - Проверьте сетевую доступность:
curl -I https://api.statusradar.dev - Убедитесь, что токен в панели управления верный
- Проверьте логи агента на ошибки API
Плагин не работает
- Убедитесь, что плагин включён в конфигурации
- Проверьте требования плагина (см. документацию по плагинам)
- Протестируйте плагин вручную:
python3 plugins/redis_plugin.py - Убедитесь, что сервис запущен и доступен
Дальнейшие шаги
Получение помощи
- Быстрый старт
- Способы установки
- Способ 1. Автоматическая установка (рекомендуется)
- Способ 2. Ручная установка
- Установка плагинов
- Доступные плагины
- Установка плагинов
- Настройка плагинов
- Поддерживаемые операционные системы
- Системные требования
- Минимальные требования
- Рекомендуемые требования
- Влияние на производительность
- Проверка
- Проверьте статус сервиса
- Проверьте логи
- Проверьте панель управления
- Обновление агента
- Устранение неполадок
- Агент не запускается
- Метрики не появляются
- Плагин не работает
- Дальнейшие шаги
- Получение помощи