Manual operativo para opConfig 4

El presente documento describe las diferentes arquitecturas en las que se puede trabajar con opConfig para la colección de datos dentro de las redes corporativas.

Para poder comprender de manera más detallada como funciona opConfig, debemos conocer la parte técnica, la cual se describe a continuación:

  • Nodos: Los nodos son dispositivos que están agregados al módulo y que están configurados para poder ejecutar los comandos que cada cliente desee. Como opConfig necesita conectarse al nodo en cuestión para poder ejecutar comandos dentro de él, debe configurarse con credenciales de acceso (de solo lectura al menos), las cuales se almacenan en una configuración llamada "Conjunto de Credenciales" (Credential Sets).
  • Conjunto de Credenciales (Credential Sets): Los Conjuntos de Credenciales son una combinación de nombres de usuario, contraseñas, contraseñas privilegiadas, etc., que permiten el acceso a la CLI de los dispositivos. Una vez que el conjunto de credenciales se ha utilizado para acceder al dispositivo, se puede ejecutar un "Conjunto de Comandos" (Command Sets) y registrar los resultados en el módulo.
  • Conjuntos de Comandos (Command Sets): Los Conjuntos de Comandos son normalmente construcciones de línea de comandos que se ejecutarán en el nodo al que se tenga acceso mediante el módulo. Algunas características se describen a continuación:
    - Algunos son "comandos pasivos", como "audit-import", que en realidad no se ejecutan en el nodo, pero el resultado está asociado con el nodo
    - Los Conjuntos de Comandos están configurados para aplicarse solo a un sistema operativo en particular y, en ocasiones, a versiones o plataformas.
    - El resultado de la ejecución del comando es capturada y almacenada por opConfig. Las salidas de comando se comparan con la revisión anterior y, si son diferentes, se guardan como una nueva "Revisión". Se puede marcar un comando para la detección de cambios, en cuyo caso se realiza un análisis más detallado de la variación.
  • Cambios / Revisiones: Las Revisiones son los resultados del comando recopilados a lo largo del tiempo. opConfig le permite distinguir entre comandos "muy dinámicos" y "principalmente estáticos" de una manera eficiente y flexible, como se describe a continuación:
    - Comandos estáticos: deben estar marcados para la detección de cambios detallados. En este caso, se crea una nueva revisión si y solo si hay diferencias relevantes entre el estado más reciente y el nuevo resultado del comando.
    - Comandos dinámicos: no deben marcarse para la detección de cambios. Cada vez que se ejecute dicho comando, la salida se guardará como una nueva revisión, independientemente de si hubo alguna diferencia entre el estado histórico y el actual.

Crear un conjunto de credenciales según el inicio de sesión

Cuando ya se sabe cómo iniciar sesión en un nodo, debe crearse un Conjunto de Credenciales en opConfig para que coincida con esto.

Para hacerlo, debe seguirse la siguiente ruta en opConfig: Sistema > Editar Conjuntos de Credenciales > Agregar Set de Credenciales. Lo que es importante tener en cuenta aquí, es que si el dispositivo solo requiere una contraseña única y no usa un modo privilegiado (raíz en Linux, habilitar en Cisco), "Privilegio Automático" (Automatically Privileged) debe establecerse en "Yes".

Importar el nodo en opConfig

Acceda al menú en opConfig e importe el nodo, debe seguirse la siguiente ruta en opConfig: Sistema -> Editar Nodos, luego busque el botón de refresh que importará los nodos desde NMIS.

Encuentre el nodo y edítelo en opConfig, debería ver una pantalla como la siguiente, lo cual indica que el Sistema Operativo y la Personalidad se han configurado.

Puede ver los detalles seleccionando "Conexión" e "Info OS" a la izquierda. Si no están configurados, puede editar la regla del sistema operativo y presionar nuevamente el botón de actualización hasta que se configuren.

Agregar un nuevo dispositivo para que sea compatible con opConfig

A continuación, se muestran los pasos necesarios para que opConfig recopile datos de un dispositivo.

Antes de iniciar

Debe asegurarse de que tiene acceso al dispositivo mediante SSH o telnet y que está autorizado para hacerlo. Esto puede comprobarlo vía consola desde el servidor que se está utilizando.

El dispositivo ya debería estar agregado a NMIS, esto para conocer diversos datos que serán útiles para configurarlo en opConfig.

Para poder realizar debidamente su configuración, necesitaremos saber:

  • ¿Quién es el vendedor?
  • ¿Cómo se llama el sistema operativo?
  • ¿Qué descripción se le asigna al equipo?

Los detalles del nodo en NMIS serán de mucha ayuda. A continuación un ejemplo:

Accede a los dispositivos

Debe tenerse una noción de cómo funciona el dispositivo para poder enseñarle a opConfig cómo manejarlo.

Acceso mediante SSH

[root@omk-vm9-centos7 ~]# ssh ossbackup@10.247.26.69
The authenticity of host '10.247.26.69 (10.247.26.69)' can't be established.
RSA key fingerprint is SHA256:fGl5ZgwEVZvpOoQNskKGWMbjXLbfJ9QuaJQcIhB3pWU.
RSA key fingerprint is MD5:c3:15:31:99:6c:8c:68:97:d9:66:5d:4e:32:d5:fd:a8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.247.26.69' (RSA) to the list of known hosts.
ossbackup@10.247.26.69's password:
+----------------------------------------------------------------+
|El acceso a este dispositivo es solo para usuarios autorizados, |
|si usted no esta expresamente autorizado, por favor desconectese|
|inmediatamente. Los accesos no autorizados estan en contra de la|
|la ley, y pueden estar sujetos a penas criminales o civiles.    |
|Toda la actividad es registrada, si no esta de acuerdo proceda a|
|desconectarse inmediatamente.                                   |
|----------------------------------------------------------------|
|Access to this device is only for authorized users, if you have |
|not permissions please logout immediately, unauthotized is      |
|against law,and may be subject to civil or crimin al penalties. |
|All activity is being logged, if you do not aggree disconnect   |
|immediately.                                                    |
+----------------------------------------------------------------+
SW_BOG_SCHULUMBERGER#

Acceso mediante Telnet

[root@omk-vm9-centos7 ~]# telnet 10.247.26.69
Trying 10.247.26.69...
Connected to 10.247.26.69.
Escape character is '^]'.
+----------------------------------------------------------------+
|El acceso a este dispositivo es solo para usuarios autorizados, |
|si usted no esta expresamente autorizado, por favor desconectese|
|inmediatamente. Los accesos no autorizados estan en contra de la|
|la ley, y pueden estar sujetos a penas criminales o civiles.    |
|Toda la actividad es registrada, si no esta de acuerdo proceda a|
|desconectarse inmediatamente.                                   |
|----------------------------------------------------------------|
|Access to this device is only for authorized users, if you have |
|not permissions please logout immediately, unauthotized is      |
|against law,and may be subject to civil or crimin al penalties. |
|All activity is being logged, if you do not aggree disconnect   |
|immediately.                                                    |
+----------------------------------------------------------------+

Login:ossbackup
Password:
SW_BOG_SCHULUMBERGER#

Crear un conjunto de credenciales en función de cómo inició sesión

Ahora que sabe cómo inició sesión, cree un conjunto de credenciales que coincida con esto. Debe seguirse la siguiente ruta en opConfig: Sistema > Editar Conjuntos de Credenciales > Agregar Set de Credenciales.  Como ya se comentó anteriormente, el dispositivo solo requiere una contraseña única y no usa un modo privilegiado, por lo tanto el "Privilegio Automático" (Automatically Privileged) debe establecerse en "Yes".

Crear una regla de sistema operativo

Para que opConfig conozca el sistema operativo del dispositivo, los conjuntos de comandos a ejecutar, la personalidad (libro de frases que se aplica), así como otras propiedades interesantes, debe crearse una regla de sistema operativo. Las reglas del sistema operativo permiten que opConfig establezca automáticamente esas propiedades en función de las descubiertas por NMIS.

El archivo a editar es /usr/local/omk/conf/OS_Rules.nmis (consulte el apéndice a continuación para ver algunas configuraciones de ejemplo).

Una mirada rápida al dispositivo Raisecom en NMIS, mostró que el campo Descripción (que es la variable SNMP sysDescr), era "REAP_1.2.3775_20181110.ISCOM2948GF-4C-AC/D.Compiled Nov 10 2018,support@Raisecom.com", esta será la base de nuestra regla de sistema operativo para dispositivos Raisecom (recordar que tenemos 3 diferentes descripciones).

Por lo tanto, estableceremos dos propiedades: el sistema operativo (usado en command_sets) y la personalidad (su libro de frases). El sistema operativo le dice a opConfig qué conjunto de comandos usar y el libro de frases le dice a opConfig cómo comunicarse con el dispositivo con el libro de frases correcto. También puede configurar de forma automática otras propiedades del nodo aquí, por ejemplo, "connection_info.transport" => "SSH".

Se define un ID para relacionar el command_sets con los equipos basados en el sysDescr y nodeVendor:

   "135" : {
      "IF" : {
		"sysDescr" : "REAP.+",
		"nodeVendor" : "Beijing Raisecom .+"
      },
      "SET" : {
         "connection_info.personality" : "raisecom",
         "os_info.os" : "Raisecom"
      },
      "BREAK" : "true"
   },
   "137" : {
      "IF" : {
      "sysDescr" : "RITP"
      },
      "SET" : {
         "connection_info.personality" : "raisecom",
         "os_info.os" : "Raisecom"
      },
      "BREAK" : "true"
   },

Esta regla dice: "si la expresión regular "REAP.+" coincide en el campo sysDescr, establezca las siguientes propiedades del nodo.

Nota: puede agregarse también un "connection_info.transport" : "telnet" o "connection_info.transport" : "SSH", si la conexión va a ser fija; de no ser así, no colocar opción alguna.

Importar el nodo en opConfig

Note:

Esta función no está disponible para opConfig 4.0.0 y superiores, ya que NMIS y opConfig comparten la misma base de datos de nodos.

Acceda al menú en opConfig e importe el nodo, debe seguirse la siguiente ruta en opConfig: Sistema -> Editar Nodos, luego busque el botón de refresh que importará los nodos desde NMIS.

Encuentre el nodo y edítelo en opConfig, debería ver una pantalla como la siguiente, lo cual indica que el Sistema Operativo y la Personalidad se han configurado.

Puede ver los detalles seleccionando "Conexión" e "Info OS" a la izquierda. Si no están configurados, puede editar la regla del sistema operativo y presionar nuevamente el botón de actualización hasta que se configuren.

General

Info OS

Conexión

Detalle

Crear un libro de frases

Puede encontrar más información sobre libros de frases en el link: libro de frases personalizado opConfig y personalidad.

Para decirle a opConfig cómo comunicarse con un dispositivo, necesita un libro de frases, esto ayuda al sistema a saber qué hacer.

La mayoría de las veces, los dispositivos se comportan como los dispositivos de Cisco, por lo que siempre puede probar el libro de frases de ios; aunque no es demasiado difícil de crear. Al acceder al dispositivo, se observó que podría haber un "Inicio de sesión:" y "Contraseña:", dependiendo de cómo se acceda al sistema.

El libro de frases base se creó en /usr/local/omk/conf/phrasebooks/. Se crea una nueva carpeta raisecom y dentro de esta se creó un archivo pb, la ruta completa del archivo fue: /usr/local/omk/conf/phrasebooks/raisecom/pb


Ejemplo de libro de frases que coincide con el prompt del equipo al que se accede:
https://regex101.com/
Regex para Raisecom:  \w*\d*.*(\$|#)$
SW_IBA_CSJ2#
COANAPAAPASWAUFN02#

# a preliminary phrasebook for raisecom routeros devices
#
# version 0

prompt user
 match /Login: ?$/

prompt pass
 match /[Pp]assword: ?$/


# note: that only covers prompts in single-line command mode, not safe mode,
# not hotlock mode, and not line continuation mode either

prompt generic
    match /\w*\d*.*(\$|#)$/

prompt privileged
    match /\w*\d*.*(\$|#)$/

# this should not be required, but opconfig 3.0.2 doesn't have a
# way of setting n::a::s up without do_paging

macro paging
    send modify cli preference pager disabled

# should NOT be required but there's a bug in opconfig 3.0.2
# that triggers a die() if no privileged prompt exists
# note that the mikrotik must be handled with a credential set with always_privileged on.
# for versions after 3.0.2 this SHOULD NOT BE PRESENT (ideally) or exactly the same as generic (less good)

macro disconnect
 send exit


NOTA: puede generarse un prompt genérico de la siguiente forma, pero siempre será recomendable personalizarlo, ya que no funcionará para todos los dispositivos:


prompt user
    match /.+/

prompt pass
    match /.+/

prompt generic
    match /.+/



Comprobar lo configurado hasta el momento

La mejor manera de probar todo es ejecutar un descubrimiento en el nodo, esto coincidirá con el conjunto de credenciales y probará el libro de frases.

Se ejecutaría como sigue a continuación:

#  Option 1
/usr/local/omk/bin/opconfig-cli.pl act=discover

#  Option 2
/usr/local/omk/bin/opconfig-cli.pl act=discover node=name_node debug=1

#  Option 3
[root@omk-vm9-centos7 ~]# /usr/local/omk/bin/opconfig-cli.pl act=discover transport=SSH username=Userloggin password=passloggin

Discovery completed
Transport and Credential Sets Stats:
Transport       Credential Set  Successes
SSH             Raisecom                447
Telnet          Raisecom                23
[root@omk-vm9-centos7 ~]#

Creación de un conjunto de comandos

Ahora necesita crear un conjunto de comandos para decirle a opConfig qué recopilar de opConfig, esto está documentado en Administrar conjuntos de comandos

Los conjuntos de comandos se almacenan en un único archivo /omk/conf/command_sets.nmis en opConfig antes de la versión 2.2.4 y, desde la versión 2.2.4, opConfig admite este y los archivos de conjuntos de comandos individuales en formato  conf/command_sets.d/.

[root@omk-vm9-centos7 ~]# cd /usr/local/omk/conf/command_sets.d/
[root@omk-vm9-centos7 command_sets.d]# ll raisecom.json
-rw-rw-r--. 1 nmis nmis 3313 Aug 12  2021 raisecom.json
[root@omk-vm9-centos7 command_sets.d]# more raisecom.json
{
   "RAISECOM_HOURLY" : {
      "scheduling_info" : {
         "run_commands_noninteractively" : "false",
         "run_commands_on_separate_connection" : "false"
      },
      "os_info" : {
         "os" : "/Raisecom/i"
      },
      "commands" : [
         {
            "privileged" : "false",
            "command" : "show version",
            "tags" : [
               "inventory",
               "DAILY",
               "configuration",
               "version",
               "troubleshooting",
               "detect-change",
               "report-change",
               "raisecom",
               "HOURLY",
               "performance"
            ],
            "multipage" : "false"
         },
         {
            "command" : "show ip route",
            "privileged" : "false",
            "tags" : [
               "inventory",
               "DAILY",
               "configuration",
               "version",
               "troubleshooting",
               "detect-change",
               "report-change",
               "raisecom",
               "HOURLY",
               "performance"
            ],
            "multipage" : "false"
         },
         {
            "command" : "show running-config",
            "privileged" : "false",
            "tags" : [
               "inventory",
               "DAILY",
               "configuration",
               "version",
               "troubleshooting",
               "detect-change",
               "report-change",
               "raisecom",
               "HOURLY",
               "performance"
            ],
            "multipage" : "false"
         }
      ]
   },
   "RAISECOM_DAILY" : {
      "scheduling_info" : {
         "run_commands_noninteractively" : "false",
         "run_commands_on_separate_connection" : "false"
      },
      "os_info" : {
         "os" : "/Raisecom/i"
      },
      "commands" : [
         {
            "privileged" : "false",
            "command" : "show system mtu",
            "tags" : [
               "inventory",
               "DAILY",
               "configuration",
               "version",
               "troubleshooting",
               "detect-change",
               "report-change",
               "raisecom",
               "HOURLY",
               "performance"
            ],
            "multipage" : "false"
         },
         {
            "command" : "show ntp status",
            "privileged" : "false",
            "tags" : [
               "inventory",
               "DAILY",
               "configuration",
               "version",
               "troubleshooting",
               "detect-change",
               "report-change",
               "raisecom",
               "HOURLY",
               "performance"
            ],
            "multipage" : "false"
         },
         {
            "command" : "show interface uni 1-4",
            "privileged" : "false",
            "tags" : [
               "inventory",
               "DAILY",
               "configuration",
               "version",
               "troubleshooting",
               "detect-change",
               "report-change",
               "raisecom",
               "HOURLY",
               "performance"
            ],
            "multipage" : "false"
         }
      ]
   }
}
[root@omk-vm9-centos7 command_sets.d]#
[root@omk-vm9-centos7 command_sets.d]#


Definición de a qué nodos se aplica un conjunto de comandos

Esto normalmente se hace filtrando por información del sistema operativo, pero no necesariamente se limita solo a la información del sistema operativo:

       "os_info" : {
         "os" : "/Raisecom/i"
      }, 


Otros ejemplos:

#filter using both regular expression and string equality checks:
'os_info' => {
 'version' => '/12.2|12.4|15.0/',
 'os' => 'IOS'
},
# or just the specific os family/type and that's all:
'os_info' => {
 'os' => '/(Linux|CentOS|Ubuntu)/'
},

Los ejemplos anteriores especifican que el nodo en cuestión debe tener un conjunto de propiedades os_info, con subpropiedades os y versión en el primer ejemplo y solo os en el segundo.

Los valores de cadena simples indican una comparación de cadenas, pero también se pueden dar expresiones regulares. Un nodo solo se considera para este conjunto de comandos en particular si todas las expresiones de filtrado coinciden. Puede filtrar en cualquier propiedad de nodo , no solo en las propiedades de os_info (pero los conjuntos de comandos predeterminados solo usan os_info).

Antes de la versión 3.1.1, opConfig consideraba que los conjuntos de comandos sin bloques de filtro estaban deshabilitados; para estas versiones, es posible que desee un filtro 'comodín' que coincida con cualquier cosa, lo que se puede lograr agregando un  os_infobloque de filtro con una expresión regular 'coincidir con todo', por ejemplo  . os,'os' => '/.*/'

Desde opConfig 3.1.1 en adelante, un conjunto de comandos sin filtro se interpreta como aplicable a todos los nodos sin ninguna restricción.


Comenzando a recopilar datos


Pasos para configurar su primer trabajo automatizado: 

  • Configure un dispositivo para que sea compatible con opConfig 
  • Crear un conjunto de configuración
  • Programar un trabajo. Hay varias formas de programar un trabajo: 
    • Crear un nuevo trabajo de operador virtual : Usando la GUI podemos crear un nuevo trabajo que podría ejecutarse en un tiempo y hora específicos. Tenga en cuenta que esta opción se ejecutará una vez. 
    • Uso de la herramienta CLI : con la opción de configuración  push_configset.
    • Cron job : Para la ejecución de tareas periódicamente, generalmente basadas en las etiquetas de las configuraciones. Un ejemplo de algunos trabajos cron para opConfig:

# opConfig: hourly command set running
1 * * * *   root    /usr/local/omk/bin/opconfig-cli.pl quiet=1 act=run_command_sets tags=HOURLY
# and the daily ones
7 7 * * * * root    /usr/local/omk/bin/opconfig-cli.pl quiet=1 act=run_command_sets tags=DAILY
# and a daily import from open-audit enterprise
21 4 * * * root     /usr/local/omk/bin/opconfig-cli.pl quiet=1 act=import_audit
# and a daily purge of old revisions
40 3 * * *     root /usr/local/omk/bin/opconfig-cli.pl act=purge_revisions quiet=1

El programa mantiene una cola de trabajos y el demonio opconfig, opconfigd, es el responsable de ejecutar estos trabajos a tiempo. 

También es importante revisar y establecer en consecuencia las políticas de depuración .

Herramienta CLI opConfig 4

opConfig tiene algunas funciones que solo están disponibles a través de la herramienta de línea de comandos, ubicada en <omk_dir>/bin/opconfig-cli.exe. 

La información sobre qué comandos se admiten se imprime cuando no se especifica ninguna opción. Todas las opciones admiten debug=true para la salida de depuración y debug=9 para la salida detallada.  

opConfig cli debe ejecutarse como root. 

A continuación se enumeran las posibles opciones para el  act=Xargumento:




Descubrimiento (Discover)

Prueba un único nodo determinado (argumento nodo=nodoX) e intenta determinar su configuración de transporte y conjunto de credenciales. El nodo ya debe tener un conjunto de personalidad.

/usr/local/omk/bin/opconfig-cli.pl act=discover node=NAME debug=1

Validar conexión (Test_connect)

opconfig-cli se puede usar para probar conexiones para ayudar a depurar situaciones que no tienen ningún sentido. 

Un ejemplo de cómo se puede utilizar:

/usr/local/omk/bin/opconfig-cli.pl act=test_connect host=192.168.88.254 transport=Telnet personality=ios username=testuser password=testpass
#------------------------------------------------------------------------------#
/usr/local/omk/bin/opconfig-cli.pl act=test_connect host=IP_nodo transport=SSH personality=raisecom username=testuser password=testpass debug=1

[root@omk-vm9-centos7 ~]# nodes='10.247.119.95
> 10.247.119.136
> 10.247.119.18
> 10.251.146.197'
[root@omk-vm9-centos7 ~]# for i in $nodes; do
> echo '############## updating $i ###############'
> /usr/local/omk/bin/opconfig-cli.pl act=test_connect host=$i transport=SSH personality=raisecom username=ossbackup password=ossbackup debug=1
> done
############## updating $i ###############
opconfig-cli.pl Version 3.199.0

Copyright (C) 2015 Opmantek Limited (www.opmantek.com)
This program comes with ABSOLUTELY NO WARRANTY;
See www.opmantek.com or email contact@opmantek.com

opConfig is licensed to UFINET for 650 Nodes - Expires 13-Jan-2022

[Fri Aug 13 09:40:29 2021] [debug] new opConfig: require_db
09:40:29 DB::ensureIndex, ensureIndex
--SNIP--
--SNIP--
--SNIP--

Las opciones de transporte y personalidad se dan arriba.

También es posible probar una conexión existente desde el archivo connections.nmis especificando node=node_name, si se especifica alguna opción en la línea de comando junto con el nodo, anularán la configuración cargada desde el archivo connections.nmis.

command="some command" también se puede especificar para probar la salida de un comando específico.

run_command_sets, ejecutar comandos en dispositivos

Este comando ejecutará todos los conjuntos de comandos aplicables para todos los nodos (de forma predeterminada).

Opciones:

  • nodes=node1,node2,etc -- solo se ejecutarán los conjuntos de comandos que se aplican a los nodos especificados.
  • names=command_set1,command_set2,etc: solo ejecuta los conjuntos de comandos especificados (y, por supuesto, solo para los nodos que coinciden con los criterios de los conjuntos de comandos)
  • tags=tag1,tag2,etc: los comandos candidatos se filtran por las etiquetas especificadas. Si una o más etiquetas dadas en la línea de comando están presentes en la lista de etiquetas de un comando, entonces se ejecutará el comando.


./opconfig-cli.pl act=run_command_sets node=NODE_NAME debug=9 names=Check_Disk_Usage_home
/usr/local/omk/bin/opconfig-cli.pl act=run_command_sets debug=1  node=NODE_NAME transport=telnet command=HPE_HOURLY
/usr/local/omk/bin/opconfig-cli.pl act=run_command_sets debug=1  node=NODE_NAME transport=SSH tags=detect-change,configuration 
/usr/local/omk/bin/opconfig-cli.pl act=run_command_sets debug=1  node=NODE_NAME transport=SSH names=IOS_DAILY,LINUX_DAILY
[root@omk-vm9-centos7 ~]# /usr/local/omk/bin/opconfig-cli.exe act=run_command_sets nodes=COANAPAAPASWAUFN02 names=RAISECOM_HOURLY debug=9

#----------------------------------------------------------------------------#
Ejemplo empleando un for loop:
[root@omk-vm9-centos7 ~]# nodes='COCCPATEBOSWAUFN01
> COCDBOGC80SWAUFN03
> CORSPERPERSWAUFN04
> COATLURLURSWAUFN01
> COCDZIPZIPSWAUFN02'
[root@omk-vm9-centos7 ~]# for i in $nodes; do
> echo "############## check -- $i ###############"
> /usr/local/omk/bin/opconfig-cli.exe act=run_command_sets nodes=$i names=RAISECOM_HOURLY,RAISECOM_DAILY debug=2
> done
############## check -- COCDBOGC80SWAUFN03 ###############
opconfig-cli.pl Version 3.199.0

Copyright (C) 2015 Opmantek Limited (www.opmantek.com)
This program comes with ABSOLUTELY NO WARRANTY;
See www.opmantek.com or email contact@opmantek.com

opConfig is licensed to UFINET for 650 Nodes - Expires 13-Jan-2022
--SNIP--
--SNIP--


# Ejecución de un comando especifico.
[root@omk-vm9-centos7 ~]# /usr/local/omk/bin/opconfig-cli.exe act=run_command_sets node=Cisco-Wirelles-Controler commands="show run-config" debug=2

get_command_output, Obtener la última salida de un comando para un nodo

Requiere node=node_name command="command name" y devuelve la salida recopilada de la última ejecución de este comando

./opconfig-cli.pl act=get_command_output node=NODE_NAME command="show configuration"

find_command_revisions, Obtener las revisiones de un comando

Requiere el nombre del nodo y devuelve una lista de los comandos y revisiones para un nodo.

./opconfig-cli.pl act=find_command_revisions node=NODENAME


Rendimiento esperado:

Node         Command               Revision  
mynode   top -n 3 -d 5 -M -b   1
mynode   top -a -n 1 -M        1
mynode   vmstat 1 10           2
mynode   pvdisplay             1
mynode   ps -ef                1
mynode   lvdisplay             1
mynode   df                    2
mynode   chkconfig             1
mynode   disk usage /homee     0


diff_command_outputs, Diff dos revisiones 

Muestra la diferencia de la salida de 2 revisiones de la salida almacenada (no las ejecuta, solo consultas). La línea de comando sería similar a get_command_output con la edición de revision_1= y revision_2=

./opconfig-cli.pl act=diff_command_outputs node=NODENAME command="disk usage /home"  revision_1=2 revision_2=3 

opciones de purga 

Por defecto, opConfig no elimina las revisiones antiguas de la base de datos; si ejecuta muchos comandos que no detectan cambios (o encuentra cambios frecuentes en los resultados de sus comandos), es probable que esto haga que la GUI sea difícil de manejar (por ejemplo, los menús desplegables de revisión se volverán muy grandes). Las revisiones se pueden eliminar con la opción de línea de comando: 

./opconfig-cli.pl act=purge_revisions node=NODE_NAME debug=9


También hay una opción para eliminar índices: 

./opconfig-cli.pl act=purge_indices

Puede encontrar más información sobre los datos de puge opConfig aquí 

Conjuntos de configuración

Como se mencionó anteriormente, opConfig le permite organizar los comandos que desea que se ejecuten en un número arbitrario de grupos a los que llamamos conjuntos de comandos.

Hay varias opciones de cli para administrar los conjuntos de configuración:

./opconfig-cli.pl act=list_configsets
./opconfig-cli.pl act=import_configset file=/tmp/configset_test1.json
./opconfig-cli.pl act=export_configset name=test1  
./opconfig-cli.pl act=disable_configset name=test1 
./opconfig-cli.pl act=enable_configset name=test1 revision=1
./opconfig-cli.pl act=push_configset name=test1 node=NODE_NAME

Puede leer más información sobre los conjuntos de configuración en el manual del usuario .

Cola

La cola opConfig tiene trabajos programados para ejecutarse en orden. Hay algunas opciones de cli para verificar la lista de la cola de los trabajos programados o eliminar un trabajo de la cola:

./opconfig-cli.pl act=list_queue with_ids=1
./opconfig-cli.pl act=remove_queued id=5e42a04b2b181345a5069093 

list_policies, import_policy, export_policy; update_config_status, export_config_status y check_compliance

Estas operaciones están documentadas en la página separada sobre Gestión de Cumplimiento .

./opconfig-cli.pl act=export_policy name=cisco file=/tmp/policies2.txt
./opconfig-cli.pl act=import_policy name=cisco file=/tmp/policies2.txt
./opconfig-cli.pl act=list_policies
./opconfig-cli.pl act=export_config_status node=NODENAME file=/tmp/configstatus.txt 
./opconfig-cli.pl act=update_config_status node=NODENAME force=1 
./opconfig-cli.pl act=check_compliance name=cisco node=NODENAME debug=1 

Conjuntos de credenciales

Los conjuntos de credenciales también se pueden administrar desde opConfig versión 4.3.2.