Сбор данных по пакетам

Пакетная инвентаризация собирает информацию о программном обеспечении, установленном через пакетные менеджеры (например, APT на Astra Linux). В отличие от файловой инвентаризации, она не сканирует файлы на диске, а опрашивает системный менеджер пакетов для получения списка установленных пакетов, их версий, секций репозиториев и времени установки.

Для настройки сбора данных по пакетам на устройстве в меню навигации выберите Настройки > Инвентаризация устройств > Сбор данных программного обеспечения > Сбор данных по пакетам.

Включение и отключение сбора данных по пакетам

По умолчанию пакетная инвентаризация включена.

Чтобы отключить ее, на странице настроек сбора данных по пакетам снимите флажок Собирать данные.

После этого становятся недоступны для изменения настройки расписания сбора данных, а также настройки состава собираемых данных (белые/черные списки, режим «Собирать все и игнорировать списки»).

Изменение расписания сбора данных по пакетам

Для настройки расписания сбора данных по пакетам на странице «Сбор данных по пакетам» раскройте вкладку Расписание и задайте следующие параметры:

  • расписание полной инвентаризации:

    • Запускать каждые — периодичность выполнения инвентаризации (значение по умолчанию: 7);

    • Период — единица измерения времени; возможные значения: секунды, минуты, часы, дни (значение по умолчанию: дни);

    • Случайный разброс, секунд — интервал случайной задержки (в секундах) перед запуском задачи на агенте; используется для равномерного распределения нагрузки при одновременном запуске на множестве устройств (значение по умолчанию: 60);

    • Указать интервал запуска — установить ограничение времени выполнения инвентаризации в рамках суток (например, только с 01:00 до 04:00); если ограничение отсутствует, инвентаризация может запускаться в любое время (значение по умолчанию: с 00:00 до 03:00);

  • расписание частичной инвентаризации:

    • Запускать каждые — периодичность выполнения инвентаризации (значение по умолчанию: 1);

    • Период — единица измерения времени; возможные значения: секунды, минуты, часы, дни (значение по умолчанию: дни);

    • Случайный разброс, секунд — интервал случайной задержки (в секундах) перед запуском задачи на агенте; используется для равномерного распределения нагрузки при одновременном запуске на множестве устройств (значение по умолчанию: 60);

    • Указать интервал запуска — установить ограничение времени выполнения инвентаризации в рамках суток (например, только с 06:00 до 08:00); если ограничение отсутствует, инвентаризация может запускаться в любое время (значение по умолчанию: с 03:00 до 06:00);

    • Запуск при старте устройства — выполнять частичную инвентаризацию при старте устройства.

Для сохранения изменений нажмите Сохранить.

Пример настройки расписания полной и частичной инвентаризации:

package inventory schedule

Изменение настроек (режима) сбора данных по пакетам

Для настройки состава собираемых данных по пакетам на странице «Сбор данных по пакетам» раскройте вкладку Собираемые данные и задайте следующие параметры:

  • включите режим Собирать все и игнорировать списки, чтобы собирать все пакеты без фильтрации (игнорируя белые и черные списки);

  • если режим Собирать все и игнорировать списки отключен:

    • в разделе Белый список выберите пакеты, которые необходимо собирать; для выбора нескольких пакетов используйте флажки;

      Список пакетов для выбора формируется на основе результатов предыдущей полной инвентаризации. Если инвентаризация еще не выполнялась, список для выбора будет пустым.
      Если белый список не задан, собираются все пакеты, исключая указанные в черном списке.
    • в разделе Черный список выберите пакеты или секции репозиториев, которые необходимо исключить из сбора; для выбора нескольких элементов используйте флажки;

      Список доступных пакетов и секций репозиториев формируется на основе результатов предыдущей полной инвентаризации. Если инвентаризация еще не выполнялась, списки для выбора будут пустыми.

Для сохранения изменений нажмите Сохранить.

При настройке белых и черных списков учитывайте следующее:

  • белый и черный списки работают совместно:

    • если белый список задан, собираются только указанные в нем пакеты, кроме тех, что добавлены в черный;

    • если белый список не задан, собираются все пакеты, кроме тех, что добавлены в черный;

  • приоритет имеет черный список: исключения перекрывают разрешения;

  • черный список поддерживает как имена пакетов, так и названия секций репозиториев (например, non-free, contrib);

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

Пример настройки черных и белых списков для сбора данных по пакетам:

package inventory black white lists

Задержка при отображении результатов инвентаризации

После выполнения инвентаризации информация о пакетах на странице «Инвентаризация ПО и файлов» отображается с некоторой задержкой. Это связано с настройкой расписания синхронизации данных (параметр osmax.inventory.software.packages.sync-cache-data-cron в таблице app_config в БД модуля osmax-core; по умолчанию — 1 раз в 60 минут).

Особенности работы частичной и полной инвентаризации

При выполнении полной инвентаризации на устройстве создается кэш-файл с полным списком найденных пакетов. Этот кэш используется для последующих частичных инвентаризаций — они сравнивают текущее состояние системы с кэшем и передают в «Осмакс» только изменения (новые, удаленные или обновленные пакеты).

Время актуальности кэша вычисляется на основе параметров расписания полной инвентаризации: значение интервала выполнения (в часах, днях или минутах) преобразуется в секунды и суммируется со значением параметра Случайный разброс, секунд. Полученное итоговое значение в секундах определяет момент, когда результаты локальной инвентаризации считаются устаревшими (неактуальными).

При запуске частичной инвентаризации система проверяет наличие результатов полной инвентаризации на устройстве и сравнивает текущее время с рассчитанным временем актуальности кэша:

  • если кэш отсутствует или просрочен, выполняется полная инвентаризация для восстановления актуального состояния;

  • если кэш присутствует и срок его действия не истек, выполняется только частичная инвентаризация.

При расчете периода актуальности кэша временные ограничения из расписания (например, интервал «с 01:00 до 04:00») не учитываются.