monit

monit restartet (er kann auch jede beliebige andere Aktion ausfühern) Dienste automatisch wenn bestimmte Konditionen zutreffen, wie z.B. der daemon läuft amok und frisst CPU oder Speicher, die systemlast im allgemeinen ist zu hoch, er stirbt ganz einfach, eine (z.B. Konfig) Datei ändert sich oder ein anderer Dienst wird durchgestartet von dem der jeweilige abhängt uvm. und leistet so u.a. einen guten Beitrag zur hochverfügbarkeit. Nebenbei lässt es sich noch als IDS „mißbrauchen“ da es timestamps und checksummen von Dateien überwachen kann.
Über jede Aktion informiert monit per mail, was manchmal unnötig/ungewollt ist. Diese Notifizierung kann man aber abschalten!

„monit“ weiterlesen

mysqltuner und tuning-primer

Das tuning/optimieren einer MySQL-Datenbank kann eine enorme performance verbesserung bringen. Hierfür gibt es u.a. folgende zwei Scripte die die Datenbank analysieren und recht nützliche Empfehlungen ausgeben.

mysqltuner.pl ist ein, Perlscript mit dem eine MySQL Datenbank auf optimierungspotential hin untersuchen lassen kann. Es werden keine Änderungen am System vorgenommen sondern nur eine Analyse gefahren.
Zu haben ist die Originalversion (vom 15.09.2009) hier: http://mysqltuner.pl – welche auch schon gute Dienste tut.
Eine Weiterentwicklung (fork) ist hier zu haben: https://launchpad.net/mysqltuner/.

tuning-primer.sh tut das selbe jedoch als Shellscript. Zu haben ist es hier: http://www.day32.com/MySQL/tuning-primer.sh

Es empfiehlt sich beide scripte frühestens nach 48 Stunden uptime der Datenbank auszuführen. Zudem würde ich beide Scripte und nicht nur eines der beiden, konsultieren.

Hier ist noch die MySQL Doku zur Optimierung

OMD – Die Open Monitoring Distribution

… basierend auf Nagios.
OMD möchte ein All-in-one-glücklich Paket sein. Es beinhaltet, neben nagios (z.Zt. in version 3.2.2), u.a.: nagvis, pnp4nagios, nagios-plugins, check-mk, dokuwiki, nsca, Multisite und Thruk.
Das Hauptfeature, neben einer relativ einfachen installation (gegenüber einer händischen all dieser Tools), ist das man mehrere Instanzen (sites genannt) unabhängig voneinander parallell laufen lassen kann. Nützlich um endweder anderen Abteilungen oder Kunden jeweils ein unabhängiges Überwachungstool, samt Statistiken, Reporting und Dokumentation, in die Hand zu geben.

„OMD – Die Open Monitoring Distribution“ weiterlesen

MySQL – howto bulk update tables

Aus gegebenem Anlass…
Es gibt Situationen da muss man ein Wort oder Satz in allen Einträgen, eines (MySQL basierten) CMS, ändern. Das heißt, man muss alle Einträge in einer MySQL-Tabelle ändern. Das kann, wenn das zu ändernde Wort oder der Satz mehr als 30 mal vorkommt, durchaus in Arbeit – in Sisyphusarbeit – ausarten.
Hierfür gibt es das wunderbare „REPLACE“:

mysql> UPDATE `tablename` SET `row` = REPLACE(row, ’searchword‘, ‚replace word‘);

Beispiel:
mysql> UPDATE `posts` SET `post_content`= REPLACE(post_content, ‚ Sven ‚, ‚ Sven Weise ‚);

Für die Doku-Fetischisten 😉 unter uns: MySQL Documentation: REPLACE Syntax