meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
seguridad:monitorizacion:zabbix3:housekeeping [162017/10/ 14:09] lcseguridad:monitorizacion:zabbix3:housekeeping [182023/01/ 13:46] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +{{tag> zabbix housekeeping borrar clean mysql datos obsoletos }}
 +===== HouseKeeping =====
 +Una de los mayores problemas que podemos tener es que nuestra base de datos de zabbix se coma el espacio en disco disponible de nuestra máquina. 
 +Por ejemplo si hacemos una búsqueda en nuestro sistema de ficheros con un tamaño grande <sxh> sudo find / -type f -size +1000M -print </sxh>
  
 +Nos encontramos que las tablas /var/lib/mysql/zabbix/history_uint.ibd y /var/lib/mysql/zabbix/trends_uint.ibd son ficheros muy grandes.  Normalmente es un síntoma de que los parámetros de almacenamiento de datos los tenemos definidos en unos valores altos y en muchos casos no hace falta almacenar tanto.
 +
 +Para cambiar el número de eventos y alertas que mantenemos guardados tenemos que ir a al menú **Administration->General** y en el desplegable de la derecha seleccionar **Housekeeping**.
 +
 + Nos aparecerá una pantalla donde podemos elegir el número de días que queremos mantener almacenados
 +{{ :seguridad:monitorizacion:zabbix3:housekeeping.png?nolink&900 |}}
 +
 +==== Borrar datos obsoletos ====
 +Para liberar espacio podemos ejecutar un script que elimine los datos anteriores a una fecha determinada  
 +
 +script original de [[http://www.michaelfoster82.co.uk/zabbix-database-cleanup-delete-old-data/| Michael Foster]]
 +<sxh>
 +-- intervals in days
 + SET @history_interval = 7;
 + SET @trends_interval = 90;
 +
 +DELETE FROM alerts WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@history_interval * 24 * 60 * 60);
 +DELETE FROM acknowledges WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@history_interval * 24 * 60 * 60);
 +DELETE FROM events WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@history_interval * 24 * 60 * 60);
 +
 +DELETE FROM history WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@history_interval * 24 * 60 * 60);
 +DELETE FROM history_uint WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@history_interval * 24 * 60 * 60);
 +DELETE FROM history_str WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@history_interval * 24 * 60 * 60);
 +DELETE FROM history_text WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@history_interval * 24 * 60 * 60);
 +DELETE FROM history_log WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@history_interval * 24 * 60 * 60);
 +
 +DELETE FROM trends WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@trends_interval * 24 * 60 * 60);
 +DELETE FROM trends_uint WHERE (UNIX_TIMESTAMP(NOW()) - clock) > (@trends_interval * 24 * 60 * 60);
 +</sxh>
 + 
 +Copiamos el script a /var/lib/mysql/borrardatosviejos.sql
 +
 +Ejecutamos el script mediante alguno de los siguientes métodos:
 +  * mysql -u usuario -p zabbix < borrardatosviejos.sql
 +  * mysql -u usuario -p zabbix y después  source borrrardatosviejos.sql;
 +  * mysql -u usuario -p zabbix y después \. borrardatosviejos.sql;
 +
 +===== Referencias =====
 +  * http://machinenoise.org/2014/cleaning-up-the-zabbix-database.html
 +  *