Удаление агента

Полное руководство по удалению агента мониторинга StatusRadar с ваших серверов.

Быстрое удаление

Самый простой способ удалить агент:

curl -s https://statusradar.dev/install-agent.sh | sudo bash -s uninstall

Эта команда:

  • Останавливает сервис агента
  • Отключает systemd-сервис
  • Удаляет файл сервиса
  • Удаляет каталог агента (/opt/statusradar)
  • Удаляет каталог логов (/var/log/statusradar)
  • Удаляет виртуальное окружение (если использовалось)

Перед удалением

Хранение данных

Важно: Удаление агента НЕ удаляет:

  • Исторические данные мониторинга на платформе StatusRadar
  • Запись сервера в вашей панели управления
  • Историю и конфигурации оповещений

Чтобы полностью удалить сервер:

  1. Удалите агент (это руководство)
  2. Войдите в панель управления StatusRadar
  3. Перейдите в Servers → ваш сервер → Settings
  4. Нажмите кнопку «Delete Server»

Альтернативы удалению

Прежде чем полностью удалять агент, рассмотрите следующие варианты:

Вариант 1. Временно остановить агент

sudo systemctl stop statusradar-agent

Вариант 2. Отключить автозапуск (с сохранением файлов)

sudo systemctl stop statusradar-agent
sudo systemctl disable statusradar-agent

Вариант 3. Снизить частоту сбора

Отредактируйте /opt/statusradar/config.env:

INTERVAL=3600  # Check every hour instead of 5 minutes

Затем перезапустите:

sudo systemctl restart statusradar-agent

Полное удаление

Автоматическое удаление (рекомендуется)

Запустите команду удаления:

curl -s https://statusradar.dev/install-agent.sh | sudo bash -s uninstall

Что происходит:

  1. Останавливает сервис statusradar-agent
  2. Отключает сервис из автозапуска
  3. Удаляет /etc/systemd/system/statusradar-agent.service
  4. Перезагружает демон systemd
  5. Удаляет виртуальное окружение в /opt/statusradar/venv (если существует)
  6. Удаляет каталог установки /opt/statusradar
  7. Удаляет каталог логов /var/log/statusradar

Ожидаемый вывод:

→ Uninstalling StatusRadar agent...
→ Stopping service...
→ Disabling service...
✓ Service removed
→ Removing virtual environment...
✓ Installation directory removed
✓ Log directory removed
✓ Agent uninstalled successfully

StatusRadar agent has been completely removed from your system.

Ручное удаление

Для пошагового контроля:

Шаг 1. Остановите сервис

sudo systemctl stop statusradar-agent

Шаг 2. Отключите сервис

sudo systemctl disable statusradar-agent

Шаг 3. Удалите файл systemd-сервиса

sudo rm -f /etc/systemd/system/statusradar-agent.service
sudo systemctl daemon-reload

Шаг 4. Удалите каталог агента

sudo rm -rf /opt/statusradar

Шаг 5. Удалите каталог логов

sudo rm -rf /var/log/statusradar

Шаг 6. Проверьте удаление

# Check service is gone
systemctl status statusradar-agent
# Should show: "Unit statusradar-agent.service could not be found"

# Check files are removed
ls -la /opt/statusradar
# Should show: "No such file or directory"

Резервное копирование перед удалением

Если в будущем вы можете захотеть переустановить агент с той же конфигурацией:

# Backup configuration
sudo cp /opt/statusradar/config.env ~/statusradar-config-backup.env

# Or backup entire directory
sudo tar czf ~/statusradar-backup.tar.gz /opt/statusradar

# Then uninstall
curl -s https://statusradar.dev/install-agent.sh | sudo bash -s uninstall

Чтобы восстановить позже:

# Reinstall agent
TOKEN='your-token' bash -c "$(curl -sL https://statusradar.dev/install-agent.sh)"

# Restore configuration
sudo cp ~/statusradar-config-backup.env /opt/statusradar/config.env

# Restart with old config
sudo systemctl restart statusradar-agent

Проверка

Проверьте полное удаление

Проверка 1. Сервис не найден

sudo systemctl status statusradar-agent

Ожидается: Unit statusradar-agent.service could not be found

Проверка 2. Файлы удалены

ls /opt/statusradar
ls /var/log/statusradar

Ожидается: No such file or directory

Проверка 3. Нет запущенных процессов

ps aux | grep statusradar

Должна отображаться только сама команда grep

Проверка 4. Файл systemd-сервиса удалён

ls /etc/systemd/system/statusradar-agent.service

Ожидается: No such file or directory

Проверка в панели управления

После удаления:

  1. Ваш сервер будет отображаться как «Offline» в панели управления
  2. Исторические данные остаются видимыми
  3. При необходимости удалите запись сервера в настройках

Зависимости Python

Системные пакеты (необязательная очистка)

Скрипт удаления НЕ удаляет системные пакеты Python из соображений безопасности. Эти пакеты могут использоваться другими приложениями:

Чтобы проверить, безопасно ли удалять:

# Check what uses psutil
dpkg -S python3-psutil

# Check what uses requests
dpkg -S python3-requests

Чтобы удалить вручную (только если вы уверены):

# Ubuntu/Debian
sudo apt-get remove --purge python3-psutil python3-requests python3-urllib3

# CentOS/RHEL
sudo yum remove python3-psutil python3-requests python3-urllib3

Виртуальное окружение

Если агент использовал виртуальное окружение, оно автоматически удаляется при деинсталляции по пути /opt/statusradar/venv.

Удаление с нескольких серверов

Чтобы удалить агент с нескольких серверов:

Создайте скрипт удаления

#!/bin/bash
# uninstall-agents.sh

SERVERS=(
  "web1.example.com"
  "web2.example.com"
  "db1.example.com"
)

for server in "${SERVERS[@]}"; do
  echo "Uninstalling agent on $server..."
  ssh root@$server "curl -s https://statusradar.dev/install-agent.sh | bash -s uninstall"
  echo "---"
done

echo "All agents uninstalled"

Запустите пакетное удаление

chmod +x uninstall-agents.sh
./uninstall-agents.sh

Устранение неполадок при удалении

Сервис не останавливается

Ошибка: Failed to stop service

# Force kill the process
sudo pkill -9 -f statusradar-agent

# Then remove service
sudo rm -f /etc/systemd/system/statusradar-agent.service
sudo systemctl daemon-reload

Не удаётся удалить каталог

Ошибка: Device or resource busy

# Check what's using the directory
sudo lsof +D /opt/statusradar

# Kill processes
sudo pkill -9 -f statusradar

# Try again
sudo rm -rf /opt/statusradar

Permission denied

# Use sudo for all removal commands
sudo rm -rf /opt/statusradar
sudo rm -rf /var/log/statusradar
sudo rm -f /etc/systemd/system/statusradar-agent.service

Сервис всё ещё в списке после удаления

# Reload systemd
sudo systemctl daemon-reload

# Reset failed state
sudo systemctl reset-failed

# Verify
systemctl list-units --all | grep statusradar

После удаления

Удалите сервер из панели управления

  1. Войдите в панель управления StatusRadar
  2. Перейдите в Servers
  3. Нажмите на ваш сервер
  4. Перейдите на вкладку Settings
  5. Прокрутите до «Danger Zone»
  6. Нажмите Delete Server
  7. Подтвердите удаление

Это удалит:

  • Запись сервера
  • Все исторические метрики
  • Все оповещения для этого сервера
  • Конфигурации плагинов

Экспортируйте данные перед удалением

Если вы хотите сохранить исторические данные:

# Export via API (if you have API access)
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  "https://api.statusradar.dev/v1/servers/SERVER_ID/metrics/export" \
  > server-metrics.json

Переустановка

Чистая установка

Если вы захотите переустановить позже:

TOKEN='your-token' bash -c "$(curl -sL https://statusradar.dev/install-agent.sh)"

С прежней конфигурацией

Если вы сделали резервную копию конфигурации:

# Install agent
TOKEN='your-token' bash -c "$(curl -sL https://statusradar.dev/install-agent.sh)"

# Restore config
sudo cp ~/statusradar-config-backup.env /opt/statusradar/config.env

# Restart
sudo systemctl restart statusradar-agent

Получение помощи

Если при удалении возникли проблемы:

  1. Попробуйте шаги ручного удаления
  2. Проверьте логи: sudo journalctl -u statusradar-agent -n 100
  3. Принудительно удалите файлы: sudo rm -rf /opt/statusradar
  4. Обратитесь в поддержку: [email protected]

Дальнейшие шаги