Supported OS Linux Windows Mac OS

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

OpenStack のデフォルトのダッシュボード

概要

: このインテグレーションは OpenStack v12 以下に限定されます。OpenStack v13 以上からメトリクスを収集する場合は、OpenStack Controller インテグレーションを使用してください。

OpenStack サービスからメトリクスをリアルタイムに取得して、以下のことができます。

  • OpenStack の状態を視覚化および監視できます。
  • OpenStack のフェイルオーバーとイベントの通知を受けることができます。

セットアップ

インストール

OpenStack メトリクスをキャプチャするには、ハイパーバイザーを実行しているホストに Agent をインストールします。

構成

OpenStack の準備

ID サーバーで Datadog のロールとユーザーを構成します。

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

次に、policy.json ファイルを更新して、必要なアクセス許可を付与します。role:datadog_monitoring には次の操作へのアクセスが必要です。

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"
}

ポリシーの変更を有効にするには、Keystone、Neutron、および Nova API サービスを再起動する必要があります。

: OpenStack インテグレーションをインストールすると、Datadog が監視する VM 数が増える可能性があります。これが課金にどのように影響するかについては、課金に関する FAQ を参照してください。

Agent の構成

  1. Datadog Agent が Keystone サーバーに接続するように構成し、監視するプロジェクトを個別に指定します。以下の構成で Agent の構成ディレクトリのルートにある conf.d/ フォルダーの openstack.d/conf.yaml ファイルを編集します。使用可能なすべての構成オプションの詳細については、サンプル openstack.d/conf.yaml を参照してください。

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

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

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

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

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

検証

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

収集データ

メトリクス

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.15
(gauge)
The average hypervisor load over fifteen minutes.
openstack.nova.hypervisor_load.5
(gauge)
The average hypervisor load over five 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.max_total_ram_size
(gauge)
The max allowed RAM size for this tenant in megabytes (MB)
Shown as mebibyte
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.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.cpu0_time
(gauge)
CPU time in nanoseconds of this virtual CPU
Shown as nanosecond
openstack.nova.server.hdd_errors
(gauge)
The number of errors seen by the server when accessing an HDD device
openstack.nova.server.hdd_read
(gauge)
Number of bytes read from an HDD device by this server
Shown as byte
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
(gauge)
Number of bytes written to an HDD device by this server
Shown as byte
openstack.nova.server.hdd_write_req
(gauge)
The number of write requests made to an HDD device by this server
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.vda_errors
(gauge)
The number of errors seen by the server when accessing a VDA device
openstack.nova.server.vda_read
(gauge)
Number of bytes read from a VDA device by this server
Shown as byte
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
(gauge)
Number of bytes written to a VDA device by this server
Shown as byte
openstack.nova.server.vda_write_req
(gauge)
The number of write requests made to a VDA device by this server
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 チェックには、イベントは含まれません。

サービスチェック

openstack.neutron.api.up
Agent が Neutron API をクエリできない場合は CRITICAL を、Keystone API に問題がある場合は UNKNOWN を返します。それ以外の場合は、OK を返します。
Statuses: ok, クリティカル, 不明

openstack.nova.api.up
Agent が Nova API をクエリできない場合は CRITICAL を、Keystone API に問題がある場合は UNKNOWN を返します。それ以外の場合は、OK を返します。
Statuses: ok, クリティカル, 不明

openstack.keystone.api.up
Agent が Keystone API をクエリできない場合は、CRITICAL を返します。それ以外の場合は、OK を返します。
Statuses: ok, クリティカル

openstack.nova.hypervisor.up
Agent がハイパーバイザーの状態を取得できない場合は UNKNOWN、ハイパーバイザーがダウンしている場合は CRITICAL を返します。それ以外の場合は、OK を返します。
Statuses: ok, クリティカル, 不明

openstack.neutron.network.up
Agent がネットワークの状態を取得できない場合は UNKNOWN、ネットワークがダウンしている場合は CRITICAL を返します。それ以外の場合は、OK を返します。
Statuses: ok, クリティカル, 不明

トラブルシューティング

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

その他の参考資料

お役に立つドキュメント、リンクや記事: