Administración mediante opflow-cli.pl: comandos y funciones esenciales

Administración mediante opflow-cli.pl: comandos y funciones esenciales

opflow-cli.pl es la herramienta principal para administrar opFlow desde la línea de comandos. Permite ejecutar tareas avanzadas, automatizar operaciones y realizar acciones que no siempre están disponibles en la interfaz gráfica.

Arquitectura de funcionamiento

La utilidad CLI actúa como una capa de administración entre el operador y la base de datos de configuración de opFlow.

image-20260709-192016.png

 

Mientras la interfaz gráfica utiliza servicios REST y módulos internos, opflow-cli.pl accede directamente a las funciones administrativas. Esto permite ejecutar tareas incluso cuando la GUI no está disponible.

Ubicación del ejecutable

En una instalación estándar de FirstWave, el ejecutable se encuentra en:

/usr/local/omk/bin/opflow-cli.pl

Entre sus funciones se encuentran:

  • Administración de agentes.

  • Activación y desactivación de interfaces.

  • Consulta de la configuración.

  • Automatización de cambios.

  • Integración con scripts.

  • Validación del estado operativo.

  • Soporte para procesos masivos.

Se recomienda ejecutar el script con un usuario que disponga de permisos suficientes sobre la instalación de opFlow.

Sintaxis general

La estructura básica es:

/usr/local/omk/bin/opflow-cli.pl act=<ACCION> [parámetros]

Su funcionamiento se basa en ejecutar una acción (act=) junto con uno o más parámetros.

Ejemplos:

/usr/local/omk/bin/opflow-cli.pl act=list-agents /usr/local/omk/bin/opflow-cli.pl act=update-agent agent=<ip_agente> /usr/local/omk/bin/opflow-cli.pl act=update-agent agent=<ip_agente> in_if=<index>  out_if=<index> admin_status=inactive

Internamente el script interactúa con:

  • MongoDB

  • Collector de opFlow

  • Configuración del sistema

  • Base de datos IANA

  • Índices

  • Agentes

  • Interfaces

  • Cachés

Parámetros globales

Además del parámetro act, muchas acciones admiten opciones adicionales, se presenta una tabla con los parámetros globales que pueden utilizarse con opflowcli.pl

Parámetro

Sintaxis

Descripción

Ejemplo

Parámetro

Sintaxis

Descripción

Ejemplo

act

act=<operación>

Especifica la acción que ejecutará el CLI. Es el único parámetro obligatorio.

act=list-agents

debug

debug=1

Habilita el modo de depuración (Debug), mostrando información adicional sobre la ejecución del comando. Útil para troubleshooting.

opflow-cli.pl act=list-agents debug=1

quiet

quiet=1

Suprime la salida estándar del comando. Solo devuelve el código de salida (Exit Code), útil para scripts y CRON.

opflow-cli.pl act=purge quiet=1

Dependiendo de la acción, algunos parámetros serán obligatorios y otros opcionales.

Comandos disponibles

A continuación, se muestra una tabla con la descripción de cada operación disponible del comando opflow-cli.pl, útil como referencia para administración y soporte de opFlow

Comando

Descripción

Uso principal

Opciones

Comando

Descripción

Uso principal

Opciones

act=setup-db

Crea o reconstruye colecciones e índices de la base de datos flows. Puede eliminar la información existente antes de recrearla.

Inicialización o reparación de la base de datos.

N/A

act=setup-iana

Descarga o carga localmente la base de datos de aplicaciones IANA (puertos y protocolos).

Actualiza la identificación de aplicaciones.

N/A

act=purge

Limpia la base de datos según las políticas de retención configuradas.

Mantenimiento periódico.

act=purge-raw

act=purge-endpoints

act=purge-indices

act=load-flows file=...

Carga manualmente un archivo nfcapd o de flujos generado por nfdump.

Importación manual de flujos.

N/A

act=list-endpoints

Lista los endpoints registrados en la base de datos.

Consulta hosts conocidos.

act=create-endpoint

act=show-endpoint

act=update-endpoint

act=delete-endpoint

act=list-apps

Lista aplicaciones definidas en la colección customapps.

Consulta aplicaciones personalizadas.

act=create-app

act=update-app

act=delete-app

act=list-agents

Lista todos los exportadores NetFlow/sFlow/IPFIX registrados.

Verifica agentes activos.

act=update-agent

act=sync-agent-node-data

act=list-filters

Lista todos los filtros configurados.

Consulta filtros de tráfico.

act=show-filter

act=disable-filter

act=create-filter

act=create-report

Genera un reporte con los parámetros especificados.

Reportes personalizados.

N/A

La siguiente tabla muestra los comandos utilizados con mayor frecuencia

Objetivo

Comando

Objetivo

Comando

Ver agentes registrados

opflow-cli.pl act=list-agents

Sincronizar agentes con NMIS

opflow-cli.pl act=sync-agent-node-data

Reconstruir índices

opflow-cli.pl act=setup-db

Limpiar información antigua

opflow-cli.pl act=purge

Limpiar únicamente flujos crudos

opflow-cli.pl act=purge-raw

Comando setup-db

setup-db es una acción administrativa que prepara la base de datos que opFlow usa para almacenar y gestionar la información de monitoreo. Al ejecutarlo, opFlow conecta con MongoDB y verifica la existencia de la base de datos y las colecciones necesarias.

Cuando se ejecuta opFlow establece una conexión directa con MongoDB y procede a verificar si la base de datos y las colecciones necesarias ya existen en el sistema.

El comportamiento de esta operación depende de los parámetros que se utilicen al momento de la ejecución:

  • En caso de que la base de datos no exista previamente, el sistema la crea automáticamente junto con toda su estructura inicial necesaria para su correcto funcionamiento.

  • Si la base de datos ya existe y no se ha especificado el parámetro drop=true, entonces el sistema se limita a verificar la existencia de los elementos necesarios y crea únicamente aquellos que falten para completar la estructura requerida.

  • Por otro lado, si se utiliza el parámetro drop=true, la base de datos existente es eliminada completamente y luego se crea nuevamente desde cero, asegurando una estructura limpia y sin datos previos.

entre sus funciones principales se encuentran:

  • Crear las colecciones requeridas por opFlow.

  • Inicializar la estructura lógica de la base de datos.

  • Configurar parámetros internos.

  • Preparar el entorno para la creación de índices.

  • Restablecer la base de datos cuando se utiliza la opción drop=true.

Este comando no procesa flujos de red; únicamente prepara el entorno de almacenamiento.

Se recomienda ejecutar este comando en los siguientes escenarios:

Instalación inicial. Después de instalar opFlow y antes de comenzar a recibir flujos.

Recuperación ante fallas. Cuando la base de datos ha sufrido corrupción o pérdida de información.

Restauración desde un respaldo. Después de restaurar una instancia de MongoDB y antes de validar la operación del sistema.

Ambientes de laboratorio. Para reiniciar completamente la plataforma durante pruebas o desarrollo.

Migraciones. Al migrar una instalación hacia un nuevo servidor o una nueva versión de opFlow.

Comando list-agents

Es el comando más utilizado y muestra todos los agentes registrados por opFlow.

Sintaxis:

/usr/local/omk/bin/opflow-cli.pl act=list-agents

Ejemplo:

image-20260709-162325.png

Este comando permite conocer:

  • Agentes detectados.

  • Interfaces configuradas.

  • Estado administrativo.

Es uno de los primeros comandos que deben ejecutarse cuando se investiga un problema relacionado con la recepción de flujos.

Interpretación de list-agents

Se pueden obtener resultados como los siguientes:

Agent IP

In Intf

Out Intf

Active

Interpretación

Agent IP

In Intf

Out Intf

Active

Interpretación

10.44.9.21

*

*

active

Indica que opFlow procesará todos los flujos provenientes del dispositivo.

10.44.9.21

23

0

active

Significa que únicamente se procesarán los flujos cuyo ifIndex de entrada sea 23.

10.44.9.21

0

23

active

Procesará únicamente los flujos cuya interfaz de salida corresponda al ifIndex 23.

10.44.9.21

0

0

inactive

No procesara información de la interfaz, ya que se encuentra deshabilitada.

El parámetro Active (admin_status) controla si la colección de flujos sobre la interfaz se encuentra habilitada o no.

Valores habituales:

Valor

Descripción

Valor

Descripción

active

Se procesan los flujos

inactive

La regla permanece deshabilitada

Cuando un agente se marca como inactive, opFlow deja de procesar los flujos asociados a esa regla, aunque el Collector continúe recibiendo paquetes UDP o TCP del dispositivo

Comando update-agent

Este comando modifica la configuración de un agente o de una interfaz específica.

Sintaxis:

/usr/local/omk/bin/opflow-cli.pl act=update-agent agent=<IP> [parámetros]

Ejemplo:

image-20260709-191826.png

Los parámetros principales de este comando son:

Parámetro

Descripción

Parámetro

Descripción

agent=

Dirección IP del exportador.

admin_status=

Activa o desactiva el procesamiento.

in_if=

ifIndex de entrada.

out_if=

ifIndex de salida.

Interpretación de update-agent

A continuación, se muestra una salida de este comando donde se muestra que se tiene desactivada la regla de colección para la interface con ifIndex 23.

Parametro

agente

in_if

out_if

admin_status

Dato

10.44.9.21

23

21

inactive

Descripcion

IP del agente

IfIndex de la interfaz de entrada

IfIndex de la interfaz de salida

Estado al que se cambiara la regla.

Referencias