Cacti ist ein kostenloses, quelloffenes und leistungsstarkes webbasiertes Netzwerküberwachungs- und Grafiktool. Es wird verwendet, um die Systemleistung, die CPU-Auslastung und die Auslastung der Netzwerkbandbreite in einem Diagrammformat zu überwachen. Es ermöglicht Ihnen, Dienste in festgelegten Intervallen abzufragen und die resultierenden Daten grafisch darzustellen. Es ist ein komplettes Frontend für RRDTool, geschrieben in PHP und verwendet eine MySQL-Datenbank, um alle notwendigen Informationen zu speichern.
In diesem Tutorial erklären wir, wie Sie das Cacti-Überwachungstool unter CentOS 8 installieren.
Voraussetzungen
- Ein Server mit CentOS 8 und mindestens 2 GB RAM.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Erste Schritte
Zunächst wird empfohlen, Ihre Systempakete auf die neueste Version zu aktualisieren. Sie können sie mit dem folgenden Befehl aktualisieren:
dnf update -y
Sobald alle Pakete aktualisiert sind, installieren Sie andere für Cacti erforderliche Abhängigkeiten mit dem folgenden Befehl:
dnf install net-snmp net-snmp-utils net-snmp-libs rrdtool -y
Nachdem Sie alle Abhängigkeiten installiert haben, starten Sie den SNMP-Dienst und aktivieren Sie ihn beim Booten mit dem folgenden Befehl:
systemctl start snmpd
systemctl enable snmpd
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
LAMP-Server installieren
Als nächstes müssen Sie den Apache-Webserver, den MariaDB-Datenbankserver, PHP und andere notwendige PHP-Erweiterungen auf Ihrem System installieren. Sie können alle mit dem folgenden Befehl installieren:
dnf install httpd mariadb-server 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 -ySobald alle Pakete installiert sind, starten Sie den HTTP- und MariaDB-Dienst und ermöglichen Sie ihnen, beim Booten mit dem folgenden Befehl zu starten:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadbAls nächstes müssen Sie die Datei php.ini bearbeiten und einige Änderungen vornehmen:
nano /etc/php.inidate.timezone =Asia/Kolkatamemory_limit =512Mmax_execution_style =60Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
MariaDB-Datenbank konfigurieren
Als nächstes müssen Sie eine Datenbank und einen Benutzer für Cacti erstellen. Melden Sie sich zuerst mit dem folgenden Befehl bei der MariaDB-Shell an:
mysqlErstellen Sie nach der Anmeldung eine Datenbank und einen Benutzer für Cacti mit dem folgenden Befehl:
MariaDB [(keine)]> Datenbank cactidb erstellen;
MariaDB [(keine)]> GRANT ALL ON cactidb.* TO [email-protected] IDENTIFIED BY 'password';Löschen Sie als Nächstes die Berechtigungen und verlassen Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> Flush-Berechtigungen;
MariaDB [(none)]> exit;Als nächstes müssen Sie die MariaDB-Konfigurationsdatei bearbeiten und einige Einstellungen anpassen. Sie können dies tun, indem Sie die Datei /etc/my.cnf.d/mariadb-server.cnf.
bearbeitennano /etc/my.cnf.d/mariadb-server.cnfFügen Sie die folgenden Zeilen im Abschnitt [mysqld] hinzu:
Kollatierungsname server =utf8mb4_unicode_cicharacter-set-server =utf8mb4max_heap_table_size =32Mtmp_table_size =32Mjoin_buffer_size =64M # 25% des Gesamtsystems Memoryinnodb_buffer_pool_size =1 GB # pool_size / 128 für weniger als 1 GB memoryinnodb_buffer_pool_instances =10innodb_flush_log_at_timeout =3innodb_read_io_threads =32innodb_write_io_threads =16innodb_io_capacity =5000innodb_file_format =Barracudainnodb_large_prefix=1innodb_io_capacity_max=10000Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den MariaDB-Dienst neu, um die Änderungen zu übernehmen:
systemctl startet mariadb neuAls nächstes importieren Sie mysql_test_data_timezone.sql mit dem folgenden Befehl in die MySQL-Datenbank:
mysql -u root -p mysqlMelden Sie sich als Nächstes bei MySQL an und gewähren Sie dem Cacti-Benutzer Zugriff auf die Tabelle mysql.time_zone_name:
mysqlFühren Sie nach der Anmeldung den folgenden Befehl aus, um den Zugriff zu gewähren:
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO [email protected];Löschen Sie als Nächstes die Berechtigungen und verlassen Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> Flush-Berechtigungen;
MariaDB [(none)]> exit;Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren und konfigurieren Sie Cacti
Cacti ist standardmäßig nicht im Standard-Repository von CentOS 8 verfügbar. Sie müssen also das EPEL-Repository zu Ihrem System hinzufügen.
Sie können es mit dem folgenden Befehl installieren:
dnf install epel-release -ySobald das Repository installiert ist, installieren Sie Cacti mit dem folgenden Befehl:
dnf install cacti -yÜberprüfen Sie nach der Installation von Cacti die Cacti-Installation mit dem folgenden Befehl:
rpm -qi cactiSie sollten die folgende Ausgabe erhalten:
Name :cactiVersion :1.2.14Release :1.el8Architecture:noarchInstall Date:Mittwoch, 07. Oktober 2020 01:04:02 EDTGroup :UnspecifiedSize :56217780License :GPLv2+Signature :RSA/SHA256, Thursday 06 August 2020 05:06:22:00 Uhr EDT, Schlüssel-ID 21ea45ab2f86d6a1Quell-RPM:cacti-1.2.14-1.el8.src.rpmBuild-Datum:Donnerstag, 06. August 2020 04:54:10 Uhr EDTBuild-Host:buildvm-a64-27.iad2.fedoraproject.orgUmzüge:( nicht verschiebbar)Packager:Fedora ProjectVendor:Fedora ProjectURL:https://www.cacti.net/Bug URL:https://bugz.fedoraproject.org/cactiSummary:An rrd based graphing toolDescription:Cacti is a complete frontend to RRDTool. Es speichert alle notwendigen Informationen, um Diagramme zu erstellen und sie mit Daten in einer MySQL-Datenbank zu füllen. Das Frontend ist vollständig PHP-gesteuert.Als nächstes importieren Sie die Cacti-Daten mit dem folgenden Befehl in die Cacti-Datenbank:
mysql -u root -p cactidb Bearbeiten Sie als Nächstes die Cacti-Konfigurationsdatei und definieren Sie Ihre Datenbankeinstellungen:
nano /usr/share/cacti/include/config.phpÄndern Sie die folgenden Zeilen entsprechend Ihrer Datenbank:
$database_type ='mysql';$database_default ='cactidb';$database_hostname ='localhost';$database_username ='cacti';$database_password ='password';$database_port ='3306';$database_retries =5; $database_ssl =false;Speichern und schließen Sie die Datei, wenn Sie fertig sind, und erstellen Sie dann eine Cron-Datei für Cacti.
nano /etc/cron.d/cactiFügen Sie die folgende Zeile hinzu:
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php> /dev/null 2>&1Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Apache für Cacti konfigurieren
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Apache-Host für Cacti erstellen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/httpd/conf.d/cacti.confSuchen Sie die folgenden Zeilen:
Alias /cacti /usr/share/cacti# httpd 2.4 Require host localhost # httpd 2.2 Bestellung verweigern , Verweigern von allen zulassen Von localhost zulassen Und ersetzen Sie sie durch die folgenden Zeilen:
Alias /cacti /usr/share/cacti# httpd 2.4 Erfordern alle gewährten # httpd 2.2 Befehl verweigern , von allen ablehnen zulassen von allen zulassen Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den Apache- und PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:
systemctl Neustart httpd
systemctl Neustart php-fpmSie können den Status des Apache auch mit dem folgenden Befehl überprüfen:
systemctl-Status httpdSie sollten die folgende Ausgabe erhalten:
? httpd.service - Der Apache HTTP-Server Geladen:geladen (/usr/lib/systemd/system/httpd.service; deaktiviert; Herstellervoreinstellung:deaktiviert) Drop-In:/usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Aktiv:aktiv (läuft) seit Mi 2020-10-07 01:10:35 EDT; vor 58s Dokumente:man:httpd.service(8) Haupt-PID:5159 (httpd) Status:„Läuft, hört auf:Port 80“ Aufgaben:213 (Grenze:12523) Speicher:28,7 MB CGroup:/system.slice/httpd .service ??5159 /usr/sbin/httpd -DFOREGROUND ??5161 /usr/sbin/httpd -DFOREGROUND ??5162 /usr/sbin/httpd -DFOREGROUND ??5163 /usr/sbin/httpd -DFOREGROUND ??5164 / usr/sbin/httpd -DFOREGROUNDOct 07 01:10:35 centos8 systemd[1]:Apache HTTP Server gestoppt. Oct 07 01:10:35 centos8 systemd[1]:Apache HTTP Server gestartet ... Oct 07 01:10:35 centos8 httpd[5159]:AH00558:httpd:Konnte den vollständig qualifizierten Domänennamen des Servers nicht zuverlässig ermitteln, indem fe80::200:45>Oct 07 verwendet wurde 01:10:35 centos8 systemd[1]:Der Apache HTTP-Server wurde gestartet .Okt 07 01:10:35 centos8 httpd[5159]:Server konfiguriert, hört auf:Port 80 Zu diesem Zeitpunkt ist der Apache-Webserver so konfiguriert, dass er Cacti bedient. Sie können jetzt mit dem nächsten Schritt fortfahren.
Firewall und SELinux konfigurieren
Als nächstes müssen Sie http- und https-Dienste durch die Firewall zulassen. Sie können sie mit dem folgenden Befehl zulassen:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --neu ladenAls nächstes müssen Sie auch SELinux in Ihrem System deaktivieren.
Sie können SELinux deaktivieren, indem Sie die Datei /etc/selinux/config bearbeiten:
nano /etc/selinux/configSuchen Sie die folgende Zeile:
SELINUX=erzwingenUnd ersetzen Sie es durch die folgende Zeile:
SELINUX=permissivSpeichern und schließen Sie die Datei und starten Sie das System neu, um die Änderungen zu übernehmen.
Zugriff auf die Cacti-Weboberfläche
Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip/cacti auf die Cacti-Weboberfläche zu. Sie werden zur Anmeldeseite von Cacti weitergeleitet:
Geben Sie den Standardbenutzernamen und das Passwort als admin / admin ein und klicken Sie dann auf Anmelden Taste. Sie sollten den Bildschirm zum Ändern des Cacti-Passworts sehen:
Geben Sie Ihr Standardpasswort und Ihr neues Passwort ein und klicken Sie auf Speichern Taste. Sie sollten die Seite mit der Cacti-Lizenzvereinbarung sehen:
Akzeptieren Sie die Lizenzvereinbarung und klicken Sie auf Beginnen Taste. Sie sollten die Seite zur Prüfung vor der Installation sehen:
Vergewissern Sie sich, dass alle Pakete installiert sind, und klicken Sie dann auf Weiter Taste. Sie sollten die folgende Seite sehen:
Wählen Sie Ihren Installationstyp und klicken Sie auf Weiter Taste. Sie sollten die Seite zur Überprüfung der Verzeichnisberechtigungen sehen:
Klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen.
Klicken Sie auf Weiter Taste. Sie sollten die Seite Eingabevalidierung sehen:
Aktivieren Sie das Kontrollkästchen und klicken Sie auf Weiter Taste. Sie sollten die Profilseite sehen:
Geben Sie Ihre Netzwerkreichweite an und klicken Sie auf Weiter Taste. Sie sollten die Vorlageneinrichtungsseite sehen:
Wählen Sie Ihre gewünschte Vorlage aus und klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Öffnen Sie als Nächstes Ihr Terminal, melden Sie sich bei der MySQL-Shell an und ändern Sie den Zeichensatz, indem Sie den folgenden Befehl ausführen:
MariaDB [(keine)]> ALTER DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(keine)]> Flush-Privilegien;
MariaDB [(keine)]> Exit;Gehen Sie als Nächstes zurück zum Cacti-Installationsassistenten und klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Bestätigen Sie die Installation und klicken Sie auf Installieren Taste. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Seite sehen:
Klicken Sie auf Holen Gestartet Taste. Sie sollten das Cacti-Dashboard auf der folgenden Seite sehen:
Klicken Sie auf die Grafiken => Lokaler Linux-Rechner . Sie sollten die Informationen über Ihren lokalen Computer auf der folgenden Seite sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben das Cacti-Netzwerküberwachungstool unter Ubuntu 20.04 erfolgreich installiert und konfiguriert. Sie können jetzt den Cacti-Agenten auf dem Computer des Clients installieren und ihn zum Cacti-Server hinzufügen und mit der Überwachung beginnen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.