Meraki
Plugin con el que el posible monitorizar dispositivos de Meraki.
- Introducción
- Matriz de compatibilidad
- Pre requisitos
- Parámetros
- Ejecución manual
- Configuración en PandoraFMS
- Agentes y módulos generados por el plugin
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 . 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:
3. Se le añade nombre, descripción y timeout:
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.
5. Se configuran las macros anteriores, añadiendo en cada una el valor del parámetro:
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:
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".
8. Se crearan los agentes en la siguiente ejecución del plugin :
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 >status | Estado del dispositivo, 1 si esta online, 0 de no ser el caso. |
< prefijo modulo >perfScore | Indica 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 >status | Estado del dispositivo, 1 si esta online, 0 de no ser el caso. |
Y los siguientes por cada puerto:
< port ID >_ifOperStatus | 1 si esta habilitado, 0 de no ser el caso |
< port ID >.ifInOctets | Trafico total mandado en kb |
< port ID >.T_ifOutOctets | Trá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 >status | Estado del dispositivo, 1 si esta online, 0 de no ser el caso. |
< prefijo modulo >totalKbps | Kb de uso el ultimo día totales |
< prefijo modulo >sentKbps | Kb de uso el ultimo día envíados |
< prefijo modulo >receivedKbps | Kb de uso el ultimo día recibidos |
< prefijo modulo >clientCount | Conexiones de clientes totales |