Wie man

Graphite & Graphite-Web auf CentOS 8 installieren | RHEL 8

Graphite & Graphite-Web auf CentOS 8 installieren | RHEL 8

Graphite ist ein entwicklerfreundliches Überwachungstool, das für seinen geringen Hardware-Ressourcen-Footprint bekannt ist. Graphit ist fehlertolerant und hochverfügbar. Als Entwickler können Sie schnell eine Anwendung erstellen, die numerische Zeitreihendaten für die grafische Darstellung sammelt und an den Carbon-Service, das Verarbeitungs-Backend von Graphite, sendet. Die Daten werden in der spezialisierten Datenbank von Graphite gespeichert und bei Bedarf für die grafische Darstellung gerendert.

Das Back-End von Graphite speichert eingehende Daten zwischen, wenn die Festplatten mit der großen Anzahl kleiner Schreibvorgänge nicht Schritt halten können (jeder Datenpunkt umfasst nur wenige Bytes, aber die meisten Standard-Festplatten können nicht mehr als ein paar tausend E/A-Operationen pro Sekunde ausführen wenn sie klein sind).

Wenn Sie keine Collector-Anwendung von Grund auf neu schreiben, können Sie sich die verfügbaren Tools für die Datenerfassung und -weiterleitung ansehen. In diesem Artikel führen wir Sie durch die vollständige Installation von Graphite auf CentOS 8 | RHEL 8-Server mithilfe von Podman. Die Anwendung wird in einem Container mit Systemd-Dienst ausgeführt, um ihren Lebenszyklus zu verwalten.

Die wichtigsten Graphitkomponenten sind:

  1. Kohlenstoff - ein Twisted-Daemon, der auf Zeitachsendaten lauscht
  2. flüstern - eine einfache Datenbankbibliothek zum Speichern von Zeitreihendaten (ähnlich wie bei RRD)
  3. Graphit-Webapp - Eine Django-Webapp, die Grafiken mit Kairo auf Abruf rendert

Graphite & Graphite-Web auf CentOS 8 installieren | RHEL 8

Wir werden die Podman-Container-Laufzeit verwenden, um Graphite auf CentOS 8 auszuführen | RHEL 8. Die nächsten Schritte sind ohne Anpassungen durchzuführen, es sei denn, dies wird in der offiziellen Projektdokumentation empfohlen.

Das System muss auf dem neuesten Stand sein:

sudo dnf -y update sudo systemctl reboot

Schritt 1: Container-Tools auf CentOS 8 installieren | RHEL 8

Warten Sie, bis das System online ist, melden Sie sich an und installieren Sie Container Tools.

sudo dnf module install container-tools -y

Fragen Sie die installierte Version von Podman ab, um zu bestätigen, dass sie erfolgreich war.

$ Podman-Version Version: 1.6.4 RemoteAPI-Version: 1 Go-Version: go1.13.4 Betriebssystem/Arch: linux/amd64

Andere Container-Management-Tools wie buildah und skopeo sind installiert:

$ buildah-Version Version: 1.11.6 Go-Version: go1.13.4 Bildspezifikation: 1.0.1-dev Laufzeitspezifikation: 1.0.1-dev CNI-Spezifikation: 0.4.0 libcni-Version: Bildversion: 5.0.0 Git Commit: Erstellt: Do 1. Jan. 01:00:00 1970 OS/Arch: linux/amd64 $ skopeo -version skopeo Version 0.1.40

Schritt 2: Führen Sie Graphite Container auf CentOS 8 aus | RHEL 8 mit Podman

Eine ausführliche Anleitung zur Verwendung des Graphite Docker-Images finden Sie im Docker-Repository für Graphite. Der erste Schritt besteht darin, dass wir das neueste Docker-Image abrufen.

Wechseln wir zur Root-Nutzung.

sudo -i

Laden Sie das neueste Graphite- und Statsd-Container-Image herunter.

# Podman Pull Docker.io/graphiteapp/graphite-statsd Versuch, Docker zu ziehen.io/graphiteapp/graphite-statsd… Abrufen von Image-Quellsignaturen Kopieren von Blob 700de820209a done Kopieren von Blob df20fa9351a1 done Kopieren von Blob f9a569415da5 done Kopieren von Blob 8f0c7d0dc99e done Kopieren von Konfiguration 875c7f22f4 done Schreiben von Manifest in das Image-Ziel8f294454995570386fe454995570386fe454995570386feda475c258386feda495c2138

Verfügbare Bilder auflisten:

# podman images REPOSITORY TAG BILD-ID ERSTELLTE GRÖSSE Docker.io/library/ubuntu neueste 9140108b62dc vor 2 Wochen 75.3 MB Docker.io/graphiteapp/graphite-statsd neueste 875c7f22f4cd vor 2 Monaten 651 MB

Das von uns heruntergeladene Image enthält die folgenden Komponenten:

Zugeordnete Häfen

GastgeberContainerBedienung
8080nginx
20032003Carbon-Empfänger - Klartext
20042004Carbon Empfänger - Essiggurke
20232023Kohlenstoffaggregator - Klartext
20242024Kohlenstoffaggregator - Essiggurke
80808080Interner Gunicorn-Port aus Graphit (ohne Nginx-Proxying).
81258125Statistiken
81268126Statistik-Administrator

Erstellen Sie Datenverzeichnisse, um Containerdaten beizubehalten. Sie werden beim Starten des Containers Container-Volumes zugeordnet.

# mkdir -p /data/graphite/data,logs,conf,statsd_config

Ändern Sie die Zeitzone auf Ihre richtige Einstellung, bevor Sie die Befehle ausführen.

podman run -d \ --name graphit \ --restart=always \ -p 80:80 \ -p 2003-2004:2003-2004 \ -p 2023-2024:2023-2024 \ -p 8125:8125/udp \ -p 8126:8126 \ -v /data/graphite/data:/opt/graphite/storage \ -v /data/graphite/conf:/opt/graphite/conf \ -v /data/graphite/statsd_config:/opt/ statsd/config \ -v /data/graphite/logs:/var/log \ -e GRAPHITE_TIME_ZONE="Africa/Nairobi" \graphitapp/graphite-statsd

Laufende Container auflisten, um zu sehen, ob Graphitcontainer ausgeführt werden.

# podman ps CONTAINER-ID BILDBEFEHL ERSTELLTER STATUS PORT-NAMEN 0a79ef44ad59 docker.io/graphiteapp/graphite-statsd:letzte vor 18 Sekunden Aufwärts vor 17 Sekunden 0.0.0.0:80->80/tcp, 0.0.0.0:8125->8125/udp graphit

Überprüfen Sie die veröffentlichten und belegten Ports.

# podman-Port -l 8125/udp -> 0.0.0.0:8125 8126/tcp -> 0.0.0.0:8126 80/tcp -> 0.0.0.0:80 2003/tcp -> 0.0.0.0:2003 2004/tcp -> 0.0.0.0:2004 2023/tcp -> 0.0.0.0:2023 2024/tcp -> 0.0.0.0:2024

Schritt 3: Öffnen Sie die Graphite-Webschnittstelle

Pu SELinux im Permissive-Modus:

sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Verwenden Sie Ihre Server-IP-Adresse auf Port 80, um auf die Graphite-Webkonsole zuzugreifen.

Die Standard-Login-Creds sind:

Nutzername: Wurzel Passwort: Wurzel

Ändern Sie diese Anmeldedaten nach der ersten Anmeldung unter http://ip-address/admin/auth/user/1/. Klicken "Kennwort ändern” Link, um die Passwortänderung des Root-Benutzers einzuleiten.

Abmelden und zurück mit dem neuen Passwortsatz.

Schritt 4: Graphit-Container mit Systemd . verwalten

Um sicherzustellen, dass unser Container beim Systemstart gestartet wird, erstellen wir eine neue Systemd-Service-Unit-Datei.

sudo tee /etc/systemd/system/graphite-podman.Bedienung<

Systemd neu laden, um neue Einheiten zu erhalten.

sudo systemctl daemon-reload

Bestätigen Graphit-Podman Unit-Datei wird erstellt.

# systemctl list-unit-files graphit-podman.service EINHEIT DATEI ZUSTAND graphit-podman.Dienst deaktiviert 1 Einheitsdateien aufgelistet.

Aktivieren Sie den Dienst, der beim Starten des Servers gestartet werden soll.

# systemctl enable graphit-podman.service Erstellt Symlink /etc/systemd/system/multi-user.Ziel.will/graphit-podman.service → /etc/systemd/system/graphite-podman.Bedienung.

Beenden Sie den laufenden Container, um zu bestätigen, dass der Dienst funktioniert.

# podman rm -f graphit 0a79ef44ad5979ade39a3f0c14ca5351771106b429a8318b7912cc9323e3da20

Bestätige, dass der Container getötet wurde.

# podman ps CONTAINER ID BILDBEFEHL ERSTELLTER STATUS PORTS NAMEN

Graphite Systemd-Dienst starten.

# systemctl start graphit-podman.Bedienung

Servicestatus prüfen:

# systemctl status graphit-podman.service ● graphit-podman.service - Graphite Docker Container Geladen: geladen (/etc/systemd/system/graphite-podman.Bedienung; aktiviert; Herstellervoreinstellung: deaktiviert) Aktiv: aktiv (läuft) seit So 11.10.2020 05:50:04 MESZ; vor 22s Docs: https://github.com/graphite-project/docker-graphite-statsd Prozess: 7182 ExecStartPre=/usr/bin/podman pull graphiteapp/graphite-statsd (code=beendet, status=0/SUCCESS) Prozess: 7171 ExecStartPre=/usr/bin/podman rm graphit (code=exited, status=1/FAILURE) Prozess: 7160 ExecStartPre=/usr/bin/podman kill graphit (code=exited, status=125) Main PID: 7194 (podman) Tasks: 13 (limit: 24402) Speicher: 32.3M CGroup: /system.Scheibe/Graphit-Podman.service └─7194 /usr/bin/podman run --name graphit --restart=always -p 80:80 -p 2003-2004:2003-2004 -p 2023-2024:2023-2024 -p 8125:8125/udp -p 8126:8126 -v /d> 11. Okt 05:50:16 Centos-01.Computerforgeeks.com Graphit[7194]: 10.11.2020 03:50:16 :: [tagdb] Tagging Kohlenstoff.Aggregator.45793992f2ac-a.memUsage, Kohlenstoff.Aggregat> 11. Okt 05:50:16 Centos-01.Computerforgeeks.com Graphit[7194]: 10.11.2020 03:50:16 :: [tagdb] Verschlagwortet mit Kohlenstoff.Aggregator.45793992f2ac-a.memUsage, Kohlenstoff.aggregato> 11. Okt 05:50:16 centos-01.Computerforgeeks.com Graphit[7194]: 10.11.2020 03:50:16 :: [tagdb] Tagging Kohlenstoff.Aggregator.45793992f2ac-a.blacklistSpiele, Carbon.> 11. Oktober 05:50:17 Centos-01.Computerforgeeks.com Graphit[7194]: 10.11.2020 03:50:17 :: [tagdb] Verschlagwortet mit Kohlenstoff.Aggregator.45793992f2ac-a.blacklistSpiele, Carbon.a> 11. Okt 05:50:26 Centos-01.Computerforgeeks.com graphit[7194]: 10.11.2020 03:50:26 :: [hörer] MetricLineReceiver-Anschluss mit 127.0.0.1:60582 gegründet 11. Oktober 05:50:26 Centos-01.Computerforgeeks.com graphit[7194]: 10.11.2020 03:50:26 :: [hörer] MetricLineReceiver-Anschluss mit 127.0.0.1:60582 geschlossen sauber> 11. Okt 05:50:26 centos-01.Computerforgeeks.com Graphit[7194]: 10.11.2020 03:50:26 :: [tagdb] Tagging Kohlenstoff.Aggregator.45793992f2ac-a.Reiseziele.127_0_0_1:20> 11. Okt 05:50:26 Centos-01.Computerforgeeks.com Graphit[7194]: 10.11.2020 03:50:26 :: [tagdb] Verschlagwortet mit Kohlenstoff.Aggregator.45793992f2ac-a.Reiseziele.127_0_0_1:200> 11. Okt 05:50:26 Centos-01.Computerforgeeks.com Graphit[7194]: 10.11.2020 03:50:26 :: [tagdb] Tagging Kohlenstoff.Agenten.45793992f2ac-a.avgUpdateTime, Statistiken.Timer.v> 11. Okt. 05:50:26 Centos-01.Computerforgeeks.com Graphit[7194]: 10.11.2020 03:50:26 :: [tagdb] Verschlagwortet mit Kohlenstoff.Agenten.45793992f2ac-a.avgUpdateTime, Statistiken.Timer.vi>

Verwenden Sie die Podman-CLI, um laufende Container aufzulisten.

# podman ps CONTAINER-ID BILDBEFEHL ERSTELLTER STATUS PORT-NAMEN 45793992f2ac docker.io/graphiteapp/graphite-statsd:latest Vor etwa einer Minute Nach oben Vor etwa einer Minute 0.0.0.0:80->80/tcp, 0.0.0.0:8125->8125/udp graphit

Führen Sie einen Systemneustart durch, um sicherzustellen, dass der Container gestartet wird, wenn der Server jemals neu gestartet wird.

sudo neu starten

Wir können bestätigen, dass der Container mit einer anderen ID gestartet wurde:

# podman ps CONTAINER-ID BILDBEFEHL ERSTELLTER STATUS PORT-NAMEN c57a157a3600 docker.io/graphiteapp/graphite-statsd:letzte vor 34 Sekunden Aufwärts vor 33 Sekunden 0.0.0.0:80->80/tcp, 0.0.0.0:8125->8125/udp graphit

Besuchen Sie die Graphite-Dokumentation für die nächsten Schritte nach der Installation von Graphite.

Weitere Überwachungsleitfäden:

Installieren und konfigurieren Sie Nagios 4 auf RHEL 8 / CentOS 8

So installieren Sie LibreNMS auf CentOS 8 / RHEL 8

So installieren Sie Zabbix Server 5 auf CentOS 8 / RHEL 8

Cybersicherheitstrends, Bedrohungen und Schutzmöglichkeiten 2021
2020 war ein herausforderndes Jahr mit vielen Lektionen. Gesundheitsschutz und Datenschutz sind nur einige davon, aber die meisten Unternehmen sind si...
3 Ansätze, was einen großartigen Immobilienmakler ausmacht
Fast jeder geht ins Internet, um nach allem zu suchen. Von der Suche nach Sachinformationen bis hin zu kreativen DIY-Ideen.  Das Immobiliengeschäft is...
So aktualisieren Sie von RHEL 6 auf RHEL 8 Server 8
Dieser Artikel wurde erstellt, um Sie bei der Durchführung eines direkten Upgrades von RHEL 6 auf RHEL 8 zu unterstützen. Konkret werden wir ein RHEL ...