So halten Sie effektive historische Protokolle mit Graphit, Carbon und Aufzeichnungen unter CentOS 7

Einführung

Überwachungssysteme empfangen und sammeln große Datenmengen, während sie ausgeführt werden. Je länger ein Überwachungssystem läuft, desto mehr Daten werden erfasst.

Die meisten Überwachungssysteme verfügen nicht über die Tools zur langfristigen Datenanalyse und -speicherung. Sie behalten entweder alle Lesevorgänge bei, die zu Speicherproblemen führen, oder entfernen alte Daten bei Erreichen eines bestimmten Schwellenwerts, sodass wir die Systemleistung nicht über einen längeren Zeitraum analysieren können.

Einige Überwachungssysteme wie Zabbix bieten die Möglichkeit, sowohl genaue als auch gemittelte Datenwerte zu speichern, ihre Anpassungsmöglichkeiten sind jedoch sehr eingeschränkt.

Time-Seriendatenbanken helfen uns, das Problem des Speicherns großer Mengen historischer Daten zu lösen. Eine Zeitreihe ist nur eine Folge von Datenpunkten im Zeitverlauf, und eine Zeitreihendatenbank ist für die Speicherung dieser Art von Daten optimiert.

In diesem Tutorial zeigen wir Ihnen, wie Sie Graphite installieren und konfigurieren - ein Tool zum Speichern numerischer Zeitreihendaten und zum Rendern von Diagrammen dieser Daten. Es besteht aus drei Softwarekomponenten:

  • * Carbon * - ein Daemon, der auf Zeitreihendaten wartet und mithilfe eines Speicher-Backends auf die Festplatte schreibt

  • * Whisper * - eine einfache Datenbank ähnlich wie RRDTool zum Speichern von Zeitreihendaten

  • * Graphite-Web * - eine Django-Webanwendung, die Grafiken rendert und eine funktionsreiche Visualisierung und Analyse der erhaltenen Daten bietet

In unserer endgültigen Konfiguration sendet unser Überwachungsagent Datenpunkte an Carbon, das die Komponenten Carbon-Relay, Carbon-Aggregator und Carbon-Cache enthält. Carbon schreibt die Daten in eine Whisper-Datenbank. Graphite-Web zeigt die Daten auf einer Webseite an, die von Benutzern eingesehen werden können.

Voraussetzungen

Stellen Sie vor dem Start sicher, dass Sie die folgenden Schritte ausgeführt haben:

  • Stellen Sie ein CentOS 7-Droplet bereit

  • Fügen Sie einen sudo-Benutzer hinzu, indem Sie der Initial Server Setup folgen.

  • Add swap space auf Ihrem Server; Das Beispiel 4 GB Menge ist in Ordnung

  • Aktivieren Sie das EPEL-Repository (Extra Packages for Enterprise Linux):

sudo yum -y install epel-release

Aktualisieren Sie Ihr System:

sudo yum -y update

Weitere Informationen zum EPEL-Repository finden Sie unter fedoraproject.org.

Schritt 1 - Installieren von Graphit und Carbon

Installieren Sie die erforderlichen Anwendungen, einschließlich der Python-bezogenen Tools und des Apache-Webservers:

sudo yum install httpd mod_wsgi python-pip python-devel git pycairo libffi-devel

Holen Sie sich die neuesten Quelldateien für Graphite und Carbon vom GitHub:

cd /usr/local/src
sudo git clone https://github.com/graphite-project/graphite-web.git
sudo git clone https://github.com/graphite-project/carbon.git

Überprüfen Sie die Anforderungen:

python /usr/local/src/graphite-web/check-dependencies.py

Sie sehen die folgenden Meldungen:

[REQUIRED] Unable to import the 'whisper' or 'ceres' modules, please download this package from the Graphite project page and install it.

   . . .

   6 optional dependencies not met. Please consider the optional items before proceeding.
   5 necessary dependencies not met. Graphite will not function until these dependencies are fulfilled.

Sie müssen also fehlende Module installieren. Installiere zuerst + gcc:

sudo yum install gcc

Dann installieren Sie die Module:

sudo pip install -r /usr/local/src/graphite-web/requirements.txt

Überprüfen Sie dann die Version des Pakets + django-tagging +:

pip show django-tagging

Wenn die Version des Pakets kleiner als 0.3.4 ist, sollten Sie es aktualisieren:

sudo pip install -U django-tagging

Überprüfen Sie die Anforderungen erneut:

python /usr/local/src/graphite-web/check-dependencies.py

Jetzt sollten Sie die folgende Ausgabe sehen:

[OPTIONAL] Unable to import the 'ldap' module, do you have python-ldap installed for python 2.7.5? Without python-ldap, you will not be able to use LDAP authentication in the graphite webapp.
[OPTIONAL] Unable to import the 'python-rrdtool' module, this is required for reading RRD.
2 optional dependencies not met. Please consider the optional items before proceeding.
All necessary dependencies are met.

In diesem Lernprogramm benötigen wir keine LDAP-Authentifizierung oder die RRD-Datenbank.

Carbon installieren:

cd /usr/local/src/carbon/
sudo python setup.py install

Installieren Sie die Webanwendung:

cd /usr/local/src/graphite-web/
sudo python setup.py install

Jetzt sind alle Komponenten installiert und Sie können Graphite konfigurieren.

Graphite enthält mehrere Beispielkonfigurationsdateien. Sie müssen sie nur wie im nächsten Schritt gezeigt kopieren und bearbeiten.

Schritt 2 - Carbon konfigurieren

Carbon beinhaltet mehrere Dienstleistungen:

  • + carbon-cache + - akzeptiert Metriken und schreibt sie auf die Festplatte

  • + carbon-relay + - repliziert Daten

  • + carbon-aggregator + - wird vor + carbon-cache + ausgeführt, um Metriken im Laufe der Zeit zu puffern, bevor sie an Whisper weitergeleitet werden

Die letzten beiden sind optional.

Carbon-Konfigurationsdatei

Die Hauptkonfigurationsdatei ist "+ carbon.conf +". Es definiert die Einstellungen für jeden Carbon Daemon.

Machen wir eine Kopie der Beispieldatei:

sudo cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf

Jede Einstellung in dieser Datei wird durch informative Kommentare in der Datei selbst dokumentiert. Sie können sie überprüfen, aber für unser Tutorial sind die Standardeinstellungen geeignet.

Speicherschemata

Als nächstes müssen Sie die Datei + storage-schemas.conf bearbeiten, in der die Aufbewahrungsraten für das Speichern von Metriken beschrieben werden. Es ordnet metrische Pfade Mustern zu und teilt Whisper mit, wie oft und wie viele Datenpunkte gespeichert werden sollen.

Die Größe des von Daten belegten Speicherplatzes hängt von den Einstellungen in dieser Datei ab.

Erstellen Sie zunächst eine Kopie der Beispieldatei:

sudo cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf

Öffnen wir die Datei zum Bearbeiten:

sudo vi /opt/graphite/conf/storage-schemas.conf

Standardmäßig enthält es zwei Abschnitte:

[carbon]
pattern = ^carbon\.
retentions = 60:90d

[default_1min_for_1day]
pattern = .*
retentions = 60s:1d

Jeder Abschnitt hat:

  • Ein Name in eckigen Klammern

  • ein regulärer Ausdruck, angegeben nach + pattern = +

  • eine Retention Rate Line, angegeben nach + retentions = +

Fügen wir zum Beispiel einen neuen Abschnitt hinzu:

[zabbix_server]
pattern = ^Zabbix_server\.
retentions = 30s:7d,5m:30d,10m:1y

Das Muster für reguläre Ausdrücke stimmt mit jeder Metrik überein, die mit "+ Zabbix_server +" beginnt. Darüber hinaus werden in diesem Beispiel mehrere Aufbewahrungsfristen verwendet:

  • Jeder Datenpunkt entspricht 30 Sekunden und wir möchten bis zu 7 Tage Daten mit einer solchen Häufigkeit speichern

  • Alle historischen Daten der letzten 30 Tage werden in 5-Minuten-Intervallen gespeichert

  • Alle historischen Daten des letzten Jahres werden in 10-Minuten-Intervallen gespeichert

Whisper führt ein Downsampling von Metriken durch, wenn die Schwellenwerte für die Aufbewahrung überschritten werden.

Speicheraggregation (optional)

Als nächstes benötigen Sie möglicherweise die Datei "+ storage-aggregation.conf", die definiert, wie Daten zu Retentionen mit geringerer Genauigkeit aggregiert werden. Diese Datei ist optional. Ist dies nicht der Fall, werden die Standardeinstellungen verwendet.

Erstellen Sie eine Kopie der Beispieldatei:

sudo cp /opt/graphite/conf/storage-aggregation.conf.example /opt/graphite/conf/storage-aggregation.conf

Schauen wir uns die Datei an:

sudo vi /opt/graphite/conf/storage-aggregation.conf

Standardmäßig enthält es 4 Abschnitte:

[min]
pattern = \.min$
xFilesFactor = 0.1
aggregationMethod = min

[max]
pattern = \.max$
xFilesFactor = 0.1
aggregationMethod = max

[sum]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum

[default_average]
pattern = .*
xFilesFactor = 0.5
aggregationMethod = average

Ähnlich wie bei der Datei "+ storage-schemas.conf " hat jeder Abschnitt einen Namen in eckigen Klammern und einen regulären Ausdruck, der nach " pattern = +" angegeben wird. Jeder Abschnitt verfügt außerdem über zwei zusätzliche Parameter:

  • + xFilesFactor + gibt an, welcher Bruchteil der Slots der vorherigen Aufbewahrungsebene Nicht-Null-Werte haben muss, um zu einem Nicht-Null-Wert zu aggregieren. Der Standardwert ist "+ 0,5 +"

  • + aggregation Method gibt die Funktion an (` + average`, + sum,` + min + , + max + , + last + `), die zum Aggregieren von Werten für die nächste Aufbewahrungsebene verwendet wird. Die Standardeinstellung ist "+ Durchschnitt +"

Wenn die Daten das nächste Aufbewahrungsintervall erreichen, summiert Graphite standardmäßig alle Metriken, die mit "+ .count " enden, ermittelt das Minimum / Maximum aller Metriken, die mit " .min / .max +" enden, und mittelt alles andere.

Relais (optional)

+ carbon-relay + wird für Replikation und Sharding verwendet. + carbon-relay + kann zusammen mit (oder anstelle von) + carbon-cache + ausgeführt werden und eingehende Metriken an mehrere Back-End-Caches + `weiterleiten, die auf verschiedenen Ports oder Hosts ausgeführt werden.

Um die Datenübertragung zu anderen Hosts zu konfigurieren, müssen Sie die entsprechende Konfigurationsdatei bearbeiten. Erstellen Sie zunächst eine Kopie der Beispieldatei:

sudo cp /opt/graphite/conf/relay-rules.conf.example /opt/graphite/conf/relay-rules.conf

Öffnen Sie die Datei zum Bearbeiten:

sudo vi /opt/graphite/conf/relay-rules.conf

Standardmäßig enthält es einen einzelnen Abschnitt, der die Daten an localhost sendet:

[default]
default = true
destinations = 127.0.0.1:2004:a, 127.0.0.1:2104:b

(+: a + und +: b + bedeutet, dass Sie auf demselben Host mehrere Instanzen von Carbon-Cache ausführen können)

Das folgende Beispiel zeigt die Einstellungen für "+ carbon-relay ", um Daten von " Zabbix_server +" an einen Host und alle anderen Daten an drei andere Hosts zu senden:

[zabbix]
pattern = ^Zabbix_server\.
destinations = 10.0.0.4:2004

[default]
default = true
destinations = 127.0.0.1:2004, 10.0.0.2:2024, 10.0.0.3:2004

Das Muster für reguläre Ausdrücke im ersten Abschnitt stimmt mit jeder Metrik überein, die mit "+ Zabbix_server " beginnt, und alle Daten werden mit der IP-Adresse " 10.0.0.4 +" an den Host übertragen. Alle anderen Daten werden an localhost und zwei andere Hosts übertragen.

Alle in "+ relay-rules.conf " aufgeführten Ziele müssen auch in der Datei " / opt / graphite / conf / carbon.conf " in der Einstellung " DESTINATIONS " im Abschnitt " [relay] +" aufgeführt werden :

sudo vi /opt/graphite/conf/carbon.conf

Wir haben drei neue IPs hinzugefügt:

[relay]
...
DESTINATIONS = 127.0.0.1:2004, , ,
...

Aggregation (optional)

+ carbon-aggregator + wird zum Puffern von Metriken im Zeitverlauf verwendet, bevor diese an die Whisper-Datenbank gemeldet werden. Es kann vor + Carbon-Cache ausgeführt werden. Mithilfe von Aggregationsregeln können Sie mehrere Metriken zusammenfassen, sodass nicht mehr viele Metriken in jeder URL zusammengefasst werden müssen.

Um die Datenaggregation zu konfigurieren, kopieren Sie zunächst die Beispieldatei:

sudo cp /opt/graphite/conf/aggregation-rules.conf.example /opt/graphite/conf/aggregation-rules.conf

Die Form jeder Zeile in dieser Datei sollte wie folgt sein:

() =

Dadurch werden alle empfangenen Metriken erfasst, die mit "+ input_pattern " übereinstimmen, um eine aggregierte Metrik zu berechnen. Die Berechnung erfolgt alle " Frequenz " Sekunden. Verfügbare Aggregationsmethoden sind: ` sum ` oder ` avg `. Der Name der aggregierten Metrik wird von " output_template " abgeleitet, wobei alle erfassten Felder von " input_pattern +" ausgefüllt werden.

Angenommen, Ihre Organisation verfügt über 25 Niederlassungen und Sie möchten die grafische Darstellung des gesamten Internetverkehrs erstellen.

  • collectd.monitoring-host.branch-01.if_octets.rx

  • collectd.monitoring-host.branch-02.if_octets.rx

  • collectd.monitoring-host.branch-03.if_octets.rx

  • collectd.monitoring-host.branch-25.if_octets.rx

Sie können die Daten jeder Zweigstelle speichern, für jede Zweigstelle ein Diagramm erstellen und dann summieren.

Diese Art von Operation ist jedoch teuer: Um das Zusammenfassungsdiagramm zu rendern, müssen Sie zuerst die 25 verschiedenen Metriken lesen, dann die Ergebnisse durch Anwenden der Summierungsfunktion kombinieren und schließlich das Diagramm erstellen.

Wenn Sie nur am gesamten Datenverkehr interessiert sind, können Sie die Werte vorberechnen. Dazu können Sie eine Regel definieren, die mit Metriken in einem regulären Ausdruck übereinstimmt, diese für einen bestimmten Zeitraum puffert, eine Funktion auf die gepufferten Daten anwendet und das Ergebnis in einer separaten Metrik speichert. Die Konfiguration sieht also wie folgt aus:

collectd.monitoring-host.branches.if_octets.rx (60) = sum collectd.monitoring-host.*.if_octets.rx

Bei dieser Konfiguration werden Metriken für 60 Sekunden gepuffert, mit der Summenfunktion kombiniert und in der neuen Metrikdatei gespeichert.

Schritt 3 - Carbon as a Service starten

Konfigurieren Sie die Init-Skripte von Carbon.

Kopieren Sie sie zuerst in das + / etc / init.d / + und machen Sie sie ausführbar:

sudo cp /usr/local/src/carbon/distro/redhat/init.d/carbon-* /etc/init.d/
sudo chmod +x /etc/init.d/carbon-*

Starte + carbon-cache:

sudo systemctl start carbon-cache

Wenn Sie sie verwenden möchten, starten Sie "+ Carbon-Relay" und "+ Carbon-Aggregator":

sudo systemctl start carbon-relay
sudo systemctl start carbon-aggregator

Die Konfiguration von Carbon ist abgeschlossen: Carbon läuft und ist bereit, die Daten zu empfangen. Sie können jetzt das Webinterface konfigurieren.

Schritt 4 - Konfigurieren der Graphite-Web-Anwendung

Graphite-Web ist die Django-Webanwendung, die unter Apache / mod_wsgi ausgeführt wird.

Kopieren Sie die Beispieleinstellungsdatei:

sudo cp /opt/graphite/webapp/graphite/local_settings.py.example /opt/graphite/webapp/graphite/local_settings.py

Öffnen Sie die Datei zum Bearbeiten:

sudo vi /opt/graphite/webapp/graphite/local_settings.py

Suchen Sie das + SECRET_KEY + und geben Sie einen eindeutigen Wert ein. Dies wird verwendet, um kryptografische Signaturen bereitzustellen. Sie können hier alles unterbringen, solange es einzigartig ist. Suchen Sie die + TIME_ZONE + - Aktualisierung auf die Zeitzone für die Installation. Lesen Sie bei Bedarf die Liste der Zeitzonen.

. . .

SECRET_KEY = ''

. . .

TIME_ZONE = ''

. . .

Initialisiere eine neue Datenbank:

cd /opt/graphite
sudo PYTHONPATH=/opt/graphite/webapp/ django-admin.py syncdb --settings=graphite.settings

Sie sehen die folgende Ausgabe. Die Eingabeaufforderung stellt Ihnen einige Fragen zum Erstellen eines Superuser-Kontos für die Datenbank:

   Operations to perform:
     Synchronize unmigrated apps: url_shortener, account, dashboard, tagging, events
     Apply all migrations: admin, contenttypes, auth, sessions
   Synchronizing apps without migrations:
     Creating tables...
       Creating table account_profile

     . . .

     Applying sessions.0001_initial... OK

   You have installed Django's auth system, and don't have any superusers defined.
   Would you like to create one now? (yes/no):
   Username (leave blank to use 'root'):
   Email address:
   Password:
   Password (again):
   Superuser created successfully.

Führen Sie den folgenden Befehl aus, um alle statischen Dateien in einem einzelnen Verzeichnis zu erfassen:

sudo PYTHONPATH=/opt/graphite/webapp/ django-admin.py collectstatic --settings=graphite.settings

Sie sehen die folgende Ausgabe. Beantworten Sie die Frage mit + yes +:

You have requested to collect static files at the destination
location as specified in your settings:

/opt/graphite/static

This will overwrite existing files!
Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel:
Copying '/opt/graphite/webapp/content/js/browser.js'
Copying '/opt/graphite/webapp/content/js/completer.js'
...
407 static files copied to '/opt/graphite/static'.

Stellen Sie das entsprechende Graphit her, das dem Benutzer "+ apache" gehört:

sudo chown -R apache:apache /opt/graphite/storage/
sudo chown -R apache:apache /opt/graphite/static/
sudo chown -R apache:apache /opt/graphite/webapp/

Zum Ausführen der Webanwendung benötigen Sie die Datei + graphite.wsgi +. Diese Datei enthält den Code + mod_wsgi +, der beim Start ausgeführt wird, um das Anwendungsobjekt abzurufen. Kopieren Sie die Beispieldatei:

sudo cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi

Konfigurieren Sie Apache. Weitere Informationen zu virtuellen Apache-Hosts im Allgemeinen finden Sie unter this tutorial. Kopieren Sie die virtuelle Beispielhostdatei von Graphite:

sudo cp /opt/graphite/examples/example-graphite-vhost.conf /etc/httpd/conf.d/graphite.conf

Öffnen Sie die Datei zum Bearbeiten:

   sudo vi /etc/httpd/conf.d/graphite.conf

Stellen Sie sicher, dass Ihr "+ Servername " auf Ihre Domain oder IP-Adresse eingestellt ist. Die Zeile " Alias ​​" sollte bereits korrekt gesetzt sein. Fügen Sie den ` <Directory> +` Block darunter hinzu.

. . .

ServerName

. . .

Alias /static/ /opt/graphite/static/

<Directory /opt/graphite/static/>
  Require all granted
</Directory>

Speichern und schließen Sie die Datei.

Schritt 5 - Passwortschutz für Graphit (empfohlen)

Standardmäßig kann jeder, der die Adresse des Servers kennt, auf dem die Webanwendung ausgeführt wird, alle Daten anzeigen. Um dies zu verhindern, können Sie den Passwortzugriff einstellen.

Erstellen Sie einen neuen Ordner und legen Sie die Berechtigungen fest:

sudo mkdir /opt/graphite/secure
sudo chown -R apache:apache /opt/graphite/secure

Verwenden Sie + htpasswd +, um einen neuen Benutzernamen und ein neues Kennwort zu erstellen, mit denen der Zugriff auf die Graphite-Web-Anwendung eingeschränkt wird. Im folgenden Beispiel können Sie sehen, wie Sie den Benutzer "++" erstellen und ein neues Passwort hinzufügen:

sudo htpasswd -c /opt/graphite/secure/.passwd
New password:
Re-type new password:
Adding password for user

Konfigurieren Sie Apache. In der Zeile "+ Benutzer erforderlich +" müssen Sie denselben Namen wie im vorherigen Schritt angeben:

sudo vi /etc/httpd/conf.d/graphite.conf

Fügen Sie diesen neuen + <Location> + Block an einer beliebigen Stelle im Hauptblock des virtuellen Hosts hinzu:

<Location "/">
    AuthType Basic
    AuthName "Private Area"
    AuthUserFile /opt/graphite/secure/.passwd
    Require user
</Location>

Speichern und schließen Sie die Datei.

Schritt 6 - Graphite-Web ausführen

Starten Sie den Apache-Dienst und fügen Sie ihn ein, um beim Booten zu starten:

sudo systemctl start httpd
sudo systemctl enable httpd

Die Installation ist abgeschlossen! Starten Sie Ihren Browser und rufen Sie die Adresse "+ http: /// +" auf.

Geben Sie den Benutzernamen und das Passwort ein, die Sie in Schritt 5 festgelegt haben.

Sie werden folgendes sehen:

Schritt 7 - Veröffentlichen von Metriken aus der Sammlung

Graphite kann Daten von vielen verschiedenen Überwachungsdiensten verwenden. In diesem Beispiel verwenden wir collectd. Es handelt sich um einen Daemon, der regelmäßig Systemleistungsstatistiken sammelt und Mechanismen zum Speichern oder Senden der Werte auf verschiedene Arten bereitstellt.

Weitere Informationen zu collectd finden Sie unter official site.

Installieren Sie collectd:

sudo yum install collectd

Die Konfigurationsdatei enthält viele Einstellungen. Öffnen Sie die Datei zum Bearbeiten:

sudo vi /etc/collectd.conf

Vervollständige das Folgende:

  • Stellen Sie das + Hostname + in den globalen Einstellungen ein. Dies kann ein beliebiger Name sein, der in der Weboberfläche zur Bezeichnung dieses Hosts verwendet wird.

Hostname
  • Deaktivieren Sie die Plugin-Einstellungen für + write_graphite +

LoadPlugin write_graphite
  • Bearbeiten Sie die Einstellungen im Block + <Plugin write_graphite> + wie folgt:

<Plugin write_graphite>
 <Node "">
   Host "localhost"
   Port ""
 Protocol "tcp"
LogSendErrors true
 Prefix ""

 StoreRates true
  AlwaysAppendDS false
 EscapeCharacter "_"
 </Node>
</Plugin>

Die wichtigsten Parameter des Plugins + write_graphite +:

  • + Host + (required) - Der Hostname des Carbon Collection Agent. In unserem Fall funktioniert es auf dem localhost

  • + Port + (required) - der vom Carbon Collect Agent verwendete Port. In unserem Beispiel überwacht "+ carbon-relay " den Port " 2003 +"

  • + Prefix + - Die Präfixzeichenfolge, die dem Hostnamen vorangestellt wird, der an Carbon gesendet wird. Wir haben den Punkt hinzugefügt, damit Graphite die Hosts automatisch gruppieren kann

  • + Postfix + - Die Postfix-Zeichenfolge, die dem Hostnamen vorangestellt wird, der an Carbon gesendet wird. Diese Option wird nicht benötigt, da wir das Präfix festlegen, sodass Sie es möglicherweise deaktivieren können

Sammeln starten, um Messdaten an Graphite zu senden:

sudo systemctl start collectd.service

Collectd beginnt sofort, Daten an Graphite zu senden. Aktualisieren Sie die Webseite. Wenn Sie den Ordner "* Metrics " erweitern, sollte " collectd *" aufgelistet sein. Nach einiger Zeit werden Sie in der Lage sein, die hübschen Diagramme Ihrer Daten zu sehen, wie unten gezeigt.

image: https://assets.digitalocean.com/articles/historicallogs_graphite_carbon/2.png [Diagramme für Metriken> Erfassen> Überwachen> Laden> Laden> Mittelfristig]

Schritt 8 - Daten bearbeiten

Graphit verfügt über ausgeklügelte Optionen zur Anzeige von Daten. Um beispielsweise ein Bild zu erhalten, das dem oben gezeigten ähnlich ist, müssen Sie mehrere Aktionen ausführen.

  1. Klicken Sie im linken Bereich auf * Metrics *> * collectd *> * Monitor * (oder das in Schritt 7 konfigurierte + Hostname +)> * load *> * load *> * midterm *. Sie sehen die Grafik des Lastdurchschnitts.

image: https://assets.digitalocean.com/articles/historicallogs_graphite_carbon/3.png [Klicken Sie auf die Schaltfläche Graph Data]

  1. Klicken Sie auf die Schaltfläche * Diagrammdaten * unterhalb des Diagramms.

  2. Klicken Sie auf die Schaltfläche * Hinzufügen * rechts vom Popup.

  3. Fügen Sie die folgende Zeile ein: + collectd..memory. * +. Dadurch werden alle speicherbezogenen Grafiken ausgewählt. Wenn Sie einen anderen Namen für Ihren Host verwendet haben, verwenden Sie diesen Namen anstelle von "+ Monitor Of".

  4. Drücke OK*. Sie sehen mehrere Grafiken auf einem Bildschirm. Aufgrund von Maßstabsunterschieden verwandelte sich die Lastkurve in eine Linie. Um dies zu beheben, müssen Sie die folgenden Manipulationen mit den Diagrammen durchführen.

  5. Klicken Sie erneut auf die Schaltfläche * Graph Data *.

  6. Wählen Sie die Zeile + collectd..load.load.midterm +.

  7. Klicken Sie auf die Schaltfläche * Funktion anwenden *.

  8. Wählen Sie * Spezial *> * In zweite Y-Achse zeichnen *

  9. Klicken Sie erneut auf * Apply Function *.

  10. Wählen Sie * Spezial *> * Farbe *.

  11. Geben Sie + schwarz + ein und drücken Sie * OK *.

  12. Wählen Sie die Zeile + collectd.Monitor.memory. * +.

  13. Klicken Sie auf * Funktion anwenden *.

  14. Wählen Sie * Spezial *> * Gestapelt zeichnen *.

  15. Sie sehen das Bild ähnlich dem am Ende von Schritt 7 gezeigten.

Dies ist nur eine Möglichkeit, die Daten von Ihrem Server anzuzeigen. Sie können verschiedene Daten in einem Diagramm mischen und kombinieren, verschiedene Funktionen anwenden, Daten skalieren, gleitende Durchschnitte berechnen, Daten prognostizieren usw.

Fazit

Graphit ist ein leistungsstarkes Tool zum Speichern und Analysieren von Zeitreihendaten. Nach Abschluss dieses Lernprogramms sollten Sie ein allgemeines Verständnis für die Installation, die Grundkonfiguration, das Speichern Ihrer Daten und das Bearbeiten der gesammelten Daten haben.

Graphit kann als Dashboard verwendet werden. Sie können wichtige Indikatoren überwachen: CPU-Auslastung, Speicherauslastung, Auslastung von Netzwerkschnittstellen usw.

Graphit hat viele Funktionen zur Datenanalyse. Mit diesen Funktionen können Sie Seriendaten transformieren, kombinieren und Berechnungen durchführen. Die meisten Funktionen können nacheinander angewendet werden. Beispielsweise können Sie den eingehenden Datenverkehr aller Zweigstellen zusammenfassen und dann mit der Summe des ausgehenden Datenverkehrs vergleichen. Oder Sie können den gesamten eingehenden und ausgehenden Datenverkehr aller Zweigstellen zusammenfassen, über einen längeren Zeitraum ein Übersichtsdiagramm erstellen und den Trend für die zukünftige Kapazitätsplanung anzeigen.