Esta página está destinada a proporcionar un proceso de resolución de problemas de dispositivos NMIS para identificar los malos comportamientos en la colección de productos gestionados en NMIS8 / 9 , puede dividirla en esta estructurada con pasos claros que cualquiera puede los administradores / operadores / usuarios pueden seguir e identificar qué está mal con la colección de dispositivos, también si tenemos huecos en los gráficos para los nodos gestionados por NMIS.lo cual indica un desempeño deficiente por el servidor.
Proceso de resolución de problemas
...
de dispositivos
- Identifica el problema. El primer paso para solucionar un problema de dispositivo es identificar el problema, debe considerar si el problema está se presenta en productos NMIS8 o NMIS9.
- Agregue Informar al soporte el caso la versión del producto y , 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 de con utilización alta utilización de recursos en el servidor.
- Opciones de Parámetros de configuración del faltantes del servidor , elementos validación de parámetros de configuración que faltan faltantes para el ajuste del servidor.
- Rendimiento del disco , tiempos de lectura/escritura lentos para la colección de dispositivos.
- Reúna Adjuntar información , recopile recopilar todos los gráficos, imágenes, comportamientos que puedan explicar cuál es el problema.
- Recopilar archivos de herramientas la herramienta de soporte La herramienta de soporte de Opmantek
Ejecute el siguiente comando para recopilar para 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 que esta información se cargará en el 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 volcado.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
- Recopilar archivos de herramientas la herramienta de soporte La herramienta de soporte de Opmantek
- Replica el problema . Si es posible, debe definir cuáles son los pasos para replicar el problema.
- 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]# |
- Replicar el problema . Si es posible se puede definir cuáles son los pasos para replicar el problema.
- Identifica los síntomas . Hasta En este punto , se puede ver 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 y o servidor.
- ¿ Es un problema individual? Verifique si este comportamiento ocurre en un solo dispositivo / servidor.
Rendimiento de la red: servidor NMIS.
Esta sección está enfocada a realizar la revisión y validación del estado del servidor en general, nos enfocaremos en verificar el comportamiento histórico de las principales métricas para el servidor, es importante revisar todas las métricas relacionadas con el buen desempeño entre el servidor y dispositivos
Verificación de métricas de salud
- Las métricas son importantes para el servidor, NMIS utilizaría utiliza la accesibilidad, la disponibilidad y el estado para representar la red.
La accesibilidad es la capacidad de ping del dispositivo,
La disponibilidad es (en el contexto del equipo de red) las interfaces que deberían estar activas, activas Up o noDown, por ejemplo, las interfaces que este e el estado "no se apaganshutdown" (ifAdminStatus = up) deberían deberían estar activas, por lo que un dispositivo con 10 interfaces de ifAdminStatus=up y ifOperStatus=up para 9 interfaces, el dispositivo estaría disponible en un 90%.
La salud es una métrica compuesta, formada por muchas cosas según el dispositivo, el enrutador, la CPU y la memoria. Algo interesante aquí es que parte del estado se compone de un uso inverso de la interfaz, por lo que una una métrica, formada por muchas cosas según el dispositivo, el enrutador, CPU y la memoria. Una interfaz que no tiene uso tendrá un componente de alto estado, una interfaz que se utilice mucho reducirá esa métrica. Entonces Entonces, la salud es un reflejo de la carga en el dispositivo y será muy dinámica.
La métrica general de un dispositivo es una métrica compuesta adjunta formada por valores ponderados de las otras métricas que se recopilan. La fórmula para esto se basa es configurable, por por lo que puede tener un peso de Alcance más alto de lo que es actualmente, o más bajo, de según su elección.
Para obtener más referencias, consulte Métricas, accesibilidad, disponibilidad y estado de NMIS
- Es importante validar la salud del localhost, incluida la accesibilidad general, la disponibilidad y el estado. Podrá ver los datos que no siguen el patrón de datos históricos que pueden darnos una pista de dónde puede estar ocurriendo el problema o incluso si el comportamiento anormal se ha producido. comenzó antes de realizar una solicitud de cambio en las primeras horasmodificación en la configuración.
- Ver los gráficos referentes al rendimiento de la red como (Tiempo de respuesta en milisegundos, Utilización de IP, Conexión TCP, Segmentos TCP) nos ayudará a identificar el comportamiento del servidor / red en un período de 2 días, podemos modificar este período de tiempo para ver más datos si es necesario.
Configuración del dispositivo.
Es importante validar si el problema ocurre en la red o es algo relacionado con la configuración del dispositivo, para poder identificar lo que está sucediendo necesitamos validar ejecutar los siguientes comandos en la consola del servidor de la consola.
Prueba de ping, la herramienta de ping se utiliza para probar si un host en particular es accesible alcanzable a través de una red IP. Un ping mide el tiempo que tardan los paquetes en enviarse desde el host local a una computadora de destino y viceversa.
Code Block ping x.x.x.x #add the ip address you need to reach
Traceroute , es una herramienta de diagnóstico de red que se utiliza para rastrear en tiempo real la ruta tomada por un paquete en una red IP desde el origen hasta el destino, informando las direcciones IP de todos los enrutadores entre los que hizo ping.
Code Block traceroute <ip_Node>x.x.x.x #add the ip address you need to reach
MTR, Mtr (my traceroute) es una herramienta de diagnóstico de red de línea de comandos que proporciona la funcionalidad de los comandos ping y traceroute.
NOTA: Instalar la herramienta en el caso de no tenerla.
Code Block sudo apt install mtr sudo mtr -r 8.8.8.8 [sample results below] HOST: endor Loss% Snt Last Avg Best Wrst StDev 1. 69.28.84.2 0.0% 10 0.4 0.4 0.3 0.6 0.1 2. 38.104.37.141 0.0% 10 1.2 1.4 1.0 3.2 0.7 3. te0-3-1-1.rcr21.dfw02.atlas. 0.0% 10 0.8 0.9 0.8 1.0 0.1 4. be2285.ccr21.dfw01.atlas.cog 0.0% 10 1.1 1.1 0.9 1.4 0.1 5. be2432.ccr21.mci01.atlas.cog 0.0% 10 10.8 11.1 10.8 11.5 0.2 6. be2156.ccr41.ord01.atlas.cog 0.0% 10 22.9 23.1 22.9 23.3 0.1 7. be2765.ccr41.ord03.atlas.cog 0.0% 10 22.8 22.9 22.8 23.1 0.1 8. 38.88.204.78 0.0% 10 22.9 23.0 22.8 23.9 0.4 9. 209.85.143.186 0.0% 10 22.7 23.7 22.7 31.7 2.8 10. 72.14.238.89 0.0% 10 23.0 23.9 22.9 32.0 2.9 11. 216.239.47.103 0.0% 10 50.4 61.9 50.4 92.0 11.9 12. 216.239.46.191 0.0% 10 32.7 32.7 32.7 32.8 0.1 13. ??? 100.0 10 0.0 0.0 0.0 0.0 0.0 14. google-public-dns-a.google.c 0.0% 10 32.7 32.7 32.7 32.8 0.0
- snmpwalk, es una aplicación de Protocolo simple de administración de red (SNMP) presente en la CLI del Sistema de administración de seguridad (SMS) que utiliza solicitudes SNMP GETNEXT para consultar información en un dispositivo de red. Se puede proporcionar un identificador de objeto (OID) en la línea de comando.
Code Block The following example CLI command will return the IPS temperature information: Command:snmpwalk -v 2c -c tinapc <IP address> 1.3.6.1.4.1.10734.3.5.2.5.5 Command Explanation: In this case the CLI command breaks down as following; snmpwalk = SNMP application -v 2c = specifies what SNMP version to use (1, 2c, 3) -c tinapc = specifies the community string. Note: The IPS has the SNMP read-only community string of "tinapc" <IP address> = specifies the IP address of the IPS device 1.3.6.1.4.1.10734.3.5.2.5.5 = OID parameter for the IPS temperature information Results: SNMPv2-SMI::enterprises.10734.3.5.2.5.5.1.0 = INTEGER: 27 SNMPv2-SMI::enterprises.10734.3.5.2.5.5.2.0 = INTEGER: 50 SNMPv2-SMI::enterprises.10734.3.5.2.5.5.3.0 = INTEGER: 55 SNMPv2-SMI::enterprises.10734.3.5.2.5.5.4.0 = INTEGER: 0 SNMPv2-SMI::enterprises.10734.3.5.2.5.5.5.0 = INTEGER: 85 Results Explanation: SNMPv2-SMI::enterprises.10734.3.5.2.5.5.1.0 = INTEGER: 27 = The chassis temperature (27° Celsius / 80.6° Fahrenheit) SNMPv2-SMI::enterprises.10734.3.5.2.5.5.2.0 = INTEGER: 50 = The major threshold value for chassis temperature (50° Celsius / 122° Fahrenheit) SNMPv2-SMI::enterprises.10734.3.5.2.5.5.3.0 = INTEGER: 55 = The critical threshold value of chassis temperature (55° Celsius / 131° Fahrenheit) SNMPv2-SMI::enterprises.10734.3.5.2.5.5.4.0 = INTEGER: 0 = The minimum value of the chassis temperature range ( 0° Celsius / 32° Fahrenheit) SNMPv2-SMI::enterprises.10734.3.5.2.5.5.5.0 = INTEGER: 85 = The maximum value of the chassis temperature range (85° Celsius / 185° Fahrenheit)
Es importante ver que se puede pueda hacer ping en el a un dispositivo, que no tiene tenga latencia , o pérdida de paquetes y que se recopilaron recopilen los datos SNMP.
...
Polling Summary
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 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 la los nodos recopilados y no recopilados.
...
Code Block |
---|
[root@opmantek ~]# /usr/local/nmis8/admin/polling_summary.pl node attempt status ping snmp policy delta snmp avgdel poll update pollmessage ACH-AIJ-DI-AL-SA6-0202010001-01 14:10:33 ontime up up default 328 300 422.31 22.40 17.89 ACH-AIJ-RC-ET-08K-01 --:--:-- bad_snmp up up default --- 300 403.90 10.38 14.58 snmp never successful ACH-ANA-RC-ET-08K-01 --:--:-- bad_snmp up down default --- 300 422.57 11.39 109.09 snmp never successful ACH-ATU-RC-ET-08K-01 --:--:-- bad_snmp up up default --- 300 391.99 0.97 62.88 snmp never successful ACH-CAB-DI-AL-SA6-0215010001-01 14:11:21 late up up default 484 300 5543888.62 31.06 74.21 1x late poll ACH-CAB-DR-AL-P32-01 --:--:-- bad_snmp up up default --- 300 416.30 103.46 91.28 snmp never successful ACH-CAB-GE-GM-G30-01 14:00:54 late up down default 348 300 593.93 6.06 12.53 1x late poll ACH-CAB-RC-ET-08K-01 --:--:-- bad_snmp up up default --- 300 411.74 10.69 7.31 snmp never successful ACH-CAB-TT-GM-30T-01 --:--:-- bad_snmp up down default --- 300 0.00 0.00 180.42 snmp never successful ACH-CAR-RC-ET-08K-01 14:10:20 ontime up up default 314 300 9054283.23 11.15 6.47 ACH-CAT-CN-AL-SA6-0212070008-01 14:07:39 late up up default 600 300 27253590.83 12.39 22.23 1x late poll ACH-CAZ-TT-GM-30T-01 --:--:-- bad_snmp up down default --- 300 414.85 3.11 165.32 snmp never successful ACH-CHM-DR-AL-P32-01 14:05:47 late up up default 456 300 2686074.17 118.55 148.58 1x late poll ACH-CHM-GE-GM-G20-01 --:--:-- bad_snmp up down default --- 300 413.17 4.06 238.92 snmp never successful ACH-CHM-RC-ET-09K-01 14:12:30 late up up default 633 300 1983484.93 10.49 13.07 1x late poll ACH-CHM-TT-GM-20T-01 --:--:-- bad_snmp up down default --- 300 412.17 3.61 287.80 snmp never successful ACH-COX-RC-ET-09K-01 13:51:14 late up up default 473 300 22141.04 9.54 4.10 1x late poll ACH-CSM-RC-ET-08K-01 13:51:09 late up up default 444 300 539117.26 11.25 5.31 1x late poll ACH-CSM-TT-GM-20T-01 14:08:34 late up down default 709 300 1739800.92 4.01 229.73 1x late poll ACH-HCC-CN-AL-SA6-0212030012-01 13:50:33 ontime up up default 330 300 8131293.53 23.65 23.84 ACH-HCC-RC-ET-08K-01 14:07:56 late up up default 635 300 1802552.50 0.65 1.61 1x late poll ACH-HEY-DI-AL-SA6-0211010001-01 13:50:52 late up up default 425 300 571.75 25.46 17.30 1x late poll ACH-HEY-DR-AL-P32-01 --:--:-- bad_snmp up up default --- 300 119099.96 106.25 120.92 snmp never successful ACH-HEY-GE-GM-G20-01 --:--:-- bad_snmp up down default --- 300 0.00 0.00 112.37 snmp never successful ACH-HEY-RC-ET-09K-01 --:--:-- bad_snmp up up default --- 300 404.62 11.01 7.49 snmp never successful --Snip-- --Snip-- UCA-PUC-DR-AL-P32-01 14:12:04 late up up default 524 300 124010.73 135.20 124.79 1x late poll UCA-PUC-GE-GM-G30-01 14:11:20 late up down default 475 300 3868910.82 3.68 236.48 1x late poll UCA-PUC-GE-GM-G30-02 14:12:32 late up down default 644 300 3871900.66 4.05 209.92 1x late poll UCA-PUC-RC-ET-09K-01 --:--:-- bad_snmp up up default --- 300 418.17 10.83 5.76 snmp never successful UCA-PUC-TT-GM-30A-01 --:--:-- bad_snmp up down default --- 300 397.68 4.21 215.65 snmp never successful UCA-PUC-TT-GM-30A-02 14:13:03 late up down default 720 300 329362.60 3.39 208.92 1x late poll CC_VITATRAC_GT_Z2_MAZATE 14:13:04 demoted down down default --- 300 0.00 2.22 0.80 s CC_VITATRAC_GT_Z3_COBAN 14:13:12 late up up default 618 300 4874416.57 1.91 4.46 CC_VITATRAC_GT_Z3_ESCUINTLA 14:13:12 late up up default 604 300 4902673.92 2.17 4.8 CC_VITATRAC_GT_Z7_BODEGA_MATEO 14:15:37 late up up default 642 300 3844049.73 3.25 CC_VITATRAC_GT_Z8_MIXCO 14:15:42 late up up default 634 300 4959081.87 2.47 6.70 CC_VITATRAC_GT_Z9_XELA 14:16:03 late up up default 634 300 3943302.62 8.95 58.61 CC_VITATRAC_GT_ZONA_PRADERA 14:17:47 demoted up down default 711 300 605.21 10.91 10.28 CC_VIVATEX_GT_INTERNET_VILLA_NUEVA 14:18:49 late up up default 979 300 4563376.03 1.2 CC_VOLCAN_STA_MARIA_GT_INTERNET_CRUCE_BARCENAS 14:19:44 late up up default 981 300 44late poll nmisslvcc5 14:18:55 late up up default 344 300 376209.90 2.33 1.23 totalNodes=2615 totalPoll=2267 ontime=73 pingOnly=0 1x_late=2190 3x_late=3 12x_late=1 144x_late=0 time=10:10:07 pingDown=354 snmpDown=359 badSnmp=295 noSnmp=0 demoted=348 [root@opmantek ~]# |
Si los existen valores se encuentran 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 daemonsdemonios. En este caso, es imprescindible validar los servicios que componen el sistema de monitorización monitoreo OPMANTEK (nmisNMIS).
Code Block |
---|
service mongod status service omkd status service nmisd status service httpd status service opchartsd restart service opeventsd status service opconfigd status service opflowd status service crond status #if someone of this daemons is stopped, you need to execute same commands with start/restart options. |
Requisitos de hardware del servidor.
Esta sección es crucial para identificar o resolver problemas de dispositivos, debe revisar algunas consideraciones según la cantidad de nodos que administrará, la cantidad de usuarios que accederán a la GUI, ¿con qué frecuencia deben actualizarse sus datos?
...
Si se requieren actualizaciones cada 5 minutos, entonces
...
deberá tener el hardware para poder cumplir con estos requisitos, también los requisitos del sistema operativo deben estar bien definidos, una buena regla general es reservar 1 GB de RAM para el sistema operativo de forma predeterminada , Unidades de alta velocidad para los datos (
...
SSD es ideal) con almacenamiento separado para la base de datos mongo y los archivos temporales.
...
En cualquier lugar entre 4-8 núcleos con un procesador (es) de alto rendimiento, 16-64 GB de RAM deberían funcionar bien para más de 1k nodos.
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 |
1.Primera línea: tiempo y carga
La primera línea del comando superior indica en el orden siguiente.
...
- hora actual (12:50:01)
- tiempo de actividad de la máquina (hasta 62 días, 22:56)
- sesiones de usuarios conectados (5 usuarios)
- carga promedio en el sistema (promedio de carga: 4.76, 8.03, 4.34) los 3 valores se refieren al último minuto, cinco minutos y 15 minutos ####### Esto no es bueno para el gerente si tenemos valores altos
2. Segunda fila: tarea
La segunda fila le proporciona la siguiente información.
...
- Procesos totales en ejecución (412 en total)
- Procesos en ejecución (1 en ejecución)
- Procesos de dormir (411 durmiendo)
- Procesos detenidos (0 detenidos)
- Procesos que esperan ser detenidos desde el proceso principal (15 zombis) ####### Esto no es bueno para el gerenteestado del server.
Proceso Zombie: Un proceso que ha completado la ejecución, pero todavía tiene una entrada en la tabla de procesos. Esta entrada aún necesita permitir que el proceso padre lea su estado de salida secundario.
...
Code Block |
---|
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 |
...
0.5%si, 0.0%st |
- Procesos de usuario de CPU en porcentaje (6,8%
...
- us)
- Procesos del sistema de CPU en porcentaje (3.8% sy)
- Mejora de prioridad
- agradable de
- de CPU en porcentaje (0.2% ni)
- Porcentaje de la CPU no utilizada (74,4% id)
- Procesos en espera de operaciones de E / S de la CPU en porcentaje (28 .
- ,2% wa) ####### Esto no es bueno para el rendimiento del servidor.
- Sirviendo interrupciones de hardware de la CPU en porcentaje (0.1% hi - Hardware IRQ
- Porcentaje de interrupciones de software de servicio de la CPU (0.0% si - Interrupciones de software
La cantidad de CPU "stolen" de esta máquina virtual por el hipervisor para otras tareas (como ejecutar otra máquina virtual) será 0 en el escritorio y el servidor sin la máquina virtual. (0.0% st - Steal Time)
4. Memoria
Estas filas le proporcionarán la información sobre el uso de RAM. Muestra la memoria total en uso, libre, búferes almacenados en caché.
...
Es importante monitorear este comando para ver si el servidor está funcionando correctamente ejecutando todos los procesos internos necesarios.
Opciones de configuración del servidor.
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.
Procesos NMIS 8
El proceso principal de NMIS 8 se llama desde diferentes trabajos cron para ejecutar diferentes operaciones: recopilar, actualizar, resumir, limpiar trabajos, etc. Como ejemplo:
...
La configuración cron se puede encontrar en /etc/crond.d/nmis.
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.
Elementos de configuración para productos omk
En entornos con poca memoria, la reducción del número de trabajadores de omkd proporciona la mayor inestabilidad de mejora, incluso más que el ajuste de mongod.conf. El valor predeterminado es 10, pero en un entorno con baja concurrencia de usuarios, se puede reducir a 3-5.
...
NMIS 9: opciones de configuración para el ajuste del rendimiento del servidor
Revisión del rendimiento del disco.
Esta sección está dedicada a identificar cuando el servidor no está escribiendo todos los datos para los dispositivos, esto puede tener como resultado un gráfico con interrupciones, por lo que esto ocasiona problemas de nivel 2 (Impacto severo - Sistema de producción poco confiable) o incluso en algunas ocasiones nivel 1 (Crítico para el negocio, pérdida total de servicio, pérdida de datos) al cliente, por lo que es fundamental determinar qué está sucediendo y brindar un diagnóstico.
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 |
...
- if = /dev/zero (if =/dev/ input.file): El nombre del archivo de entrada desde el que desea leer.
- of =/data/omkTestFile (of =/path/to/output.file): El nombre del archivo de salida en el que desea escribir el archivo de entrada.
- bs = 10M (bs = block-size): establezca el tamaño del bloque que desea que use dd. Tenga en cuenta que Linux necesitará espacio RAM libre. Si su sistema de prueba no tiene suficiente RAM disponible, use un parámetro más pequeño para bs (como 128 MB o 64 MB, etc. o incluso puede probar con 1, 2 o incluso 3 gigabytes).
- count = 1 (count = number-of-blocks): El número de bloques que desea que dd lea.
- oflag = dsync (oflag = dsync): utilice E / S sincronizadas para los datos. No omita esta opción. Esta opción elimina el almacenamiento en caché y le brinda resultados buenos y precisos
- conv = fdatasyn: De nuevo, esto le dice a dd que requiera una “sincronización” completa una vez, justo antes de salir. Esta opción es equivalente a oflag = dsync.
Ver información sobre el uso del disco
Este comando nos ayuda a monitorear la carga de un dispositivo de entrada y salida, observando el tiempo que los dispositivos están activos en relación al promedio de sus tasas de transferencia. También se puede utilizar para comparar la actividad entre discos.
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.