Files
info-user/agent.md
T

105 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` только при необходимости.