¿Se puede configurar Munin para mostrar gráficos por hora?

9

Por defecto, Munin (estoy usando 1.4.5) muestra gráficos para el día, semana, mes y año.

¿Puedo configurarlo para mostrar además un gráfico por hora?

Abraham Vegh
fuente

Respuestas:

10

Supongo que realmente desea muestrear datos más rápido que los cinco minutos predeterminados, porque de lo contrario, un gráfico por hora no le mostraría más detalles que el gráfico diario actual.

Hay una respuesta fácil para esto y una difícil.

La manera fácil

Simplemente ejecute munin-update con más frecuencia y no actualice más allá de Munin 1.5.

En muchos sistemas Linux, esto solo significa editar /etc/cron.d/muniny cambiar el primero */5a */1(que es lo mismo que solo *pero hace que sea un poco más obvio que lo estás haciendo deliberadamente).

Esto es una especie de truco. Munin seguirá creando los gráficos bajo el supuesto de que obtiene datos cada cinco minutos en lugar de cada minuto, por lo que sus cálculos de velocidad podrían estar desactivados y algunas de las etiquetas estarán equivocadas, pero obtendrá datos cada minuto. Además, esto probablemente no funcionará en las versiones recientes de Munin (al menos la versión anterior 2.0 y posiblemente la versión 1.5 anterior) porque tienen un valor predeterminado de 300 para el update_rateatributo, que se trata más adelante.

El camino difícil

Primero, debes actualizar a Munin 2.0. No todo lo siguiente es compatible con versiones anteriores.

A continuación, debe establecer el update_rateatributo en cualquier gráfico que desee actualizar con más frecuencia que cada cinco minutos. Ese atributo es el número de segundos que deben transcurrir entre actualizaciones y el valor predeterminado es 300 segundos.

A continuación, deberá definir períodos de gráficos personalizados con el graph_data_sizeatributo, que se documenta en el tamaño de rrd personalizado por complemento , pero esa página es un poco confusa, así que déjeme ver si puedo aclarar un poco las cosas.

El graph_data_sizeatributo tiene tres configuraciones:

  • graph_data_size normal - Este es el valor predeterminado, que genera gráficos diarios, semanales, mensuales y anuales.
  • graph_data_size huge - esto almacena datos a intervalos de cinco minutos (la tarifa diaria normal) para todo un año.
  • graph_data_size custom <custom-definition> - esto le permite especificar sus propios intervalos de datos y tiempos de retención.

La definición personalizada anterior es de la forma full_rra_nb, multiple_1 multiple_rra_nb_1, multiple_2 multiple_rra_nb_2, ... multiple_N multiple_rra_nb_N, con los siguientes significados:

  • full_rra_nb es el número de puntos de datos a retener para el primer gráfico. Cada uno de estos puntos representa una sola medición (más o menos; Munin intenta explicar las demoras en obtener las mediciones con una pequeña cantidad de falsificación de datos).
  • multiple_N es el número de puntos de datos medidos que se promedian para obtener un único punto de datos para el enésimo gráfico.
  • multiple_rra_nb_N es el número de puntos de datos a retener para el enésimo gráfico.

Todo esto se ve afectado por la update_rateconfiguración del atributo, ya que controla cuánto tiempo abarca cada medición individual.

Entonces, para un ejemplo concreto, la configuración predeterminada es la siguiente:

  • Los puntos de datos se obtienen a razón de una medición cada cinco minutos.
  • El gráfico diario tiene un punto para cada punto de datos medidos, y mantiene 576 de esos puntos (o el valor de 48 horas).
  • El gráfico semanal tiene un punto por cada seis mediciones (cada punto representa 30 minutos), y mantiene 432 de ellas (o el valor de 9 días).
  • El gráfico mensual tiene un punto por cada 24 mediciones (cada punto representa dos horas), y mantiene 540 de ellas (o el valor de 45 días).
  • El gráfico anual tiene un punto por cada 288 mediciones (cada punto representa un día), y conserva 450 de ellas (por valor de 450 días).

Por lo tanto, estas dos configuraciones son equivalentes:

graph_data_size normal

y

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

Para el muestreo de un minuto, tendrá que decidir qué tipo de intervalos le interesan. Para agregar simplemente un gráfico por hora que registre datos durante ocho horas, puede usar lo siguiente:

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

Tenga en cuenta que en la configuración de munin predeterminada cada intervalo es un múltiplo entero del intervalo anterior (30 = 5 * 6, 120 = 30 * 4 y 1440 = 120 * 12). No sé cuán importante es esa regla, pero recomendaría mantenerla en su configuración, por si acaso.

También tenga en cuenta que la configuración update_ratey graph_data_sizese realiza por gráfico. No conozco ninguna forma de especificar valores predeterminados que crucen muchos gráficos, por lo que si desea hacer esto para todos sus gráficos, tendrá que escribir mucho.

Además, debe asegurarse de que todas estas configuraciones estén en su lugar antes de su primera munin-updateejecución; afectan la forma en que se crean los archivos RRD y no sé cómo reaccionará munin si los archivos se crean con configuraciones diferentes antes de que se ejecuten las actualizaciones con estos. En el peor de los casos, puede eliminar los archivos RRD y dejar que Munin los vuelva a crear.

Finalmente, una vez que todas las configuraciones estén en su lugar, puede cambiar la frecuencia de actualización cron de la misma manera que "The Easy Way", arriba.

asciiphil
fuente