Meraki discovery
Este documento describe la funcionalidad Meraki de de PandoraFMS, compuesta por el plugin de discovery.
- Introducción
- Prerrequisitos
- Parámetros
- Ejecución manual
- Discovery
- Agentes y módulos generados por el plugin
Introducción
Este plugin permite monitorizar infraestructuras de red basadas en Cisco Meraki mediante llamadas a su API REST, recopilando información detallada sobre el estado y rendimiento de dispositivos del tipo appliance, switch y wireless. A través de distintos endpoints específicos de cada tipo de equipo, el plugin obtiene datos como el estado operativo, tráfico de red, rendimiento del sistema, uso de ancho de banda y cantidad de clientes conectados.
El sistema utiliza autenticación mediante token Bearer y accede a los dispositivos dentro de una red y organización configurables. La información recolectada se transforma automáticamente en agentes y módulos en formato XML compatibles con Pandora FMS, los cuales son transferidos mediante el protocolo Tentacle para su integración en la consola. Además, el plugin está diseñado para gestionar recursos de red de forma paralela, escalando fácilmente en entornos con múltiples dispositivos. Esta solución proporciona una visión centralizada y automatizada del estado de la red Meraki, ayudando a detectar posibles caídas, congestiones o problemas de conectividad en tiempo real.
Prerrequisitos
- El sistema que ejecuta el plugin debe de tener conectividad y poder llegar al de forma remota a los switches de meraki.
Parámetros
base_url = Url de conexión de la API
bearer_token = Token bearer necesario para la autenticación
organization = ID de la organización en las que se escanearan las redes.
network = Network de meraki o patron de regexp, todas las networks que coincidan con este se monitorizaran, .* para monitorizar todas.
location = Grupos secundarios añadidos al agente
api_url = Url de la api de pandora
api_user = User de la api de pandora
api_pass = Contraseña de la api de pandora
api_user_pass = Contraseña del usuario de la api de pandora
agents_group_name = Grupo para los agentes
agent_prefix = Prefijo para los agentes
module_prefix = Prefijo para los modulos
interval_monitoring = Intervalo de monitorización para las estadísticas de los puertos de un switch.
agentname_hostname = Activar con 1 para usar de nombre de los agentes el hostname. Con 0 el nombre del agente tendrá el serial code.
scan_appliance = Activar para monitorizar dispositivos tipo Appliance
scan_switch = Activar para monitorizar dispositivos tipo switch
scan_wireless = Activar para monitorizar dispositivos tipo wireless
scan_traffic_appliance_network = Activar la monitorizacion del tráfico de dispositivos appliance a nivel de Network
scan_cellular_gateway = Activar para monitorizar dispositivos tipo cellularGateway
tentacle_address = Direccion de tentacle
tentacle_port = Puerto de tentacle
| --conf | Ruta al archivo de configuración |
Ejemplo
base_url = https://api.meraki.com/api/v1
bearer_token = 45gagsag7f707dadadafasfafe442c1b0a0
organization = 61474184758433340
network = .*
location = SHOP
api_url = http://localhost
api_user = admin
api_pass = 1234
api_user_pass = pandora
agents_group_name = MerakiAgents
agent_prefix = Meraki
module_prefix = Meraki_
interval_monitoring = 3600
agentname_hostname = 1
scan_appliance = 1
scan_switch = 1
scan_wireless = 1
scan_traffic_appliance_network = 1
scan_cellular_gateway = 1
tentacle_address = 172.42.42.101
tentacle_port = 41121
Ejecución manual
El formato de la ejecución del plugin es el siguiente:
./pandora_meraki --conf < ruta al fichero de configuración >
Por ejemplo:
./pandora_meraki --conf /usr/share/pandora_server/util/plugin/meraki.conf
La ejecución devolverá una salida en formato JSON con información sobre la ejecución, y generará un fichero XML para cada agente monitorizado que enviará al servidor de Pandora FMS por el método de transferencia indicado en la configuración.
Discovery
Este plugin puede integrarse con el Discovery de Pandora FMS.
Para ello se debe cargar el paquete ".disco" que puede descargar desde la librería de Pandora FMS:
https://pandorafms.com/library/
Una vez cargado, se podrán monitorizar entornos de Meraki creando tareas de Discovery desde la sección Management > Discovery > App
Para cada tarea se solicitarán los siguientes datos mínimos:
- Token: Token bearer necesario para la autenticación.
- Url: Url de conexión de la API
- Organization: ID de la organización en las que se escanearan las redes.
- Network: Network de meraki o patron de regexp, todas las networks que coincidan con este se monitorizaran, .* para monitorizar todas.
- Location: Grupos secundarios añadidos al agente
- Tentacle IP: Dirección de tentacle
- Tentacle port: Puerto de tentacle
En la siguiente página se nos requerirán los siguientes :
- Agent prefix: Prefijo para los agentes
- Module prefix: Prefijo para los modulos
- Interval monitoring: Intervalo de monitorización para las estadísticas de los puertos de un switch.
- API Url: Url de la api de pandora
- API Password: Contraseña de la api de pandora
- API User: User de la api de pandora
- API User password: Contraseña del usuario de la api de pandora
- Name Agent Hostname: Activado usara el hostname de los dispositivos como nombre de agente. Sin activar el serial code.
- Scan Appliances: Activar para monitorizar dispositivos tipo Appliance
- Scan Switches: Activar para monitorizar dispositivos tipo switch
- Scan Wireless: Activar para monitorizar dispositivos tipo wireless
- Scan cellularGateway: Activar para monitorizar dispositivos tipo cellularGateway
- Scan Appliance Traffic Network: Si se habilita creara un agente con los datos de tráfico a nivel de network de los dispositivos appliance.
Las tareas completadas con éxito tendrán un resumen de ejecución con la siguiente información:
- Total agents : Número total de agentes generados por la tarea.
- Total wireless agents: Número total de agentes wireless generados por la tarea.
- Total appliance agents: Número total de agentes Appliance generados por la tarea.
- Total cellularGateway agents: Número total de agentes cellularGateway generados por la tarea.
- Total network appliance traffic agents: Número total de agentes network appliance traffic generados por la tarea.
- Total switches agents: Número de agentes Switch generados por la tarea.
Agentes y módulos generados por el plugin
La ejecución del plugin creará los siguientes agentes y módulos :
Un agente por cada dispositivo de tipo Appliance
-
<module_prefix>status -
<module_prefix>perfScore(si está presente) -
<module_prefix>Uplink <interfaz>_ifOperStatus(uno por cada interfaz detectada) -
<module_prefix>uplink_sent_bytes -
<module_prefix>uplink_recv_bytes
Un agente por cada dispositivo de tipo Switch
-
<module_prefix>status -
<module_prefix>Port <portId>_ifOperStatus(uno por cada puerto) -
<module_prefix>Port <portId>_ifOutOctets(uno por cada puerto) -
<module_prefix>Port <portId>_ifInOctets(uno por cada puerto)
Un agente por cada dispositivo de tipo Wireless
-
<module_prefix>status -
<module_prefix>totalKbps(si disponible) -
<module_prefix>sentKbps(si disponible) -
<module_prefix>receivedKbps(si disponible) -
<module_prefix>clientCount(si disponible)
Un agente con datos de tráfico a nivel de network de los dispositivos Appliance
-
<module_prefix>Traffic appliance <network> total_sent -
<module_prefix>Traffic appliance <network> total_recv <module_prefix>Traffic appliance <network> total_clients