OpenStack Controller

Supported OS Linux Mac OS Windows

Intégration2.1.0

Présentation

Remarque : cette intégration s’applique uniquement à la version 13 et aux versions ultérieures d’OpenStack (conteneurisées). Pour recueillir des métriques pour les versions 12 et antérieures (non conteneurisées), utilisez l’intégration OpenStack.

Ce check permet de surveiller OpenStack depuis le nœud de contrôleur.

Configuration

Installation

Le check OpenStack Controller est inclus avec le package de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur votre serveur.

Configuration

L’intégration OpenStack Controller est conçue pour recueillir des informations auprès de tous vos nœuds de calcul ainsi que des serveurs exécutés sur ceux-ci. Elle doit être exécutée à partir d’un seul Agent afin de surveiller votre environnement OpenStack. Ce déploiement peut être effectué sur votre nœud de contrôleur ou sur un serveur adjacent ayant accès aux endpoints Keystone et Nova.

Préparer OpenStack

Créez un utilisateur datadog afin de l’utiliser dans votre fichier openstack_controller.d/conf.yaml. Cet utilisateur doit disposer des autorisations admin en lecture seule sur tout votre environnement : il pourra ainsi être exécuté à partir d’un seul nœud et lire les informations système de haut niveau sur tous vos serveurs et nœuds.

Configuration de l’Agent

  1. Modifiez le fichier openstack_controller.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos données de performance OpenStack Controller. Consultez le fichier d’exemple openstack_controller.d/conf.yaml pour découvrir toutes les options de configuration disponibles :

    init_config:
    
    instances:
      ## @param name - string - required
      ## Unique identifier for this instance.
      #
      - name: "<INSTANCE_NAME>"
    
        ## @param user - object - required
        ## Password authentication is the only auth method supported
        ## User expects username, password, and user domain id
        ## `user` should resolve to a structure like
        ## {'password': '<PASSWORD>', 'name': '<USER_NAME>', 'domain': {'id': '<DOMAIN_ID>'}}
        ## The check uses the Unscoped token method to collect information about
        ## all available projects to the user.
        #
        user:
          password: "<PASSWORD>"
          name: "<USER_NAME>"
          domain:
            id: "<DOMAIN_ID>"
    
  2. Redémarrez l’Agent.

Collecte de logs
  1. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous pouvez l’activer dans datadog.yaml :

    logs_enabled: true
    
  2. Ajoutez ce bloc de configuration à votre fichier openstack_controller.d/conf.yaml pour commencer à recueillir vos logs Openstack :

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

    Modifiez la valeur du paramètre path et configurez-le pour votre environnement. Consultez le fichier d’exemple openstack_controller.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

Validation

Lancez la sous-commande status de l’Agent et cherchez openstack_controller dans la section Checks.

Données collectées

Métriques

openstack.nova.current_workload
(gauge)
Current workload on the Nova hypervisor
openstack.nova.disk_available_least
(gauge)
Disk available for the Nova hypervisor
Shown as gibibyte
openstack.nova.free_disk_gb
(gauge)
Free disk on the Nova hypervisor
Shown as gibibyte
openstack.nova.free_ram_mb
(gauge)
Free RAM on the Nova hypervisor
Shown as mebibyte
openstack.nova.hypervisor_load.1
(gauge)
The average hypervisor load over one minute.
openstack.nova.hypervisor_load.5
(gauge)
The average hypervisor load over five minutes.
openstack.nova.hypervisor_load.15
(gauge)
The average hypervisor load over fifteen minutes.
openstack.nova.limits.max_image_meta
(gauge)
The maximum allowed image metadata definitions for this tenant
openstack.nova.limits.max_personality
(gauge)
The maximum allowed personalities for this tenant
openstack.nova.limits.max_personality_size
(gauge)
The maximum size of a single personality allowed for this tenant
openstack.nova.limits.max_security_group_rules
(gauge)
The maximum number of security group rules allowed for this tenant
openstack.nova.limits.max_security_groups
(gauge)
The maximum number of security groups allowed for this tenant
openstack.nova.limits.max_server_meta
(gauge)
The maximum allowed service metadata definitions for this tenant
openstack.nova.limits.max_total_cores
(gauge)
The maximum allowed cores for this tenant
openstack.nova.limits.max_total_floating_ips
(gauge)
The maximum allowed floating IPs for this tenant
openstack.nova.limits.max_total_instances
(gauge)
The maximum number of instances allowed for this tenant
openstack.nova.limits.max_total_keypairs
(gauge)
The maximum allowed key pairs allowed for this tenant
openstack.nova.limits.total_cores_used
(gauge)
The total cores used by this tenant
openstack.nova.limits.total_floating_ips_used
(gauge)
The total floating IPs used by this tenant
openstack.nova.limits.total_instances_used
(gauge)
The total instances used by this tenant
openstack.nova.limits.total_ram_used
(gauge)
The current RAM used by this tenant in megabytes (MB)
Shown as mebibyte
openstack.nova.limits.total_security_groups_used
(gauge)
The total number of security groups used by this tenant
openstack.nova.limits.max_total_ram_size
(gauge)
The max allowed RAM size for this tenant in megabytes (MB)
Shown as mebibyte
openstack.nova.local_gb
(gauge)
The size in GB of the ephemeral disk present on this hypervisor host
Shown as gibibyte
openstack.nova.local_gb_used
(gauge)
The size in GB of disk used on this hypervisor host
Shown as gibibyte
openstack.nova.memory_mb
(gauge)
The size in MB of RAM present on this hypervisor host
Shown as mebibyte
openstack.nova.memory_mb_used
(gauge)
The size in MB of RAM used on this hypervisor host
Shown as mebibyte
openstack.nova.running_vms
(gauge)
Number of running VMs on this hypervisor host
openstack.nova.server.flavor.disk
(gauge)
The size of the root disk that was created for this server in GiB
Shown as gibibyte
openstack.nova.server.flavor.ephemeral
(gauge)
The size of the ephemeral disk that was created for this server in GiB
Shown as gibibyte
openstack.nova.server.flavor.ram
(gauge)
The amount of RAM this server flavor has in MiB
Shown as mebibyte
openstack.nova.server.flavor.swap
(gauge)
The size of a dedicated swap disk that was allocated for this server in MiB
Shown as mebibyte
openstack.nova.server.flavor.vcpus
(gauge)
The number of virtual CPUs that were allocated to the server
openstack.nova.server.hdd_errors
(gauge)
The number of errors seen by the server when accessing an HDD device
openstack.nova.server.hdd_read_req
(gauge)
The number of read requests made to an HDD device by this server
openstack.nova.server.hdd_write_req
(gauge)
The number of write requests made to an HDD device by this server
openstack.nova.server.vda_errors
(gauge)
The number of errors seen by the server when accessing a VDA device
openstack.nova.server.vda_read_req
(gauge)
The number of read requests made to a VDA device by this server
openstack.nova.server.vda_write_req
(gauge)
The number of write requests made to a VDA device by this server
openstack.nova.server.hdd_read
(gauge)
Number of bytes read from an HDD device by this server
Shown as byte
openstack.nova.server.hdd_write
(gauge)
Number of bytes written to an HDD device by this server
Shown as byte
openstack.nova.server.vda_read
(gauge)
Number of bytes read from a VDA device by this server
Shown as byte
openstack.nova.server.vda_write
(gauge)
Number of bytes written to a VDA device by this server
Shown as byte
openstack.nova.server.memory
(gauge)
The amount of memory in MB provisioned for this server
Shown as mebibyte
openstack.nova.server.memory_actual
(gauge)
The amount of memory in MB provisioned for this server
Shown as mebibyte
openstack.nova.server.memory_rss
(gauge)
The amount of memory used by the processes of this server that is not associated with disk pages - such as stack and heap memory
Shown as mebibyte
openstack.nova.server.cpu0_time
(gauge)
CPU time in nanoseconds of this virtual CPU
Shown as nanosecond
openstack.nova.vcpus
(gauge)
Number of vCPUs available on this hypervisor host
openstack.nova.vcpus_used
(gauge)
Number of vCPUS used on this hypervisor host

Événements

OpenStack Controller n’inclut aucun événement.

Checks de service

openstack.neutron.api.up
Returns CRITICAL if the Agent is unable to query the Neutron API, UNKNOWN if there is an issue with the Keystone API. Returns OK otherwise.
Statuses: ok, critical, unknown

openstack.nova.api.up
Returns CRITICAL if the Agent is unable to query the Nova API, UNKNOWN if there is an issue with the Keystone API. Returns OK otherwise.
Statuses: ok, critical, unknown

openstack.keystone.api.up
Returns CRITICAL if the Agent is unable to query the Keystone API. Returns OK otherwise.
Statuses: ok, critical

openstack.nova.hypervisor.up
Returns UNKNOWN if the Agent is unable to get the Hypervisor state, CRITICAL if the Hypervisor is down. Returns OK otherwise.
Statuses: ok, critical, unknown

openstack.neutron.network.up
Returns UNKNOWN if the Agent is unable to get the Network state, CRITICAL if the Network is down. Returns OK otherwise.
Statuses: ok, critical, unknown

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.