0

If you run redis-cli -h -p 6379 info cpu: you will get 4 metrics related to redis cpu:

used_cpu_sys  
used_cpu_user
used_cpu_sys_children
used_cpu_user_children

Using the above metrics, how to define metrics EngineCPUUtilization which is similar to EngineCPUUtilization of AWS managed redis?

I think the logic is:

EngineCPU = used_cpu_sys + used_cpu_user - (used_cpu_sys_children + used_cpu_user_children),

Where (used_cpu_sys + used_cpu_user) is total cpu including both redis main cpu and background cpu. (used_cpu_sys_children + used_cpu_user_children) is background cpu.

so for prometheus as example, the engineCPUUtilization will be:

100 * avg by(instance) (rate(redis_cpu_sys_seconds_total{service="redis"}[5m]) + rate(redis_cpu_user_seconds_total{service="redis"}[5m]) - rate(redis_cpu_sys_children_seconds_total{service="redis"}[5m]) - rate(redis_cpu_user_children_seconds_total{service="redis"}[5m])) 

Is it correct?

user389955
  • 9,605
  • 14
  • 56
  • 98

0 Answers0