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.
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.plEntre 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=inactiveInternamente 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 |
|---|---|---|---|
act |
| Especifica la acción que ejecutará el CLI. Es el único parámetro obligatorio. |
|
debug |
| Habilita el modo de depuración (Debug), mostrando información adicional sobre la ejecución del comando. Útil para troubleshooting. |
|
quiet |
| Suprime la salida estándar del comando. Solo devuelve el código de salida (Exit Code), útil para scripts y CRON. |
|
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 |
|---|---|---|---|
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 |
|---|---|
Ver agentes registrados |
|
Sincronizar agentes con NMIS |
|
Reconstruir índices |
|
Limpiar información antigua |
|
Limpiar únicamente flujos crudos |
|
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-agentsEjemplo:
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 |
|---|---|---|---|---|
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 |
|---|---|
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:
Los parámetros principales de este comando son:
Parámetro | Descripción |
|---|---|
| Dirección IP del exportador. |
| Activa o desactiva el procesamiento. |
| ifIndex de entrada. |
| 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