...
- Identifica el problema. El primer paso es identificar el problema, debe considerar si se presenta en productos NMIS8 o NMIS9.
- Informar al soporte la versión del producto, los servidores / dispositivos / modelos involucrados.
- ¿Qué tipo de problema estás observando ? Un problema de dispositivo puede verse afectado por las siguientes razones.
- Rendimiento de la red , latencia en la red, problemas de capa 1, 2 y 3.
- Configuración de dispositivos , conectividad, configuración SNMP y otros.
- Requisitos de hardware del servidor , parámetros con utilización alta de recursos en el servidor.
- Parámetros de configuración faltantes del servidor , validación de parámetros de configuración faltantes para el ajuste del servidor.
- Rendimiento del disco , tiempos de lectura/escritura lentos para la colección de dispositivos.
- Adjuntar información , recopilar todos los gráficos, imágenes, comportamientos que puedan explicar cuál es el problema.
- Recopilar archivos de la herramienta de soporte La herramienta de soporte de Opmantek
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>
- Si está utilizando NMIS8, proporcione los archivos /usr/local/nmis8/var
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
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
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
- 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.
- Recopilar archivos de la herramienta de soporte La herramienta de soporte de Opmantek
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]# |
- Replicar el problema . Si es posible se puede definir cuáles son los pasos para replicar el problema.
- Identifica los síntomas . En este punto se puede detectar un problema específico y cuáles son los síntomas.
- 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.
- ¿ 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 | ||
---|---|---|
| ||
###################################################### # 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 | ||
---|---|---|
| ||
[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.