OpenStack (레거시)

Supported OS Linux Windows Mac OS

통합 버전4.0.0

OpenStack 기본값 대시보드

개요

참고: 본 통합은 OpenStack v12 이하에만 적용됩니다. OpenStack v13 이상에서 메트릭을 수집하려면 OpenStack 컨트롤러 통합를 사용하세요.

OpenStack 서비스에서 실시간으로 메트릭을 받아 다음을 수행할 수 있습니다.

  • OpenStack 상태를 시각화 및 모니터링합니다.
  • OpenStack 실패 복구 및 이벤트에 대한 알림을 받습니다.

설정

설치

OpenStack 메트릭을 캡처하려면 하이퍼바이저를 실행 중인 호스트에 에이전트에 설치하세요.

설정

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을 참조하세요.

에이전트 설정

  1. Datadog 에이전트를 설정하여 Keystone 서버에 연결하고, 개별 프로젝트를 모니터링하도록 지정합니다. 아래 설정으로 에이전트 설정 디렉토리 루트에 있는 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. 에이전트를 재시작합니다.

로그 수집
  1. Datadog 에이전트에서는 로그 수집이 기본적으로 비활성화되어 있습니다. 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 샘플을 참조하세요.

검증

에이전트 상태 하위 명령을 실행하고 점검 섹션에서 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
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 고객 지원팀에 문의해주세요.

참고 자료

기타 유용한 문서, 링크 및 기사: