GLPI не обязан ограничиваться ИТ. С продуманными организациями, категориями и бизнес-правилами один и тот же экземпляр обслуживает HR, юридический отдел, административно-хозяйственную службу и финансы как центр общих услуг (ЦОУ). Работающий ЦОУ от груды заявок отличает архитектурное решение, принятое до создания первой формы.
Архитектурное решение: организация на направление или категория на направление?
Это первый выбор, и его дороже всего отменить. В GLPI организация — это граница мультиарендности: она изолирует данные, SLA, профили и каталог. Категория ITIL — лишь метка классификации внутри организации. Отдельная организация на направление даёт сильную изоляцию, но требует администрирования; категории сохраняют простоту, но для маршрутизации и защиты данных зависят от групп и правил.
| Критерий | Организация на направление | Категория на направление |
|---|---|---|
| Изоляция данных | Сильная (нерекурсивный профиль не видит соседние направления) | Слабая (зависит от группы и правила) |
| Независимый SLA для направления | Встроенно | Вручную, через правило + SLA по категории |
| Сводный отчёт | Требует рекурсивного профиля или корневой организации | Тривиально (одна организация) |
| Трудозатраты на администрирование | Высокие (профили, права, cron) | Низкие |
| Подходит для | HR и юридического отдела (конфиденциальные данные) | АХС и финансов (низкая конфиденциальность) |
Практическое правило: используйте организации, когда есть реальное требование конфиденциальности (HR и юридический отдел обычно этого требуют) или сильно различающиеся SLA и профили. Используйте категории, когда направления делят один пул сотрудников поддержки и конфиденциальность низкая. Часто встречается гибридная схема: отдельная организация для HR и юридического отдела, а АХС и финансы — категориями внутри корпоративной организации.
Пошагово для первого подразделения за пределами ИТ
- Смоделируйте границу: решите, организация или категория, по матрице выше, прежде чем что-либо создавать.
- Создайте организацию (Администрирование > Организации) или дерево категорий (Настройки > Категории заявок), всегда отмечая рекурсивную видимость, если структура общая.
- Создайте группу сотрудников поддержки для каждого направления (Администрирование > Группы) и отметьте «Может быть назначена на заявки».
- Определите SLA/OLA направления (Настройки > Уровни обслуживания) с реалистичными сроками реакции и решения.
- Настройте бизнес-правила (Правила > Правила для заявок), чтобы автоматически назначать группу, категорию и SLA в зависимости от источника заявки.
- Соберите каталог: встроенные формы (GLPI 11) или плагин Formcreator (GLPI 10) с полями направления.
- Настройте профили и права: сотрудник поддержки HR не должен видеть очередь ИТ, и наоборот.
- Включите внешний cron (следующий раздел), прежде чем объявлять о запуске услуги.
Диагностика: кто на самом деле пользуется центром
До и после расширения проводите измерения. Запрос ниже читает данные прямо из базы и показывает объём и время до решения по организациям и категориям за последние 30 дней. Выполняйте его на реплике или вне часов пиковой нагрузки.
-- Volume and time to solution per entity/category (30 days)
SELECT e.completename AS entity,
IFNULL(c.completename, '(no category)') AS category,
COUNT(t.id) AS tickets,
ROUND(AVG(TIMESTAMPDIFF(HOUR, t.date, t.solvedate)), 1) AS hours_to_solve
FROM glpi_tickets t
JOIN glpi_entities e ON e.id = t.entities_id
LEFT JOIN glpi_itilcategories c ON c.id = t.itilcategories_id
WHERE t.date >= NOW() - INTERVAL 30 DAY
AND t.is_deleted = 0
GROUP BY e.completename, c.completename
ORDER BY tickets DESC;
Если появляется много строк «(no category)», это признак неполного каталога или сотрудников поддержки, создающих заявки без классификации, — первый симптом ЦОУ, который вот-вот потеряет прослеживаемость.
Внешний cron: почему SLA HR не срабатывает вовремя
При сопровождении сред с несколькими направлениями чаще всего молча ломается организация без внешнего cron. ИТ с высоким трафиком запускает внутренний cron при каждой загрузке страницы, и никто не замечает проблемы. А организация юридического отдела, с небольшим числом посещений в день, накапливает эскалации SLA, которые выполняются только когда кто-то открывает интерфейс. Обращение, которое приходит к нам, обычно звучит так: «письма о сроках юридического отдела приходят все разом около 9 утра» — именно тогда, когда входит первый пользователь и внутренний cron наконец обрабатывает накопившуюся очередь. Исправление всегда одно: перенести выполнение в cron операционной системы (MODE_EXTERNAL) и снизить зависимость от срабатывания при загрузке страницы.
# /etc/cron.d/glpi - GLPI external cron (runs as the web server user)
# Fires notifications, SLA escalation and automatic closing.
* * * * * www-data /usr/bin/php /var/www/glpi/front/cron.php &>/dev/null
После планирования откройте «Настройки > Автоматические действия» и убедитесь, что критичные задачи (отправка уведомлений, эскалация SLA и закрытие заявок) работают в режиме CLI, а не «GLPI» (выполнение при открытии страницы). В среде с несколькими направлениями внутренний режим — причина номер 1 ситуации «срок истёк, но никого не предупредили».
Типичная ошибка: нерекурсивная категория и сломанная видимость
Ошибка, которая чаще всего встречается при сопровождении, неочевидна: категория, созданная в корневой организации без отметки видимости для дочерних организаций, просто не появляется в форме подразделения. Без нужной категории сотрудник поддержки создаёт заявку как общий «Инцидент» или вписывает классификацию в заголовок — и отчёт направления изначально получается дырявым. То же относится к профилям: сотрудник HR с нерекурсивной областью профиля видит только ту организацию, в которой находится, но не дочерние. Создавая категории в корне, отмечайте «Дочерние» (видимость в дочерних организациях), с entities_id = 0 и is_recursive = 1; создавая профили направлений, осознанно решайте, будет ли область рекурсивной.
Управление: избегайте разрастания категорий
- Ограничьте дерево двумя уровнями на направление; больше — и никто не классифицирует правильно.
- Называйте категории по действию заявителя («Запросить возмещение расходов»), а не на внутреннем жаргоне.
- Ежеквартально пересматривайте строки «(no category)» в диагностике.
- Один владелец на направление, отвечающий за каталог и SLA.
- Не копируйте одну и ту же категорию вручную в нескольких организациях; сделайте её рекурсивной от корня.
Начните с ИТ, которые уже привыкли к службе поддержки (Service Desk), и расширяйтесь постепенно. Каждое новое направление подключается с определённой границей, группой поддержки, SLA и проверенным внешним cron, а не с импровизированным каталогом.
Нужно спроектировать границу между организациями и категориями, прежде чем масштабировать ваш ЦОУ? NexTool внедряет и сопровождает GLPI с несколькими направлениями для B2B-клиентов — от моделирования организаций до cron и правил маршрутизации.
Проверено командой NexTool Solutions.