Configura Cloud Monitoring con un agente independiente
Cloud Monitoring te ayuda a obtener visibilidad en el rendimiento, la disponibilidad y el estado de la infraestructura y las aplicaciones. Puedes usar Cloud Monitoring y otras partes de la observabilidad de Google Cloud para supervisar, solucionar problemas y operar servicios de VMware Engine a gran escala.
Debes definir la configuración del reenvío de métricas por separado para cada nube privada mediante un agente independiente. Cada nube privada requiere un agente independiente, alojado en una VM de Compute Engine o en una VM de VMware.
Una vez que habilites el reenvío de métricas de forma correcta, podrás ver las métricas en el Explorador de métricas de Cloud Monitoring. Los tipos de recursos y las métricas de VMware Engine comienzan con external.googleapis.com/vmware/vcenter
y el FQDN de vCenter se etiqueta como parte del espacio de nombres.
Antes de comenzar
En los pasos que se indican en este documento, se supone que primero harás lo siguiente:
- Habilitar la API de Cloud Monitoring
- Identifica una cuenta de usuario de solución para usar con el agente independiente y establece una contraseña segura.
Crea una VM de Compute Engine o una VM de VMware para usarla como host del agente independiente. Las VM de Compute Engine deben estar en una red de nube privada virtual (VPC) que intercambia tráfico con la red de VPC privada en la nube que contiene los recursos que deseas supervisar.
Para ver un ejemplo sobre cómo crear una VM de Compute Engine, consulta la Guía de inicio rápido para usar una VM de Linux de Compute Engine. Como ejemplo de creación de una VM de VMware, consulta Crea una VM de VMware.
Si usas una VM de Compute Engine para alojar el agente independiente, Google administra la rotación de claves de la cuenta de servicio que conectas. Sin embargo, puede ser rentable crear una VM de VMware si tienes capacidad sin usar en tu nube privada y no te interesa administrar la rotación de claves por tu cuenta.
Con independencia de dónde crees la VM del host de agente, debe cumplir con los siguientes requisitos:
Requisitos
La VM del host de tu agente debe cumplir los siguientes requisitos del sistema:
- Compatibilidad con los sistemas operativos de Linux:
- CentOS 6, 7 u 8
- Red Hat Enterprise Linux 6, 7 y 8
- SLES 12 o 15
- Ubuntu 14, 16, 18, o 19
- Al menos 4 GB de RAM
- 300 MB de espacio de instalación disponible
- Directorio de instalación configurado como
/opt/bpagent
- Se instaló la utilidad de la CLI de
curl
La VM del host del agente también necesita acceder a las siguientes direcciones para recopilar y enviar métricas y registros:
- Puerto 443 (TCP) para la conexión HTTPS de vCenter Server (predeterminado)
monitoring.googleapis.com:443 (external access)
logging.googleapis.com:443 (external access)
Habilita el reenvío de métricas
El proceso de configuración de la VM del host de tu agente y de habilitar el reenvío de métricas consta de los siguientes pasos:
- Instala el agente en la VM
- Especifica una cuenta de servicio
- Configura el agente a fin de acceder a su nube privada para las métricas
- Configura el agente a fin de acceder a la cuenta de servicio para generar informes
- Recopila métricas y registros
- Configura una nube privada para el reenvío de syslog
Instala el agente independiente
Para instalar el agente en la VM de host, haz lo siguiente:
- Conéctate a la VM host del agente.
Ejecuta la secuencia de comandos de instalación de forma remota:
sudo sh -c "$(curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh)"
Para los sistemas en los que la VM del host del agente podría no tener acceso a la red externa, puedes descargar el agente y la secuencia de comandos de instalación con los siguientes comandos:
Para obtener el agente independiente, ejecuta el siguiente comando:
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/artifacts/bpagent-headless-vmware.tar.gz > agent.tar.gz
Para obtener la secuencia de comandos de instalación, ejecuta el siguiente comando:
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh > install.sh
Para instalar el agente, ejecuta el siguiente comando en la VM del host de tu agente:
sudo sh install.sh agent.tar.gz
Especifica una cuenta de servicio
Para reenviar datos del agente a Cloud Monitoring se requiere una cuenta de servicio de tu proyecto de Google Cloud. Esa cuenta de servicio debe tener la función de Administrador de Monitoring para las métricas y la función de Escritor de registros para los registros.
Si no tienes una cuenta de servicio para supervisar y registrar aplicaciones, crea una:
En la consola de Google Cloud, ve a IAM y administración > Cuentas de servicio.
Haga clic en Crear cuenta de servicio.
Ingresa un nombre, un ID y una descripción para la cuenta de servicio. Recomendamos tener en mente que la cuenta se usa para la integración del agente.
Haz clic en Crear y continuar.
En Función, selecciona Administrador de Monitoring.
En Función, selecciona Escritor de registros.
Haga clic en Continuar.
Haga clic en Listo.
Si creaste una VM de VMware como tu VM del host de agente, recupera la clave privada de la cuenta de servicio para que puedas usarla a fin de configurar el agente:
En la consola de Google Cloud, ve a IAM y administración > Cuentas de servicio.
Busca tu cuenta de servicio en la lista de cuentas de servicio.
En la columna Acciones, haz clic en el menú de acciones
de la cuenta de servicio y selecciona Administrar claves.Haga clic en el menú desplegable Agregar clave y seleccione Crear clave nueva.
Selecciona el tipo de clave JSON y haz clic en Crear.
Abre el archivo JSON generado y copia todo el contenido del archivo. Las métricas y la recopilación de registros usan el mismo archivo de claves JSON.
En la VM del host de tu agente, copia el archivo de claves JSON en el directorio
/opt/bpagent/config/destinations/google_cloud
.
Configura el agente a fin de acceder a su nube privada para las métricas
El agente independiente necesita acceso a tu nube privada para recopilar métricas. En la VM del host de tu agente, copia y configura el archivo vmware_vcenter.yaml
para configurar el acceso:
Copia
vmware_vcenter.yaml
al directorioconfig/metrics/sources
:cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
Edita
vmware_vcenter.yaml
para que coincida con la información de tu entorno de VMware Engine:collection_interval: 1m0s connection_info: connection_timeout: "30" enable_performance_counters: "true" host: VCSA_FQDN password: SOLUTION_USER_PASSWORD performance_counter_end_time: "" performance_counter_query_timeout: "15" performance_counter_start_time: "" port: "443" sdk_path: "" ssl_config: "No Verify" username: SOLUTION_USER_ACCOUNT
Reemplaza lo siguiente:
VCSA_FQDN
: Es el nombre de dominio completamente calificado (FQDN) del Dispositivo de vCenter Server en tu nube privada.SOLUTION_USER_PASSWORD
: Es la contraseña que corresponde a la cuenta de usuario de solución que se usa.SOLUTION_USER_ACCOUNT
: La cuenta de usuario de solución que el agente usa para dar información
Configura el agente a fin de acceder a la cuenta de servicio para generar informes
El agente independiente necesita acceso a Google Cloud Observability para enviar métricas y registros. Configura el agente a fin de acceder al proyecto usado para generar informes a través de la cuenta de servicio que tenga permisos de supervisión y registro.
En la VM del host de tu agente, copia y configura el archivo log_agent.yaml
:
Copia
log_agent.example.yaml
enlog_agent.yaml
antes de editar el archivo:cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
En la parte inferior de
log_agent.yaml
, ingresa el nombre del proyecto y la ruta de acceso completa al archivo de claves JSON. En las VM del host de agente creadas en Compute Engine, quita o comenta la líneacredentials_file
.... - id: my_project_destination project_id:
PROJECT_ID
type: google_cloud_output credentials_file: /opt/bpagent/config/destinations/google_cloud/JSON_KEY_FILE
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto en el que deseas generar registrosJSON_KEY_FILE
: Es el nombre de tu archivo de claves privadas de la cuenta de servicio. Quita o comenta esta línea para las VM del host de agente creadas en Compute Engine.
Si necesitas reenviar el syslog desde ESXi, en el agente de registro independiente, lo siguiente para cambiar el puerto predeterminado de
5142
a514
:- Navega hasta
/opt/bpagent/config
. - Actualiza el número de puerto a
514
de la siguiente manera:
- id: vmware-vcenter-logs # A syslog address of the form `
: ` listen_address: 0.0.0.0:514 # Enable TLS for the TCP listener enable_tls: false
Recopila métricas y registros
Para recopilar métricas o registros, el agente independiente debe ejecutarse en la VM host del agente. Conéctate a la VM del host de tu agente y usa los siguientes comandos para iniciar o detener el agente:
Para iniciar el agente en tu VM host, ejecuta el siguiente comando:
systemctl start bpagent
Para detener el agente en tu VM host, ejecuta el siguiente comando:
systemctl stop bpagent
Configura una nube privada para el reenvío de syslog
VMware Engine se integra en Cloud Logging mediante el reenvío de mensajes syslog de vCenter y NSX-T al agente independiente. El agente independiente se configura a fin de analizar los registros de vCenter y NSX-T para que Cloud Logging lea.
Para reenviar mensajes syslog de VMware Engine, haz lo siguiente:
- Para el reenvío de syslog de vCenter, sigue los pasos en Reenvía mensajes syslog de vCenter.
En el campo Servidor, ingresa la dirección IP o el nombre de host de la VM del host de tu agente. El agente independiente usa el protocolo de comunicación TCP y escucha en el puerto
5142
. El agente independiente se debe ejecutar para que la configuración de syslog se conecte correctamente. - Para el reenvío de syslog de NSX-T, sigue los pasos que se indican en Reenvía mensajes de syslog de NSX-T.
En el campo FQDN o IP Address, ingresa la dirección IP o el nombre de host de tu VM del host de agente. El agente independiente usa el protocolo de comunicación TCP y escucha en el puerto
5142
.
Si piensas reenviar syslog desde hosts ESXi, cambia el puerto predeterminado en el cual
el agente de registros escucha de 5142
a 514
. En ese caso, usa el mismo puerto
(514
) para reenviar syslog desde vCenter y NSX-T.
Desinstala el agente
Para quitar el agente de una VM, conéctate a esta y ejecuta los siguientes comandos en la línea de comandos:
Detén e inhabilita el agente independiente:
systemctl stop bpagent
systemctl disable bpagent
Ejecuta los siguientes comandos para quitar el servicio del agente independiente:
rm /etc/systemd/system/bpagent.service
rm -rf /opt/bpagent
Actualiza la configuración del sistema según los cambios del servicio y borra las unidades con errores:
systemctl daemon-reload
systemctl reset-failed
Paneles de Cloud Monitoring
Después de habilitar el reenvío de métricas, puedes instalar paneles predefinidos para VMware Engine. En los siguientes paneles, se proporciona información agregada de todas las fuentes que especificas:
- Panel de descripción general: Vista de alto nivel que enumera los recursos clave, como centros de datos, clústeres y VM.
- Panel de contención: Utilización de recursos para el almacenamiento, la CPU, la memoria y las herramientas de redes que te ayudarán a ubicar las VM y los hosts principales según la demanda de recursos.
- Panel de rendimiento de la máquina virtual: Son los indicadores del rendimiento de la instancia de máquina virtual (VM) que se pueden filtrar por nombre de instancia y usar para comparar el rendimiento de varias VM entre sí.
Para acceder a un panel de VMware Engine, haz lo siguiente:
En la consola de Google Cloud, ve a Monitoring > Paneles de control.
En la pestaña Biblioteca de muestra, selecciona la categoría VMware.
Selecciona el panel de interés y haz clic en file_downloadImportar.
Las definiciones de estos paneles se almacenan en GitHub. Si deseas obtener los pasos para instalar o ver las definiciones como paneles personalizados, consulta Instala paneles de muestra.
Alertas de Cloud Monitoring
Puedes usar métricas de tu integración para activar alertas y notificaciones según incidentes y umbrales personalizados. Por ejemplo, puedes hacer que Cloud Monitoring te envíe una notificación por SMS cuando alguien crea una VM nueva en la nube privada.
Para obtener más información, consulta Introducción a las alertas.
Lista de métricas recopiladas
Una vez que habilites el reenvío de métricas de forma correcta, podrás ver las métricas en el Explorador de métricas de Cloud Monitoring. Los tipos de recursos y los tipos de métricas de VMware Engine comienzan con el prefijo external.googleapis.com/vmware/vcenter.
en el Explorador de métricas.
Esta es la lista completa de las métricas recopiladas para VMware Engine, con el prefijo omitido:
Tipo de recurso y métrica | Descripción |
---|---|
cluster.cpu.available |
CPU disponible en un clúster, en megahertz |
cluster.memory.available |
Memoria disponible en un clúster, en bytes |
cluster.cpu.threads |
Cantidad de subprocesos de CPU en un clúster |
cluster.cpu.effective |
CPU vigente en un clúster de todos los hosts en ejecución No se cuentan los hosts que no responden o que están en modo de mantenimiento. |
cluster.effective_hosts |
Cantidad de hosts vigentes en un clúster No se cuentan los hosts que no responden o que están en modo de mantenimiento. |
cluster.memory.effective |
Memoria vigente en un clúster de todos los hosts en ejecución. No se cuentan los hosts que no responden o que están en modo de mantenimiento. |
cluster.hosts |
Cantidad de hosts en un clúster |
cluster.vsan.latency |
Latencia de vSAN de un clúster, en microsegundos |
cluster.vsan.throughput |
Capacidad de procesamiento de lectura y escritura de vSAN de un clúster, en bytes |
cluster.vsan.iops |
IOPS de vSAN de un clúster |
cluster.vsan.congestions |
Valor de congestión vSAN de un clúster |
cluster.vsan.oio |
E/S pendiente de vSAN (oio) en un clúster |
datacenter.cpu.average_host_utilization |
Uso de host promedio de un centro de datos, como un porcentaje |
datacenter.clusters |
Cantidad de clústeres en un centro de datos |
datacenter.datastores |
Cantidad de almacenes de datos en un centro de datos |
datacenter.hosts |
Cantidad de hosts en un centro de datos |
datacenter.host_systems |
Cantidad de sistemas host en un centro de datos |
datacenter.hosts/powered_on |
Cantidad de hosts encendidos en un centro de datos |
datacenter.hosts/powered_off |
Cantidad de hosts apagados en un centro de datos |
datacenter.disk/space |
Espacio total del disco en un centro de datos, en terabytes |
datastore.capacity_bytes |
Capacidad de un almacén de datos, en bytes |
datastore.capacity_utilization |
Uso de la capacidad de un almacén de datos, como un porcentaje |
host_system.network.transmitted_packets |
Cantidad de paquetes de red que transmite el sistema host |
host_system.network.received_packets |
Cantidad de paquetes de red que recibió el sistema host |
host_system.dropped_packets |
Cantidad de paquetes de red que descartó el sistema host |
host_system.network.adapters |
Cantidad de adaptadores de red del sistema host |
host_system.memory.utilization |
Uso de memoria del sistema host, como un porcentaje |
host_system.memory.utilization_ratio |
Proporción de uso de memoria del sistema host |
host_system.memory.used |
Memoria que usa el sistema host, en megabytes |
host_system.disk.read |
Lectura de disco del sistema host, en kilobytes por segundo |
host_system.disk_latency |
Latencia del disco del sistema host, en milisegundos |
host_system.cpu.usage |
Uso de CPU del sistema host, como un porcentaje |
host_system.cpu.utilization_ratio |
Proporción de uso de CPU del sistema host |
host_system.cpu.capacity |
Capacidad de CPU del sistema host, en megahertz |
host_system.cpu.reserved_capacity |
Capacidad de CPU reservada del sistema host, en megahertz |
host_system.cpu.average_speed |
Velocidad promedio de CPU del sistema host, en megahertz |
host_system.cpu.used |
CPU que usa el sistema host, en megahertz |
host_system.vsan.throughput |
Capacidad de procesamiento de lectura y escritura de vSAN del sistema host, en bytes |
host_system.vsan.iops |
IOPS de vSAN del sistema host |
host_system.vsan.latency |
Latencia de vSAN del sistema host, en microsegundos |
host_system.vsan.client_cache_hits |
Aciertos de caché del cliente de vSAN del sistema host |
host_system.vsan.client_cache_hit_rate |
Tasa de aciertos de caché del cliente vSAN del sistema host, como un porcentaje |
host_system.vsan.congestions |
Valor de congestión vSAN del sistema host |
resource_pool.memory.swapped_bytes |
Memoria intercambiada de vCenter, en megabytes |
resource_pool.memory.shared_bytes |
Memoria compartida de vCenter, en megabytes |
resource_pool.memory.private_bytes |
Memoria privada de vCenter, en megabytes |
resource_pool.memory.shares |
Cantidad de recursos compartidos de memoria de vCenter |
resource_pool.memory.overhead_usage_bytes |
Uso de sobrecarga de memoria de vCenter, en megabytes |
resource_pool.memory.host_usage_bytes |
Uso del host de memoria de vCenter, en megabytes |
resource_pool.memory.active_guest_usage_bytes |
Uso de invitado activo de la memoria de vCenter, en megabytes |
resource_pool.memory.balloon_size |
Tamaño de la memoria del globo de vCenter, en megabytes |
resource_pool.cpu.usage |
CPU que usa vCenter, en megahertz |
resource_pool.cpu.shares |
Cantidad de recursos compartidos de CPU en el grupo de recursos, en megabytes |
vm.memory.ballooned |
Tamaño de la memoria del globo de VM, en megabytes |
vm.network.throughput_bytes |
Capacidad de procesamiento de la red de la VM, en kilobytes por segundo |
vm.memory.used_percent |
Memoria que usa la VM, como un porcentaje de la memoria disponible |
vm.memory.usage_bytes |
Memoria que usa la VM, en megabytes |
vm.disk.throughput_bytes |
Capacidad de procesamiento de lectura y escritura en el disco de la VM, en kilobytes por segundo |
vm.disk.used_percent |
El uso del disco de la VM, como un porcentaje del almacenamiento disponible |
vm.disk.usage_bytes |
Uso del disco de la VM, en bytes |
vm.disk.free_bytes |
Espacio disponible en el disco de la VM, en bytes |
vm.cpu.used_percent |
El uso de CPU de la VM, como un porcentaje de CPU disponible |
vm.cpu.usage |
Uso de CPU de la VM, en megahertz |
vm.cpu.ready_percent |
CPU de la VM que está lista, pero que no puede ejecutarse, como un porcentaje |
vm.vsan.throughput |
Capacidad de procesamiento de lectura y escritura de vSAN de la VM, en bytes |
vm.vsan.iops |
IOPS de vSAN de la VM |
vm.vsan.latency |
Latencia de vSAN de la VM, en microsegundos |
vm.vsan.readCount |
Recuento de lectura de vSAN de la VM |
vm.vsan.writeCount |
Recuento de operaciones de escritura de vSAN de la VM |
vsphere.cpu.available |
CPU disponible en clústeres administrados por vSphere, en gigabytes |
vsphere.memory.available |
Memoria disponible en clústeres administrados por vSphere, en gigabytes |
vsphere.clusters.total |
Cantidad de clústeres administrados por vSphere |
vsphere.clusters |
Recuento de clústeres administrados por vSphere con el código de color de estado del clúster (como verde, gris, rojo o amarillo) |
vsphere.cpu.cpus |
Cantidad total de núcleos de CPU del sistema host administrados por vSphere |
vsphere.datacenters |
Cantidad de centros de datos administrados por vSphere |
vsphere.datastores.total |
Cantidad de almacenes de datos en vSphere |
vsphere.datastores |
Recuento de almacenes de datos administrados por vSphere con el código de color de estado del almacén de datos (como verde, gris, rojo o amarillo) |
vsphere.disk.space |
Espacio total del disco conectado en vSphere, en terabytes |
vsphere.host_systems |
Cantidad de sistemas host en vSphere |
vsphere.hosts |
Recuento de sistemas host administrados por vSphere con el código de color de estado del sistema host (como verde, gris, rojo o amarillo) |
vsphere.network.adapters |
Cantidad de adaptadores de red en vSphere |
vsphere.hosts.powered_off |
Cantidad de hosts apagados en vSphere |
vsphere.hosts.powered_on |
Cantidad de hosts encendidos en vSphere |
vsphere.virtual_machines.total |
Cantidad de VM en todos los clústeres de vSphere |
vsphere.virtual_machines |
Recuento de VM administradas por vSphere con el código de color de estado de VM (como verde, gris, rojo o amarillo) |