Wie kann ich mit CACTI ein Diagramm nur für Geschäftszeiten anzeigen?

7

Mir ist aufgefallen, dass ich mit CACTI nur einen ununterbrochenen Zeitraum anzeigen kann. Ich frage mich, ob es möglich ist, ein benutzerdefiniertes Diagramm zu erstellen, in dem nur die Geschäftszeiten während eines Zeitraums (einer Woche, eines Monats usw.) angezeigt werden.

Zum Beispiel möchte ich in der Lage sein, ein Diagramm mit einem durchschnittlichen eingehenden Verkehr zwischen 8 und 18 Uhr an 5 Werktagen pro Woche (Montag bis Freitag) des letzten Monats anzuzeigen.

Ich habe versucht, ein Skript für RRDtool zu konfigurieren, kenne aber nicht die richtige Syntax. Nach mehreren Tests habe ich gesehen, dass es möglich ist, verschiedene Graphen miteinander zu überlagern. Ich habe darüber nachgedacht, den Durchschnitt aller dieser Diagramme zu berechnen, aber ich weiß nicht, wie ich das machen soll.

Ich möchte Folgendes konfigurieren:

--startday 20120604+8h
--endday 20120604+18h
monday:          --start startday --end endday
tuesday:         --start startday+24h --end endday+24h
wednesday:       --start startday+48h --end endday+48h
thursday:        --start startday+72h --end endday+72h
friday:          --start startday+96h --end endday+96h

DEF:monday=router.rrd:gi0/1:traffic_mon:AVERAGE
DEF:tuesday=router.rrd:gi0/1:traffic_tue:AVERAGE
DEF:wednesday=router.rrd:gi0/1:traffic_wed:AVERAGE
DEF:thursday=router.rrd:gi0/1:traffic_thu:AVERAGE
DEF:friday=router.rrd:gi0/1:traffic_fri:AVERAGE

DEF:traffic_mon:traffic_tue:traffic_wed:traffic_thu:traffic_fri:AVERAGE

Ich würde jede Hilfe schätzen.

Vielen Dank.

Blast Raider
quelle

Antworten:

3

Höchstwahrscheinlich kann Cacti selbst diese Art von Grafik nicht für Sie erstellen. Sie müssen Ihr RRD-Diagramm manuell mit erstellen rrdgraph. Die vollständige Lösung ist ziemlich kompliziert, aber das Wesentliche ist, dass Sie eine CDEFmit einer RPN-Gleichung erstellen, die die Daten außerhalb der Geschäftszeiten auf Null setzt.

Ein sehr einfaches Beispiel, das die Stunden 2012-01-31 18:00:00 UTC bis 2012-02-01 08:00:00 UTC entfernt, wäre:

DEF:ds0=/path/to/data.rrd:ds0:AVERAGE
CDEF:officehours=TIME,1328032800,GT,0,1,IF,TIME,1328083200,LT,0,1,IF,MAX,1,UNKN,IF
CDEF:dslimit=ds0,officehours,*
AREA:dslimit#00cc00:"Value "

Das CDEFfor officehoursprüft grundsätzlich, ob die Zeit der Probe zwischen 18 Uhr und 8 Uhr liegt. Wenn ja, ist der Wert UNKN. Wenn dies nicht der Fall ist, ist der Wert 1. Multiplizieren Sie diesen Wert mit dem Wert, und Sie erhalten die tatsächlichen Werte während der Bürozeiten und die Unbekannten außerhalb der Bürozeiten. Ein Diagramm würde ein Loch außerhalb der Bürozeiten anzeigen und Durchschnittswerte, Maxima und Minuten, die über die Nicht- Bürostundenwerte ausgegeben werden GPRINToder PRINTdiese nicht berücksichtigen.

Sie müssen CDEFfür jede Zeit außerhalb der Bürozeit, die Sie herausfiltern möchten, eine einrichten. Die Zeit ist seit der Epoche in Sekunden angegeben. Wenn Sie also beispielsweise vom 1. Januar bis 1. Februar grafisch darstellen, haben Sie in der Größenordnung von 20 verschiedenen Zeiträumen Zeit, die Sie herausfiltern müssen. RRD hat sehr gute Sprach-Hooks, sodass Sie ein einfaches Perl- oder Python-Skript schreiben können, um diese Grafiken im laufenden Betrieb für Sie zu generieren.

Lesen Sie über die rrdgraph, rrdgraph_rpnund rrdgraph_examplesman - Seiten für weitere Details und Beispiele.

Jagd
quelle
-1

Dem CACTI-Poller geht der Cron aus.

*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1

Wenn Sie nur innerhalb der Arbeitszeit abrufen möchten, können Sie dies in cron konfigurieren. Rrdtool zeigt jedoch die Lücken in der Grafik an, in denen keine Abfrage durchgeführt wurde.

Sirch
quelle
Kann ich nur den durchschnittlichen Verkehr abrufen? Es macht mir nichts aus, wenn die Grafiken nicht gut angezeigt werden.
Blast Raider
Nicht für Kakteen, wenn Sie die rrd-Daten haben, im Gegensatz zu dem, was womble sagt, ja, rrdtool funktioniert so, Sie haben eine große Kontrolle darüber, was Sie sehen können. Schauen Sie sich oss.oetiker.ch/rrdtool/doc an /rrdgraph_examples.en.html
Sirch
Vielen Dank für die rrdgraph-Beispiele. Ich möchte 5 Tage von 8 bis 18 Uhr zusammen ansehen und den Gesamtdurchschnitt berechnen.
Blast Raider
Ich habe die Frage bearbeitet
Blast Raider
Sie können verschiedene Zeiträume nicht überlagern. In rrdtool-Diagrammen ist die Zeit von einem Startpunkt bis zu einem Endpunkt linear. Alle Grafiken, die angezeigt werden sollen, befinden sich entlang dieser durchgehenden Linie. Sie können Abschnitte und Durchschnittswerte für diesen Abschnitt herausziehen. Was Sie jetzt verlangen ... nein, so funktioniert rrdtool nicht.
Sirch
-2

Nein, so funktioniert rrdtool nicht.

womble
quelle
1
Mit rrdtool können Sie diskrete Datenbereiche anzeigen. Kakteen haben möglicherweise nicht die Kapazität dazu.
Sirch
@ Sirch: Wie? Die rrdgraphManpage erwähnt nichts.
womble