Files
info-user/agent.md
T

3.6 KiB
Raw Permalink Blame History

InfoUser Agent

Агент собирает базовые метрики компьютера и отправляет их на сервер InfoUser Monitor каждый час.

Установка (Linux)

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. Запускает таймер и включает его автозапуск при загрузке.

Проверка статуса:

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

  1. Установите Python 3.11+ и зависимости:
pip install -r requirements.txt
  1. Отредактируйте config.json.

  2. Создайте задачу в 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 только при необходимости.