Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Identifica el problema.  El primer paso es identificar el problema, debe considerar si se presenta en productos NMIS8 o NMIS9.
    1. Informar al soporte la versión del producto, los servidores / dispositivos / modelos involucrados.
  2. ¿Qué tipo de problema estás observando ? Un problema de dispositivo puede verse afectado por las siguientes razones.
    1. Rendimiento de la red , latencia en la red, problemas de capa 1, 2 y 3.
    2. Configuración de dispositivos , conectividad, configuración SNMP y otros. 
    3. Requisitos de hardware del servidor , parámetros con utilización alta de recursos en el servidor.
    4. Parámetros de configuración faltantes del servidor , validación de parámetros de configuración faltantes para el ajuste del servidor.
    5. Rendimiento del disco , tiempos de lectura/escritura lentos para la colección de dispositivos. 
  3. Adjuntar información , recopilar todos los gráficos, imágenes, comportamientos que puedan explicar cuál es el problema.
    1. Recopilar archivos de la herramienta de soporte La herramienta de soporte de Opmantek
      1. Ejecute el siguiente comando para recopilar la herramienta de soporte.


        Code Block
        #General collection.
        /usr/local/nmis8/admin/support.pl action=collect  
        
        #If the file is big, we can add the next parameter.
        /usr/local/nmis8/admin/support.pl action=collect maxzipsize=900000000
        
        #Device collection.
        /usr/local/nmis8/admin/support.pl action=collect node=<node_name> 


    2. Si está utilizando NMIS8, proporcione los archivos /usr/local/nmis8/var
      1. vaya al directorio /usr/local/nmis8/var y recopile los siguientes archivos

        Code Block
        -rw-rw----   1 nmis   nmis    4292 Apr  5 18:26 <node_name>-node.json
        -rw-rw----   1 nmis   nmis    2695 Apr  5 18:26 <node_name>-view.json


      2. obtener y proporcionar los resultados del update/Collect al caso de soporte:

        Code Block
        /usr/local/nmis8/bin/nmis.pl type=update node=<node_name> model=true debug=9 force=true > /tmp/node_name_update_$(hostname).log
        /usr/local/nmis8/bin/nmis.pl type=collect node=<node_name> model=true debug=9 force=true > /tmp/node_name_collect_$(hostname).log


    3. Si está utilizando NMIS9, incluya los archivos de la colección del nodo o nodos involucrados. 

      Code Block
      /usr/local/nmis9/admin/node_admin.pl act=dump
      
      {node=nodeX|uuid=nodeUUID}
      file=<MY PATH> everything=1


    4. Ejecutar una búsqueda en los logs del sistema de monitoreo, esto con alguna palabra relacionada al tema de investigación, la búsqueda puede ser una cadena parcial o una expresión regular para obtener la información filtrada de los directorios /nmis8/log y /omk/logs.

Ejemplo:

Code Block
Ejemplo: search="router1|router2|switch3" logs=all
Ejemplo: search="Node Down|Node Up" logs=all


Para esto se requiere ejecutar un Script, descargar y subir al sistema mediante FTP, (Se requiere efectuar una modificación en el archivo /nmis8/conf/Config.nmis para su correcto funcionamiento los detalles se encuentran en el Script.)

Modo de emplear el Script.

Ejemplo :


Code Block
[root@cnvtmxomk01 admin]#
[root@cnvtmxomk01 admin]# perl Busqueda.pl search="NMIS is disabled" logs=all
Processing /usr/local/nmis8/logs/event.log

Processing /usr/local/nmis8/logs/event.log-20210509.gz

Processing /usr/local/nmis8/logs/event.log-20210919
16-Sep-2021 12:00:04,1631811604,localhost,Alert: NMIS IS LOCKED,Fatal,,NMIS is disabled! cnvtmxomk01.cnoc.telmex.com 10.237.6.95 Delete the file NMIS_IS_LOCKED and run the command fpingd.pl
17-Sep-2021 12:00:03,1631898003,localhost,Alert: NMIS IS LOCKED,Fatal,,NMIS is disabled! cnvtmxomk01.cnoc.telmex.com 10.237.6.95 Delete the file NMIS_IS_LOCKED and run the command fpingd.pl
18-Sep-2021 00:00:03,1631941203,localhost,Alert: NMIS IS LOCKED,Fatal,,NMIS is disabled! cnvtmxomk01.cnoc.telmex.com 10.237.6.95 Delete the file NMIS_IS_LOCKED and run the command fpingd.pl
18-Sep-2021 12:00:03,1631984403,localhost,Alert: NMIS IS LOCKED,Fatal,,NMIS is disabled! cnvtmxomk01.cnoc.telmex.com 10.237.6.95 Delete the file NMIS_IS_LOCKED and run the command fpingd.pl
19-Sep-2021 00:00:03,1632027603,localhost,Alert: NMIS IS LOCKED,Fatal,,NMIS is disabled! cnvtmxomk01.cnoc.telmex.com 10.237.6.95 Delete the file NMIS_IS_LOCKED and run the command fpingd.pl

Processing /usr/local/omk/log/opCharts.log

Processing /usr/local/omk/log/opCharts.log-20210613.gz

[root@cnvtmxomk01 admin]#





Code Block
[root@cnvtmxomk01 admin]#
[root@cnvtmxomk01 admin]# perl Busqueda.pl search="Node Configuration Change" logs=all
Processing /usr/local/nmis8/logs/event.log

Processing /usr/local/nmis8/logs/event.log-20210509.gz

Processing /usr/local/nmis8/logs/event.log-20210919
17-Sep-2021 15:15:04,1631909704,MINERA_MX_CORP_PARQUE_REFORMA_PISO_03_EQUIP01_STK_SW04,Node Configuration Change,Major,,Changed at 467 days 8:53:19
17-Sep-2021 15:15:04,1631909704,TEPJF_VIRGINIA_RT01,Node Configuration Change,Major,,Changed at 73 days 18:04:17
17-Sep-2021 15:20:02,1631910002,AC_ACUNA_SDWAN01,Node Configuration Change,Major,,Changed at 5 days 5:46:59

Processing /usr/local/omk/log/opCharts.log

Processing /usr/local/omk/log/opCharts.log-20210613.gz

[root@cnvtmxomk01 admin]#



  1. Replicar el problema . Si es posible se puede definir cuáles son los pasos para replicar el problema.
  2. Identifica los síntomas . En este punto se puede detectar un problema específico y cuáles son los síntomas.
  3. Determinar si algo ha cambiado , es importante verificar con su equipo si algo ha cambiado, una buena forma de ver este comportamiento es monitoreando el gráfico de rendimiento para dispositivos o servidor.
  4. ¿ Es un problema individual?  Verifique si este comportamiento ocurre en un solo dispositivo / servidor.

...

El sistema de monitoreo OPMANTEK cuenta con la herramienta polling_summary, esto nos ayudará a determinar si el servidor tarda mucho en recolectar la información de los nodos y no puede completar ninguna operación, aquí podemos ver cuántos nodos summary, esto nos ayudará a determinar cuántos nodos se esta recolectando en el momento, los datos importantes a considerar como el status del nodo, estado del protocolo snmp, política aplicada, tiempo de poleo, tiempo de update, estado general del nodo pollmessage, tienen una recolección tardía y un resumen de los nodos recopilados y no recopilados.

...

 Si existen valores en los campos x_late, necesitamos validar el rendimiento del servidor.

...

Estado de servicios (demonios)

NMIS está utilizando algunos servicios importantes para hacer que la solución funcione, a veces los dispositivos dejan de funcionar debido a que algunos de estos servicios se interrumpen. Siempre es una buena idea validar si se están ejecutando, para validar esto es necesario ejecutar los siguientes comandos. Esto con el fin de brindar aún más seguridad, ya que algunos de estos servicios son cruciales para el funcionamiento del sistema operativo. Por otro lado, en sistemas como Unix o Linux, los servicios también se conocen como demonios. En este caso, es imprescindible validar los servicios que componen el sistema de monitoreo OPMANTEK (NMIS).

...

Usando el comando top / htop

El comando superior TOP muestra todos los procesos en ejecución en el servidor.  Le muestra Muestra la información del sistema y la información de los procesos, como el tiempo de actividad, la carga promedio, las tareas en ejecución, no. numero de usuarios conectados, no.numero de procesos de CPU, utilización de RAM y enumera todos los procesos en ejecución / utilizados por los usuarios en su servidor, en los detalles de  parámetros se pueden observar los datos mas importantes para validar en la herramienta top marcadas en negritas.


Code Block
top


Code Block
top - 12:50:01 up 62 days, 22:56,  5 users,  load average: 4.76, 8.03, 4.34
Tasks: 412 total,   1 running, 411 sleeping,   0 stopped,   15 zombie
Cpu(s):  6.8%us,  3.8%sy,  0.2%ni, 74.4%id, 28.2%wa,  0.1%hi,  0.5%si,  0.0%st
Mem:  20599548k total, 18622368k used,  1977180k free,   375212k buffers
Swap:  6669720k total,  3536428k used,  3133292k free, 10767256k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                     
26306 root      20   0  478m 257m 1900 S  3.9  1.3   0:08.21 nmis.pl                                                                     
15522 root      20   0  626m 373m 2776 S  2.0  1.9  71:45.09 opeventsd.pl                                                                
27285 root      20   0 15280 1444  884 R  2.0  0.0   0:00.01 top                                                                         
    1 root      20   0 19356  308  136 S  0.0  0.0   1:07.65 init                                                                        
    2 root      20   0     0    0    0 S  0.0  0.0   0:02.14 kthreadd                                                                    
    3 root      RT   0     0    0    0 S  0.0  0.0  17359:19 migration/0                                                                 
    4 root      20   0     0    0    0 S  0.0  0.0 252:25.86 ksoftirqd/0                                                                 
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0                                                                   
    6 root      RT   0     0    0    0 S  0.0  0.0   2233:33 watchdog/0                                                                  
    7 root      RT   0     0    0    0 S  0.0  0.0 340:35.60 migration/1                                                                 
    8 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/1                                                                   
    9 root      20   0     0    0    0 S  0.0  0.0   5:23.87 ksoftirqd/1                                                                 
   10 root      RT   0     0    0    0 S  0.0  0.0 214:57.35 watchdog/1    

...

Para decirle al servidor, cómo administrar los dispositivos configurados, necesitamos es necesario validar que todos los elementos de configuración /parámetros estén bien configurados, puede ver el rendimiento del servidor mientras recopila información yendo a la sección, sistema> Diagnóstico del host> Gráfico de tiempo de ejecución NMISNMIS ingles 

Si el tiempo total de ejecución / recopilación es demasiado alto, debemos ajustar los parámetros de recopilación según la versión del administrador que esté utilizando.

...

Para una recopilación o actualización, el subproceso principal está configurado de forma predeterminada para bifurcar los procesos de trabajo para realizar las operaciones solicitadas utilizando subprocesos y mejorando el rendimiento. Una de cada operación se ejecutará cada minuto (de forma predeterminada) y procesará tantos nodos como el ciclo de recopilación de sondeo esté configurado para procesar. de sondeo esté configurado para procesar.


Procesos NMIS 9

El proceso principal de NMIS 9

Code Block
* * * * * root /usr/local/nmis8/bin/nmis.pl type=collect abort_after=60 mthread=true ignore_running=true;



Configuraciones que afectan el rendimiento

Hay algunas configuraciones importantes que afectan el rendimiento:

  • Además, esta opción configuracion debe tener siempre también la opción mthreads = true. 

    Code Block
    #configuracion de cron
    nmis8/bin/nmis.pl type=collect abort_after=60 mthread=true ignore_running=true;
    


  • abort_after  Desde NMIS 8.6.8G hay una nueva opción de línea de comando, abort_after, que evita que el hilo principal se ejecute durante mucho tiempo, evitando que colisione con el siguiente trabajo cron. De forma predeterminada, este parámetro es de 60 segundos, ya que el trabajo cron está configurado para ejecutarse cada 60 minutos de forma predeterminada. 


  • max_thread : La otra opción de configuración importante es max_thread, que evitará que el número de hijos del proceso principal crezca demasiado. Consideraciones:
    • Si la operación de recopilación tiene muchos nodos para procesar, la cantidad de niños no alcanzará el límite instantáneamente. Mientras el hilo principal se bifurca, los niños completan su trabajo y saldrán. Además, el proceso principal esperará a que cambien de estado, por lo que el número aumentará lentamente.
    • NMIS puede tener más de una instancia del proceso principal en ejecución, y el número de hijos podría ser mayor que max_threads, ya que el límite es solo por instancia. 
  • sort_due_nodes:  cuando NMIS decide qué sondear, puede hacerlo en un orden pseudoaleatorio que es el predeterminado, si su servidor está sobrecargado, probablemente verá algunos nodos que nunca se sondean, por lo tanto, pseudoaleatorio, por lo que para servidores muy cargados, habilite sort_due_nodes, en la configuración NMIS agregue con el valor establecido en 1.
  • Referencia  NMIS 8 - Opciones de configuración para el ajuste del rendimiento del servidor

Configuración de archivo CROND CRON (NMIS) y Config.nmis

Aquí procederemos a verificar la configuración de recolección de datos hacia los dispositivos, por lo que validamos los parámetros Collect, maxthreads y mthread.

En el archivo NMIS Cron cron vemos lo siguiente:


Crond Cron NMIS

Code Block
titleCrond NMIS
######################################################
# NMIS8 Config
######################################################

# Run Full Statistics Collection
*/5 * * * *     root     /usr/local/nmis8/bin/nmis.pl type=collect maxthreads=100 mthread=true
*/5 * * * *     root     /usr/local/nmis8/bin/nmis.pl type=services mthread=true
# ######################################################

# Optionally run a more frequent Services-only Collection
# */3 * * * *   root     /usr/local/nmis8/bin/nmis.pl type=services mthread=true

######################################################

# Run Summary Update every 2 minutes
*/2 * * * *     root     /usr/local/nmis8/bin/nmis.pl type=summary

...

Nota: Si estos valores declarados en el cron y en el archivo ConfConfig.nmis no funcionan, se recomienda hacer lo siguiente:
Ejemplo Crond

...

El valor del parámetro maxthreads (se recomienda probar entre 50, 80 y 100) debe ser el mismo en ambos archivos (cron nmis y confConfig.nmis)

El valor del parámetro abort_after (se recomienda probar entre )


Aplicar los comandos Actualizar Update y Recopilar collect al final de cada prueba y verificar el comportamiento en la GUI de NMIS, esto consiste en revisar el Gráfico de tiempo de ejecución de NMIS, Network_summary y Polling_summary.

...

Estado del servidor a nivel de servicio.
El servicio de monitorización se ve afectado lentamente al acceder a la GUI, y su principal impacto se centra en la falla en la ejecución de recopilaciones y actualizaciones a los nodos, las CPU se saturan y el sistema de monitorización ejecuta la recopilación de información cada minuto o 5 minutos, el sistema estar sobrecargado se ve obligado a matar los procesos que afectan el almacenamiento de la información de los nodos en los archivos del RRD

Vista de nodo en NMIS:

Podrás Se podrá visualizar gráficos de dispositivos con espacios, este es un ejemplo de cómo reconocer este comportamiento.

 



Resumen de sondeo coleccion NMIS (menú: Sistema> Diagnóstico de host> Resumen de sondeo NMIS)

...

Es importante validar que los sistemas de archivos son gratuitoslas particiones de los directorios tengan espacio libre, si tenemos un FS lleno una partición llena la herramienta dejará de funcionar:

...

Code Block
collapsetrue
[root@opmantek ~]# echo -e "\n \e[31m Información de espacio en el disco \e[0m" && df -h && echo -e "\n\n \e[31m Información de uso de RAM \e[0m" && free -m && echo -e "\n\n \e[31m Detalle de discos \e[0m" && fdisk -l

  Información de espacio en el disco

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_nmis64-lv_root
                       59G  2.7G   54G   5% /
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/sda1             477M  109M  343M  25% /boot
/dev/mapper/vg_nmis64_data-lv_data
                      321G   11G  295G   4% /data
/dev/mapper/vg_nmis64-lv_var
                      147G  1.5G  138G   2% /var

  Información de uso de RAM
             total       used       free     shared    buffers     cached
Mem:          7984       6891       1093          0        216       1077
-/+ buffers/cache:       5596       2387
Swap:         4071       1589       2482

  Detalle de discos
Disk /dev/sda: 536.9 GB, 536870912000 bytes
255 heads, 63 sectors/track, 65270 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008cec3

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        5222    41430016   8e  Linux LVM
/dev/sda3            5222       42570   299997810   8e  Linux LVM
/dev/sda4           42570       65256   182225295   8e  Linux LVM

Disk /dev/sdb: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/vg_nmis64-lv_root: 64.4 GB, 64432898048 bytes
255 heads, 63 sectors/track, 7833 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/vg_nmis64-lv_swap: 4269 MB, 4269801472 bytes
255 heads, 63 sectors/track, 519 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/vg_nmis64_data-lv_data: 350.1 GB, 350140497920 bytes
255 heads, 63 sectors/track, 42568 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/vg_nmis64-lv_var: 160.3 GB, 160314687488 bytes
255 heads, 63 sectors/track, 19490 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

[root@opmantek ~]#


% wa-  Es  Es importante revisar el promedio de carga y iowait, si vemos que estos valores son altos eso representa problemas para el servidor ---- con el TOP


 


Lista de procesos con estado de suspensión ininterrumpida.

El comando ps nos proporciona información sobre los procesos de un sistema Linux o Unix.
A veces, las tareas pueden bloquearse, entrar en un circuito cerrado encolarce o dejar de responder. Por otras razones, o pueden continuar ejecutándose, pero consumen demasiado tiempo de CPU o RAM, o se comportan de una manera igualmente antisocial. A veces, las tareas deben eliminarse como misericordia para todos los involucrados. El primer paso. Por supuesto, es para identificar el proceso en cuestión.

Los procesos en un estado "D" o de suspensión ininterrumpida generalmente están esperando en E / S.

Code Block
[root@8/root@nmis-Test log]# ps -auxf | egrep " D| Z"
root     13417  0.6  0.8 565512 306812 ?       D    10:38   0:37  \_ opmantek.pl webserver             -
root     17833  9.8  0.0      0     0 ?        Z    12:19   0:00      \_ [opeventsd.pl] <defunct>
root     17838 10.3  0.0      0     0 ?        Z    12:19   0:00      \_ [opeventsd.pl] <defunct>
root     17842 10.6  0.0      0     0 ?        Z    12:19   0:00      \_ [opeventsd.pl] <defunct>nmisslvcc5 log]# ps -auxf | egrep " D| Z"
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      1563  0.1  0.0      0     0 ?        D    Mar17  10:47  \_ [jbd2/dm-2-8]
root      1565  0.0  0.0      0     0 ?        D    Mar17   0:43  \_ [jbd2/dm-3-8]
root      1615  0.3  0.0      0     0 ?        D    Mar17  39:26  \_ [flush-253:2]
root      1853  0.0  0.0  29764   736 ?        D<sl Mar17   0:04 auditd
root     17898  0.0  0.0 103320   872 pts/5    S+   12:20   0:00  |       \_ egrep  D| Z
apache   17856 91.0  0.2 205896 76212 ?        D    12:19   0:01  |   \_ /usr/bin/perl /usr/local/nmis

...

El uso de 100% iowait / Utilization indica que hay un problema y, en la mayoría de los casos, un gran problema que incluso puede provocar la pérdida de datos. Esencialmente, hay un cuello de botella en algún lugar del sistema. Quizás una de las unidades se esté preparando para morir / fallar.

...


Este problema se solucionó moviendo el la MV a un ambiente con discos de estado sólido, el cliente validó que el la MV estaba usando discos mecánicos (HDD), por lo que un clon de un una MV de laboratorio no funciona funcionaria ya que se presenta el mismo Problema, al reemplazar Discos problema. Al reemplazar los discos HDD a discos de estado sólido, el la MV y los servicios de monitoreo se estabilizan, la memoria RAM, CPU y uso del disco es normal, esto de acuerdo con los nodos que el sistema de monitoreo está monitoreando.