So installierst du Cacti auf Rocky Linux
Cacti ist ein webbasiertes Open-Source-Überwachungstool, das auf PHP und MySQL basiert. Es ist ein robustes Netzwerküberwachungs- und Diagrammwerkzeug, das das SNMP (Simple Network Management Protocol) nutzt, um Daten zu sammeln und in der RRDTool (Round-robin database tool) Datenengine zu speichern. Das RRDtool ist auch für die Erstellung von Diagrammen zuständig.
Cacti verfügt über einige großartige Funktionen und hat sich zu einem der besten Tools für grafikbasierte Überwachungsaufgaben entwickelt. Es ist für verschiedene Arten von Unternehmen geeignet. Es eignet sich gut für Unternehmen wie ISPs (Internet Service Providers), da Cacti eine breite Palette von Hardware-Überwachungsfunktionen bietet. Es ist auch für Anbieter von dedizierten Servern geeignet, da es mehrere Benutzer unterstützt und jeder Benutzer sein eigenes Diagramm erstellen kann.
Cacti ist ein erweiterbares Framework für die Betriebsüberwachung und das Fehlermanagement. Es bietet mehrere Vorlagen für verschiedene Geräte und verschiedene Diagramme/Aggregate/Grafikvorlagen. Außerdem kann es mit verschiedenen Webservertypen wie Apache/httpd und Nginx betrieben werden.
Voraussetzungen
In dieser Anleitung erfährst du, wie du das Monitoring-Tool Cacti auf dem Rocky Linux System installierst. Da Cacti auf PHP und MySQL basiert, musst du auch diese Pakete installieren. Außerdem installierst du den Webserver httpd.
Im Folgenden siehst du die Beispielumgebung für unsere Cacti-Installation:
- OS: Rocky Linux 8.4 (Green Obsidian)
- Server-IP-Adresse: 192.168.1.10
- Sudo root-Rechte
Beginnen wir nun mit der Installation des Cacti Monitoring Tools.
Paketabhängigkeiten installieren
Zuerst musst du einige Pakete installieren, die für cacti benötigt werden. Du musst alle folgenden Befehle mit dem root/sudo-Recht ausführen.
1. Füge das EPEL (Extra Packages for Enterprise Linux) Repository mit dem folgenden Befehl zum Rocky Linux System hinzu.
sudo dnf install epel-release
Gib„y“ ein und drücke„Enter„, um die Installation fortzusetzen.
2. Installiere den Webserver httpd mit dem folgenden Befehl.
sudo dnf install httpd -y
Wenn die httpd-Installation abgeschlossen ist, starte und aktiviere den httpd-Dienst.
sudo systemctl enable --now httpd sudo systemctl is-enabled httpd
3. Als nächstes musst du PHP auf deinem System installieren. Das Rocky Linux Repository bietet standardmäßig mehrere PHP-Versionen an. Du wirst die neueste Version installieren, die im Repository verfügbar ist: PHP 7.4.
Aktiviere das PHP-Modul für Version 7.4 mit dem unten stehenden dnf-Befehl.
dnf module enable php:7.4
Gib zur Bestätigung„y“ ein und drücke„Enter„.
Führe nun den unten stehenden DNF-Befehl aus, um die PHP-Pakete zu installieren.
sudo dnf install -y php php-xml php-session php-sockets php-ldap php-gd php-json php-mysqlnd php-gmp php-mbstring php-posix php-snmp php-intl
Wenn die Installation der PHP-Pakete abgeschlossen ist, bearbeite die Konfiguration „/etc/php.ini“ mit dem Editor nano/vim.
nano /etc/php.ini
Entferne das Kommentarzeichen in der Option„date.timezone“ und gib deine aktuelle Zeitzone ein.
date.timezone = Europe/Amsterdam
Ändere die Optionen„memory_limit“ und„max_execution_time“ wie unten angegeben.
memory_limit = 512M max_execution_time = 60
Speichere die Konfiguration und beende sie.
Lade nun den httpd-Dienst neu, um die PHP-Konfiguration zu übernehmen und abzuschließen.
sudo systemctl restart httpd
4. Nachdem du all diese Pakete installiert hast, musst du SNMP und rrdtool installieren.
SNMP wird von cacti verwendet, um Geräteinformationen zu sammeln, und rrdtool wird verwendet, um die gesammelten Daten im .rra-Format zu speichern, das dann auf dem cacti-Dashboard als grafische Information angezeigt wird.
Installiere SNMP und rrdtool mit dem unten stehenden dnf-Befehl.
sudo dnf install -y net-snmp net-snmp-utils net-snmp-libs rrdtool -y
Nachdem die Installation abgeschlossen ist, starte und aktiviere den SNMP-Dienst mit dem folgenden Befehl.
sudo systemctl enable --now snmpd sudo systemctl is-enabled snmpd
Gehe nun zum nächsten Schritt über, um die MariaDB-Datenbank zu installieren und zu konfigurieren.
Installieren und Konfigurieren von MariaDB
In diesem Schritt installierst und konfigurierst du die MariaDB-Datenbank auf dem Rocky Linux-System. Außerdem fügst du einige zusätzliche Konfigurationen für die mariadb-Datenbank hinzu, die den Anforderungen und Empfehlungen von Cacti entsprechen.
1. Führe den folgenden DNF-Befehl aus, um die mariadb-Pakete auf deinem System zu installieren.
sudo dnf install -y @mariadb
Warte, bis die Installation aller Pakete abgeschlossen ist.
2. Wechsle als Nächstes in dein aktuelles Arbeitsverzeichnis„/etc/my.cnf.d“ und bearbeite die mariadb-Konfiguration„mariadb-server.conf“ mit nano/vim.
cd /etc/my.cnf.d/ nano mariadb-server.cnf
Füge die folgende Konfiguration unter der Zeile ‚[mysqld]‚ ein. Diese Konfiguration basiert auf den Anforderungen der Cacti-Installation.
character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
innodb_file_format = Barracuda
max_heap_table_size=32M
tmp_table_size=32M
join_buffer_size=64M
# 25% Of Total System Memory
innodb_buffer_pool_size=1GB
# pool_size/128 for less than 1GB of memory
innodb_buffer_pool_instances=10
innodb_flush_log_at_timeout=3
innodb_large_prefix=1
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000
log-error = /var/log/mariadb/mariadb-error.log
log-queries-not-using-indexes = 1
slow-query-log = 1
slow-query-log-file = /var/log/mariadb/mariadb-slow.logSave the configuration and exit.
3. Starte und aktiviere den mariadb-Dienst mit dem folgenden Befehl.
sudo systemctl enable --now mariadb
Überprüfe den aktuellen mariadb-Dienst.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Stelle sicher, dass der mariadb-Dienst aktiv ist und läuft. Nachfolgend siehst du eine ähnliche Ausgabe, die du erhalten wirst.
4. Nachdem die Mariadb-Konfiguration abgeschlossen ist, lädst du die Zeitzonentabelle mit den auf deinem System verfügbaren Zeitzonen in die Standarddatenbank„mysql“ und füllst sie auf.
Lade die Zeitzonentabelle mit dem folgenden Befehl in die Datenbank„mysql“ und fülle sie auf.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Gib das Passwort für dein Mariadb-Root-Passwort ein und drücke„Enter„. Fahre nun mit dem nächsten Schritt fort, um eine neue Datenbank und einen neuen Benutzer für die Cacti-Installation zu erstellen.
Neue Datenbank und Benutzer für Cacti erstellen
In diesem Schritt erstellst du eine neue mariadb-Datenbank und einen neuen Benutzer.
Melde dich zunächst mit dem unten stehenden mysql-Befehl in der mysql-Shell an.
mysql -u root -p
Gib dein Mariadb-Root-Passwort ein und drücke„Enter„.
1. Erstelle mit der folgenden Abfrage eine neue Datenbank „cacti“.
create database if not exists cacti;
2. Erstelle einen neuen Benutzer„cactiuser“ und erteile ihm alle Datenbankrechte für„cacti„.
CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'cacti_password'; GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost';
3. Außerdem musst du dem Benutzer„cactiuser“ das Privileg„SELECT“ für die Tabelle„time_zone_name“ (die in der Datenbank„mysql“ verfügbar ist) erteilen.
GRANT SELECT ON mysql.time_zone_name TO 'cactiuser'@'localhost';
Lade nun alle Tabellenprivilegien neu und gib„exit“ ein.
FLUSH PRIVILEGES; exit
Jetzt sind alle Voraussetzungen für die Installation von Cacti erfüllt, und du kannst das Cacti Monitoring Tool installieren.
Installieren und Konfigurieren von Cacti
Standardmäßig stellt das EPEL-Repository Cacti-Pakete zur Verfügung und ist bereit für die Installation. Die Version von cacti im EPEL-Repository ist Version 1.2.17 und die aktuelle Version auf der offiziellen cacti-Website ist Version 1.2.19.
In diesem Schritt installierst und konfigurierst du cacti auf dem Rocky Linux System.
1. Führe den folgenden DNF-Befehl aus, um cacti auf deinem System zu installieren.
sudo dnf install cacti
Gib zur Bestätigung„y“ ein und drücke„Enter„.
Der gesamte Quellcode von cacti wird im Verzeichnis „/usr/share/cacti/“ verfügbar sein.
2. Nachdem die Installation von cacti abgeschlossen ist, importiere das Datenbankschema mit dem folgenden mysql-Befehl in die Datenbank„cacti„.
mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql
Gib das Passwort für„cactiuser“ ein. In diesem Beispiel lautet das Passwort„cacti_password„.
3. Als Nächstes bearbeitest du die Cacti-Konfiguration„/usr/share/cacti/cacti.php“ mit dem Editor nano/vim.
nano /usr/share/cacti/include/config.php
Ändere die Details der Datenbankkonfiguration wie unten angegeben.
$database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cactiuser'; $database_password = 'cacti_password'; $database_port = '3306';
Speichere die Konfiguration und beende sie.
4. Standardmäßig ist die Cacti-Installation nur vom lokalen Rechner aus zugänglich. Um den Zugriff von außerhalb des Netzwerks zu ermöglichen, bearbeite die httpd-Konfiguration für cacti.
Bearbeite die Konfiguration„/etc/httpd/conf.d/cacti.conf“ mit dem Editor nano/vim.
nano /etc/httpd/conf.d/cacti.conf
Ändere die Option„Require host localhost“ in„Require all granted“ (siehe unten).
Require all granted
Speichere die Konfiguration und beende sie.
Starte nun den httpd-Dienst neu, um die neue Konfiguration anzuwenden.
sudo systemctl restart httpd
5. Als Nächstes bearbeitest du die Cron-Konfiguration„/etc/cron.d/cacti„, um den Cacti-Poller zu aktivieren.
nano /etc/cron.d/cacti
Entferne das Kommentarzeichen in der Zeile unten.
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
Speichere die Konfiguration und beende sie.
6. Wenn du die Firewalld auf deinem Server laufen hast, füge die HTTP- und HTTPS-Dienste mit dem folgenden Befehl zur Firewalld hinzu.
firewall-cmd add-service=http --permanent firewall-cmd --reload
Jetzt hast du die grundlegende Konfiguration von Cacti abgeschlossen. Gehe zum nächsten Schritt über, um den Cacti-Installationsassistenten zu starten und abzuschließen.
Cacti-Installationsassistent
Öffne deinen Webbrowser und gib die IP-Adresse des Servers mit dem Pfad „/cacti“ ein, um die Einrichtungsseite/den Installationsassistenten aufzurufen.
http://192.168.1.10/cacti/
1. Zunächst wirst du auf die Anmeldeseite für die Installation weitergeleitet (siehe unten).
Melde dich mit dem Standardbenutzer„admin“ und dem Passwort„admin“ an und klicke dann auf die Schaltfläche„Anmelden„.
2. Ändere das Standard-Passwort„admin“ durch ein sicheres Passwort und wiederhole es, dann klicke auf„Speichern„.
3. Für die Lizenzvereinbarung hat cacti die GPL-Lizenz verwendet.
Setze ein Häkchen bei der Option „GPL-Lizenzvertrag akzeptieren“ und klicke auf die Schaltfläche„Beginnen„, um die Installation zu starten.
4. Der cacti-Installationsassistent prüft nun alle Voraussetzungen für die Installation von cacti. Vergewissere dich, dass der Status aller Prüfungen grün ist, wie auf dem Screenshot unten zu sehen.
Klicke auf die Schaltfläche„Weiter„, um fortzufahren.
5. Wähle die Option „Neuer Primärserver“ für den Cacti-Installationstyp, da dies der erste Cacti-Server ist. Dann kannst du wieder auf„Weiter“ klicken.
6. Du erhältst eine Überprüfung der Verzeichnisberechtigungen für Cacti. Vergewissere dich, dass der Status aller Berechtigungsprüfungen grün ist, wie im Screenshot unten zu sehen.
Klicke erneut auf„Weiter„.
7. Jetzt musst du den Pfad der von Cacti verwendeten Binäranwendungen festlegen.
Du kannst ihn als Standard belassen und dann auf„Weiter“ klicken.
8. Lies jetzt alle Informationen über den„Whitelist-Schutz für die Eingabeüberprüfung„. Das ist wichtig, vor allem aus Sicherheitsgründen.
Mit dem Cacti-Skript„input_whitelist.php“ kannst du die Dateneingabemethoden auf Cacti verwalten. Du kannst die Dateneingabemethoden auf der Whitelist verbieten oder aufheben, je nach deinen persönlichen Sicherheitsvorlieben.
Vergewissere dich, dass du ein Häkchen bei der Option„Ich habe diese Erklärung gelesen“ gesetzt hast, und klicke dann erneut auf„Weiter“.
9. Belasse die Profilkonfiguration bei den Standardeinstellungen und klicke auf„Weiter„, um fortzufahren.
10. Du kannst je nach Host/Client-Rechner Vorlagen für die Einrichtung der Vorlagen auswählen. Du kannst es auch bei den Standardeinstellungen belassen und wieder auf„Weiter“ klicken.
11. Jetzt überprüfen die Installationsassistenten die Lokalisierung für deine Datenbank und das aktuelle System.
Vergewissere dich, dass es keine Fehlermeldungen gibt und klicke auf„Weiter„.
12. Wähle die Option„Installation bestätigen“ und klicke auf die Schaltfläche „Installieren“, um die Installation von Cacti zu starten.
13. Der Installationsprozess läuft wie unten beschrieben ab.
14. Wenn die Installation von cacti abgeschlossen ist, siehst du die folgenden Meldungen (siehe Screenshot unten).
Klicke auf die Schaltfläche„Get Started„.
15. Du wirst zum Standard-Admin-Dashboard von Cacti weitergeleitet (siehe unten).
16. Warte nun etwa 19-20 Minuten, bis der Cacti-Dienst Daten über dein System gesammelt hat.
Wenn du fertig bist, klicke auf das Menü„Graph“ und du siehst den aktuellen Status deines Rocky Linux Cacti Servers.
Unten siehst du ein Beispiel für ein Cacti-Server-Diagramm aus der aktuellen Umgebung.
Wenn du das Diagramm deines aktuellen Rocky Linux-Systems sehen kannst, war deine Cacti-Installation erfolgreich.
Fazit
Herzlichen Glückwunsch! Du hast das Cacti Monitoring Tool auf dem Rocky Linux System installiert.
Im nächsten Schritt musst du „spine“, einen Multi-Thread-Datenkollektor für Cacti, einrichten und dann neue Hosts/Maschinen/Geräte zur Überwachung zu deinem Cacti-Server hinzufügen.