![]() |
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Introducción

Junto con la monitorización real del sistema -es decir, la detección de problemas-, Checkmk es una herramienta excelente para el registro y análisis de los diversos valores medidos que pueden generarse en los entornos informáticos, como por ejemplo
Rendimiento del sistema operativo (IO de disco, utilización de la CPU y del almacenamiento, ...)
Estadísticas de red (ancho de banda utilizado, tiempos de transferencia de paquetes, tasas de error, ...)
Sensores ambientales (temperatura, humedad, presión atmosférica, ...)
Estadísticas de carga (usuarios conectados, peticiones de páginas, sesiones, ...)
Indicadores de calidad de las aplicaciones (por ejemplo, tiempos de respuesta del sitio web)
Consumo y calidad de la electricidad en un centro de datos (corrientes, tensiones, potencia, capacidades de las baterías, ...)
Datos específicos de la aplicación (por ejemplo, longitud de las colas de correo electrónico de MS Exchange)
y mucho más ...
Checkmk registra todas las mediciones generadas por la monitorización durante un periodo (personalizable) de cuatro años, de modo que no sólo puede acceder a los datos actuales, sino también a los históricos. Para mantener bajo control la carga de espacio en disco, los datos se comprimen cada vez más a medida que envejecen.
Las propias métricas son detectadas por cada uno de los plugins de check, por lo que los plugins también determinan exactamente qué métricas se proporcionan.
La interfaz para visualizar los datos de medición históricos se basa en HTML5 y es idéntica en las ediciones comerciales y en Checkmk edición Raw. Exclusivamente en las ediciones comerciales puedes utilizar funciones avanzadas como exportación a PDF, colecciones de gráficos, gráficos definidos por el usuario y conexión a bases de datos de métricas externas.
2. Acceso a través de la GUI
Los valores medidos de un servicio se presentan de tres formas distintas en la GUI. El llamado Perf-O-Meter aparece directamente en las tablas de un host o servicio y proporciona una rápida visión general y una comparación visual. Sin embargo, suelen estar limitados por el espacio a una única métrica seleccionada. Para los sistemas de archivos, por ejemplo, se trata del porcentaje de espacio utilizado:

Puedes ver todas las métricas de un servicio en un intervalo de tiempo, moviendo el cursor sobre el icono de gráficos o haciendo clic en él. El valor @ de la derecha, encima del gráfico, indica el intervalo en el que se obtienen y añaden nuevos datos. Por ejemplo, @ 1m significa un intervalo de consulta de un minuto.
Los mismos gráficos también se pueden encontrar muy fácilmente en los detalles de un host o servicio:

También se puede encontrar una tabla con los valores medidos actuales precisos para todas las métricas en una página de detalles:

3. Interacción con los gráficos
Puedes influir interactivamente en la visualización de los gráficos de varias formas:
Desplazando (o arrastrando) con el botón del ratón pulsado, mueves el intervalo de tiempo (izquierda/derecha) o escalas verticalmente (arriba/abajo).
Utilizando la rueda del ratón para ampliar o reducir el intervalo de tiempo
Arrastrando la esquina inferior derecha del gráfico para cambiar su tamaño
Al hacer clic en una posición de un gráfico, se fija una chincheta. De esta forma puedes identificar la hora exacta de un punto y todos los valores medidos precisos para ese momento. La hora exacta de la chincheta se guarda para cada usuario y se muestra en todos los gráficos.
Haciendo clic en el encabezamiento de una columna, puedes ajustar los valores mostrados a valores mínimos, máximos o medios.

Si una página incluye varios gráficos, todos ellos se ajustan a los cambios realizados en el intervalo de tiempo y en el pin, por lo que los valores siempre pueden compararse entre gráficos. Del mismo modo, la escala se efectúa en todos los gráficos. Sin embargo, estos reajustes aparecerán primero con una actualización de la página (de lo contrario, a veces podría producirse un caos en la pantalla...)
En cuanto utilices las funciones interactivas -como fijar una chincheta- aparecerá un gran símbolo de "pausa" en la pantalla y la actualización de la página se detendrá durante 60 segundos. Esto significa que tus cambios en el gráfico no se invierten inmediatamente con la actualización. La cuenta atrás se restablece siempre a 60 segundos cuando vuelves a estar activo. También puedes pausar completamente la cuenta atrás haciendo clic en el número. El símbolo de pausa te permite finalizar la pausa directamente en cualquier caso.

4. Colecciones de gráficos
En las ediciones comerciales, puedes utilizar el menú, que se muestra en la parte inferior izquierda del gráfico, para incrustarlo en varios lugares: en informes o dashboards, por ejemplo. La sección del menú Add to graph collection es muy útil en este caso. Puedes empaquetar tantos gráficos como desees en una colección de gráficos de este tipo y, más tarde, compararlos o exportarlos como PDF. Por defecto, cada usuario tiene una colección de gráficos llamada My graphs. Puedes añadir nuevos muy fácilmente, e incluso hacerlos visibles para otros usuarios. El procedimiento es exactamente el mismo que para las vistas de tabla.
Accedes a tu colección de gráficos a través de Monitor > Workplace > My graphs.. La entrada My graphs sólo aparece si has añadido al menos un gráfico a esa colección.

Customize > Graphs > Graph collections abre la tabla que enumera todas tus colecciones de gráficos, y te permite añadir nuevos, modificar los existentes, etc.
5. Ajustes de gráficos
En las ediciones comerciales puedes hacer pequeños ajustes en los gráficos integrados mediante Customize > Graphs > Graph tunings.. Estos Graph tunings te permiten, por ejemplo, cambiar la escala del eje Y de un gráfico concreto, mediante la opción Vertical axis scaling:

Este cambio también podría limitarse a determinadas apariciones del gráfico con Apply to, por ejemplo en dashboards. La siguiente imagen muestra un escalado al rango de 0,5 a 0,9 en un informe PDF:

Además, hay otras dos opciones disponibles: Graph visibility puede utilizarse para mostrar u ocultar explícitamente un gráfico en determinados lugares. Y Vertical axis mirroring es útil para gráficos que muestran datos por encima y por debajo de la línea de tiempo (eje X), como en el gráfico Rendimiento de disco que se muestra a continuación: Aquí los datos pueden invertirse verticalmente, de modo que los datos que antes se mostraban por encima de la línea de tiempo puedan mostrarse por debajo, y viceversa.
Nota: Los usuarios pueden configurar individualmente las unidades de medida de temperatura de los gráficos y los Perf-O-Metros a través de su perfil. La personalización general de los resúmenes y las vistas detalladas se realiza a través del conjunto de reglas del servicio Temperature.
6. Gráficos definidos por el usuario
Las ediciones comerciales proporcionan un editor gráfico con el que puedes crear tus propios gráficos completos con sus propias fórmulas de cálculo. Con él, ahora también es posible combinar métricas de distintos host y servicios en un solo gráfico.
Accedes a los gráficos personalizados a través de Customize > Graphs > Custom graphs.Un método alternativo es a través de la tabla de métricas de un servicio. Para cada métrica hay un menú con una entrada para añadir la métrica a un gráfico personalizado:

La siguiente imagen muestra una lista de los gráficos definidos por el usuario (aquí con una sola entrada):

Hay cinco operaciones posibles para cada gráfico existente:
Ver este gráfico. |
|
Crear una copia de este gráfico. |
|
Eliminar este gráfico. |
|
Abrir las propiedades de este gráfico. Aquí, además del título del gráfico, puedes definir su visibilidad para otros usuarios. Todo esto funciona exactamente igual que con las vistas. Si tienes dudas sobre alguno de los ajustes, puedes hacer que aparezca la ayuda contextualizada con Help > Show inline help. |
|
Aquí puedes acceder al diseñador de gráficos, en el que se puede modificar el contenido del gráfico. |
Ten en cuenta que cada gráfico definido por el usuario -al igual que las vistas- tiene un ID único. A este ID se refieren los informes y dashboards. Si más adelante cambias el ID de un gráfico, estos enlaces se romperán. Todos los gráficos que no son hidden se muestran por defecto en Monitor > Workplace.
6.1. El diseñador de gráficos

El diseñador de gráficos está dividido en cuatro secciones:
6.2. Vista previa del gráfico
Aquí puedes ver el gráfico exactamente como se verá en directo. También puedes utilizar todas sus funciones interactivas.
6.3. Lista de métricas
Aquí se pueden editar directamente las curvas incluidas en los gráficos. La modificación del título de una curva en este campo se confirma con la tecla "Intro". En Stylese define cómo se muestran los valores en los gráficos. Estas son las opciones posibles:
Line |
El valor se dibujará como una línea |
Area |
El valor se dibujará como un área. Ten en cuenta que las curvas situadas más arriba en la lista tienen prioridad sobre las posteriores y podrían taparlas. Si deseas combinar líneas y áreas, las áreas deben situarse siempre debajo de las líneas. |
Stacked Area |
Todas las curvas con este estilo se dibujarán como áreas y se apilarán según sus valores (en efecto, se sumarán). Por tanto, el límite superior de esta pila simboliza la suma de todas las curvas del gráfico. |
Las otras tres opciones -Mirrored Line, Mirrored Area yMirrored Stacked son similares, con la excepción de que las curvas se dibujan hacia abajo desde la línea cero. Esto permite un estilo de gráfico como el que suele utilizar Checkmk en los gráficos de entrada/salida para lo siguiente:

En la columna Actions, encontrarás un botón para clonar cada métrica que hayas creado. Con él podrás copiar rápidamente las curvas y sustituir simplemente el nombre del host, por ejemplo.
6.4. Añadir métricas
Con la caja Metrics puedes añadir nuevas métricas a los gráficos. En cuanto introduzcas un nombre del host válido en el primer campo, el segundo se rellenará con una lista de los servicios del host. Al hacer una selección en esta lista, el tercer campo se llenará con una lista de las métricas de este servicio. En el cuarto y último campo, selecciona la función de consolidación. Aquí las opciones son Minimum,Maximum y Average. Estas funciones se utilizan cuando los datos almacenados en los RRD para el intervalo de tiempo especificado ya han sido comprimidos. En un intervalo en el que, por ejemplo, sólo se dispone de un valor por cada media hora, puedes elegir trazar el valor medido original mínimo, máximo o medio para este intervalo de tiempo.

Del mismo modo, puedes utilizar la función Add new scalar para mostrar los valores de un servicio para WARN, CRIT, máximo y mínimo como líneas horizontales.

También puedes añadir una constante al gráfico. Ésta se dibujará inicialmente como una línea horizontal. A veces se necesitan constantes para generar fórmulas de cálculo. Más adelante hablaremos de ello.
6.5. Opciones del gráfico
Aquí puedes encontrar opciones que afectan a los gráficos completos. Unit influye en las etiquetas de los ejes y las leyendas. Se establecerá automáticamente cuando se añada la primera métrica. Ten en cuenta que es posible, aunque no aconsejable, añadir dos métricas con unidades distintas a un mismo gráfico.
Con Explicit vertical range puedes predefinir el eje vertical de un gráfico. Normalmente, el eje Y se escala para que todos los valores medidos en el intervalo de tiempo elegido quepan exactamente en el gráfico. Si creas un gráfico para valores porcentuales, por ejemplo, puedes elegir mostrar siempre los valores de 0 a 100. Ten en cuenta, sin embargo, que los usuarios (y tú mismo) pueden en cualquier caso escalar un gráfico utilizando el ratón, haciendo que el posicionamiento sea ineficaz.
6.6. Calcular con fórmulas
El diseñador de gráficos te permite combinar las curvas individuales mediante cálculos. El siguiente ejemplo muestra un gráfico con dos curvas: Carga de la CPU, para User y System.
Supongamos que para este gráfico sólo te interesa la suma de las dos curvas. Para ello, marca las cajas de selección de ambas curvas. Una vez hecho esto, en el panel Metrics de la fila Operation on selected metricshabrán aparecido unos nuevos botones para todas las operaciones elegibles:

Haciendo clic en Sum combinarás ambas curvas en una nueva curva. El color de esta nueva curva será automáticamente una mezcla de los colores de las dos curvas de entrada. La nueva curva se titulará Sum of User, System. La fórmula utilizada para el cálculo aparecerá en la columna Formula. Además aparecerá un nuevo símbolo:

Hacer clic sobre él funciona como un "deshacer", con el que se pueden volver a visualizar las curvas individuales originales. Más consejos para las operaciones de cálculo:
A veces es conveniente incluir constantes: para restar el valor de una curva al número 100, por ejemplo.
Se pueden utilizar escalares para los cálculos.
Las operaciones pueden anidarse en cualquier orden.
7. InfluxDB, Graphite y Grafana
Si utilizas una de las ediciones comerciales, puedes conectar bases de datos de métricas externas en paralelo al gráfico integrado en Checkmk y enviar las métricas a InfluxDB o Graphite.
En todas las ediciones también es posible integrar Checkmk con Grafana y recuperar y mostrar métricas de Checkmk en Grafana.
8. Valores medidos históricos en tablas
8.1. ¿De qué se trata?
Si observas valores medidos en el pasado, a veces no te interesan los detalles exactos de su evolución a lo largo de un periodo de tiempo, sino que puede ser más interesante un resumen aproximado, por ejemplo, la media de utilización de la CPU en los últimos 7 días. El resultado en este ejemplo sería simplemente un número en forma de porcentaje, como el 88 %.
En una tabla de hosts o servicios, puedes añadir columnas que representen la media, el mínimo, el máximo u otros resúmenes de una métrica a lo largo de un periodo de tiempo. Esta función también te permite crear informes que ordenen por estas columnas, por ejemplo, mostrar la lista de los hosts ESXi que tuvieron la utilización más baja en el periodo seleccionado.
Para mostrar estos valores medidos en una vista, haz lo siguiente:
Selecciona una vista de tabla existente o crea una nueva.
Añade una columna del tipo Services: Metric History.
8.2. Crear una vista
Primero necesitas una vista a la que quieras añadir columnas. Puede ser una vista de host o de servicios. Para más detalles sobre la creación o edición de vistas, consulta el artículo sobre vistas.
Para el siguiente ejemplo, elegimos la vista All hosts, que puedes abrir a través de Monitor > Hosts > All hosts. En el menú, selecciona Display > Customize view. Esto te llevará a la página Clone view, donde puedes personalizar la vista a tu gusto.
Para que el All hosts original no quede superpuesto a la copia, elige un nuevo ID y también un nuevo título bajo el que se mostrará posteriormente la vista en el menú Monitor.
Después (opcionalmente) elimina todas las columnas que muestran el número de servicios en los diferentes estados.
8.3. Añadir una columna
Añade ahora una columna del tipo Services: Metric History. Como se trata de una columna de servicios, en el caso de una vista de host necesitas como primera selección el tipo de columna Joined column, que permite mostrar una columna de servicios en una tabla de host. En el caso de una vista de servicios, basta con añadir una nueva columna Column.

En Metric selecciona el nombre de la métrica que se va a evaluar históricamente. Si no estás seguro del nombre de la métrica, puedes encontrarlo en los detalles del servicio en la entrada Service Metrics:

En el ejemplo elegimos la métrica CPU utilization, que también coincide con el nombre del servicio..
Con RRD consolidation es mejor elegir el mismo valor que el utilizado a continuación en Aggregation function, ya que no tendría mucho sentido calcular cosas como "el mínimo del máximo". Puedes averiguar en qué consiste la opción de selección de RRD en el siguiente capítulo sobre la organización de los datos de RRD.
El Time range es el periodo de tiempo en el pasado que quieres investigar. En el ejemplo, son los últimos siete días, es decir, exactamente 168 horas.
En el ejemplo, elegimos Util @ 7 days
como Column title. No te sorprendas de que luego aparezca un campo con el nombre Title -sólo lo verás si aquí se utiliza Joined column, que siempre permite especificar un título-. Deja el segundo título en blanco.
Por último, en el campo Of Service, introduce el nombre del servicio al que pertenece la métrica seleccionada anteriormente. Presta atención a la ortografía exacta del servicio, incluyendo mayúsculas y minúsculas.
Después de guardar, obtendrás una nueva vista con una columna añadida que muestra el porcentaje de carga de la CPU en los últimos siete días.

Notas
Por supuesto, también puedes añadir varias columnas de esta forma, por ejemplo, para diferentes métricas o diferentes periodos de tiempo.
Para los host que no tienen la métrica o el servicio correspondiente, la columna permanece vacía.
Si trabajas con una tabla de servicios, no necesitas un Joined Column. Sin embargo, sólo puedes mostrar un servicio por host en cada fila.
9. Las bases de datos Round Robin (RRD)
Checkmk almacena todos los valores medidos en bases de datos especialmente desarrolladas, las llamadas bases de datos Round Robin (RRD). Aquí se puede utilizar la herramienta RRDtool de Tobi Oetiker, muy popular y ampliamente utilizada en proyectos Open Source.
Las RRD ofrecen importantes ventajas para el almacenamiento de valores medidos en comparación con las bases de datos SQL clásicas:
Las RRD almacenan los datos de medición de forma muy compacta y eficiente.
El espacio utilizado por métrica en la unidad es estático. Las RRD no pueden crecer ni decrecer. Se puede planificar bien el espacio necesario en disco.
El tiempo de CPU y disco por actualización es siempre el mismo. Los RRD son (virtualmente) capaces de funcionar en tiempo real, por lo que las reorganizaciones no pueden provocar atascos de datos.
9.1. Organización de los datos en los RRD
Por defecto, Checkmk está configurado para que el curso de cada métrica se registre a lo largo de un intervalo de tiempo de cuatro años. La resolución base utilizada es de un minuto, lo cual tiene sentido, ya que el intervalo de check está preestablecido en un minuto, de modo que precisamente una vez por minuto se recibirán nuevos datos de medición de cada servicio.
Obviamente, almacenar un valor por minuto durante un periodo de cuatro años requerirá una enorme cantidad de espacio en disco (aunque los RRD sólo necesitan 8 bytes por valor medido). Por esta razón, con el tiempo los datos se comprimen. La primera compresión se produce a las 48 horas. A partir de ese momento sólo se almacenará un valor cada cinco minutos. Las fases siguientes se aplican a los 10 días y a los 90 días:
Fase | Duración | Resolución | Valores medidos |
---|---|---|---|
1 |
2 días |
1 minuto |
2880 |
2 |
10 días |
5 minutos |
2880 |
3 |
90 días |
30 minutos |
4320 |
4 |
4 años |
6 horas |
5840 |
La pregunta obvia ahora es: ¿cuál es la mejor forma de consolidar cinco valores de forma significativa en uno solo? Para ello están disponibles las funciones de consolidación:máximo,mínimo y media. Lo que es significativo en la práctica depende de la aplicación o del punto de vista. Si, por ejemplo, quieres monitorizar las fluctuaciones de temperatura de un centro de datos durante un periodo de cuatro años, probablemente lo que más te interese sea la temperatura máxima registrada. Para las tasas de acceso de una aplicación, podría interesar más una media.
Para conseguir la máxima flexibilidad para cálculos posteriores, los RRD de Checkmk están simplemente preconfigurados para almacenar los tres valores a la vez: mínimo, máximo y media. Para cada nivel de compresión y función de consolidación, el RRD incluye un estilo de almacenamiento en "anillo", el llamado Archivo Round Robin (RRA). En la estructura estándar hay 12 RRA. Por tanto, la estructura estándar para Checkmk requiere 384.952 bytes por métrica. Este número se obtiene de: 2880 + 2880 + 4320 + 5840 puntos de medición, multiplicado por tres funciones de consolidación, multiplicado por 8 bytes por valor medido, lo que da un total de exactamente 382.080 bytes. Si se añade la cabecera del archivo de 2872 bytes, se obtiene el tamaño final de 384.952 bytes citado anteriormente.
Un esquema alternativo interesante sería, por ejemplo, almacenar un valor por minuto durante todo un año. Este método tendría una pequeña ventaja: los RRD tendrían en todo momento la resolución óptima, con lo que se podría prescindir de la consolidación y, por ejemplo, generar sólo el valor medio. Calculando 365 x 24 x 60 valores medidos, multiplicados por 8 bytes, el resultado es un total de casi exactamente 4 MB por métrica. De este modo, aunque los RRD tengan una necesidad de almacenamiento diez veces mayor, ¡en realidad se reduce la "E/S de disco"! La razón es que ya no es necesario almacenar y actualizar en doce RRD distintos, en su lugar sólo se necesita uno.
9.2. Personalizar la estructura RRD
Si el esquema de almacenamiento predefinido no te conviene, puede modificarse medianteconjuntos de reglas (e incluso son posibles versiones diferentes por host o servicio). El conjunto de reglas requerido se puede encontrar más fácilmente a través de la búsqueda de reglas -por tanto, el menú Setup - y una vez allí simplemente introduce RRD
. Aquí encontrarás el conjunto de reglasConfiguration of RRD databases of services. También existe un conjunto de reglas similar para los host, pero los host sólo tienen valores medidos en casos excepcionales. La imagen siguiente muestra la regla RRD con su configuración predeterminada:

En Consolidation functions y RRA configuration puedes definir y establecer el número y el tamaño de las fases de compresión listas para ser utilizadas por las consolidaciones. El campo Step (precision) define la resolución en segundos, y por regla general es de 60 segundos (un minuto). Para servicios con un intervalo de check inferior a un minuto puede ser sensato fijar este número por debajo. Ten en cuenta, sin embargo, que el valor del campo Number of steps aggregated into one data point ya no representará minutos, sino el intervalo de tiempo establecido en Step (precision).
Cada cambio en la estructura de los RRDs sólo tiene efecto inicialmente en los RRDsrecién creados, es decir, en los host o servicios recién incorporados a la monitorización. También puedes permitir que Checkmk reestructure los RRD existentes. Esto se realiza mediante el comando cmk --convert-rrds
, para el que siempre está disponible la opción -v
(verbose). Checkmk inspeccionará entonces todos los RRD existentes y los reestructurará según sea necesario en el formato de destino definido.
Importante: Para garantizar la integridad de los datos contenidos en los RRD, detén siempre tu site (con omd stop
) antes de convertir los RRD existentes con cmk --convert-rrds
.
OMD[mysite]:~$ cmk -v --convert-rrds
myserver012:
Uptime (CMC).....converted, 376 KB -> 159 KB
Filesystem / (CMC).....converted, 1873 KB -> 792 KB
OMD mysite apache (CMC).....converted, 14599 KB -> 6171 KB
Memory (CMC).....converted, 14225 KB -> 6012 KB
Filesystem /home/user (CMC).....converted, 1873 KB -> 792 KB
Interface 2 (CMC).....converted, 4119 KB -> 1741 KB
CPU load (CMC).....converted, 1125 KB -> 475 KB
El comando es lo suficientemente inteligente como para reconocer los RRD que ya tienen la estructura deseada:
OMD[mysite]:~$ cmk -v --convert-rrds
myserver345:
Uptime (CMC).....uptodate
Filesystem / (CMC).....uptodate
OMD mysite apache (CMC).....uptodate
Memory (CMC).....uptodate
Filesystem /home/user (CMC).....uptodate
Interface 2 (CMC).....uptodate
CPU load (CMC).....uptodate
Si el nuevo formato tiene una resolución mayor o funciones de consolidación adicionales, los datos existentes se interpolarán lo mejor posible para que los RRD contengan los valores más significativos posibles. Sin embargo, es naturalmente obvio que si, por ejemplo, en lugar de 2 días, ahora necesitas 5 días con valores a intervalos de un minuto, no se podrá aumentar retroactivamente la precisión de los datos existentes.
9.3. El formato de almacenamiento RRD
La regla descrita anteriormente tiene un ajuste adicional: RRD storage format. Con él puedes elegir entre dos métodos que Checkmk puede utilizar al crear RRDs. El formato One RRD per host/service (formato Checkmk, para abreviar) almacena todas las métricas de un host o servicio en un único archivo RRD. Esto permite una escritura más eficaz de los datos en una unidad, de modo que siempre se puede escribir un conjunto completo de métricas en una sola operación. Estas métricas se ubican entonces en bloques de almacenamiento vecinos, reduciendo así el número de bloques que deben escribirse en el disco.
Si tus sites Checkmk se crearon con una edición comercial en una versión anterior a 1.2.8, quizá quieras comprobar si tus datos de medición se convirtieron alguna vez al formato actual, mucho más eficiente. Si los datos siguen almacenados en formato PNP, puedes convertirlos al formato Checkmk aplicando una regla como la que se muestra en el conjunto de reglas anterior.
Aquí también necesitarás el comando cmk --convert-rrds
y, de nuevo, detén siempre tu site antes de convertir los RRD existentes.
OMD[mysite]:~$ cmk -v --convert-rrds
myhost123:
Uptime PNP -> CMC..converted.
WARNING: Dupliate RRDs for stable/Uptime. Use --delete-rrds for cleanup.
OMD mysite apache PNP -> CMC..converted.
WARNING: Dupliate RRDs for stable/OMD mysite apache. Use --delete-rrds for cleanup.
fs_/home/user PNP -> CMC..converted.
WARNING: Dupliate RRDs for stable/fs_/home/user. Use --delete-rrds for cleanup.
OMD mysite apache PNP -> CMC..converted.
WARNING: Dupliate RRDs for stable/OMD mysite apache. Use --delete-rrds for cleanup.
Memory PNP -> CMC..converted.
...
Puedes ver por la advertencia que Checkmk al principio deja inalterados los archivos existentes. Esto te permite, en caso de duda, volver a este formato de datos original, ya que no es posible una conversión en sentido inverso. La opción--delete-rrds
garantiza que no se cree esta copia, o que se elimine posteriormente. Puedes realizar el borrado manualmente más tarde, utilizando de nuevo el comando:
OMD[mysite]:~$ cmk -v --convert-rrds --delete-rrds
9.4. El daemon de caché RRD (rrdcached)
Para reducir (drásticamente) el número de accesos de escritura a una unidad de disco, se puede utilizar un servicio auxiliar: el daemon de caché RRD (rrdcached
). Es uno de los servicios que se inician al arrancar un site:
OMD[mysite]:~$ omd start
Temporary filesystem already mounted
Starting agent-receiver...OK
Starting mkeventd...OK
Starting liveproxyd...OK
Starting mknotifyd...OK
Starting rrdcached...OK
Starting cmc...OK
Starting apache...OK
Starting dcd...OK
Starting redis...OK
Initializing Crontab...OK
Todos los nuevos valores medidos para los RRD se envían desde el Checkmk Micro Core (ediciones comerciales) o desde el NPCD (Checkmk Raw) al rrdcached
. Éste no escribe los datos directamente en los RRD, sino que los retiene en la memoria principal para escribirlos posteriormente como una colección en el RRD correspondiente. De este modo se reduce notablemente el número de accesos de escritura a la unidad de disco (¡o a la SAN!).
Para que no se pierdan datos en caso de reinicio, las actualizaciones se escriben además en archivos de registro del diario. Estos también son accesos de escritura, pero como los datos se ordenan secuencialmente, generan poca IO.
Para que el daemon de caché RRD pueda trabajar con eficacia, necesita mucha memoria principal. La cantidad necesaria depende del número de RRD y del tiempo que deban almacenarse en caché los datos. Esto último puede definirse en el archivo~/etc/rrdcached.conf
. La configuración estándar es almacenar durante 7200 segundos (dos horas) -el usuario puede personalizar este valor- más un intervalo aleatorio de 0-1800 segundos. Este retraso aleatorio por RRD evita la escritura "pulsada" y garantiza que la IO se distribuya regularmente en el tiempo:
# Tuning settings for the rrdcached. Please refer to rrdcached(1) for
# details. After changing something here, you have to do a restart
# of the rrdcached (reload is not sufficient)
# Data is written to disk every TIMEOUT seconds. If this option is
# not specified the default interval of 300 seconds will be used.
TIMEOUT=3600
# rrdcached will delay writing of each RRD for a random
# number of seconds in the range [0,delay). This will avoid too many
# writes being queued simultaneously. This value should be no
# greater than the value specified in TIMEOUT.
RANDOM_DELAY=1800
# Every FLUSH_TIMEOUT seconds the entire cache is searched for old values
# which are written to disk. This only concerns files to which
# updates have stopped, so setting this to a high value, such as
# 3600 seconds, is acceptable in most cases.
FLUSH_TIMEOUT=7200
# Specifies the number of threads used for writing RRD files. Increasing this
# number will allow rrdcached to have more simultaneous I/O requests into the
# kernel. This may allow the kernel to re-order disk writes, resulting in better
# disk throughput.
WRITE_THREADS=4
Activa una alteración de la configuración de este archivo con:
OMD[mysite]:~$ omd restart rrdcached
Stopping rrdcached...waiting for termination....OK
Starting rrdcached...OK
9.5. Archivos y directorios
Aquí tienes una vista general de los archivos y directorios más importantes asociados a los valores medidos y los RRD (todos los relacionados con el directorio de inicio del site):
Nombre de la ruta | Descripción |
---|---|
|
RRDs en formato Checkmk |
|
RRDs en el formato antiguo (PNP) |
|
Archivos de registro del daemon de caché RRD |
|
Archivo de registro del daemon de caché RRD |
|
Archivo de registro del núcleo de Checkmk (contiene mensajes de error sobre los RRD, si procede) |
|
Configuración del daemon de caché RRD |