3.6 KiB
3.6 KiB
InfoUser Agent
Агент собирает базовые метрики компьютера и отправляет их на сервер InfoUser Monitor каждый час.
Установка (Linux)
cd agent
sudo bash install.sh
Установка выполняет следующие действия:
- Копирует файлы
agent.py,config.json,requirements.txtв/opt/info-user-agent/. - Устанавливает Python-зависимости.
- Создаёт
systemdсервисinfo-user-agent.serviceи таймерinfo-user-agent.timer. - Запускает таймер и включает его автозапуск при загрузке.
Проверка статуса:
sudo systemctl status info-user-agent.timer
sudo systemctl list-timers info-user-agent.timer
Ручной запуск
python3 agent.py
Конфигурация
Файл config.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
- Установите Python 3.11+ и зависимости:
pip install -r requirements.txt
-
Отредактируйте
config.json. -
Создайте задачу в 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:
0 * * * * /usr/bin/python3 /opt/info-user-agent/agent.py
Логи и отладка
При ручном запуске ошибки выводятся в консоль. При установке через systemd журнал доступен:
sudo journalctl -u info-user-agent.service
Безопасность
- Храните
agent_tokenв секрете и не выкладывайте в публичные репозитории. - Используйте HTTPS для
server_urlв production. - Для публичного IP-адреса включайте
send_public_ipтолько при необходимости.