# Pandora cisco ipsla
# Introducción
El objetivo principal de este documento es describir los procedimientos de monitorización mediante la herramienta ipsla y el uso del protocolo SNMP.
Para extraer la información este plugin utiliza:
• Comandos específicos del sistema sin necesidad de instalar librerías adicionales.
• Agente de Pandora FMS (en caso de uso de un agente de Pandora FMS para extraer información).
• Snmpwalk y snmpget para obtener la información.
# Matriz de compatibilidad
La matriz de compatibilidad para el plugin de Cisco IPSLA es la siguiente:
Dispositivos donde ha sido probado | Routers Cisco de tipo c7200 |
Dispositivos donde debería funcionar | Todos los dispositivos de tipo cisco con capacidad para soportar ipsla |
# Módulos generados por el plugin
Este plugin puede llegar a devolver 26 valores (módulos) por cada monitor IP SLA, utilizando el denominador único de dicho monitor establecido en el dispositivo Cisco. Los monitores disponibles variarán en función de la configuración específica de su dispositivo. Los monitores utilizados durante el desarrollo del plugin son los siguientes:
• Jitter - Métrica que permite analizar la variación en la demora de envío y recepción de paquetes.
• Echo - La operación ICMP echo monitoriza el tiempo de respuesta end-to-end entre un router Cisco y elementos de red o hosts de IP. Este tiempo de respuesta se calcula midiendo el tiempo entre el envío de un mensaje de solicitud de eco ICMP al destino y la
recepción de la respuesta de eco ICMP.
• Pathecho - La operación ICMP path echo recopila estadísticas para cada salto a lo largo de la ruta hasta alcanzar su destino. La operación ICMP path echo determina este tiempo de respuesta de salto-por-salto entre un router Cisco y cualquier dispositivo IP en la red, descubriendo el trazado con la herramienta "traceroute". Como resultado, se muestra el retardo de ida y vuelta para la ruta completa.
• Udpecho - Los resultados de una operación UDP echo pueden ser útiles tanto para solucionar problemas de aplicaciones críticas mediante pruebas de conectividad en dispositivos Cisco como no-Cisco, como también para determinar los tiempos de delay de
ida y vuelta.
• Dlsw - Operación que permite medir la cola del protocolo y el tiempo de respuesta entre peers dlsw. v y la dirección IP del peer.
• Tcpconnect - Esta operación permite monitorizar el estado de conexión con maquinas con aplicaciones especificas que utilizan el protocolo TCP.
• http - Esta operación permite evaluar el estado del servidor midiendo el tiempo de respuesta entre la petición de la máquina fuente y la carga de la pagina web.
• ftp - Permite monitorizar el retardo de tiempo entre la solicitud y la descarga de un fichero de un servidor FTP.
• Dhcp - Permite medir el tiempo entre una petición y la correspondiente respuesta por parte del servidor dhcp.
• DNS - Mide el tiempo que tarda una petición de nombre para ser respondida por parte de un servidor DNS.
• Voip - Esta operación permite medir el retraso en las comunicaciones Voip en caso de conexiones durante las llamadas y conexiones con gatekeepers.
A continuación se muestran los módulos que podemos recopilar de cada uno de los valores
anteriores:
•ICPIF - Factor calculado a partir de las métricas obtenidas para medir la calidad de la voz.
•MOS - Factor que permite medir la calidad de la voz.
•Packet\_Out\_of\_Sequence - Paquetes recibidos fuera una vez terminada la secuencia.
•Packet\_Late\_Arrival - Paquetes recibidos con retraso.
•Average\_Jitter - El valor estimado del jitter medio observado en los ultimos XX RTP paquetes.
•PacketLossSD - Pérdida de paquetes de fuente a destino.
•PacketLossDS - Perdida de paquetes de destino a fuente
•PacketLost - Pérdida de paquetes cuya dirección es imposible determinar.
•NegativesSD - Suma del valor de todos los valores negativos de jitter de paquetes enviados de origen a destino.
•NegativesDS - Suma del valor de todos los valores negativos de jitter de paquetes enviados de destino a origen.
• PositivesSD - Suma del valor de todos los valores positivos de jitter de paquetes enviados de origen a destino.
• PositivesDS - Suma del valor de todos los valores positivos de jitter de paquetes enviados de destino a origen.
•RTTMax - Tiempo máximo de desplazamiento curvado de paquete.
•RTTMin - Tiempo mínimo de desplazamiento curvado de paquetes.
•OperNumOfRTT - Número de los desplazamientos exitosos de tipo curvado.
•OperPacketLossSD - Pérdida de paquetes de origen a destino para los tests de tipo jitter.
•OperPacketLossDS - Pérdida de paquetes de destino a origen para los tests de tipo jitter.
•RttOperSense - Código que indica el estado de la última operación de tipo RTT.
•RttOperCompletionTime - Tiempo que tarda la última operación RTT en completarse de manera exitosa.
•RttOperTime - Tiempo de sistema a la hora de la última operación RTT.
•RttOperAddress - Especifica la dirección de destino para la operación RTT.
•HTTPOperRTT - Tiempo necesario para completar la operación HTTP.
• HTTPOperDNSRTT - Tiempo necesario para completar la consulta DNS dentro de la operación HTTP.
•HTTPOperTCPConnectRTT - Tiempo necesario para conectarse al servidor HTTP.
•IcmpJitterAvgJitter - Valor medio de positivos y negativos valores de tipo jitter.
•HTTPOperTransactionRTT - Tiempo necesario para descargar el objeto especificado por la URL.
# Pre requisitos
La monitorización de métricas IPSLA mediante el protocolo SNMP se basa en tres requisitos cuyo cumplimiento es imprescindible:
\- Tener habilitado IPSLA en el dispositivo que se desea monitorizar.
\- Tener un agente de Pandora FMS en el sistema.
\- Tener habilitado el servidor de snmp en el dispositivo que se desea monitorizar.
# Parámetros del plugin
Ejecutando el plugin se podrá acceder al menu de ayuda, en el que se pueden ver los siguientes parámetros:
```
-c -t -v [other options]
-c community
-t target
-v version
Other options
-s show defined tags and indexes
-l
-u
-a
-A
-x
-X
-g
-m
Modules can be:
ICPIF - Calculated Planning Impairment Factor for specified tag
MOS - Mean Opinion Score
Packet_Out_of_Sequence - Packets arriving out of sequence
Packet_Late_Arrival - Packets arriving late
vAerage_Jitter - Average jitter is the estimated average jitter observed in the last XX RTP packets
PacketLossSD - Packet loss from source to destination
PacketLossDS - Packet loss from destination to source
PacketLost - The number of packets that are lost for which we cannot determine the direction
NegativesSD - The sum of number of all negative jitter values from packets sent from source to destination
NegativesDS - The sum of number of all negative jitter values from packets sent from destination to source
PositivesSD - The sum of number of all positive jitter values from packets sent from source to destination
PositivesDS - The sum of number of all positive jitter values from packets sent from source to destination
RTTMax - Max Round Trip Time
RTTMin - Min Round Trip Time
OperNumOfRTT - The number of successful round trips
OperPacketLossSD - Packet loss from source to destination for jitter tests
OperPacketLossDS - Packet loss from destination to source for jitter tests
RttOperSense - A sense code for the completion status of the latest RTT operation.
RttOperCompletionTime - The completion time of the latest RTT operation successfully completed.
RttOperTime - The value of the agent system time at the time of the latest RTT operation.
RttOperAddress - A string which specifies the address of the target.
HTTPOperRTT - Round Trip Time taken to perform HTTP operation. This value is the sum of DNSRTT, TCPConnectRTT and TransactionRTT.
HTTPOperDNSRTT Round Trip Time taken to perform DNS query within the HTTP operation.
HTTPOperTCPConnectRTT - Round Trip Time taken to connect to the HTTP server.
IcmpJitterAvgJitter The average of positive and negative jitter values in Source-to-Destionation and Destination-to-Source direction.
HTTPOperTransactionRTT - Round Trip Time taken to download the object specified by the URL.
```
# Ejecución manual del plugin
**Listar todos los tags e ids disponibles**
Se debe usar el parámetro -s.
```
./pandora_ipsla.sh -t -v -l -u -a -A -x -X -s
```
[](https://pandorafms.com/guides/public/uploads/images/gallery/2022-07/image-1657630161379.png)
Ahora, viendo las id disponibles podremos ejecutar el plugin llamando a la id asociada al tag y al módulo que queramos.
\* Por id entenderíamos el número que va detrás de la OID ".1.3.6.1.4.1.9.9.42.1.2.1.1.3." en el listado que recibimos al ejecutar el parámetro -s.
**Ejecución manual:**
```
./pandora_ipsla.sh -t -v -l -u -a -A -x -X -g -m
```
[](https://pandorafms.com/guides/public/uploads/images/gallery/2022-07/image-1657630620707.png)
# Configuración del plugin en un Agente de Pandora FMS
Este plugin puede funcionar como plugin de agente, para lo cual necesitamos descargarlo y situarlo en una ruta especifica. Para desplegar el plugin necesitamos editar el fichero de configuración del agente donde queremos lanzar los módulos y seguir la siguiente sintaxis:
```
module_begin
module_type generic_data
module_exec /ruta_hacia_el_plugin/pandora_ipsla.sh -t [direccion ip del dispositivo] -c [communidad snmp] -g [id del monitor ipsla] -m [valor que se quiere monitorizar]
module_end
Ejemplo de ejecución con traps v1:
module_begin
module_name Jitter_ICPIF
module_type generic_data
module_plugin /home/artica/Descargas/pandora_ipsla.sh -t 192.168.70.131 -c public -v v1 -g 1 -m ICPIF
module_end
Ejemplo de ejecución con traps v3:
module_begin
module_name Jitter_ICPIF
module_type generic_data
module_plugin /home/artica/Descargas/pandora_ipsla.sh -t 192.168.70.131 -c public -v v3 -l authPriv -u juan -a MD5 -A pass1 -x AES -X pass2 -g 6 -m ICPIF
module_end
```
Este ejemplo genera un módulo en el agente donde ha sido introducido, y su aspecto es el
siguiente:
[](https://pandorafms.com/guides/public/uploads/images/gallery/2022-06/image-1654087894975.png)
# Configuración del plugin en un Servidor de Pandora FMS
Este plugin puede funcionar como plugin de servidor, para lo cual necesitamos descargarlo y situarlo en una ruta específica. Para desplegar el plugin necesitamos acceder al apartado de administración de plugins de la consola de Pandora FMS:
[](https://pandorafms.com/guides/public/uploads/images/gallery/2022-06/image-1654088569168.png)
Pinchamos en Añadir y nos aparece la siguiente pantalla:
[](https://pandorafms.com/guides/public/uploads/images/gallery/2022-06/image-1654088624418.png)
Rellenamos los campos de la siguente manera:
•Nombre: Cisco IP SLA.
•Tipo de complemento: Estándar.
•Max. Tiempo de expiación: 15 segundos.
•Descripción: Este plugin extrae información de rendimiento de red de la herramienta IPSLA mediante el empleo del protocolo SNMP.
•Comando del Complemento: /ruta\_hacia\_el\_plugin/pandora\_ipsla.sh
•Parámetros del plugin: -t \_field1\_ -c \_field2\_ -g \_field3\_ -m \_field4\_
A continuación, expandimos las macros disponibles para el plugin hasta el campo 4 y en los apartados de Descripción correspondientes introducimos lo siguiente: Dirección del dispositivo, Comunidad SNMP, Identificador del monitor IPSLA, Valor que se queremos obtener.
Para crear módulos necesitamos acceder al apartado de Gestión de módulos de cualquier agente y añadir un nuevo tipo de módulo de tipo plugin. Después, en el siguiente apartado elegimos el plugin de IPSLA y rellenamos los datos del plugin:
Si los datos son correctos deberíamos poder ver el siguiente resultado en la consola:
[](https://pandorafms.com/guides/public/uploads/images/gallery/2022-06/image-1654089147584.png)
# ANEXO Configuración de IP SLA y SNMP en un router Cisco
Para habilitar el protocolo simple de manejo de red se pueden seguir los siguientes pasos dentro de la shell de cualquiera de los dos routers:
•Adoptar los permisos necesarios para poder realizar cambios en la configuración del router, tecleando: enable
•Accedemos a la seccion de configuración, tecleando: config terminal
•Activamos el servidor de snmp indicando la comunidad para la cual funcionarian las consultas snmp: snmp-server community name
\* Pueden sustituir "name" por el nombre de comunidad que quieren utilizar.
Antes de empezar con los monitores individuales habilitamos el IP SLA Responder que mejora la precisión y los detalles de la monitorización. Para hacerlo tenemos que seguir los siguientes pasos:
• Accedemos a la sección de configuración, tecleando: config terminal