Translations of this page:

NDO Performance Tuning

Verhalten der NDO-Datenbank

Ansätze für Optimierung

Verringern der Datensätze

Cleaning alter Einträge aus der Datenbank

Löschen von MySQL-Log-Dateien im Filesystem

Durch den Eintrag „event_broker_options=-1“ (ist in meiner Konfig notwendig, weil ich mit den empfohlenen Einstellungen in NagVis keine Hosts und Services auswählen kann) in der nagios.cfg kann es zu einem enormen Anwachsen der MySQL-Logs kommen (meist zu finden bei einer Standardinstallation von MySQL unter /usr/local/mysql/var/; heißen meißt „mysql-bin.[laufende-Nummer]). Mit Hilfe folgendes Shell-Skripts und einer entsprechenden Planung in der Crontab des Users root werden mit MySQL-Bortmitteln nicht mehr benötigte Log-Dateien aus dem Filesystem entfernt.

#!/bin/bash
#
# erstellt von WolverineJR

MYSQL_VAR_PATH=/usr/local/mysql/var
MYSQL_BIN_PATH=/usr/bin
MAIL=[Mail-Adresse für Fehlermeldungen]
MYSQL-User=root

# does not work, when yesterday was last month
# let DAY_BEFORE=$(date +%d)-1
# PURGE_DATE=$(echo $(date +%Y-%m)-$DAY_BEFORE 01:00:00)
#
# better would be using a date function
PURGE_DATE=$(date '+%F %T' --date='yesterday 01:00')

$MYSQL_BIN_PATH/mysql -u $MYSQL-User -e "PURGE MASTER LOGS BEFORE '$PURGE_DATE';"
if [ $? -ne 0 ]; then
        echo "Waehrend des Purge-Laufes der MySQL-Datenbank des Nagios-Servers ist ein Fehler aufgetreten!" | mailx -s "Fehler wahrend Purge-Laufs" $MAIL
fi

Das Skript verbindet sich mit den angegebenen User-Daten gegen die MySQL-DB und veranlasst einen Purge aller Logs vor dem gestrigen Tag um 01:00 Uhr morgens.

Verbesserungen und/oder Korrekturen sind gern gesehen. ;-)

nagios/ndo/ndo_performance_tuning.txt · Zuletzt geändert: 2010/03/01 11:27 von cakuzo
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0