# GLPI

# Introducción

**Este plugin tiene como finalidad poder manejar el sistema de tickets de GLPI en PandoraFMS**, mediante alertas que crearan llamadas, para la creación de tickets y el seguimiento de estos.

El plugin realiza todas estas acciones mediante la API REST de glpi.

# Matriz de compatibilidad

<table border="1" id="bkmrk-sistemas-donde-se-ha-1" style="width: 67.9012%;"><tbody><tr><td style="width: 42.7879%;">**Sistemas donde se ha probado**</td><td style="width: 57.2121%;">Rocky linux, Fedora 34</td></tr><tr><td style="width: 42.7879%;">**Sistemas donde funciona**</td><td style="width: 57.2121%;">Cualquier sistema linux</td></tr></tbody></table>

# Pre requisitos

- Es necesaria conectividad hacia la API REST de GLPI.
- El usuario de PandoraFMS con el que se conecta a la API, necesita permisos suficientes para poder realizar las acciones.

# Parámetros

**Parámetros GLPI**

<table border="1" id="bkmrk--u%2C--user-usuario-de" style="border-collapse: collapse; width: 100%; height: 119.2px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.8px;"><td style="height: 29.8px;">**-u,--user**  
</td><td style="height: 29.8px;">Usuario de GLPI . Ejemplo : glpi **. Obligatorio**  
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">**-x,--password**  
</td><td style="height: 29.8px;">Contraseña de GLPI, Ejemplo : glpi **. Obligatorio**  
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">**-i, --url**  
</td><td style="height: 29.8px;">URL de GLPI (con el puerto), Ejemplo : http://localhost:8200. **Obligatorio**  
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">**-a, --app\_token**  
</td><td style="height: 29.8px;">Token de aplicación, Ejemplo : xZvyKomCYHSSva5oTXTNmMiy4SWzfi7O1FF. **Obligatorio**</td></tr></tbody></table>

**Parámetros Tickets**

<table border="1" id="bkmrk--t%2C--ticket_name-t%C3%ADt" style="border-collapse: collapse; width: 100%; height: 365.312px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 46.5938px;"><td style="height: 46.5938px;">**-t,--ticket\_name**  
</td><td style="height: 46.5938px;">Título o nombre para el ticket. Ejemplo: Incidencia módulo 8025**. Obligatorio**  
</td></tr><tr style="height: 169.734px;"><td style="height: 169.734px;">**-d,--ticket\_description**  
</td><td style="height: 169.734px;">Mensaje o descripción para el ticket. Ejemplo:

 "  
2023-11-30 11:49:03  
Free RAM  
172.34.56.1  
"  
**. Obligatorio**

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**-p,--ticket\_priority**  
</td><td style="height: 29.7969px;">Prioridad para el ticket. Ejemplo : 4. **Obligatorio \***  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**-c,--ticket\_category**  
</td><td style="height: 29.7969px;">Categoría para el ticket. Ejemplo : Categoria1. **Obligatorio**  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**-g,--ticket\_group**  
</td><td style="height: 29.7969px;">Grupo para el ticket. Ejemplo : Grupo1. **Obligatorio**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;"><div><div>**-j,--ticket\_request\_type**</div></div></td><td style="height: 29.7969px;">Tipo de request a añadir en el ticket ( campo <div><div>requesttypes_id)</div></div>, por defecto: 8.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;"><div><div><div><div>**-k,--ticket\_name\_error**</div></div></div></div></td><td style="height: 29.7969px;">Titulo del ticket que se añadirá en los tickets que se creen al no haberse encontrado un computer.</td></tr></tbody></table>

**Macros para ticket\_name y ticket\_description**

<table border="1" id="bkmrk-%25ticketid%25-a%C3%B1ade-el-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>**%ticketID%**</td><td>Añade el numero del ticket de GLPI a la descripción/titulo del ticket</td></tr></tbody></table>

Ejemplo de uso:

```
./pandora_glpi --user "glpi" --password "glpi" --url "http://127.0.0.1:8090/" --app_token "IwSQ9070LzaAQyg3vJKuRQZxPSfXuD16cOKOK7EA" --alias_agent "Rocky Linux 8" --id_module "1" --ticket_name "Incidencia modulo %ticketID%" --ticket_priority 4 --ticket_category 1 --ticket_group 1 --log_file "/tmp/glpi_logfile.txt" --recovery 0 --ticket_description "2023-11-30 11:49:03 Free RAM 172.34.56.1 ID ticket %ticketID%" --ticket_name_error "Error: No se encontró el equipo %ticketID%"
```

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2026-01/scaled-1680-/qYFimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2026-01/qYFimage.png)

**Parámetros Pandora**

<table border="1" id="bkmrk---alias_agent-alias-" style="border-collapse: collapse; width: 100%; height: 59.6px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.8px;"><td style="height: 29.8px;">**-n,--alias\_agent**  
</td><td style="height: 29.8px;">Alias del agente. Ejemplo: RockyLinux8**. Obligatorio**  
</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">**-m,--id\_module**  
</td><td style="height: 29.8px;">ID del módulo. Ejemplo: 8025**. Obligatorio**</td></tr></tbody></table>

**Parámetros API Pandora**

<table border="1" id="bkmrk---api_url-url-de-la-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>**--api\_url**  
</td><td>Url de la API de Pandora. Ejemplo: [http://172.42.42.101](http://172.42.42.101)  
**Default:** [http://localhost](http://172.42.42.101)  
</td></tr><tr><td>**--api\_user**  
</td><td>Usuario de la API de Pandora. Ejemplo: admin. **Default:** admin  
</td></tr><tr><td>**--api\_pass**  
</td><td>Contraseña del usuario de la API de Pandora. Ejemplo : pandora. **Default :** pandora  
</td></tr><tr><td>**--api\_user\_pass**  
</td><td>Contraseña del usuario de la API de Pandora. Ejemplo: 1234. **Default:** 1234  
</td></tr></tbody></table>

**Parámetros extra**

<table border="1" id="bkmrk--l%2C--logfile-ruta-do" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>**-l,--logfile**  
</td><td>Ruta donde se añadirá el fichero de log. Ejemplo: /tmp/glpi\_logfile.txt. **Default :** /tmp/glpi\_logfile.txt  
</td></tr><tr><td>**-r, --recovery**  
</td><td>Para activar el modo recovery. Ejemplo : 1. **Obligatorio**  
</td></tr></tbody></table>

<p class="callout info">\* La prioridad se tiene que especificar numéricamente, abajo se muestra la tabla de cada valor y su correspondiente prioridad.</p>

<table border="1" id="bkmrk-valor-prioridad-1-mu" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>**Valor**</td><td>**Prioridad**</td></tr><tr><td>1</td><td>Muy baja</td></tr><tr><td>2</td><td>Baja</td></tr><tr><td>3</td><td>Media</td></tr><tr><td>4</td><td>Alta</td></tr><tr><td>5</td><td>Muy alta</td></tr><tr><td>6</td><td>Primordial</td></tr></tbody></table>

**Ayuda**

<table border="1" id="bkmrk--h-el-plugin-tiene-o" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>-h</td><td>El plugin tiene opción de ayuda en el que puedes ver todos sus parámetros y la descripción de estos.</td></tr></tbody></table>

<p class="callout info">SI quieres ver la ayuda del plugin, ejecuta este solo con este parámetro.</p>

# Ejecución manual

El formato de ejecución del plugin es el siguiente:

```c
./pandora_glpi --user < user > --password < password > --url < url > --app_token < app token > \
--alias_agent < id_module > --id_module < id module > \
--ticket_name < ticket name > --ticket_message < ticket message > --ticket_priority < ticket priority > \
--ticket_category < ticket category > --ticket_group < ticket group > \
--log_file < log file > --recovery < 1 or 0 >
```

Ejemplo:

```
./pandora_glpi --user "glpi" --password "glpi" --url "http://localhost:8200" --app_token "xZvyKomCYHSSva5oTXTNmMiy4SWzfi7O1FFt" \
--alias_agent < "Rocky linux 8" > --id_module "8025" \
--ticket_name " Incidendia modulo 8025" \
--ticket_priority 4 \
--ticket_category "Categoria1" --ticket_group "grupo1" \
--log_file "/tmp/glpi_logfile.txt" --recovery 1 --ticket_message"
2023-11-30 11:49:03
Free RAM
172.34.56.1
" 
```

# Configuración en PandoraFMS

Para configurar el plugin es necesario configurar un comando de alerta, usando los parámetros del plugin, para crear ejecuciones personalizadas.

Esto se puede hacer desde el menu de alertas en comandos :

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/scaled-1680-/ouqimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/ouqimage.png)

Se deberá introducir un nombre, grupo, y el comando, usando como valores para los parámetros la macro \_fieldx\_, siendo x el número del parámetro (no distinguen ningún orden, simplemente cada macro tiene que tener un número diferente).

Una vez configurado, se puede configurar el valor de la macro debajo en los campos de descripción.

[![2.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/scaled-1680-/2.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/2.png)