4.9 KiB
4.9 KiB
AGENTS.md - Инструкции для агентов по работе с проектом мониторинга
О проекте
Название: Система мониторинга серверов URL: https://mon.mirv.top Расположение: /var/www/mon Технологии: PHP 8.1+, Slim Framework 4, Twig, MySQL/MariaDB
Структура проекта
/var/www/mon/
├── composer.json # Зависимости проекта
├── composer.lock # Зафиксированные версии зависимостей
├── .env # Конфигурация окружения
├── public/
│ ├── index.php # Точка входа
│ ├── css/ # Стили
│ └── js/ # JavaScript
├── src/
│ ├── Controllers/ # Контроллеры
│ ├── Middleware/ # Промежуточное ПО
│ ├── Models/ # Модели данных
│ └── Services/ # Бизнес-логика
├── templates/ # Шаблоны Twig
├── migrations/ # Миграции базы данных
└── tests/ # Тесты
Зависимости
- PHP 8.1+
- Slim Framework 4
- Twig template engine
- MySQL/MariaDB
- Composer для управления зависимостями
Конфигурация
Файл .env содержит:
- DATABASE_URL - строка подключения к базе данных
- JWT_SECRET - секрет для JWT токенов
- SMTP настройки - для отправки уведомлений
- API токены для агентов мониторинга
API endpoints
GET /api/servers- список мониторинговых серверовGET /api/servers/{id}- детали сервераPOST /api/servers- создание нового сервераPUT /api/servers/{id}- обновление сервераDELETE /api/servers/{id}- удаление сервераGET /api/metrics/{server_id}- метрики сервераPOST /api/agent/metrics- получение метрик от агентаGET /csrf-token- получение CSRF токена для форм
Агентские задачи
1. Добавление нового сервера для мониторинга
- Использовать форму в
/servers/create - Убедиться, что CSRF токен добавлен к форме (через
/csrf-token) - Заполнить поля: название, IP-адрес, порт, токен агента
- Проверить, что сервер отвечает на запросы
2. Обновление конфигурации уведомлений
- Перейти в настройки уведомлений
- Обновить email или webhook URL
- Проверить доставку уведомлений
3. Управление группами серверов
- Использовать
/groupsдля создания/редактирования групп - Назначать серверы в группы
- Устанавливать правила уведомлений на уровне групп
4. Обновление системы
- Сделать резервную копию базы данных
- Обновить зависимости через composer
- Выполнить миграции базы данных
- Обновить конфигурацию nginx при необходимости
Безопасность
- Все формы требуют CSRF токены
- Аутентификация через сессии
- Валидация входных данных
- Санитизация вывода в шаблонах
Инструменты для агентов
- Использовать
composerдля управления зависимостями - Запускать миграции через
php vendor/bin/phinx - Тестировать через
phpunitпри наличии
Часто используемые команды
# Установка зависимостей
composer install
# Обновление зависимостей
composer update
# Выполнение миграций
php vendor/bin/phinx migrate
# Запуск тестов
php vendor/bin/phpunit
# Резервное копирование БД
mysqldump -u username -p database_name > backup.sql
Особенности архитектуры
- MVC паттерн с использованием Slim Framework
- Аутентификация через сессии
- Middleware для защиты маршрутов
- Twig для безопасного рендеринга шаблонов
- Поддержка агентов мониторинга через API