5.4.3. 인스턴스 워크로드에 사용 가능한 Telemetry 검색


인스턴스 워크로드에 사용 가능한 Telemetry를 검색하고 vCPU 사용률을 백분율로 표현합니다.

사전 요구 사항

  • 인스턴스 워크로드를 생성하는 자동 스케일링 그룹 리소스를 사용하여 heat 스택을 생성합니다.

프로세스

  1. openstack 클라이언트 Pod에 액세스합니다.

    $ oc rsh openstackclient
  2. 자동 스케일링 그룹 heat 스택의 ID를 검색합니다.

    $ openstack stack show stack1 -c id -c stack_status
    +--------------+--------------------------------------+
    | Field        | Value                                |
    +--------------+--------------------------------------+
    | id           | 0d6e19a9-2e1c-4728-b9ed-320da60c3c9d |
    | stack_status | CREATE_COMPLETE                      |
    +--------------+--------------------------------------+
  3. 스택 ID의 값을 환경 변수로 설정합니다.

    $ export STACK_ID=$(openstack stack show stack1 -c id -f value)
  4. 데이터를 반환할 워크로드 인스턴스의 ID를 검색합니다. 서버 목록을 긴 양식을 사용하여 자동 스케일링 그룹의 일부인 인스턴스를 필터링할 수 있습니다.

    $ openstack server list --long --fit-width -c ID -c Name -c Properties | grep "metering.server_group='$STACK_ID'"
    | 94a776a6-ab74-41ec-9c21-26d3ca0a0138 | autoscaling_server_stack1-autoscalinggroup-l3qthrzpad67-nonm7balfxrn-sx6oebhyi3qo | metering.server_group='168364ae-afe2-4275-af28-aae01ee63b00' |
  5. 반환된 인스턴스 워크로드 이름 중 하나에 대한 인스턴스 ID를 설정합니다.

    $ INSTANCE_ID=94a776a6-ab74-41ec-9c21-26d3ca0a0138
  6. 인스턴스 리소스 ID에 대한 지표가 저장되었는지 확인합니다. 사용 가능한 메트릭이 없는 경우 인스턴스가 생성된 이후 시간이 충분하지 않습니다. 충분한 시간이 경과한 경우 인스턴스가 실행 중인 컴퓨팅 노드에서 podman logs ceilometer_agent_compute 를 실행하여 데이터 수집 서비스에 대한 로그를 확인할 수 있으며 oc logs prometheus-metric-storage-0 -c prometheus 를 실행하여 시계열 데이터베이스 서비스 Prometheus의 로그를 확인할 수 있습니다.

    $ openstack metric query "ceilometer_cpu{resource='$INSTANCE_ID'}" -c resource -c resource_name -c value -c unit
    +--------------------------------------+-----------------------------------------------------------------------------------------------------+------+--------------+
    | resource                             | resource_name                                                                                       | unit | value        |
    +--------------------------------------+-----------------------------------------------------------------------------------------------------+------+--------------+
    | a19f11ba-7834-4143-bf83-766af8199f04 | autoscaling_server_stack1-autoscalinggroup-5yzjn6ow4x6v-gmu2apozwluw-t7nqx63tybxh:instance-0000003c | ns   | 204290000000 |
    +--------------------------------------+-----------------------------------------------------------------------------------------------------+------+--------------+
  7. 수집된 ceilometer 지표를 표시합니다.

    $ openstack metric list | grep ceilometer
    | ceilometer_cpu                            |
    | ceilometer_disk_device_allocation         |
    | ceilometer_disk_device_capacity           |
    | ceilometer_disk_device_read_bytes         |
    | ceilometer_disk_device_read_latency       |
    | ceilometer_disk_device_read_requests      |
    | ceilometer_disk_device_usage              |
    | ceilometer_disk_device_write_bytes        |
    | ceilometer_disk_device_write_latency      |
    | ceilometer_disk_device_write_requests     |
    | ceilometer_image_size                     |
    | ceilometer_memory_usage                   |
    | ceilometer_network_incoming_bytes         |
    | ceilometer_network_incoming_bytes_delta   |
    | ceilometer_network_incoming_packets       |
    | ceilometer_network_incoming_packets_drop  |
    | ceilometer_network_incoming_packets_error |
    | ceilometer_network_outgoing_bytes         |
    | ceilometer_network_outgoing_bytes_delta   |
    | ceilometer_network_outgoing_packets       |
    | ceilometer_network_outgoing_packets_drop  |
    | ceilometer_network_outgoing_packets_error |
  8. 인스턴스 워크로드에 대해 구성된 플레이버를 검토하여 워크로드 인스턴스에 적용되는 vCPU 코어 수를 검색합니다.

    $ openstack server show $INSTANCE_ID -cflavor -f value
    m1.small (692533fe-0912-417e-b706-5d085449db53)
    
    $ openstack flavor show 692533fe-0912-417e-b706-5d085449db53 -c vcpus -f value
    1
  9. 백분율로 계산된 값을 사용하여 증가 메트릭을 반환합니다. 증가 속도는 지정된 창에서 지표가 증가한 CPU 시간 나노초 값으로 반환됩니다. 이 수를 1000000000으로 나누어 값을 초 단위로 가져옵니다. 그런 다음 이 값은 100을 곱하여 백분율로 변환됩니다. 마지막으로 총 값을 인스턴스에 할당된 플레이버에서 제공하는 vCPU 수로 나눕니다. 이 예에서는 vCPU 값이 1 vCPU 값을 제공하여 CPU 시간의 백분율로 표시됩니다.

    $ openstack metric query "rate(ceilometer_cpu{resource=~'$INSTANCE_ID'}[150s])/1000000000*100/1" -c resource_name -c value -c resource
    +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+
    | resource                             | resource_name                                                                                       | value              |
    +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+
    | a19f11ba-7834-4143-bf83-766af8199f04 | autoscaling_server_stack1-autoscalinggroup-5yzjn6ow4x6v-gmu2apozwluw-t7nqx63tybxh:instance-0000003c | 0.6166666666666667 |
    +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+
  10. offset 키워드를 쿼리에 추가하여 기록 결과를 봅니다. 다음 명령은 이전 단계와 유사한 출력을 제공하지만 과거의 데이터 10분은 다음과 같습니다.

    $ openstack metric query "rate(ceilometer_cpu{resource=~'$INSTANCE_ID'}[150s] offset 10m)/1000000000*100/1" -c resource_name -c value -c resource
    +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+
    | resource                             | resource_name                                                                                       | value              |
    +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+
    | a19f11ba-7834-4143-bf83-766af8199f04 | autoscaling_server_stack1-autoscalinggroup-5yzjn6ow4x6v-gmu2apozwluw-t7nqx63tybxh:instance-0000003c | 0.6083333333333333 |
    +--------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------+
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동