# InfoUser Agent Агент собирает базовые метрики компьютера и отправляет их на сервер InfoUser Monitor каждый час. ## Установка (Linux) ```bash cd agent sudo bash install.sh ``` Установка выполняет следующие действия: 1. Копирует файлы `agent.py`, `config.json`, `requirements.txt` в `/opt/info-user-agent/`. 2. Устанавливает Python-зависимости. 3. Создаёт `systemd` сервис `info-user-agent.service` и таймер `info-user-agent.timer`. 4. Запускает таймер и включает его автозапуск при загрузке. Проверка статуса: ```bash sudo systemctl status info-user-agent.timer sudo systemctl list-timers info-user-agent.timer ``` ## Ручной запуск ```bash python3 agent.py ``` ## Конфигурация Файл `config.json`: ```json { "server_url": "http://your-server-ip-or-hostname", "agent_token": "your-agent-token-here", "interval_minutes": 60, "send_public_ip": false } ``` - `server_url` — адрес сервера InfoUser Monitor. - `agent_token` — токен, должен совпадать с `AGENT_TOKEN` на сервере. - `interval_minutes` — интервал отправки (при использовании Task Scheduler / cron вручную). - `send_public_ip` — отправлять ли публичный IP (`true`/`false`). ## Собираемые данные | Поле | Описание | |------|----------| | `hostname` | Имя компьютера | | `username` | Имя текущего пользователя | | `os_info` | Операционная система | | `local_ip` | Локальный IP адрес | | `public_ip` | Публичный IP (опционально) | | `uptime_sec` | Время работы с момента загрузки | | `cpu_percent` | Загрузка CPU, % | | `ram_percent` | Загрузка RAM, % | | `ram_total_gb` | Объём RAM в GB | | `disk_info` | Список дисков с использованием | | `cpu_temp` | Температура CPU, °C | | `load_avg` | Средняя загрузка (Linux) | | `processes` | Top-10 процессов по CPU | ## Установка на Windows 1. Установите Python 3.11+ и зависимости: ```powershell pip install -r requirements.txt ``` 2. Отредактируйте `config.json`. 3. Создайте задачу в Task Scheduler: - **Trigger**: Daily, repeat every 1 hour. - **Action**: `python.exe` с аргументом `C:\path\to\agent.py`. - **Run with highest privileges** (опционально, для сбора данных всех пользователей). ## Установка на macOS Аналогично Linux, но вместо systemd можно использовать `launchd` plist или cron: ```bash 0 * * * * /usr/bin/python3 /opt/info-user-agent/agent.py ``` ## Логи и отладка При ручном запуске ошибки выводятся в консоль. При установке через systemd журнал доступен: ```bash sudo journalctl -u info-user-agent.service ``` ## Безопасность - Храните `agent_token` в секрете и не выкладывайте в публичные репозитории. - Используйте HTTPS для `server_url` в production. - Для публичного IP-адреса включайте `send_public_ip` только при необходимости.