OpenStack Controller

Supported OS Linux Mac OS Windows

インテグレーションバージョン3.0.0

概要

: このインテグレーションは、OpenStack v13+ (コンテナ化された OpenStack) にのみ適用されます。OpenStack v12 以下 (コンテナ化されていない OpenStack) からメトリクスを収集する場合は、OpenStack インテグレーションを使用してください。

このチェックは、コントローラーノードから OpenStack を監視します。

セットアップ

インストール

OpenStack Controller チェックは Datadog Agent パッケージに含まれているため、サーバーに追加でインストールする必要はありません。

コンフィギュレーション

OpenStack Controller インテグレーションは、すべてのコンピュートノードおよびそれを実行しているサーバーから情報を収集するように設計されています。また、単一の Agent から実行して OpenStack 環境を監視します。このインテグレーションは、コントローラーノード、または Keystone および Nova エンドポイントにアクセスできる隣接サーバーでデプロイできます。

OpenStack の準備

openstack_controller.d/conf.yaml ファイルで使用される datadog ユーザーを作成します。このユーザーには、環境全体に対する管理読み取り専用アクセス許可が必要です。これにより、単一のノードから実行して、すべてのノードとサーバーに関する高レベルなシステム情報を読み取ることができます。

Agent の構成

  1. OpenStack Controller のパフォーマンスデータの収集を開始するには、Agent の構成ディレクトリのルートにある conf.d/ フォルダーの openstack_controller.d/conf.yaml ファイルを編集します。使用可能なすべての構成オプションの詳細については、サンプル openstack_controller.d/conf.yaml を参照してください。

    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. Agent を再起動します

ログの収集
  1. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml でこれを有効にできます。

    logs_enabled: true
    
  2. Openstack ログの収集を開始するには、次のコンフィギュレーションブロックを openstack_controller.d/conf.yaml ファイルに追加します。

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

    path パラメーターの値を変更し、環境に合わせて構成します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル openstack_controller.d/conf.yaml を参照してください。

検証

Agent の status サブコマンドを実行し、Checks セクションで openstack_controller を探します。

収集データ

メトリクス

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

イベント

OpenStack Controller には、イベントは含まれません。

サービスのチェック

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

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問い合わせください。