使用prometheus度量计算kubernetes cpu使用率

u4vypkhs  于 2021-07-15  发布在  ElasticSearch
关注(0)|答案(0)|浏览(416)

我正在使用以下api从kubernetes节点收集度量:

  1. kubectl get --raw /api/v1/nodes/$1/proxy/metrics/cadvisor

它以普罗米修斯格式返回度量。所以,我把这个发送到logstash并进行一些转换,看:

  1. filter{
  2. mutate {
  3. remove_field => [ "host" ]
  4. }
  5. ruby{
  6. code => "
  7. if (event.get('[container_cpu_usage_seconds_total_container_cpu_id_image_name_namespace_pod][container_cpu_usage_seconds_total]')!=nil)
  8. event.set('container_cpu_usage_percent', (event.get('[container_cpu_usage_seconds_total_container_cpu_id_image_name_namespace_pod][container_cpu_usage_seconds_total]') / (event.get('machine_cpu_cores') * 100)).ceil(2))
  9. end
  10. "
  11. }
  12. }

如您所见,我尝试使用以下公式计算cpu使用率百分比:

  1. container_cpu_usage_seconds_total/ (machine_cpu_cores*100)

试图复制与普罗米修斯相同的公式:

  1. rate(container_cpu_user_seconds_total[30s]) * 100

但我不知道我做的是否正确。记住,我没有普罗米修斯来使用rate(),只是logstash。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题