Supervisar los recursos del host y de dom0 con SNMP
Nota:
La función SNMP está disponible para los clientes de XenServer Premium o Trial Edition. Para obtener más información sobre las licencias de XenServer, consulte Licencias. Para actualizar o para obtener una licencia de XenServer, visite el sitio web de XenServer.
Con el rol de administrador de grupos, puede usar SNMP para supervisar de forma remota los recursos consumidos por su host XenServer® y dom0, el dominio de control de su host. Un administrador de SNMP, también conocido como sistema de administración de red (NMS), envía solicitudes de consulta a un agente de SNMP que se ejecuta en un host XenServer. El agente SNMP responde a estas solicitudes de consulta enviando los datos recopilados sobre varias métricas de vuelta al NMS. Los datos que se pueden recopilar se definen mediante identificadores de objeto (OID) en un archivo de texto denominado base de información de administración (MIB). Un OID representa una pieza específica de información medible sobre un dispositivo de red, como el uso de CPU o memoria.
También puede configurar trampas, que son mensajes iniciados por el agente que alertan al NMS de que se ha producido un evento específico en XenServer. Tanto las solicitudes de consulta como las trampas se pueden usar para supervisar el estado de sus grupos de XenServer. Estos se definen como objetos de métrica y de trampa y se identifican mediante OID en un archivo MIB XENSERVER-MIB.txt, disponible para descargar desde la página de descargas de XenServer. Las siguientes tablas proporcionan información sobre estos objetos de métrica y de trampa.
Objetos de métrica
Puede solicitar una información específica sobre sus hosts XenServer mediante las métricas que se enumeran en la siguiente tabla. Estas métricas son utilizadas por el administrador de SNMP al enviar solicitudes de consulta a un agente de SNMP, por lo que puede ver estos datos en su NMS.
Puede ver los datos devueltos de estos objetos de métrica desde su NMS o desde la CLI de xe. Para consultar los objetos de métrica desde la CLI de xe, ejecute host-data-source-query o vm-data-source-query y proporcione el origen de datos RRDD como valor para el parámetro data-source. Por ejemplo:
xe host-data-source-query data-source=cpu_avg host=<host UUID>
<!--NeedCopy-->
Nota:
De forma predeterminada, el NMS envía solicitudes de consulta OID a los agentes SNMP mediante el puerto 161.
| Identificador de objeto (OID) | Origen de datos RRDD | Datos devueltos | Tipo |
|---|---|---|---|
| 1.3.6.1.4.1.60953.1.1.1.1 | memory |
Memoria total de Dom0 en MB | Unsigned32 |
| 1.3.6.1.4.1.60953.1.1.1.2 | memory_internal_free |
Memoria libre de Dom0 en MB | Unsigned32 |
| 1.3.6.1.4.1.60953.1.1.1.3 | cpu_usage |
Uso de CPU de Dom0 como porcentaje | Float |
| 1.3.6.1.4.1.60953.1.1.1.4 | memory_total_kib |
Memoria total del host en MB | Unsigned32 |
| 1.3.6.1.4.1.60953.1.1.1.5 | memory_free_kib |
Memoria libre del host en MB | Unsigned32 |
| 1.3.6.1.4.1.60953.1.1.1.6 | cpu_avg |
Uso de CPU del host como porcentaje | Float |
| 1.3.6.1.4.1.60953.1.1.1.7 | (véase la nota 1) | Número de pCPU | Unsigned32 |
| 1.3.6.1.4.1.60953.1.1.1.8 | running_vcpus |
Número de vCPU en ejecución | Unsigned32 |
| 1.3.6.1.4.1.60953.1.1.1.9 | running_domains |
Número de máquinas virtuales en ejecución | Unsigned32 |
Notas:
El nombre de una pCPU tiene el formato
cpuseguido de un número. Para consultar el número de pCPU desde la CLI de xe, ejecute el siguiente comando:
xe host-data-source-list host=<host UUID> | grep -E 'cpu[0-9]+$'Esto devuelve una lista de las métricas de CPU que coinciden con la expresión regular
cpu[0-9]+.
Traps
Las traps son alertas enviadas por el agente SNMP para notificar al administrador SNMP cuando ocurren ciertos eventos, lo que le permite supervisar sus hosts XenServer e identificar problemas a tiempo. Puede configurar sus ajustes de SNMP para generar una trap cuando se alcanza un límite (por ejemplo, si el uso de CPU del host es demasiado alto). Cuando se genera una trap, se envía a su NMS y los siguientes campos se devuelven como parte del objeto trap.
Nota:
De forma predeterminada, el agente SNMP del host coordinador del pool envía traps al NMS mediante el puerto UDP 162.
| Identificador de objeto (OID) | Nombre del campo | Tipo | Descripción |
|---|---|---|---|
| 1.3.6.1.4.1.60953.1.10.1.1 | operation |
Cadena | Puede ser uno de los siguientes valores: add o del. operation es add si XenServer genera una trampa y la envía a su NMS (también se crea una alerta en XenCenter) o del si se destruye una alerta (por ejemplo, si descarta una alerta). |
| 1.3.6.1.4.1.60953.1.10.1.2 | ref |
Cadena | La referencia para el objeto de trampa. |
| 1.3.6.1.4.1.60953.1.10.1.3 | uuid |
Cadena | El UUID del objeto de trampa. |
| 1.3.6.1.4.1.60953.1.10.1.4 | name |
Cadena | El nombre del objeto de la trampa. |
| 1.3.6.1.4.1.60953.1.10.1.5 | priority |
Entero | La gravedad de la trampa. Puede ser uno de los siguientes valores: 1: Crítico, 2: Mayor, 3: Advertencia, 4: Menor, 5: Información, others: Desconocido. |
| 1.3.6.1.4.1.60953.1.10.1.6 | class |
Cadena | La categoría de la trampa generada. Puede ser uno de los siguientes valores: VM, Host, SR, Pool, VMPP, VMSS, PVS_proxy, VDI, o Certificate. |
| 1.3.6.1.4.1.60953.1.10.1.7 | obj-uuid |
Cadena | El UUID del objeto xapi de las diversas clases del campo class. |
| 1.3.6.1.4.1.60953.1.10.1.8 | timestamp |
Cadena | La hora a la que se genera la trampa. |
| 1.3.6.1.4.1.60953.1.10.1.9 | body |
Cadena | Información detallada sobre el campo name. |
Requisitos previos
-
Todos los hosts de un grupo deben ejecutar la misma versión de XenServer y esta versión debe contener el complemento SNMP.
Nota:
Si no puede ver la pestaña SNMP en XenCenter®, podría deberse a que el host o un miembro del grupo no está ejecutando una versión de XenServer que admita SNMP. Actualice el host o el grupo a la última versión de XenServer.
-
El NMS que está utilizando debe ser compatible con SNMPv2c o SNMPv3.
-
Su NMS y XenServer deben estar conectados a la red.
Restricciones
- Puede configurar los ajustes de SNMP para un grupo completo o para un host independiente que no forme parte de un grupo. Actualmente, no puede configurar los ajustes de SNMP para un host individual en un grupo.
-
Si agrega un host a un grupo que ya tiene SNMP habilitado y configurado, XenCenter no aplica automáticamente la configuración de SNMP del grupo al nuevo host. Debe reconfigurar la configuración de SNMP en el grupo después de agregar el nuevo host o configurar el nuevo host con la misma configuración de SNMP antes de agregarlo al grupo.
Nota:
Al reconfigurar los ajustes de SNMP en un grupo después de agregar un nuevo host, asegúrese de que el host esté en funcionamiento y no en modo de mantenimiento.
-
Antes de realizar una actualización gradual del grupo de Citrix Hypervisor 8.2 CU1 a XenServer 8.4 o aplicar actualizaciones a sus hosts y grupos de XenServer, haga una copia de seguridad de los siguientes archivos de configuración si los modificó manualmente antes y los necesita:
/etc/snmp/snmpd.xs.conf/etc/sysconfig/snmp/var/lib/net-snmp/snmpd.conf
- Cuando el agente SNMP está desconectado, no se pueden generar traps. Por ejemplo, si el agente SNMP se reinicia o el coordinador del grupo se reinicia o se reasigna.
Configurar SNMP mediante la CLI de xe
Puede configurar SNMP mediante la CLI de xe o XenCenter. Para obtener más información sobre cómo configurar SNMP mediante XenCenter, consulte Supervisión de recursos de host y dom0 con SNMP.
Objetos result
Al configurar SNMP, todas las respuestas se devuelven en formato JSON. Si un comando se ejecuta correctamente, devuelve el par clave-valor "code": 0. Algunos comandos (como el comando get-config) devuelven un objeto JSON anidado llamado result. El objeto JSON result también es necesario para el comando set-config, que se utiliza para actualizar la configuración de SNMP.
El objeto JSON result se compone de los siguientes objetos common, agent y nmss:
common
| Campo | Valores permitidos | Valor predeterminado |
|---|---|---|
enabled |
no (deshabilitar el servicio SNMP) o yes (habilitar el servicio SNMP) |
no |
debug_log |
no (deshabilitar el registro de depuración) o yes (habilitar el registro de depuración) |
no |
max_nmss |
N/D (Este campo es de solo lectura y especifica el número máximo de NMS compatibles) | 1 |
agent
| Campo | Valores permitidos | Valor predeterminado |
|---|---|---|
v2c |
no (deshabilitar SNMPv2c) o yes (habilitar SNMPv2c) |
yes |
community |
COMMON_STRING_TYPE (véase la nota 1) | public |
v3 |
no (deshabilitar v3) o yes (habilitar v3) |
no |
user_name |
COMMON_STRING_TYPE (véase la nota 1) | |
authentication_password |
COMMON_STRING_TYPE donde la longitud >= 8 (véase la nota 1) | |
authentication_protocol |
MD5 o SHA
|
|
privacy_password |
COMMON_STRING_TYPE donde la longitud >= 8 (véase la nota 1) | |
privacy_protocol |
DES o AES
|
|
engine_id |
N/A (Este campo es de solo lectura y se genera cuando el agente SNMP se inicia por primera vez) |
nmss
| Campo | Valores permitidos | Valor predeterminado |
|---|---|---|
uuid |
UUID de NMS (se establece al configurar el receptor de trampas de NMS y este valor debe ser coherente en todos los hosts de un grupo) | |
address |
Dirección IPv4 de NMS o nombre de host (FQDN) | |
port |
1 a 65535
|
162 |
v2c |
no (deshabilitar SNMPv2c), yes (habilitar SNMPv2c), o admitir SNMPv2c o v3. |
yes |
community |
COMMON_STRING_TYPE (véase nota 1) | public |
v3 |
no (deshabilitar v3), yes (habilitar v3), o admitir SNMPv2c o SNMPv3. |
no |
user_name |
COMMON_STRING_TYPE (véase nota 1) | |
authentication_password |
COMMON_STRING_TYPE donde la longitud >= 8 (véase la nota 1) | |
authentication_protocol |
MD5 o SHA
|
|
privacy_password |
COMMON_STRING_TYPE donde la longitud >= 8 (véase la nota 1) | |
privacy_protocol |
DES o AES
|
Notas:
- COMMON_STRING_TYPE se refiere a una cadena que cumple los siguientes requisitos:
- Cualquier combinación de letras, números, guiones (-), puntos (.), almohadillas (#), arrobas (@), signos de igual (=), dos puntos (:) o guiones bajos (_).
- Longitud entre 6 y 32, ambos inclusive.
- Las contraseñas no se almacenan en texto sin formato en ningún archivo de configuración de XenServer. Se convierten a una clave localizada y se almacenan. El comando
get-configmuestra la contraseña como una constante oculta compuesta por asteriscos (*).
Configurar el servicio SNMP
Obtener el estado del servicio SNMP:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=status
<!--NeedCopy-->
Iniciar, detener o reiniciar el servicio SNMP:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=<operation>
<!--NeedCopy-->
donde operation es start, stop o restart.
Obtener los detalles de configuración de SNMP:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=get-config
<!--NeedCopy-->
Si se realiza correctamente, este comando devuelve el par clave-valor "code": 0 y el objeto JSON result que contiene los detalles de configuración del servicio SNMP. Por ejemplo:
"code": 0,
"result": {
"common": {
"enabled": "no",
"debug_log": "no",
"max_nmss": 1
},
"agent": {
"v2c": "yes",
"v3": "no",
"community": "public",
"user_name": "",
"authentication_password": "",
"authentication_protocol": "",
"privacy_password": "",
"privacy_protocol": "",
"engine_id": "<engine_id>"
},
"nmss": []
}
<!--NeedCopy-->
Copie el objeto JSON result en su editor de texto preferido y elimine todos los caracteres de nueva línea (\n) del archivo. Actualice los campos con los detalles de configuración de SNMP. Configure su NMS consultando la documentación de su NMS y especificando valores para los campos necesarios para el objeto nmss. Para obtener más información, consulte los objetos enumerados anteriormente.
Para configurar el servicio SNMP, ejecute el comando set-config y proporcione el objeto JSON result editado como valor de parámetro para el parámetro args:config.
Establecer la configuración de SNMP:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=set-config args:config='<result>'
<!--NeedCopy-->
donde result es el objeto JSON result devuelto por el comando get-config que copió y editó.
Nota:
Para configurar SNMP para un grupo completo, debe ejecutar el comando
set-configpara cada host del grupo.
Si los cambios de configuración son correctos, el comando devuelve el par clave-valor "code": 0. Si los cambios de configuración no son correctos, el comando set-config devuelve uno de los siguientes pares clave-valor que indican que se ha producido un error:
-
"code": 1: Cadena de error común. Por ejemplo, una excepción desconocida. -
"code": 2: Cadena de error (falta un parámetro). -
"code": 3: Devuelve un objetomessagecomo una lista donde cada elemento tiene el formato de[field_path, key, value, error string].
También puede enviar una trampa SNMP de prueba a su NMS para verificar que la información del receptor de trampa especificada es correcta.
Enviar una trampa SNMP de prueba:
xe host-call-plugin host-uuid=<host-uuid> plugin=snmp fn=send-test-trap args:config='{"nmss":[{"uuid":"<uuid>","address":"<address>","port":162,"v2c":"yes","v3":"no","community":"public","user_name":"<user_name>","authentication_password":"<authentication_password>","authentication_protocol":"<authentication_protocol>","privacy_password":"<privacy_password>","privacy_protocol":"<privacy_protocol>"}]}'
<!--NeedCopy-->
Este comando envía una trampa de prueba a su NMS con el msg_name de TEST_TRAP y el msg_body de This is a test trap from XenServer pool "<pool name>" to verify the NMS Trap Receiver configuration.
Si no recibe la trampa de prueba, compruebe de nuevo su configuración de SNMP. Si no tiene éxito, el comando send-test-trap también devuelve uno de los siguientes pares clave-valor que indican que se ha producido un error:
-
"code": 1: Cadena de error común. Por ejemplo, una excepción desconocida. -
"code": 2: Cadena de error (falta un parámetro). -
"code": 3: Devuelve un objetomessagecomo una lista donde cada elemento tiene el formato de[field_path, key, value, error string]. -
"code": 4: Devuelve un objetomessagecomo una lista donde cada elemento tiene el formato de[nms address, nms port, error string].