Solución de problemas opFlow
- 1 Verifique que el demonio de recolección de flujo se esté ejecutando
- 2 Verificar la configuración de la carpeta de origen de datos
- 3 Espacio de disco duro
- 4 Saturación de /var por archivos nfdump
- 4.1 Escenario
- 4.2 Procedimiento
- 5 Correlación de IP en opFlow y NMIS: las IP de list-agents no coinciden con las interfaces de NMIS
- 5.1 Escenario
- 5.2 Procedimiento
Verifique que el demonio de recolección de flujo se esté ejecutando
En OpFlow 3, se le avisará de los problemas del demonio en la página principal del panel, de forma similar a la siguiente captura de pantalla:
Verificar que se está ejecutando "flowd"
opFlow usa la herramienta "flowd" para recibir (y almacenar temporalmente) datos de flujo:
ps -ef | grep flowd |
|---|
Debería ver algunas entradas además del grep, la relevante aquí son las dos líneas " ":
|
|---|
Para iniciar un flujo perdido / muerto, simplemente ejecuta
|
|---|
Verificar que se está ejecutando "nfcapd"
En opFlow 3, hemos cambiado a un colector de flujo más moderno, "nfcapd" del paquete "nfdump"; OpFlow 3 también incluye un script de inicio más conveniente para este demonio:
|
|---|
Debe informar que nfcapd se está ejecutando con un PID particular; puede comprobar siguiendo este parámetro:
|
|---|
Si no hay nfcapd activo, ejecuta
|
|---|
Verificar que el demonio principal de opFlow se está ejecutando
opFlow requiere que opflowd se ejecute para recuperar periódicamente y procesar nuevos datos de flujo de la herramienta correspondiente del colector de flujo.
|
|---|
Debería de informar que opFlowd está activo, sino ejecutar el siguiente comando
|
|---|
Verificar que MongoDB se esté ejecutando
Sin un funcionamiento MongoDB opFlow no puede operar; con toda probabilidad, usará un servidor MongoDB local, en la misma máquina que opFlow. En este caso, debería ser suficiente para verificar un servidor de mongod Activo.
|
|---|
(Si no está utilizando la configuración predeterminada, sino una instancia de mongod remota, deberá usar el mongo shell para verificar que esté accesible y funcionando). Al igual que en el mongod ejemplo anterior, activar una instancia faltante es fácil:
|
|---|
Tenga en cuenta que mongod puede negarse a iniciar por una serie de razones (por ejemplo, configuración incorrecta, falta de espacio en disco, etc.); si el inicio del servicio indica falla, tendrá que investigar usando los registros de MongoDB (que generalmente están en /var/log/mongodb/).
Verificar la configuración de la carpeta de origen de datos
opFlow necesita saber dónde buscar nuevos datos de flujo, y es evidente que la herramienta de recolección de flujo necesita saber dónde guardar los datos para que los consumidores los encuentren.
Directorios de flujo (opFlow 2)
Verifique que todas las carpetas sean iguales. Ejecute estos comandos y asegúrese de que todo apunte al lugar correcto.
|
|---|
Es especialmente importante que opFlow, que es la configuración de "flowd_data", recoja el archivo de registro que fluye, y este se combina con "<dir_o_flujo>" para obtener la ruta
|
|---|
Directorio nfcapd / nfdump (opFlow 3)
La configuración predeterminada para nfcapd se utiliza /var/lib/nfdump para el almacenamiento de datos de flujo, y opFlowd necesita usar el mismo directorio.
|
|---|
Espacio de disco duro
Verifica tu espacio de disco (principalmente opFlow 2)
Asegúrese de que donde quiera que esté poniendo los datos de flujo y el Mongo DB, tenga bastante espacio en disco; Los datos de flujo son muy voluminosos. En opFlow 3, las colecciones de la base de datos normalmente tienen un "límite" de tamaño y no aumentan.
|
|---|
Ejecute una purga manualmente (solo opFlow 2)
Purgue los datos de flujo binario del flujo sin procesar y los datos de la base de datos anterior, suponga que desea mantener 7 días de datos binarios de flujo y se encuentra en / var / opflow.
|
|---|
Saturación de /var por archivos nfdump
Este apartado explica un escenario común de saturación en /var por archivos nfdump y presenta el proceso de revisión y solución.
Escenario
Al ingresar al módulo opCharts vía UI, no carga y muestra un mensaje de temporalmente fuera de servicio o una página en blanco.
Procedimiento
Se recomienda el siguiente proceso:
Ingresar vía consola y revisar estado de servicios y espacio en disco. Ejecutar:
#Validar estado de servicios
service omkd status
service nmis9d status
service opflowd status
#Validar espacio en discos
df -hRevisar qué está saturando cache
#Ingresar a la carpeta Cache y listar contenido
cd /var/cache/
ls -lrt
#Ingresar a la carpeta nfdump y listar contenido
cd /var/cache/nfdump/
ls -lrtEjecutar el siguiente comando para vaciar instantáneamente el contenido de múltiples archi
cd /var/cache/
ls -lrt
#Ingreso a la carpeta nfdump y listar contenido
cd /var/cache/nfdump/
ls -lrtEjecutar el comando siguiente para vaciar instantáneamente el contenido de múltiples archivos de captura de flujos (NetFlow/IPFIX) sin eliminar los archivos físicamente de su directorio.
find . -type f -name 'nfcapd*' -exec cp /dev/null {} \;Ejecutar nuevamente el comando para validar el espacio
df -hPor último, se recomienda generar un script bash que realice la limpieza de estos archivos de manera automática al menos cada 2 días para evitar futuras saturaciones. El script debe ubicarse en la carpeta /root
#Ejemplo de script de depuración
nano /root/Limpiar_Temporales.shPara la depuración en automático se debe de agregar en el cron, el comando a ejecutar es el siguiente:
#Abrir el cron del sistema
crontab -e
#Ejemplo de configuración en cron
0 2 */2 * * root /root/limpiar_temporales.shA continuación, se explican los valores para configurar el cron, basándonos en el ejemplo anterior.
Valor | 0 | 2 | */2 | * | * | root | /root/limpiar_temporales.sh |
|---|---|---|---|---|---|---|---|
Descripción | minuto | hora | día | mes | De lunes a viernes | usuario | ruta donde se encuentra el script |
Para ingresar la configuración en cron, se debe de validar que los espacios sean con tabulador.
Correlación de IP en opFlow y NMIS: las IP de list-agents no coinciden con las interfaces de NMIS
En este apartado explicaremos por qué la dirección IP mostrada por opflow-cli.pl act=list-agents puede no coincidir con las direcciones IP de las interfaces registradas en NMIS y describe el procedimiento recomendado para identificar correctamente el ifIndex antes de habilitar interfaces en opFlow.
Escenario
Es común observar que las direcciones IP listadas para los agentes no coinciden con la IP de gestión o las direcciones de servicio registradas para el nodo en NMIS.
Esta guía explica la causa técnica de este comportamiento y detalla el procedimiento operativo estándar para identificar y activar interfaces en opFlow de manera precisa sin desperdiciar licencias.
Al ejecutar el comando:
/usr/local/omk/bin/opflow-cli.pl act=list-agentsSe observa que la dirección IP del agente no corresponde a ninguna de las interfaces visibles en NMIS.
Esto sucede debido a que opFlow no identifica los agentes por la dirección IP de servicio registrada en NMIS. Identifica cada agente por la dirección IP origen configurada en el flow exporter, es decir, la IP de la interfaz configurada en el parámetro source del exportador NetFlow/IPFIX. Por ejemplo:
flow exporter NETFLOW_TO_FirstWave
destination 10.10.10.28
source GigabitEthernet0/0/0.3
transport udp 9995Esta dirección puede ser diferente a las IP de las interfaces monitoreadas en NMIS. Esto es completamente normal y ocurre, entre otros casos, cuando:
El dispositivo utiliza una Loopback, una interfaz de administración o una subinterfaz dedicada como origen de la exportación de flujos.
NMIS únicamente tiene inventariadas las interfaces configuradas por SNMP, que pueden no incluir la interfaz origen del exportador.
El equipo dispone de múltiples interfaces y la interfaz de exportación no forma parte de las que se supervisan habitualmente en NMIS.
Adicional a esto, una vez identificado el agente, opFlow administra sus interfaces mediante ifIndex (identificador numérico asignado por SNMP). Por ello, en opFlow no se muestran directamente el nombre (ifName), la descripción (ifDescr) ni la dirección IP de la interfaz, lo que hace necesaria una correlación previa antes de realizar cualquier activación.
Procedimiento
El proceso que se recomienda es el siguiente:
Obtener el nombre y descripción de las interfaces fisicas mediante:
show interfaces description
show ip interface briefCorrelacionar la interfaz con NMIS. En NMIS, acceder al nodo correspondiente y consultar la tabla de interfaces (Node → Interfaces). Ahí podrán identificar la relación entre:
ifIndex → identificador numérico requerido por opFlow
ifDescr → nombre descriptivo de la interfaz
ifName → nombre corto del sistema operativo
Una vez confirmado el ifIndex correcto, ejecutar el comando de activación:
/usr/local/omk/bin/opflow-cli.pl act=update-agent \
agent=<IP_AGENTE> \
in_if=<IFINDEX> \
out_if=<IFINDEX> \
admin_status=activeVerificar la configuración aplicada antes de habilitar alguna adicional.
/usr/local/omk/bin/opflow-cli.pl act=list-agentsEste procedimiento deberá repetirse para cada equipo en el que se desee limitar el procesamiento de flujos a interfaces específicas.