5.4.2. 인스턴스 워크로드 vCPU를 백분율로 표시
openstack metric query 명령을 사용하여 CPU Telemetry 데이터를 인스턴스의 나노초 값이 아닌 백분율로 표시할 수 있습니다.
사전 요구 사항
- 인스턴스 워크로드를 생성하는 자동 스케일링 그룹 리소스를 사용하여 heat 스택을 생성합니다.
프로세스
openstack 클라이언트 Pod에 액세스합니다.
$ oc rsh openstackclient자동 스케일링 그룹 heat 스택의
stack_id를 검색합니다.$ openstack stack show stack1 -c id +-------+--------------------------------------+ | Field | Value | +-------+--------------------------------------+ | id | 1ae77e51-ba09-452c-bc09-385f0791a366 | +-------+--------------------------------------+백분율로 계산된 값을 사용하여 증가 메트릭을 반환합니다. 증가 속도는 지정된 창에서 지표가 증가한 CPU 시간 나노초 값으로 반환됩니다. 해당 수를 1000000000으로 나누어 값을 초 단위로 나눕니다. 그런 다음 해당 값을 백분율로 변환하면 100을 곱하면 됩니다. 마지막으로 총 값을 인스턴스에 할당된 플레이버로 제공하는 vCPU 수로 나눕니다. 이 예에서는 vCPU 값이 1 vCPU 값을 제공하여 CPU 시간의 백분율로 표시됩니다. 쿼리에서 'server_group' 레이블 값으로 stack_id를 사용하여 스택에서 결과만 가져옵니다.
$ openstack metric query "rate(ceilometer_cpu{server_group='1ae77e51-ba09-452c-bc09-385f0791a366'}[150s])/1000000000*100/1" -c resource_name -c value +-------------------------------------------------------------------------+-------+ | resource_name | value | +-------------------------------------------------------------------------+-------+ | st-ih4tya6-bf63mo4vvyqp-pvdwdmvzov5c-vnf-x4f535xcvjyp:instance-00000003 | 0.525 | +-------------------------------------------------------------------------+-------+쿼리에 offset 키워드를 추가하여 이전 값을 확인할 수 있습니다. 다음은 이전 단계와 유사한 출력을 제공하지만 과거의 데이터 10분은 다음과 같습니다.
$ openstack metric query "rate(ceilometer_cpu{server_group='1ae77e51-ba09-452c-bc09-385f0791a366'}[150s] offset 10m)/1000000000*100/1" -c resource_name -c value +-------------------------------------------------------------------------+-------------------+ | resource_name | value | +-------------------------------------------------------------------------+-------------------+ | st-ih4tya6-3ul7w6w66st7-mmvkxuwghjxl-vnf-dj7k7665csuv:instance-00000002 | 38.40833333333333 | +-------------------------------------------------------------------------+-------------------+