Centro Servizi Condivisi (CSC) con GLPI

Come trasformare GLPI in un Centro Servizi Condivisi per HR, Legale, Facilities e Finanza: la decisione tra entità e categoria, lo SLA per area, il cron esterno e l'errore comune di visibilità.

In questo articolo6 sezioni

GLPI non deve restare confinato all'IT. Con entità, categorie e regole di business ben progettate, la stessa istanza serve HR, Legale, Facilities e Finanza come un Centro Servizi Condivisi (CSC). Ciò che distingue un CSC che funziona da un mucchio di ticket è la decisione di architettura presa prima del primo modulo.

Decisione di architettura: un'entità per reparto o una categoria per reparto?

Questa è la prima scelta e la più costosa da annullare. In GLPI, un'entità è un confine multi-tenant: isola dati, SLA, profili e catalogo. Una categoria ITIL è solo un'etichetta di classificazione all'interno di un'entità. Usare un'entità per reparto dà un isolamento forte ma richiede amministrazione; usare le categorie mantiene tutto semplice ma dipende da gruppi e regole per instradare e proteggere i dati.

CriterioUn'entità per repartoUna categoria per reparto
Isolamento dei datiForte (un profilo non ricorsivo non vede i reparti fratelli)Debole (dipende da gruppo e regola)
SLA indipendente per areaNativoManuale, tramite regola + SLA per categoria
Report consolidatoRichiede profilo ricorsivo o entità radiceBanale (una sola entità)
Sforzo di amministrazioneAlto (profili, permessi, cron)Basso
Indicato perHR e Legale (dati riservati)Facilities e Finanza (bassa riservatezza)

Regola pratica: usi le entità quando c'è un reale requisito di riservatezza (HR e Legale di solito lo hanno) o SLA e profili molto diversi. Usi le categorie quando le aree condividono lo stesso pool di agenti e la riservatezza è bassa. È comune un disegno ibrido: entità separata per HR e Legale, con Facilities e Finanza come categorie dentro l'entità aziendale.

Passo dopo passo per il primo reparto fuori dall'IT

  1. Modelli il confine: scelga entità o categoria con la matrice sopra prima di creare qualsiasi cosa.
  2. Crei l'entità (Amministrazione > Entità) o l'albero delle categorie (Configurazione > Categorie di ticket), abilitando sempre la visibilità ricorsiva quando la struttura è condivisa.
  3. Crei un gruppo di agenti per area (Amministrazione > Gruppi) e spunti "Può essere assegnato ai ticket".
  4. Definisca lo SLA/OLA dell'area (Configurazione > Livelli di servizio) con tempi di risposta e di risoluzione realistici.
  5. Configuri regole di business (Regole > Regole di business per i ticket) per assegnare automaticamente gruppo, categoria e SLA in base all'origine del ticket.
  6. Costruisca il catalogo: moduli nativi (GLPI 11) o il plugin Formcreator (GLPI 10) con i campi dell'area.
  7. Regoli profili e permessi: un agente HR non deve vedere la coda dell'IT, e viceversa.
  8. Attivi il cron esterno (sezione successiva) prima di annunciare il servizio.

Diagnostica: chi usa davvero il centro

Misuri prima e dopo l'espansione. La query seguente legge direttamente il database e mostra volume e tempo fino alla soluzione per entità e categoria negli ultimi 30 giorni. La esegua su una replica o fuori dagli orari di punta.

-- Volume e tempo fino alla soluzione per entita/categoria (30 giorni)
SELECT e.completename                                   AS entita,
       IFNULL(c.completename, '(senza categoria)')      AS categoria,
       COUNT(t.id)                                      AS ticket,
       ROUND(AVG(TIMESTAMPDIFF(HOUR, t.date, t.solvedate)), 1) AS ore_fino_soluzione
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 ticket DESC;

Se compaiono molte righe con "(senza categoria)", è segno di catalogo incompleto o di agenti che aprono ticket senza classificarli - il primo sintomo di un CSC che sta per perdere tracciabilità.

Cron esterno: perché lo SLA di HR non scatta in tempo

Nel supporto quotidiano di ambienti multi-area, lo schema che fallisce in modo più silenzioso è l'entità senza cron esterno. L'IT, con traffico alto, attiva il cron interno a ogni caricamento di pagina e nessuno nota il problema. L'entità Legale, con poche visite al giorno, accumula escalation di SLA che partono solo quando qualcuno apre l'interfaccia. Il ticket che ci arriva è di solito "le e-mail di scadenza del Legale arrivano tutte in blocco verso le 9" - proprio quando il primo utente accede e il cron interno finalmente elabora la coda accumulata. La correzione è sempre spostare l'esecuzione al cron del sistema operativo (MODE_EXTERNAL) e ridurre la dipendenza dal trigger per caricamento di pagina.

# /etc/cron.d/glpi - cron esterno di GLPI (eseguito dall'utente del server web)
# Attiva notifiche, escalation di SLA e chiusura automatica.
* * * * * www-data /usr/bin/php /var/www/glpi/front/cron.php &>/dev/null

Dopo averlo pianificato, entri in Configurazione > Azioni automatiche e confermi che le attività critiche (invio di notifiche, escalation di SLA e chiusura dei ticket) siano in modalità CLI e non "GLPI" (esecuzione al caricamento della pagina). In un ambiente multi-area, lasciarle in modalità interna è la causa numero 1 di "la scadenza è passata ma nessuno è stato avvisato".

L'errore comune: categoria non ricorsiva e visibilità rotta

L'errore che vediamo di più nel supporto è sottile: una categoria creata nell'entità radice senza abilitare la visibilità per le entità figlie semplicemente non appare nel modulo del reparto. Senza la categoria giusta, l'agente apre il ticket come "Incidente" generico o digita la classificazione nel titolo - e il report dell'area nasce sbagliato. Lo stesso vale per i profili: un agente HR con ambito di profilo non ricorsivo vede solo l'entità esatta in cui si trova, non le sotto-entità. Quando crea categorie alla radice, abiliti "Entità figlie" (visibile nelle sotto-entità), con entities_id = 0 e is_recursive = 1; quando crea profili di area, decida consapevolmente se l'ambito è ricorsivo.

Governance: eviti l'esplosione delle categorie

  • Limiti l'albero a 2 livelli per area; oltre, nessuno classifica correttamente.
  • Nomini le categorie in base all'azione del richiedente ("Richiedere un rimborso"), non al gergo interno.
  • Riveda ogni trimestre le righe "(senza categoria)" della diagnostica.
  • Un responsabile per area, incaricato del catalogo e degli SLA.
  • Non replichi la stessa categoria su più entità a mano; la renda ricorsiva dalla radice.

Inizi dall'IT, già abituata al service desk, poi espanda gradualmente. Ogni nuova area entra con un confine definito, un gruppo di supporto, uno SLA e un cron esterno validato - non con un catalogo improvvisato.

Deve progettare il confine tra entità e categorie prima di scalare il Suo CSC? NexTool implementa e mantiene GLPI multi-area per clienti B2B, dalla modellazione delle entità al cron e alle regole di instradamento.


Revisionato dal team NexTool Solutions.

Domande Frequenti

Dipende dalla riservatezza. Usi un'entità quando c'è un reale requisito di riservatezza (HR, Legale) o SLA e profili molto diversi, perché l'entità isola i dati nativamente. Usi una categoria quando le aree condividono lo stesso team di agenti e la riservatezza è bassa (Facilities, Finanza). I disegni ibridi sono comuni e consigliati.

Con le entità, assegni l'agente all'entità dell'area con un ambito di profilo non ricorsivo così da non vedere le entità fratelli. All'interno della stessa entità, usi gruppi di supporto e regole di business per instradare ogni ticket solo al gruppo responsabile, limitando la visibilità per gruppo.

Quasi sempre perché il cron di GLPI è in modalità interna (eseguito al caricamento della pagina). Le aree a basso traffico, come il Legale, accumulano la coda finché qualcuno accede all'interfaccia. La correzione è configurare il cron esterno del sistema operativo che richiama front/cron.php e impostare le azioni automatiche critiche in modalità CLI.

Sì. Con le entità, ogni area definisce nativamente i propri livelli di servizio. Con le categorie, applica lo SLA tramite una regola di business in base alla categoria del ticket. Facilities può avere 4 ore per 'condizionatore guasto' mentre il Legale ha 5 giorni lavorativi per 'revisione del contratto'.

Tramite la ricerca nativa di GLPI, raggruppando per entità o categoria, o con una query SQL diretta su glpi_tickets con JOIN su glpi_entities e glpi_itilcategories. La query rivela anche le righe '(senza categoria)', che indicano un catalogo incompleto o agenti che aprono ticket senza classificarli.

Hai bisogno di aiuto?