Munin pode ser configurado para exibir gráficos horários?

9

Por padrão, Munin (eu estou usando 1.4.5) mostra gráficos para o dia, semana, mês e ano.

Posso configurá-lo para exibir adicionalmente um gráfico horário?

Abraham Vegh
fonte

Respostas:

10

Suponho que você realmente queira coletar dados mais rapidamente do que os cinco minutos padrão, porque um gráfico por hora não mostraria mais detalhes do que o gráfico diário atual.

Há uma resposta fácil e difícil.

O caminho fácil

Basta executar o munin-update com mais frequência e não atualizar o Munin 1.5.

Em muitos sistemas Linux, isso significa apenas editar /etc/cron.d/munine alterar o primeiro */5para */1(que é o mesmo que justamente, *mas torna um pouco mais óbvio que você está fazendo isso deliberadamente).

Isso é meio que um hack. O Munin ainda criará os gráficos sob a suposição de que ele está obtendo dados a cada cinco minutos, e não a cada minuto; portanto, seus cálculos de taxa podem estar desativados e alguns dos rótulos estarão errados, mas você estará obtendo dados a cada minuto. Além disso, isso provavelmente não funcionará nas versões recentes do Munin (pelo menos na versão anterior 2.0 e possivelmente na versão 1.5) porque eles têm um valor padrão de 300 para o update_rateatributo, que será discutido mais abaixo.

O jeito difícil

Primeiro, você deve atualizar para o Munin 2.0. Nem tudo abaixo é suportado em versões anteriores.

Em seguida, você deve definir o update_rateatributo nos gráficos que deseja atualizar com mais frequência a cada cinco minutos. Esse atributo é o número de segundos que deve decorrer entre as atualizações e o padrão é 300 segundos.

Em seguida, você precisará definir períodos de gráfico personalizados com o graph_data_sizeatributo, documentado no dimensionamento por rd personalizado do plug-in , mas essa página é um pouco confusa, então deixe-me ver se posso esclarecer um pouco as coisas.

O graph_data_sizeatributo tem três configurações:

  • graph_data_size normal - esse é o padrão, que gera gráficos diários, semanais, mensais e anuais.
  • graph_data_size huge - armazena dados em intervalos de cinco minutos (a taxa diária normal) durante um ano inteiro.
  • graph_data_size custom <custom-definition> - isso permite que você especifique seus próprios intervalos de dados e tempos de retenção.

A definição personalizada acima tem o formato full_rra_nb, multiple_1 multiple_rra_nb_1, multiple_2 multiple_rra_nb_2, ... multiple_N multiple_rra_nb_N, com os seguintes significados:

  • full_rra_nb é o número de pontos de dados a serem retidos no primeiro gráfico. Cada um desses pontos representa uma única medida (mais ou menos; Munin tenta explicar os atrasos na obtenção das medidas com uma pequena quantidade de dados falsificados).
  • multiple_N é o número de pontos de dados medidos com média para obter um único ponto de dados para o enésimo gráfico.
  • multiple_rra_nb_N é o número de pontos de dados a serem retidos para o enésimo gráfico.

Tudo isso é afetado pela update_rateconfiguração do atributo, porque controla quanto tempo cada medição dura.

Portanto, para um exemplo concreto, as configurações padrão são as seguintes:

  • Os pontos de dados são obtidos a uma taxa de uma medição a cada cinco minutos.
  • O gráfico diário tem um ponto para cada ponto de dados medido e mantém 576 desses pontos (ou 48 horas).
  • O gráfico semanal possui um ponto para cada seis medições (cada ponto representa 30 minutos) e mantém 432 delas (ou 9 dias no valor).
  • O gráfico mensal possui um ponto para cada 24 medições (cada ponto representa duas horas) e mantém 540 delas (ou 45 dias).
  • O gráfico anual possui um ponto para cada 288 medições (cada ponto representa um dia) e mantém 450 delas (no valor de 450 dias).

Portanto, essas duas configurações são equivalentes:

graph_data_size normal

e

update_rate 300
graph_data_size custom 576, 6 432, 24 540, 288 450

Para amostragem de um minuto, você terá que decidir em que tipo de intervalo está interessado. Para simplesmente adicionar um gráfico horário que registre dados por oito horas, você pode usar o seguinte:

update_rate 60
graph_data_size custom 480, 5 576, 30 432, 120 540, 1440 450

Observe que, na configuração padrão munin, cada intervalo é um múltiplo inteiro do intervalo anterior (30 = 5 * 6, 120 = 30 * 4 e 1440 = 120 * 12). Não sei o quão importante é essa regra, mas recomendo mantê-la em sua configuração, apenas por precaução.

Observe também que a configuração update_ratee graph_data_sizeé feito em uma base per-gráfico. Não sei como especificar valores padrão que cruzam muitos gráficos; portanto, se você quiser fazer isso para todos os seus gráficos, precisará digitar muito.

Além disso, verifique se todas essas configurações estão em vigor antes da sua primeira munin-updateexecução; eles afetam a maneira como os arquivos RRD são criados e não sei como o munin reagirá se os arquivos forem criados com configurações diferentes antes que as atualizações sejam executadas com eles. Na pior das hipóteses, você pode excluir os arquivos RRD e deixar que Munin os recrie.

Finalmente, quando todas as configurações estiverem no lugar, você poderá alterar a frequência de atualização do cron da mesma maneira que "The Easy Way", acima.

asciiphil
fonte