2.2. 경고 쿼리
Red Hat OpenStack Services on OpenShift(RHOSO)에서 알람 정의의 쿼리가 PromQL과 호환되는지 확인합니다.
프로세스
-
스택의 인스턴스만 선택하려면 쿼리에
server_group=<stack_id>를 포함합니다. -
ceilometer_cpu지표는 인스턴스가 생성된 이후 총 CPU 시간을 기록하는 누적 값으로 저장됩니다. PromQLrate()함수를 사용하여 지정된 CPU 시간 또는 특정 기간 동안의 CPU 시간 백분율 값에 대해서만 쿼리할 수 있습니다. 이전 RHOSP(Red Hat OpenStack Platform) 버전에서는 자동이 아니지만 쿼리의 일부로 백분율을 자동으로 계산할 수 있습니다. -
다음과 같이 PromQL
rate()함수를 사용할 수 있습니다.rate(ceilometer_cpu{server_group=<stack_id>}[<duration>]). 불안정한 쿼리 결과를 방지하려면 <ceilometer 폴링 간격>을 <prometheus scrape interval>에 추가하여 <duration>을 계산합니다. 선택 사항:
$ openstack metric query명령을 사용하여 새 쿼리에서 반환하는 내용을 확인할 수 있습니다. 쿼리를 테스트했는지 확인합니다. 관련 스택의 인스턴스만 쿼리하고 쿼리에서 반환된 지표 값을 기록한 다음, 알람 정의에서 임계값을 적절하게 설정했는지 확인할 수 있습니다.autoscaling.yaml
47,49c50,53 < list_join: < - '' < - - {'=': {server_group: {get_param: "OS::stack_id"}}} --- > str_replace: > template: "(rate(ceilometer_cpu{server_group='stack_id'}[150s]))/10000000" > params: > stack_id: {get_param: OS::stack_id} 68,70c67,70 < list_join: < - '' < - - {'=': {server_group: {get_param: "OS::stack_id"}}} --- > str_replace: > template: "(rate(ceilometer_cpu{server_group='stack_id'}[150s]))/10000000" > params: > stack_id: {get_param: OS::stack_id}