Bisher habe ich munin benutzt, ich dachte eigentlich für unseren kleinen Hobby Rootserver ist das ausreichend. Allerdings gibt es Situationen, die einem schon die Grenzen von Munin aufzeigen. Ein großer Nachteil ist z.B. das Peaks im laufe der Zeit immer mehr verwässern und sogar im Grundrauschen untergehen können. Das ist normal für diese Art von Tool, trotzdem kann es ärgerlich sein, wenn man ein vergangenes Ereignis, das sagen wir 6 Monate zurückliegt noch einmal ansehen möchte, um Vergleiche mit einem aktuellem Problem anzustellen.
Es soll also etwas her, was seine Daten in einer Datenbank hält und möglichst das zoomen in den Grafiken erlaubt. Selbst schreiben, mit aktuellen Libraries ist ziemlich aufwändig und nicht mal eben so gemacht, also bin ich auf die Suche gegangen und habe mir zwei Tools angesehen, die diese Voraussetzungen erfüllen und Open Source und GPL lizenziert sind.
Das erste tool ist Zabbix, allerding ist die Version im Wheezy Repository etwas alt, also habe ich den aktuellen Stable Source genommen und relativ schnell übersetzt, das konfigurieren empfand ich allerdings als ziemlich aufwändig, so dass ich nach den ersten zwei Grafiken nach einem anderen Tool schielte. Das war Cacti.
Hier ist der Unterschied zwischen der Version in Wheezy und der aktuellen Version praktisch nicht vorhanden, deshalb reichte mit eine Installation via apt-get install.
Soweit die Vorgeschichte, auch Cacti ist nicht ganz mühelos zu konfigurieren, kein Wunder, es ist ebenfalls für ganze Rechenzentren und Serverfarmen gedacht. Für unsere Zwecke ist es etwas oversized, aber gut zu erlernen, wenn man die ersten paar Grafiken erzeugt hat.
Erstes Login via localhost/cacti- Initial Login admin:admin; neues Passwort vergeben;
die ersten Grafiken werden erst nach aktivieren in den data source auch generiert, obwohl in der Äbersicht steht, sie seien aktiviert. (insgesamt 10 Minuten warten, nach dem ersten generieren sind die Felder noch NaN
Scripte liegen hier: /usr/share/cacti/site/scripts
Dort werden auch die Scripte von externen Templates gelagert.
Das heißt, ein Paket wie z.B. das ziemlich coole von Percona http://www.percona.com/downloads/percona-monitoring-plugins/ wird lokal ausgepackt, die Scripte in den oben angegebenen Pfad kopiert und die gewünschten Templates per cacti Webinterface importiert.
Ein bischen gewöhnungsbedürftig ist die Vorgehensweise, neuen Graphen in seinen Tree zu bekommen, auch die sortierte Anzeige ist nicht optimal.
Meine Schritte einen neuen Graphen zu etablieren: (Voraussetzung, alle Data und Graph Templates sind schon installiert.)
Notationssyntax bezieht sich auf die im Kopf eingeblendete Link->Spur
Anlegen eines neuen Items:
- Console ->Data Sources -> Add
Das passende Data Template auswählen (die Percona DataTemplates haben am Ende ein DT)
Host auswählen und <Create>
- Console -> Graph Management -> Add
Das gewünschte Graphic Template auswählte (die Percona Graphic Templates haben am Ende ein GT..sinnvoll.
Nicht vergessen, den gewünschten Host auszuwählen. Mit <create> speichern.
- Console -> Graph Management -> Edit (landet man automatisch nach create)
einfach auf save, es sei denn, man möchte weitere unteranzeigen aktivieren
- Console -> Data Templates
Das zum ausgewählten Graphic Template passende Data Template auswählen.
(Die Percona Data Templates haben immer ein DT am Ende und heißen wie die Graphic Templates)
sorgfältig optionen durchgehen und bei z.B. Mysql Äberwachung den angelegten DB user und PW angeben
Speichern nicht vergessen.
- Console -> Devices-> Edit
im Localhost unter Associated Graph Templates
add Graphic Template (das neu eingerichtete Graphic Template hinzufügen)
Die Graphic wird nun bereits angezeigt, 10 Minuten warten ist sinnvoll.
Ps: Wenn man also ein paar Graphen generiert hat, kommt der Wunsch auf, sie zu sortieren. Da hapert es allerdings sehr bei Cacti.
Meine Lösung ist einfach mehrere Trees anzulegen und die Items in der Reihenfolge hinzuzufügen, in der sie zu sehen sein sollen. (natural Order)
Anlegen eines Trees:
- Console -> Graph Trees (add)
Name (z.B. Datenbanken) eingeben und Natural Ordering auswählen
- Console -> Graph Trees (edit Datenbanken) ->add Tree Items
als ersten Eintrag am Besten einen Header anlegen (Tree Item Type Header), z.B. Mysql nennen
(Wer nur eine Datenbank Engine hat, braucht das natürlich nicht unbedingt
- Mit add Tree Item Type Graph kann un die erste Grafik hinzugefügt werden.
diesen Schritt wiederholt man für jeden gewünschten Graphen
- Kontrolle: Graphs -> Tree -> Datenbanken -> Mysql
es sollte der neue Baum angezeigt werden.