Сбор инвентарной информации

В данном разделе представлены сведения о собираемой агентами инвентарной информации и структуре соответствующих сообщений, передаваемых в менеджер.

Об инвентарной информации

Агент позволяет собирать следующие инвентарные сведения о хосте:

  • Аппаратная конфигурация: материнская плата, процессоры, память, диски, дисплеи, видеокарты.

  • Процессы: состояние и идентификаторы процессов, использование ресурсов.

  • Пользователи и группы.

  • Сетевые интерфейсы и открытые порты.

  • Общие папки и точки монтирования.

  • Установленные пакеты и приложения.

  • Docker-контейнеры.

Сбор инвентарной информации необходим для:

  • отображения конфигурации хоста в веб-интерфейсе системы;

  • использования конфигурации хоста для автоматического назначения групп агентам;

  • регистрации агента в менеджере.

Сбор инвентарной информации осуществляется следующим образом:

Структура сообщения об инвентарной информации

Ниже представлена структура сообщения с инвентарными сведениями, которое агент отправляет в менеджер. Данную структуру необходимо учитывать при настройке автоназначения групп.

Параметр Тип данных Описание

os_info

объект OSInfo

Информация об ОС.

Необязательный параметр.

hardware

объект Hardware

Информация об аппаратном обеспечении.

Необязательный параметр.

network_interfaces

объект NetworkInterfaces

Информация о сетевых интерфейсах.

Необязательный параметр.

processes

объект Processes

Информация о процессах.

Необязательный параметр.

users_and_groups

объект UsersAndGroups

Информация о пользователях и группах.

Необязательный параметр.

mounts

объект Mounts

Информация о точках монтирования.

Необязательный параметр.

docker_containers

объект DockerContainers

Информация о контейнерах.

Необязательный параметр.

packages

объект Packages

Информация о пакетах.

Необязательный параметр.

shared_folders

объект SharedFolders

Информация об общих папках.

Необязательный параметр.

open_ports

объект OpenPorts

Информация об открытых портах.

Необязательный параметр.

created_at

int64

Время формирования сообщения в миллисекундах, прошедших с момента 00:00:00 UTC 1 января 1970.

OSInfo

Информация об операционной системе.

Параметр Тип данных Описание

os_name

string

Название ОС.

os_platform

string

Платформа ОС.

os_version

string

Версия ОС.

os_major

int32

Мажорная версия ОС.

os_minor

int32

Минорная версия ОС.

os_patch

int32

Номер патча ОС.

os_build

string

Номер сборки ОС.

os_type

объект OsType

Тип ОС:

  • OS_TYPE_UNKNOWN — неизвестная ОС.

  • OS_TYPE_LINUX — Linux.

  • OS_TYPE_WINDOWS — Windows.

  • OS_TYPE_MACOS — macOS.

os_codename

string

Кодовое имя ОС.

sysname

string

Системное имя.

hostname

string

Имя хоста.

version

string

Версия ядра ОС.

architecture

string

Архитектура ОС.

release

string

Номер релиза ОС.

machine_id

string

Уникальный идентификатор устройства.

os_release

string

Подробная информация о релизе ОС.

os_display_version

string

Отображаемая версия ОС.

Hardware

Информация об аппаратном обеспечении.

Параметр Тип данных Описание

motherboard

объект Motherboard

Информация о материнской плате.

cpu

массив объектов Cpu

Список процессоров.

Необязательный параметр.

memory

объект Memory

Информация об оперативной памяти.

displays

массив объектов Display

Список дисплеев.

Необязательный параметр.

disks

массив объектов Disk

Список дисков.

Необязательный параметр.

videos

массив объектов Video

Список видеокарт.

Необязательный параметр.

Motherboard

Информация о материнской плате.

Параметр Тип данных Описание

serial_number

string

Серийный номер материнской платы.

manufacturer

string

Производитель материнской платы.

product

string

Модель материнской платы.

Cpu

Информация о процессоре.

Параметр Тип данных Описание

name

string

Имя процессора.

num_cores

uint32

Количество ядер в процессоре.

mhz

double

Тактовая частота процессора в МГц.

Memory

Информация об оперативной памяти.

Параметр Тип данных Описание

total_bytes

uint64

Общий объем оперативной памяти в байтах.

free_bytes

uint64

Свободный объем оперативной памяти в байтах.

modules

массив объектов Module

Список модулей оперативной памяти.

Необязательный параметр.

Module

Информация о модуле оперативной памяти.

Параметр Тип данных Описание

serial_number

string

Серийный номер модуля оперативной памяти.

manufacturer

string

Производитель модуля оперативной памяти.

size_bytes

uint64

Размер модуля оперативной памяти в байтах.

Display

Информация о дисплее.

Параметр Тип данных Описание

serial_number

string

Серийный номер дисплея.

model

string

Модель дисплея.

Disk

Информация о диске.

Параметр Тип данных Описание

serial_number

string

Серийный номер диска.

model

string

Модель диска.

size_bytes

uint64

Размер диска в байтах.

Video

Информация о видеокарте.

Параметр Тип данных Описание

serial_number

string

Серийный номер видеокарты.

manufacturer

string

Производитель видеокарты.

model

string

Модель видеокарты.

NetworkInterfaces

Информация о сетевых интерфейсах.

Параметр Тип данных Описание

ipv4

массив объектов Ip

Список IPv4-адресов.

Необязательный параметр.

ipv6

массив объектов Ip

Список IPv6-адресов.

Необязательный параметр.

adapter

string

Название сетевого адаптера.

Необязательный параметр.

type

объект NetworkInterfaceType

Тип сетевого интерфейса:

  • NIT_UNSPECIFIED — тип не указан.

  • NIT_ETHERNET — Ethernet.

  • NIT_TOKEN_RING — Token Ring.

  • NIT_POINT_TO_POINT — Point-to-Point.

  • NIT_ATM — ATM.

  • NIT_FIREWIRE — Firewire.

  • NIT_TUNNEL — Tunnel.

  • NIT_FIBRECHANNEL — FibreChannel.

  • NIT_WIRELESS — Wireless.

  • NIT_NONE — интерфейс отсутствует.

state

объект NetworkInterfaceState

Состояние сетевого интерфейса:

  • NIS_UNSPECIFIED — состояние не указано.

  • NIS_UP — интерфейс активен.

  • NIS_DOWN — интерфейс выключен.

  • NIS_TESTING — интерфейс находится в состоянии тестирования.

  • NIS_DORMANT — интерфейс находится в спящем режиме.

  • NIS_NOT_PRESENT — интерфейс отсутствует.

  • NIS_LOWER_LAYER_DOWN — нижний уровень интерфейса не активен.

mac

string

MAC-адрес.

Необязательный параметр.

tx_packets

int64

Количество отправленных пакетов.

Необязательный параметр.

rx_packets

int64

Количество полученных пакетов.

Необязательный параметр.

tx_bytes

int64

Количество отправленных байтов.

Необязательный параметр.

rx_bytes

int64

Количество полученных байтов.

Необязательный параметр.

tx_errors

int64

Количество ошибок передачи, обнаруженных драйвером устройства.

Необязательный параметр.

rx_errors

int64

Количество ошибок приема, обнаруженных драйвером устройства.

Необязательный параметр.

tx_dropped

int64

Количество сброшенных пакетов при передаче.

Необязательный параметр.

rx_dropped

int64

Количество сброшенных пакетов при приеме.

Необязательный параметр.

mtu

uint32

Максимальный допустимый размер передаваемого пакета (MTU) в байтах.

Необязательный параметр.

gateway

string

Информация о шлюзе.

Необязательный параметр.

Ip

Информация об IP-адресе.

Параметр Тип данных Описание

address

string

IP-адрес.

Примеры: 192.168.1.1, ::ffff:192.168.1.1

netmask

string

Маска.

Примеры: 255.255.0.0, ffff:ffff:ffff:ffff::

broadcast

string

Broadcast-адрес.

Пример: 192.168.1.255

metric

int32

Значение метрики маршрута.

Необязательный параметр.

dhcp

объект NetworkInterfaceDhcp

Протокол DHCP:

  • NID_UNSPECIFIED — не указан.

  • NID_ENABLED — включен.

  • NID_DISABLED — выключен.

  • NID_BOOTP — Bootstrap Protocol.

Processes

Информация о процессах.

Параметр Тип данных Описание

values

массив объектов Process

Список процессов.

Необязательный параметр.

Process

Информация о процессе.

Параметр Тип данных Описание

process_id

int64

Идентификатор процесса.

name

string

Имя процесса.

Пример: system, conhost.exe

state

объект ProcessState

Состояние процесса:

  • PS_UNSPECIFIED — состояние не указано.

  • PS_RUNNING — процесс выполняется.

  • PS_UNINTERRUPTIBLE_SLEEP — процесс находится в непрерываемом сне.

  • PS_INTERRUPTABLE_SLEEP — процесс находится в ожидании события.

  • PS_STOPPED — процесс остановлен.

  • PS_ZOMBIE — процесс завершил выполнение, но его родительский процесс еще не считал статус завершения (процесс-зомби).

  • PS_IDLE — процесс находится в состоянии простоя (Idle).

  • PS_PARKED — процесс остановлен и ожидает возобновления или завершения.

  • PS_TRACING_STOP — процесс остановлен отладчиком.

  • PS_DEAD — процесс завершен.

Параметр обязателен только в ОС Linux.

parent_process_id

int64

Идентификатор родительского процесса.

user_mode_cpu_time_ms

int64

Время выполнения процесса в пользовательском режиме (user mode) в миллисекундах.

Необязательный параметр.

kernel_mode_cpu_time_ms

int64

Время выполнения процесса в режиме ядра (kernel mode) в миллисекундах.

Необязательный параметр.

command

string

Команда запуска процесса.

command_arguments

массив string

Аргументы команды запуска процесса.

Необязательный параметр.

effective_user_name

string

Имя пользователя, права которого используются процессом (эффективный пользователь).

Необязательный параметр.

real_user_name

string

Имя пользователя, запустившего процесс (реальный пользователь).

Необязательный параметр.

saved_user_name

string

Имя пользователя для восстановления исходных прав доступа.

Необязательный параметр.

effective_group_name

string

Группа пользователей, права которой используются процессом (эффективная группа).

Необязательный параметр.

real_group_name

string

Группа пользователей, запустившая процесс (реальная группа).

Необязательный параметр.

saved_group_name

string

Группа пользователей для восстановления исходных прав доступа.

Необязательный параметр.

filesystem_group_name

string

Файловая группа, к которой обращается процесс.

Необязательный параметр.

priority

int32

Системный приоритет процесса.

nice

int32

Пользовательский приоритет процесса.

Необязательный параметр.

total_pages

int64

Объем выделенной памяти в страницах.

virtual_memory_size_kb

int64

Размер виртуальной памяти в КБ.

resident_pages

int64

Количество страниц, загруженных в память.

Необязательный параметр.

shared_pages

int64

Количество страниц с общим доступом.

Необязательный параметр.

start_time_ms

int64

Время запуска процесса в миллисекундах, прошедших с момента 00:00:00 UTC 1 января 1970.

process_group_id

int64

Идентификатор группы процессов.

Необязательный параметр.

session_id

int64

Идентификатор сессии.

task_group_id

int64

Идентификатор группы, к которой принадлежит процесс.

Необязательный параметр.

tty_device_number

int32

Номер терминального устройства процесса.

Необязательный параметр.

current_cpu_num

int32

Номер ядра процессора, в котором выполняется процесс.

Необязательный параметр.

threads_number

int32

Количество потоков процесса.

Необязательный параметр.

container_id

string

Идентификатор контейнера, в котором запущен процесс.

Необязательный параметр.

container_name

string

Имя контейнера, в котором запущен процесс.

Необязательный параметр.

UsersAndGroups

Информация о пользователях и группах.

Параметр Тип данных Описание

users

объект Users

Информация о пользователях.

groups

объект Groups

Информация о группах пользователей.

Users

Информация о пользователях.

Параметр Тип данных Описание

values

массив объектов User

Список пользователей.

Необязательный параметр.

User

Информация о пользователе.

Параметр Тип данных Описание

user_id

int64

Идентификатор пользователя.

group_id

int64

Идентификатор группы, в которой состоит пользователь.

Необязательный параметр.

user_name

string

Имя пользователя.

home_dir

string

Домашний каталог пользователя.

description

string

Описание пользователя.

Необязательный параметр.

type

объект UserType

Тип пользователя:

  • USER_TYPE_UNSPECIFIED — не указан.

  • USER_TYPE_LOCAL — локальный пользователь.

  • USER_TYPE_ROAMING — пользователь, чьи данные хранятся на сервере.

group_ids

массив int64

Список групп, в которых состоит пользователь.

Необязательный параметр.

is_local_admin

bool

Признак, является ли пользователь локальным администратором.

Необязательный параметр.

is_disabled

bool

Признак, отключен ли пользователь.

Необязательный параметр.

full_name

string

Полное имя пользователя.

Необязательный параметр.

last_seen_ms

int64

Время последнего входа пользователя в систему в миллисекундах, прошедших с момента 00:00:00 UTC 1 января 1970.

Необязательный параметр.

is_online

bool

Признак того, находится ли сейчас пользователь онлайн.

Необязательный параметр.

has_sudo_rights

bool

Признак наличия у пользователя прав sudo.

Необязательный параметр.

sid

string

Идентификатор безопасности (SID) пользователя.

Необязательный параметр.

domain_name

string

Доменное имя пользователя.

Необязательный параметр.

Groups

Информация о группах пользователей.

Параметр Тип данных Описание

values

массив объектов Group

Список групп пользователей.

Необязательный параметр.

Group

Информация о группе пользователей.

Параметр Тип данных Описание

group_id

int64

Идентификатор группы.

group_name

string

Имя группы.

sid

string

Идентификатор безопасности (SID) группы.

Необязательный параметр.

description

string

Описание группы.

Необязательный параметр.

Mounts

Информация о точках монтирования.

Параметр Тип данных Описание

values

массив объектов Mount

Список точек монтирования.

Необязательный параметр.

Mount

Информация о точке монтирования.

Параметр Тип данных Описание

device

string

Устройство, которое монтируется.

mount_point

string

Путь монтирования.

filesystem

string

Тип файловой системы.

Примеры: tmpfs, ext4, ntfs

free_space_bytes

uint64

Свободное место в файловой системе в байтах.

Необязательный параметр.

size_bytes

uint64

Общий размер файловой системы в байтах.

Необязательный параметр.

DockerContainers

Информация о Docker-контейнерах.

Параметр Тип данных Описание

containers

массив объектов DockerContainer

Список Docker-контейнеров.

Необязательный параметр.

DockerContainer

Информация о Docker-контейнере.

Параметр Тип данных Описание

container_id

string

Идентификатор контейнера.

names

массив string

Список имен контейнера.

Необязательный параметр.

image

string

Образ контейнера.

command

string

Команда запуска контейнера.

created_ms

int64

Время создания контейнера в миллисекундах, прошедших с момента 00:00:00 UTC 1 января 1970.

path

string

Путь запуска контейнера.

status

объект DockerContainerStatus

Статус контейнера:

  • DCS_UNSPECIFIED — статус не указан.

  • DCS_CREATED — контейнер создан.

  • DCS_RESTARTING — контейнер перезапускается.

  • DCS_RUNNING — контейнер работает.

  • DCS_REMOVING — контейнер удаляется.

  • DCS_PAUSED — контейнер приостановлен.

  • DCS_EXITED — контейнер завершен.

  • DCS_DEAD — контейнер завершен некорректно или не может быть удален.

ports

массив объектов DockerPort

Список портов контейнера.

Необязательный параметр.

DockerPort

Информация о порте Docker-контейнера.

Параметр Тип данных Описание

hosts

массив объектов DockerPortHost

Список привязок порта к хостам.

Необязательный параметр.

private_port

int64

Приватный порт контейнера.

protocol

объект DockerPortProtocol

Протокол соединения:

  • DPP_UNSPECIFIED — не указан.

  • DPP_TCP — TCP.

  • DPP_UDP — UDP.

  • DPP_SCTP — SCTP.

DockerPortHost

Информация о привязке порта Docker-контейнера к хосту.

Параметр Тип данных Описание

host

string

Адрес хоста.

port

int32

Порт подключения.

Packages

Информация о пакетах.

Параметр Тип данных Описание

values

массив объектов Package

Список пакетов.

Необязательный параметр.

Package

Информация о пакете.

Параметр Тип данных Описание

architecture

string

Архитектура пакета.

Примеры: x86_64, noarch, amd64, all, i686

size_bytes

uint64

Размер пакета в байтах.

Необязательный параметр.

format

объект PackageFormat

Формат пакета:

  • PACKAGE_FORMAT_UNSPECIFIED — не указан.

  • PACKAGE_FORMAT_DEB — DEB.

  • PACKAGE_FORMAT_RPM — RPM.

  • PACKAGE_FORMAT_WIN — Windows.

  • PACKAGE_FORMAT_APPX — APPX.

  • PACKAGE_FORMAT_APK — APK.

  • PACKAGE_FORMAT_PACMAN — Pacman.

  • PACKAGE_FORMAT_SNAP — Snap.

  • PACKAGE_FORMAT_CHROME_EXT — Chrome extension.

  • PACKAGE_FORMAT_FIREFOX_EXT — Firefox extension.

  • PACKAGE_FORMAT_BREW_PKG — Homebrew.

  • PACKAGE_FORMAT_MACPORTS — MacPorts.

  • PACKAGE_FORMAT_NPM — NPM.

  • PACKAGE_FORMAT_PYPI — PyPI.

  • PACKAGE_FORMAT_PKG — PKG.

vendor

string

Производитель пакета.

install_time_ms

int64

Время установки пакета в миллисекундах, прошедших с момента 00:00:00 UTC 1 января 1970.

Необязательный параметр.

location

string

Путь к пакету.

groups

массив string

Список групп пакета.

Примеры: ["System Environment/Base"], ["utils"]

Необязательный параметр.

priority

string

Приоритет пакета.

Примеры: standard, important

multi_arch

string

Информация, поддерживает ли пакет различные архитектуры.

source

string

Источник пакета.

identifier

string

Идентификатор пакета.

name

string

Название пакета.

version

string

Версия пакета.

description

string

Описание пакета.

SharedFolders

Информация об общих папках.

Параметр Тип данных Описание

values

массив объектов SharedFolder

Список общих папок.

Необязательный параметр.

SharedFolder

Информация об общей папке.

Параметр Тип данных Описание

type

объект ShareType

Тип ресурса:

  • SHARE_TYPE_UNSPECIFIED — не указан.

  • SHARE_TYPE_SMB — SMB.

  • SHARE_TYPE_NFS — NFS.

name

string

Имя общей папки.

Необязательный параметр.

path

string

Путь к общей папке.

description

string

Описание общей папки.

Необязательный параметр.

OpenPorts

Информация об открытых портах.

Параметр Тип данных Описание

values

массив объектов NetworkPort

Список открытых портов.

Необязательный параметр.

NetworkPort

Информация об открытом сетевом порте.

Параметр Тип данных Описание

protocol

объект NetworkPortProtocol

Протокол порта:

  • NPP_UNSPECIFIED — не указан.

  • NPP_UDP — UDP.

  • NPP_UDP6 — UDP IPv6.

  • NPP_TCP — TCP.

  • NPP_TCP6 — TCP IPv6.

local_ip

string

Локальный IP-адрес.

local_port

int32

Локальный порт.

remote_ip

string

Удаленный IP-адрес.

remote_port

int32

Удаленный порт.

tx_queue

uint64

Очередь передачи в байтах.

Необязательный параметр.

rx_queue

uint64

Очередь приема в байтах.

Необязательный параметр.

inode

uint64

Идентификатор inode.

Необязательный параметр.

state

объект NetworkPortState

Состояние порта:

  • NPS_UNSPECIFIED — состояние не указано.

  • NPS_TCP_ESTABLISHED — соединение установлено.

  • NPS_TCP_SYN_SENT — отправлен запрос на установку соединения (SYN).

  • NPS_TCP_SYN_RECV — получен запрос на установку соединения (SYN).

  • NPS_TCP_FIN_WAIT1 — отправлен запрос на закрытие соединения.

  • NPS_TCP_FIN_WAIT2 — запрос на закрытие соединения подтвержден, ожидается финальное подтверждение.

  • NPS_TCP_TIME_WAIT — ожидается закрытие соединения.

  • NPS_TCP_CLOSE — соединение закрыто.

  • NPS_TCP_CLOSE_WAIT — одна сторона готова закрыть соединение.

  • NPS_TCP_LAST_ACK — ожидается финальное подтверждение закрытия соединения.

  • NPS_TCP_LISTEN — ожидаются входящие соединения.

  • NPS_TCP_CLOSING — происходит закрытие соединения.

  • NPS_TCP_DELETE_TCB — происходит удаление блока управления передачей (TCB). Состояние доступно только в ОС Windows.

process_id

int64

Идентификатор процесса, использующего порт.

Необязательный параметр.

process_name

string

Имя процесса, использующего порт.

Необязательный параметр.

container_id

string

Идентификатор контейнера, в котором размещен порт.

Необязательный параметр.

container_name

string

Имя контейнера, в котором размещен порт.

Необязательный параметр.

Была ли полезна эта страница?

Обратная связь