GLPI Agent за несколько дней приносит сотни активов — и ни у одного нет стоимости закупки, гарантии или поставщика. Автоматическая инвентаризация заполняет данные об оборудовании; финансовый жизненный цикл — приобретение, амортизация, оповещение о гарантии и списание — это отдельный слой, он живёт на вкладке «Управление» и в таблице glpi_infocoms, и именно здесь почти каждый проект по управлению активами застревает на полпути. Это руководство сопоставляет пять фаз с реальными объектами GLPI, показывает cron, благодаря которому срабатывают оповещения, и запрос, который мы запускаем в рамках сопровождения, чтобы найти активы, невидимые для амортизации.
Что автоматическая инвентаризация не заполняет
Первое разочарование почти в каждом проекте одно и то же: клиент устанавливает GLPI Agent, видит, как появляются 400 машин с CPU, RAM, диском и серийным номером, и делает вывод, что «управление активами готово». Это не так. Агент собирает то, что операционная система знает о себе, — а ОС не знает, сколько стоила машина, у кого её купили, когда истекает гарантия и к какому центру затрат она относится. Все эти данные живут в Infocom (вкладка «Управление» актива, таблица glpi_infocoms) и вводятся вручную или импортируются. Ни одна версия агента этого не заполняет, и это путаница номер один, которую мы встречаем в унаследованных средах: прекрасная инвентаризация и пустой финансовый жизненный цикл. Без Infocom нет амортизации, нет оповещений о гарантии и нет совокупной стоимости — под поверхностью жизненного цикла просто не существует.
Пять фаз, сопоставленных с объектами GLPI
Прежде чем что-либо настраивать, стоит понять, где на самом деле живёт каждая фаза в GLPI. Модуля «жизненный цикл» нет; есть поля, статусы и таблицы, которые вместе образуют цикл. Вот карта, которую мы используем как чек-лист внедрения:
| Фаза | Где живёт в GLPI | Таблица | Кто заполняет |
|---|---|---|---|
| Приобретение | Вкладка «Управление»: поставщик, счёт-фактура, стоимость, гарантия | glpi_infocoms | Вручную или импорт CSV |
| Ввод в эксплуатацию | Статус + местоположение + пользователь/группа | glpi_states, glpi_locations | Агент (характеристики) + вручную (статус/место) |
| Эксплуатация | Заявки, связанные с активом | glpi_items_tickets | Автоматически при создании заявки |
| Амортизация | Вкладка «Управление»: тип, срок, коэффициент | glpi_infocoms (sink_type, sink_time) | Автоматический расчёт GLPI |
| Списание | Статус «Списан» + прикреплённый документ | glpi_states, glpi_documents_items | Вручную |
Обратите внимание: автоматические только две строки — характеристики оборудования и связь актива с заявкой. Всё остальное — то, что придаёт активу финансовый смысл, — это решение и дисциплина людей. Поэтому управление активами проваливается из-за процесса, а не из-за инструмента.
Приобретение: Infocom — сердце цикла
Фаза приобретения сводится к тому, чтобы правильно заполнить Infocom. Поля, которые важны и на которых держится весь остальной цикл:
- Поставщик, номер счёта-фактуры и дата закупки — прослеживаемость и основание для обращения по гарантии.
- Стоимость — база для расчёта амортизации; без неё остаточная стоимость никогда не будет рассчитана.
- Срок гарантии — в месяцах; используйте
-1для пожизненной гарантии. Именно от этой даты срабатывает оповещение. - Бюджет (budget) — привязывает актив к центру затрат для отчётов по статьям.
Заполнять это вручную для 400 активов нереально, поэтому при внедрении мы импортируем Infocom вместе с парком из CSV таблицы закупок, сопоставляя по серийному номеру. Типичная ошибка здесь — оставить стоимость пустой, «чтобы заполнить потом»: потом так и не наступает, и амортизация рождается мёртвой.
Статус: компактная машина состояний
Статус актива (поле states_id, таблица glpi_states) — это то, что двигает актив по циклу: «Используется», «На складе», «В ремонте», «Списан». Статусы полностью настраиваются в Настройки > Выпадающие списки > Статусы, и здесь кроется вторая ловушка из практики: взрыв статусов. Мы видели среды с тридцатью статусами («Используется — головной офис», «Используется — филиал 2», «Используется — ноутбук»...), которые на деле смешивают статус с местоположением и типом и ломают любой отчёт по состоянию. Статус — это машина состояний, а не таксономия: держите полдюжины статусов, общих для всех типов активов.
Две детали из практики сопровождения о статусах и агенте. Первая: в настройках встроенной инвентаризации вы задаёте статус по умолчанию для новых обнаруженных активов — укажите «На складе», чтобы новая машина не попадала сразу в «Используется». Вторая: проинвентаризированные активы являются динамическими (is_dynamic = 1); если удалить актив, который агент всё ещё видит, он воскреснет в следующем цикле. Чтобы убрать его по-настоящему, удалите агент с машины или заблокируйте объект, а не просто удаляйте его в интерфейсе.
Амортизация: линейная или дегрессивная
Когда в Infocom указаны стоимость и дата закупки, GLPI сам рассчитывает остаточную стоимость. Метод выбирается в самом активе:
| Тип (sink_type) | Как амортизируется | Когда использовать |
|---|---|---|
| Линейная | Фиксированная доля в год на протяжении срока полезного использования (sink_time) | Бухгалтерский стандарт для большинства ИТ-активов |
| Дегрессивная | Большая доля в начале, через коэффициент (sink_coeff) | Когда налоговая политика требует ускорить потерю стоимости |
Срок (sink_time) указывается в годах — обычно от 3 до 5 для компьютеров, в зависимости от вашей политики. Можно задать глобальное значение по умолчанию, чтобы не вводить его в каждом активе, но реальный срок полезного использования зависит от класса оборудования: сервер амортизируется не так, как ноутбук. Оставьте значение по умолчанию для типичного случая и скорректируйте исключения.
Оповещения зависят от правильного cron
Истечение гарантии и окончание договора превращаются в уведомление, только если выполняется автоматическое действие infocom. И здесь ловушка, которая чаще всего порождает жалобу «GLPI меня не предупредил»: cron в режиме GLPI (внутреннем) запускается при посещении страниц. В инсталляции с низким трафиком — типичной для управления активами, куда заходит только ИТ-команда, — автоматические действия запаздывают или не запускаются вовсе, и оповещение о гарантии так и не уходит. Решение — вывести cron из внутреннего режима и привязать его к операционной системе:
# /etc/cron.d/glpi - triggers GLPI automatic actions every 5 min.
# Among them the "infocom" action: warranty expiry and contract end alerts.
*/5 * * * * www-data /usr/bin/php /var/www/glpi/front/cron.php >/dev/null 2>&1
Затем в Настройки > Автоматические действия > infocom смените режим выполнения на CLI/внешний. Без этого весь остальной гарантийный цикл — просто декорация.
Диагностический SQL: активы, невидимые для амортизации
В начале договора на сопровождение, ещё до обсуждения процессов, мы измеряем дыру в Infocom: сколько компьютеров есть в инвентаризации, но не имеют никакой финансовой информации. Это активы, невидимые для амортизации, совокупной стоимости и оповещений о гарантии. Мы выполняем запрос прямо в базе, через клиент только для чтения, чтобы получить точное число:
-- Computers WITHOUT financial information (infocom):
-- inventoried by the agent, but invisible to depreciation and warranty alerts.
SELECT c.id, c.name, c.serial
FROM glpi_computers c
LEFT JOIN glpi_infocoms i
ON i.itemtype = 'Computer' AND i.items_id = c.id
WHERE c.is_deleted = 0
AND c.is_template = 0
AND i.id IS NULL
ORDER BY c.name;
Тот же шаблон подходит для мониторов, принтеров и сетевого оборудования — замените таблицу и itemtype. Полученное число — реальный объём работы по внесению финансовых данных, и обычно оно становится здоровым шоком для тех, кто считал парк «полностью заведённым».
Списание со следом для LGPD
Конец жизни — это не просто смена статуса на «Списан». Оборудование с данными (ноутбук, сервер, СХД) покидает компанию с персональной информацией внутри, и списание требует проверяемого следа для LGPD. В GLPI: смените статус, зафиксируйте дату окончания использования в Infocom и прикрепите к активу документ, подтверждающий его дальнейшую судьбу (сертификат уничтожения диска, акт дарения, манифест утилизации электроники). Тогда, когда DPO спросит: «докажите, что жёсткий диск ноутбука уволенного сотрудника уничтожен», ответ будет в самом активе, а не в чьей-то памяти. Не удаляйте списанный актив: он и есть доказательство. Просто исключите его из операционных отчётов фильтром по статусу.
Нужно превратить автоматическую инвентаризацию в жизненный цикл активов, который действительно поддерживает амортизацию, оповещения о гарантии и след списания? Узнайте о сопровождении GLPI от NexTool.
Проверено командой NexTool Solutions.