4.3 KiB
Executable File
4.3 KiB
Executable File
Установка и запуск системы мониторинга
Требования
- PHP 8.3 или выше
- Composer
- MySQL 8+ или MariaDB 10.5+
- Apache или Nginx
Установка
1. Клонирование проекта
git clone <repository-url>
cd monitoring-system
2. Установка зависимостей
composer install
3. Настройка базы данных
- Создайте базу данных:
CREATE DATABASE monitoring_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- Импортируйте схему:
mysql -u root -p monitoring_system < schema.sql
4. Настройка веб-сервера
Apache
Создайте виртуальный хост:
<VirtualHost *:80>
ServerName mon.mirv.top
DocumentRoot /path/to/monitoring-system/public
<Directory /path/to/monitoring-system/public>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/mon_error.log
CustomLog ${APACHE_LOG_DIR}/mon_access.log combined
</VirtualHost>
Nginx
server {
listen 80;
server_name mon.mirv.top;
root /path/to/monitoring-system/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}
}
5. Настройка конфигурации базы данных
Отредактируйте файл config/DatabaseConfig.php для указания параметров подключения к базе данных:
private $host = 'localhost';
private $db_name = 'monitoring_system';
private $username = 'your_db_username';
private $password = 'your_db_password';
Использование
1. Вход в систему
Перейдите на http://mon.mirv.top/login и войдите в систему.
Для первоначальной настройки создайте администратора через SQL:
INSERT INTO users (username, password_hash, email, role)
VALUES ('admin', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin@example.com', 'admin');
Пароль: password
2. Добавление серверов
- Перейдите в раздел "Серверы"
- Нажмите "Добавить сервер"
- Заполните форму и сохраните
- На странице подтверждения скопируйте токен и скачайте скрипт установки
3. Установка агента на мониторимый сервер
- Скачайте скрипт установки с сервера мониторинга
- Загрузите его на сервер, который нужно мониторить
- Выполните:
chmod +x install.sh
./install.sh
Агент будет установлен как systemd-сервис и начнет отправлять метрики на сервер мониторинга.
API
Отправка метрик
Агенты отправляют метрики на эндпоинт /api/v1/metrics методом POST:
{
"token": "токен_сервера",
"metrics": {
"cpu_load": 45.2,
"ram_used": 89.1,
"ram_total_gb": 16.0,
"disk_used_root": 65.5,
"net_in_ens3": 12.3,
"net_out_ens3": 5.6
},
"services": [
{"name": "nginx", "status": "running"}
]
}
Скачивание агента
GET /get-agent?token=<server_token>
GET /agent/install.sh?token=<server_token>
GET /agent/install.bat?token=<server_token>
Безопасность
- Все пароли хешируются с помощью
password_hash() - Токены агентов хранятся в виде SHA-256 хешей
- Все SQL-запросы используют подготовленные выражения
- Вход на все страницы требует аутентификации (кроме API и страницы входа)