# Meraki # Introducción **Este plugin tiene como finalidad poder monitorizar dispositivos de meraki**, de tipo appliance, switch y wireless. El plugin conecta con la rest api de Meraki, para poder obtener todas las métricas. # Matriz de compatibilidad
**Sistemas donde se ha probado**Rocky linux, Fedora 34
**Sistemas donde funciona**Cualquier sistema linux
# Pre requisitos - Es necesaria conectividad hacia los endpoints proporcionados por la API. - Es necesario un token bearer para poder autenticar. - Que se definan como grupos de agentes, grupos en cuyo nombre se contenga el código de la tienda. - El plugin server debe estar habilitado en el entorno. - El dataserver debe estar habilitado en el entorno # Parámetros **Parámetros conexión Meraki**
**--url**Url de conexión de la API, ejemplo : [https://api.meraki.com/api/v1](https://api.meraki.com/api/v1) . Por defecto: https://api.meraki.com/api/v1
**--token**Token bearer necesario para la autenticación
**--id**ID de la tienda, que identificara si el grupo existe en Pandora y creara el agente en este, y si existe la network en Meraki.
**--organization**ID de la organización en las que se escanearan las redes.
**--timespan**Intervalo de monitorización para las estadísticas de los puertos de un switch.
**Parámetros configuración Pandora**
**--agent\_prefix** Prefijo para todos los agentes creados por el plugin
**--module\_prefix**Prefijo para todos los módulos creados por el plugin
**--location**Grupos secundarios añadidos al agente
**--interval**Intervalo de monitorización del agente
**--temporal**Directorio temporal de PandoraFMS
**--data\_dir** Directorio de datos de PandoraFMS
**--group**Grupo del agente.
**--transfer\_mode** Modo de transferencia de datos, local o tentacle
**--tentacle\_client** Ruta del cliente de tentacle, por defecto "tentacle\_client"
**--tentacle\_opts** Opciones adicionales de tentacle
**--tentacle\_port** Puerto de tentacle
**--tentacle\_address** IP de tentacle
**Parámetros Extra**
**--scan\_appliance**Deshabilitar el escaneo de dispositivos appliance con 0. Por defecto activado a 1.
**--scan\_switch**Deshabilitar el escaneo de dispositivos switch con 0. Por defecto activado a 1.
**--scan\_wireless**Deshabilitar el escaneo de dispositivos wireless con 0. Por defecto activado a 1.
**--log\_file**Ruta en la que se guardará el fichero de logs, por ejemplo : /tmp/meraki\_logfile.txt
# Ejecución manual El formato de ejecución del plugin es el siguiente: ``` ./pandora_meraki --id < id > --url < url > --token < token > --location < location > --organization < organization > --timespan < interval switch port data monitoring in seconds > --module_prefix < module prefix > --agent_prefix < agent prefix > [ --scan_appliance < 1 or 0 > ] [ --scan_switch < 1 or 0 > ] [ --scan_wireless < 1 or 0 > ] [ --transfer_mode < local o tentacle > ] [ --tentacle_port < tentacle_port > ] [ --tentacle_address < tentacle_address > ] [ --tentacle_client < tentacle client path ] [ --tentacle_opts < tentacle extra options ] [ --data_dir < data dir > ] [ --group < group > ] [ --temporal < temporary directory path > ] [ --interval < interval agent monitorings in seconds > ] [--log_file < log file >] ``` # Configuración en PandoraFMS Para configurar el plugin en PandoraFMS, se deben seguir los siguientes pasos : **1. Subir el plugin a PandoraFMS, por ejemplo en la siguiente ruta:** ``` /usr/share/pandora_server/util/plugin ``` **2. Dirigirse al apartado plugins y crear uno nuevo:** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/VNOimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/VNOimagen.png) **3. Se le añade nombre, descripción y timeout:** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/scaled-1680-/image.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/image.png) **4. Se añade la ruta del plugin en el comando y los parámetros necesarios para la ejecución de este.**

Para cada parámetro se debe configurar una macro, siendo la sintaxis de esta macro la siguiente : \_fieldx\_, siendo x el numero posicional del parámetro, por ejemplo en la siguiente imagen vemos los parámetros que son obligatorios, --id, --url, --token, --agent\_prefix, --localization y --tentacle\_address ya que todos los demás se pueden usar con los valores default.

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/scaled-1680-/G2nimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/G2nimage.png) **5. Se configuran las macros anteriores, añadiendo en cada una el valor del parámetro:** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/scaled-1680-/3g0image.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/3g0image.png) **6.** **Una vez configurado se debe crear un módulo en un agente que ejecute el plugin. En el menu de módulos de un agente creamos un módulo de tipo plugin nuevo:** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/503imagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/503imagen.png) **7. En el menú de configuración del módulo, le ponemos un nombre, seleccionamos el plugin antes configurado y se le debe dar a "crear".** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/scaled-1680-/Fcbimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/Fcbimage.png) **8. Se crearan los agentes en la siguiente ejecución del plugin :** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/scaled-1680-/oPIimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-02/oPIimage.png) # Agentes y módulos generados por el plugin La ejecución del plugin con la monitorización de todos los tipos de dispositivo habilidades creara los siguientes agentes: - Un agente por cada dispositivo de tipo appliance que exista en la red que coincida con el id introducido por parámetro, se creará en los grupos especificados, y contendrá la IP.
< prefijo >< nombre dispositivo >
Con los siguientes módulos
< prefijo modulo >statusEstado del dispositivo, 1 si esta online, 0 de no ser el caso.
< prefijo modulo >perfScoreIndica como de ocupado esta el dispositivo.
Y uno por cada interface :
< prefijo modulo >< Nombre interface > Estado de la interface.
- Un agente por cada dispositivo de tipo switch que exista en la red que coincida con el id introducido por parámetro, se creará en los grupos especificados, y contendrá la IP.
< prefijo >< nombre dispositivo >
Con los siguientes módulos
< prefijo modulo >statusEstado del dispositivo, 1 si esta online, 0 de no ser el caso.
Y los siguientes por cada puerto:
< port ID >\_ifOperStatus1 si esta habilitado, 0 de no ser el caso
< port ID >.ifInOctetsTrafico total mandado en kb
< port ID >.T\_ifOutOctetsTráfico total recibido en kb
- Un agente por cada dispositivo de tipo wireless que exista en la red que coincida con el id introducido por parámetro, se creará en los grupos especificados, y contendrá la IP.
< prefijo >< nombre dispositivo >
Con los siguientes módulos
< prefijo modulo >statusEstado del dispositivo, 1 si esta online, 0 de no ser el caso.
< prefijo modulo >totalKbpsKb de uso el ultimo día totales
< prefijo modulo >sentKbpsKb de uso el ultimo día envíados
< prefijo modulo >receivedKbpsKb de uso el ultimo día recibidos
< prefijo modulo >clientCountConexiones de clientes totales