Collectd: como somar a métrica de cpu-user e cpu-system

2

Tenho o desafio de fornecer algumas métricas à nossa infraestrutura central de coleta de métricas, e uma delas é o uso total de CPU do sistema. Estou usando collectd para fazer isso. Por padrão, o collectd mostra as métricas do sistema cpu, cpu-user e cpu-idle (entre outras), mas não o uso da cpu. Do meu ponto de vista, isso seria aproximadamente 100 - cpu-idle ou cpu-system + cpu-user.

Já estou usando o plug-in de agregação para poder agregar as métricas principais a uma única métrica. Uma métrica se parece com o seguinte (apenas um exemplo):

57501a6f-cdff-4d03-bd5b-ef67e1ad67d6.hostname_domain_tld.aggregation-cpu-average.cpu-idle 99.799081 1442245610

agora eu gostaria de calcular 100-cpu-idle ou cpu-system + cpu-user e retornar esse valor como uma nova métrica (cpu-usage).

Eu tentei fazer isso usando esta configuração:

<Plugin "aggregation">
  <Aggregation>
    Plugin "cpu"
    Type "cpu"
    GroupBy "Host"
    GroupBy "TypeInstance"
    CalculateAverage true
  </Aggregation>

  <Aggregation>
    Plugin "aggregation-cpu-average"
    Type "^/cpu-[system|user]$/"
    GroupBy "Host"
    SetPluginInstance "cpu-util"
    CalculateSum true
  </Aggregation>
</Plugin>

Infelizmente, esta configuração não parece funcionar, o parâmetro Type parece não ser capaz de lidar com expressões Regex.

Alguém tem uma ideia de como conseguir isso? Obrigado!

    
por jritter 14.09.2015 / 18:07

0 respostas