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

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

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

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

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

filter{
    mutate {
      remove_field => [ "host" ]
    }

     ruby{
        code => "
        if (event.get('[container_cpu_usage_seconds_total_container_cpu_id_image_name_namespace_pod][container_cpu_usage_seconds_total]')!=nil)
         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))
        end
        "
    }

}

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

container_cpu_usage_seconds_total/ (machine_cpu_cores*100)

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

rate(container_cpu_user_seconds_total[30s]) * 100

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

暂无答案!

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

相关问题