OpenStack (heredado)

Supported OS Linux Windows Mac OS

Versión de la integración4.0.1

Dashboard por defecto de OpenStack

Información general

Nota: Esta integración solo se aplica a OpenStack v12 e inferiores. Si deseas recopilar métricas de OpenStack v13+, utiliza la integración de OpenStack Controller.

Obtén métricas del servicio OpenStack en tiempo real para:

  • Visualizar y monitorizar estados de OpenStack.
  • Recibir notificaciones sobre fallos y eventos de OpenStack.

Configuración

Instalación

Para capturar tus métricas de OpenStack, instala el Agent en tus hosts que ejecutan hipervisores.

Configuración

Preparar OpenStack

Configura un rol y un usuario de Datadog con tu servidor de identidad:

openstack role create datadog_monitoring
openstack user create datadog \
    --password my_password \
    --project my_project_name
openstack role add datadog_monitoring \
    --project my_project_name \
    --user datadog

A continuación, actualiza tus archivos policy.json para conceder los permisos necesarios. role:datadog_monitoring requiere acceso a las siguientes operaciones:

Nova

{
  "compute_extension": "aggregates",
  "compute_extension": "hypervisors",
  "compute_extension": "server_diagnostics",
  "compute_extension": "v3:os-hypervisors",
  "compute_extension": "v3:os-server-diagnostics",
  "compute_extension": "availability_zone:detail",
  "compute_extension": "v3:availability_zone:detail",
  "compute_extension": "used_limits_for_admin",
  "os_compute_api:os-aggregates:index": "rule:admin_api or role:datadog_monitoring",
  "os_compute_api:os-aggregates:show": "rule:admin_api or role:datadog_monitoring",
  "os_compute_api:os-hypervisors": "rule:admin_api or role:datadog_monitoring",
  "os_compute_api:os-server-diagnostics": "rule:admin_api or role:datadog_monitoring",
  "os_compute_api:os-used-limits": "rule:admin_api or role:datadog_monitoring"
}

Neutron

{
  "get_network": "rule:admin_or_owner or rule:shared or rule:external or rule:context_is_advsvc or role:datadog_monitoring"
}

Keystone

{
  "identity:get_project": "rule:admin_required or project_id:%(target.project.id)s or role:datadog_monitoring",
  "identity:list_projects": "rule:admin_required or role:datadog_monitoring"
}

Es posible que tengas que reiniciar tus servicios de API de Keystone, Neutron y Nova para asegurarte de que los cambios de política se llevan a cabo.

Nota: La instalación de la integración de OpenStack podría aumentar el número de máquinas virtuales que Datadog monitoriza. Para obtener más información sobre cómo esto puede afectar a tu facturación, consulta las FAQ de facturación.

Configuración del Agent

  1. Configura el Datadog Agent para conectarte a tu servidor Keystone, y especifica proyectos individuales para monitorizar. Edita el archivo openstack.d/conf.yaml en la carpeta conf.d/ en la raíz del directorio de configuración del Agent con la configuración de abajo. Consulta el openstack.d/conf.yaml de ejemplo para conocer todas las opciones de configuración disponibles:

    init_config:
      ## @param keystone_server_url - string - required
      ## Where your identity server lives.
      ## Note that the server must support Identity API v3
      #
      keystone_server_url: "https://<KEYSTONE_SERVER_ENDPOINT>:<PORT>/"
    
    instances:
      ## @param name - string - required
      ## Unique identifier for this instance.
      #
      - name: "<INSTANCE_NAME>"
    
        ## @param user - object - required
        ## User credentials
        ## Password authentication is the only auth method supported.
        ## `user` object expects the parameter `username`, `password`,
        ## and `user.domain.id`.
        ##
        ## `user` should resolve to a structure like:
        ##
        ##  {'password': '<PASSWORD>', 'name': '<USERNAME>', 'domain': {'id': '<DOMAINE_ID>'}}
        #
        user:
          password: "<PASSWORD>"
          name: datadog
          domain:
            id: "<DOMAINE_ID>"
    
  2. Reinicia el Agent.

Recopilación de logs
  1. La recopilación de logs está desactivada por defecto en el Datadog Agent, puedes activarla en datadog.yaml:

    logs_enabled: true
    
  2. Añade este bloque de configuración a tu archivo openstack.d/conf.yaml para empezar a recopilar tus logs de Openstack:

    logs:
      - type: file
        path: "<LOG_FILE_PATH>"
        source: openstack
    

    Cambia el valor de los parámetros de path y configúralos para tu entorno. Consulta el openstack.d/conf.yaml de ejemplo para conocer todas las opciones de configuración disponibles.

Validación

Ejecuta el subcomando de estado del Agent y busca openstack en la sección Checks.

Datos recopilados

Métricas

openstack.nova.current_workload
(gauge)
Carga de trabajo actual en el hipervisor de Nova
openstack.nova.disk_available_least
(gauge)
Disco disponible para el hipervisor de Nova
Se muestra como gibibyte
openstack.nova.free_disk_gb
(gauge)
Disco libre en el hipervisor de Nova
Se muestra como gibibyte
openstack.nova.free_ram_mb
(gauge)
RAM libre en el hipervisor de Nova
Se muestra como mebibyte
openstack.nova.hypervisor_load.1
(gauge)
La carga media del hipervisor durante un minuto.
openstack.nova.hypervisor_load.15
(gauge)
La carga media del hipervisor en quince minutos.
openstack.nova.hypervisor_load.5
(gauge)
La carga media del hipervisor en cinco minutos.
openstack.nova.limits.max_image_meta
(gauge)
El máximo permitido de definiciones de metadatos de imagen para este inquilino
openstack.nova.limits.max_personality
(gauge)
Las personalidades máximas permitidas para este inquilino
openstack.nova.limits.max_personality_size
(gauge)
El tamaño máximo de una sola personalidad permitido para este inquilino.
openstack.nova.limits.max_security_group_rules
(gauge)
El número máximo de reglas de grupo de seguridad permitidas para este inquilino.
openstack.nova.limits.max_security_groups
(gauge)
Número máximo de grupos de seguridad permitidos para este inquilino
openstack.nova.limits.max_server_meta
(gauge)
El máximo permitido de definiciones de metadatos de servicio para este inquilino
openstack.nova.limits.max_total_cores
(gauge)
El máximo de núcleos permitidos para este inquilino
openstack.nova.limits.max_total_floating_ips
(gauge)
El máximo permitido de IPs flotantes para este inquilino
openstack.nova.limits.max_total_instances
(gauge)
Número máximo de instancias permitidas para este inquilino
openstack.nova.limits.max_total_keypairs
(gauge)
Los pares de claves máximos permitidos para este inquilino
openstack.nova.limits.max_total_ram_size
(gauge)
El tamaño máximo de RAM permitido para este inquilino en megabytes (MB)
Se muestra como mebibyte
openstack.nova.limits.total_cores_used
(gauge)
El total de núcleos utilizados por este inquilino
openstack.nova.limits.total_floating_ips_used
(gauge)
El total de IPs flotantes utilizadas por este inquilino
openstack.nova.limits.total_instances_used
(gauge)
El total de instancias utilizadas por este inquilino
openstack.nova.limits.total_ram_used
(gauge)
La RAM actual utilizada por este inquilino en megabytes (MB)
Se muestra como mebibyte
openstack.nova.limits.total_security_groups_used
(gauge)
Número total de grupos de seguridad utilizados por este inquilino
openstack.nova.local_gb
(gauge)
El tamaño en GB del disco efímero presente en este host hipervisor
Se muestra como gibibyte
openstack.nova.local_gb_used
(gauge)
El tamaño en GB del disco utilizado en este host hipervisor
Se muestra como gibibyte
openstack.nova.memory_mb
(gauge)
El tamaño en MB de la RAM presente en este host hipervisor
Se muestra como mebibyte
openstack.nova.memory_mb_used
(gauge)
El tamaño en MB de la RAM utilizada en este host hipervisor
Se muestra como mebibyte
openstack.nova.running_vms
(gauge)
Número de máquinas virtuales en ejecución en este host de hipervisor
openstack.nova.server.cpu0_time
(gauge)
Tiempo de CPU en nanosegundos de esta CPU virtual
Se muestra como nanosegundo
openstack.nova.server.hdd_errors
(gauge)
Número de errores observados por el servidor al acceder a un dispositivo HDD
openstack.nova.server.hdd_read
(gauge)
Número de bytes leídos desde un dispositivo HDD por este servidor
Se muestra como byte
openstack.nova.server.hdd_read_req
(gauge)
Número de solicitudes de lectura realizadas a un dispositivo HDD por este servidor
openstack.nova.server.hdd_write
(gauge)
Número de bytes escritos en un dispositivo HDD por este servidor
Se muestra como byte
openstack.nova.server.hdd_write_req
(gauge)
El número de solicitudes de escritura realizadas a un dispositivo HDD por este servidor
openstack.nova.server.memory
(gauge)
La cantidad de memoria en MB aprovisionada para este servidor
Se muestra como mebibyte
openstack.nova.server.memory_actual
(gauge)
La cantidad de memoria en MB aprovisionada para este servidor
Se muestra como mebibyte
openstack.nova.server.memory_rss
(gauge)
La cantidad de memoria utilizada por los procesos de este servidor que no está asociada a páginas de disco, como el stack tecnológico y la memoria heap
Se muestra como mebibyte
openstack.nova.server.vda_errors
(gauge)
Número de errores observados por el servidor al acceder a un dispositivo VDA.
openstack.nova.server.vda_read
(gauge)
Número de bytes leídos desde un dispositivo VDA por este servidor
Se muestra como byte
openstack.nova.server.vda_read_req
(gauge)
Número de solicitudes de lectura realizadas a un dispositivo VDA por este servidor.
openstack.nova.server.vda_write
(gauge)
Número de bytes escritos en un dispositivo VDA por este servidor
Se muestra como byte
openstack.nova.server.vda_write_req
(gauge)
Número de solicitudes de escritura realizadas a un dispositivo VDA por este servidor
openstack.nova.vcpus
(gauge)
Número de vCPUs disponibles en este host hipervisor
openstack.nova.vcpus_used
(gauge)
Número de vCPUS utilizados en este host hipervisor

Eventos

El check de OpenStack no incluye ningún evento.

Checks de servicio

openstack.neutron.api.up

Devuelve CRITICAL si el Agent no puede consultar la API de Neutron, UNKNOWN si hay un problema con la API de Keystone. En caso contrario, devuelve OK.

Estados: ok, critical, unknown

openstack.nova.api.up

Devuelve CRITICAL si el Agent no puede consultar la API de Nova, UNKNOWN si hay un problema con la API de Keystone. En caso contrario, devuelve OK.

Estados: ok, critical, unknown

openstack.keystone.api.up

Devuelve CRITICAL si el Agent no puede consultar la API de Keystone. En caso contrario, devuelve OK.

Estados: ok, critical

openstack.nova.hypervisor.up

Devuelve UNKNOWN si el Agent no puede obtener el estado del hipervisor, CRITICAL si el hipervisor está caído. Devuelve OK en caso contrario.

Estados: ok, critical, unknown

openstack.neutron.network.up

Devuelve UNKNOWN si el Agent no puede obtener el estado de la red, CRITICAL si la red está caída. En caso contrario, devuelve OK.

Estados: ok, critical, unknown

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el soporte de Datadog.

Referencias adicionales

Documentación útil adicional, enlaces y artículos: