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 Google Cloud's operations suite 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 separado, alojado en una VM de Compute Engine o 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:

  1. Habilitar la API de Cloud Monitoring
  2. Identifica una cuenta de usuario de solución para usar con el agente independiente y establece una contraseña segura para la cuenta de usuario de solución.
  3. 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 de cómo crear una VM de Compute Engine, consulta la Guía de inicio rápido de Compute Engine con una VM de Linux. Para ver un ejemplo de cómo crear una VM de VMware, consulta Crea una VM de VMware.

Si usas una VM de Compute Engine a fin de alojar el agente independiente, Google administra la rotación de claves para 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 importa 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 con 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
  • Se estableció el directorio de instalación en /opt/bpagent
  • Se instaló la utilidad de la CLI de curl

La VM del host de tu agente también necesita acceder a las siguientes direcciones para recopilar y enviar métricas y registros:

  • El puerto 443 (TCP) para la conexión HTTPS a 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:

  1. Instala el agente en la VM
  2. Especifica una cuenta de servicio
  3. Configura el agente a fin de acceder a su nube privada para las métricas
  4. Configura el agente a fin de acceder a la cuenta de servicio para generar informes
  5. Configura una nube privada para el reenvío de syslog
  6. Recopila métricas y registros

Instala el agente independiente

Para instalar el agente en la VM de host, haz lo siguiente:

  1. Conéctate a la VM del host de tu agente.
  2. Ejecuta la secuencia de comandos de instalación de forma remota:

    sudo sh -c "$(curl -S https://storage.googleapis.com/bindplane-agent/bpagent/latest/pkg/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/bindplane-agent/bpagent/latest/pkg/vmware-linux-amd64/installer/bpagent-headless-vmware.tar.gz > agent.tar.gz
    
  • Para obtener la secuencia de comandos de instalación, ejecute lo siguiente:

    curl -S https://storage.googleapis.com/bindplane-agent/bpagent/latest/pkg/vmware-linux-amd64/installer/install.sh > install.sh
    
  • Para instalar el agente, ejecuta lo siguiente 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.

Si no tienes una cuenta de servicio para supervisar y registrar aplicaciones, crea una:

  1. En Google Cloud Console, ve a IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Haga clic en Crear cuenta de servicio.

  3. 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.

  4. Haz clic en Crear y continuar.

  5. En Función, selecciona Administrador de Monitoring.

  6. En Función, selecciona Escritor de registros.

  7. Haga clic en Continuar.

  8. 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:

  1. En Google Cloud Console, ve a IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Busca tu cuenta de servicio en la lista de cuentas de servicio.

  3. En la columna Acciones, haz clic en el menú de acciones de la cuenta de servicio y selecciona Administrar claves.

  4. Haz clic en Agregar clave y selecciona Crear clave nueva.

  5. Selecciona el tipo de clave JSON y haz clic en Crear.

  6. Abre el archivo JSON generado y copia todo el contenido del archivo. Tanto las métricas como la recopilación de registros usan el mismo archivo de claves JSON.

  7. En la VM del host del 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 del agente, copia y configura el archivo vmware_vcenter.yaml para configurar el acceso:

  1. Copia vmware_vcenter.yaml al directorio config/metrics/sources:

    cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
    
  2. 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) de vCenter Server Appliance en tu nube privada.
    • SOLUTION_USER_PASSWORD: La contraseña que corresponde a la cuenta de usuario de la 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's operations suite 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:

  1. Copia log_agent.example.yaml a log_agent.yaml antes de editarlo:

    cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
    
  2. En la parte inferior de log_agent.yaml, ingresa el nombre del proyecto y la ruta de acceso completa al archivo de claves JSON. Para las VM del host de agente creadas en Compute Engine, puedes omitir la línea credentials_file.

    ...
    - id: my_project_destination
      project_id: PROJECT_NAME
      type: google_cloud_output
      credentials_file: /opt/bpagent/config/destinations/google_cloud/JSON_KEY_FILE
    

    Reemplaza lo siguiente:

    • PROJECT_NAME: El nombre del proyecto en el que deseas generar registros
    • JSON_KEY_FILE: El nombre del archivo de claves privadas de tu cuenta de servicio. No es necesaria la línea para VM de host de agente creadas en Compute Engine.

Configura una nube privada para el reenvío de syslog

Para reenviar mensajes syslog de VMware Engine, sigue los pasos de reenvía mensajes syslog a un servidor remoto.

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.

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
    

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 máquina virtual: Son los indicadores de 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í.

Las definiciones de estos paneles se almacenan en GitHub. Si deseas conocer los pasos para instalar o ver los paneles, 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 eficaz en un clúster de todos los hosts en ejecución. No se cuentan los hosts que no responden o están en modo de mantenimiento.
cluster.effective_hosts Cantidad de hosts efectivos en un clúster. No se cuentan los hosts que no responden o que están en modo de mantenimiento.
cluster.memory.effective Memoria eficaz en un clúster de todos los hosts en ejecución. No se cuentan los hosts que no responden o 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 de 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 en disco en un centro de datos, en terabytes
datastore.capacity_bytes Capacidad de un almacén de datos, en bytes
datastore.capacity_utilization Utilización 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 recibidos por el sistema host
host_system.dropped_packets Cantidad de paquetes de red descartados por 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 usada por 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 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 de host de memoria de vCenter, en megabytes
resource_pool.memory.active_guest_usage_bytes Uso de invitado activo de 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, expresada en megabytes
vm.disk.throughput_bytes Capacidad de procesamiento de lectura y escritura del disco, 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 de 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 la 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 los clústeres administrados por vSphere, en gigahertz
vsphere.memory.available Memoria disponible en los 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 que administra vSphere
vsphere.datacenters Cantidad de centros de datos que administra 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 de host administrados por vSphere con el código de color de estado del sistema de 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)