Forzar o deshacer «update» en RRDTool

RRDTool es una potentísima herramienta cuya función principal es la de almacenar datos en una base de datos que maneja planificación Round-Robin, y cuya finalidad es el almacenamiento temporal de datos, para poder ser mostrados a través de gráficas.

graf_rrdtool

Este software libre sólo permite la inserción de datos en orden cronológico. Esto es, que si has introducido un dato con una marca de tiempo «2008-January-01 00:30:00» e intentas insertar un dato que sea anterior a este… RRDTool no de permitirá hacer esta operación.

En realidad esto está pensado para que la actualización de datos sea «live» y siempre se actualice con datos ordenados cronológicamente.

Sin embargo, puede interesarte por cualquier circunstancia, deshacer un update o insertar un dato previo al último ya introducido.

He estado investigando y he encontrado 2 opciones para deshacer un update.

  1. Volver a construir la base de datos y reinsentar los datos sin introducir el valor que queremos deshacer. Esta es la opción más fácil de pensar, pero más costosa de hacer.
  2. Se puede convertir la base de datos a un formato XML mediante el comando $ rrdtool dump base_de_datos.rrd base_de_datos.xml con lo que obtenemos un fichero que podemos editar, y modificar a nuestro gusto. No es una tarea trivial, y mucho menos si tenemos varias RRA’s… Una vez editado, para poder convertir la base de datos al formato original, usaremos el siguiente comando: $ rrdtool restore base_de_datos.xml base_de_datos.rrd con lo que conseguimos volver al estado que queramos de la BBDD.

Lo ideal sería no tener que recurrir a esto, pero quizás nos pueda sacar de algún que otro problemilla.

You may also like

Leave a comment