Cacti Monitoring Server auf CentOS 8 installieren

Cacti ist ein kostenloses, quelloffenes und leistungsstarkes webbasiertes Werkzeug zur Überwachung und grafischen Darstellung von Netzwerken. Es dient zur Überwachung der Systemleistung, CPU-Last und Netzwerkbandbreitennutzung in einem Diagrammformat. Es ermöglicht Ihnen, Dienste in vorgegebenen Intervallen abzufragen und die resultierenden Daten grafisch darzustellen. Es ist ein vollständiges Front-End für RRDTool, das in PHP geschrieben ist und eine MySQL-Datenbank verwendet, um alle notwendigen Informationen zu speichern.

In diesem Tutorial werden wir erklären, wie das Cacti-Monitoring-Tool auf CentOS 8 installiert wird.

Voraussetzungen

  • Ein Server mit CentOS 8 mit mindestens 2 GB RAM.
  • Der Server ist mit einem Root-Passwort 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

Wenn alle Pakete aktualisiert sind, installieren Sie weitere Abhängigkeiten, die für Cacti benötigt werden, 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 lassen ihn beim Booten mit folgendem Befehl starten:

systemctl start snmpd
systemctl enable snmpd

Wenn 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 sie 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 -y

Wenn alle Pakete installiert sind, starten Sie den HTTP- und MariaDB-Dienst und aktivieren Sie sie beim Booten mit dem folgenden Befehl:

systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

Als nächstes müssen Sie die Datei php.ini bearbeiten und einige Änderungen vornehmen:

nano /etc/php.ini
date.timezone = Asia/Kolkata
memory_limit = 512M
max_execution_style = 60

Sobald 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. Loggen Sie sich zunächst mit dem folgenden Befehl in die MariaDB-Shell ein:

mysql

Sobald Sie sich angemeldet haben, erstellen Sie eine Datenbank und einen Benutzer für Cacti mit dem folgenden Befehl:

MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO [email protected] IDENTIFIED BY 'password';

Als nächstes müssen Sie die Privilegien aufheben und die MariaDB-Shell mit dem folgenden Befehl verlassen:

MariaDB [(none)]> flush privileges;
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 bearbeiten.

nano /etc/my.cnf.d/mariadb-server.cnf

Fügen Sie die folgenden Zeilen innerhalb des Abschnitts [mysqld] hinzu:

collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
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_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_io_capacity_max=10000

Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den MariaDB-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart mariadb

Importieren Sie dann die Datei mysql_test_data_timezone.sql mit dem folgenden Befehl in die mysql-Datenbank:

mysql -u root -p mysql < /usr/share/mariadb/mysql_test_data_timezone.sql

Melden Sie sich anschließend bei MySQL an und gewähren Sie dem Benutzer cacti den Zugriff auf die Tabelle mysql.time_zone_name:

mysql

Sobald Sie sich angemeldet haben, f?hren Sie folgenden Befehl aus, um den Zugriff zu gew?hren:

MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO [email protected];

Führen Sie als nächstes einen Flush der Privilegien durch und verlassen Sie die MariaDB-Shell mit folgendem Befehl:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von Cacti

Standardmäßig ist Cacti 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 -y

Sobald das Repository installiert ist, installieren Sie die Cacti mit dem folgenden Befehl:

dnf install cacti -y

Nach der Installation von Cacti überprüfen Sie die Cacti-Installation mit folgendem Befehl:

rpm -qi cacti

Sie sollten die folgende Ausgabe erhalten:

Name        : cacti
Version     : 1.2.14
Release     : 1.el8
Architecture: noarch
Install Date: Wednesday 07 October 2020 01:04:02 AM EDT
Group       : Unspecified
Size        : 56217780
License     : GPLv2+
Signature   : RSA/SHA256, Thursday 06 August 2020 05:06:22 AM EDT, Key ID 21ea45ab2f86d6a1
Source RPM  : cacti-1.2.14-1.el8.src.rpm
Build Date  : Thursday 06 August 2020 04:54:10 AM EDT
Build Host  : buildvm-a64-27.iad2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : https://www.cacti.net/
Bug URL     : https://bugz.fedoraproject.org/cacti
Summary     : An rrd based graphing tool
Description :
Cacti is a complete frontend to RRDTool. It stores all of the
necessary information to create graphs and populate them with
data in a MySQL database. The frontend is completely PHP
driven.

Importieren Sie anschließend die Cacti-Daten mit folgendem Befehl in die Cacti-Datenbank:

mysql -u root -p cactidb < /usr/share/doc/cacti/cacti.sql

Als nächstes bearbeiten Sie die Cacti-Konfigurationsdatei und definieren Ihre Datenbankeinstellungen:

nano /usr/share/cacti/include/config.php

Ändern Sie die folgenden Zeilen, die mit Ihrer Datenbank übereinstimmen:

$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/cacti

Fügen Sie die folgende Zeile hinzu:

*/5 * * * *   apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Konfigurieren Sie Apache für Cacti

Als nÃ?chstes mÃ?ssen Sie eine Apache-Konfigurationsdatei fÃ?r virtuelle Hosts fÃ?r Cacti erstellen. Sie können sie mit dem folgenden Befehl erstellen:

nano /etc/httpd/conf.d/cacti.conf

Suchen Sie die folgenden Zeilen:

Alias /cacti    /usr/share/cacti

<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
               	# httpd 2.4
                Require host localhost
        </IfModule>
        <IfModule !mod_authz_core.c>
               	# httpd 2.2
                Order deny,allow
                Deny from all
                Allow from localhost
        </IfModule>
</Directory>

Und, ersetzen Sie sie durch die folgenden Zeilen:

Alias /cacti    /usr/share/cacti

<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
               	# httpd 2.4
                Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
               	# httpd 2.2
                Order deny,allow
                Deny from all
                Allow from all
        </IfModule>
</Directory>

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 restart httpd
systemctl restart php-fpm

Sie können den Status des Apache auch mit dem folgenden Befehl überprüfen:

systemctl status httpd

Sie sollten die folgende Ausgabe erhalten:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Wed 2020-10-07 01:10:35 EDT; 58s ago
     Docs: man:httpd.service(8)
 Main PID: 5159 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 12523)
   Memory: 28.7M
   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 -DFOREGROUND

Oct 07 01:10:35 centos8 systemd[1]: Stopped The Apache HTTP Server.
Oct 07 01:10:35 centos8 systemd[1]: Starting The Apache HTTP Server...
Oct 07 01:10:35 centos8 httpd[5159]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::200:45>
Oct 07 01:10:35 centos8 systemd[1]: Started The Apache HTTP Server.
Oct 07 01:10:35 centos8 httpd[5159]: Server configured, listening on: port 80

Zu diesem Zeitpunkt ist der Apache-Webserver so konfiguriert, dass er Cacti bedient. Sie können nun mit dem nächsten Schritt fortfahren.

Konfigurieren Sie Firewall und SELinux

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 --reload

Als nächstes müssen Sie auch das SELinux in Ihrem System deaktivieren.

Sie können das SELinux deaktivieren, indem Sie die Datei /etc/selinux/config bearbeiten:

nano /etc/selinux/config

Suchen Sie die folgende Zeile:

SELINUX=enforcing

Und ersetzen Sie sie durch die folgende Zeile:

SELINUX=permissive

Speichern und schließen Sie die Datei und starten Sie das System neu, um die Änderungen zu übernehmen.

Zugriff auf die Cacti Web-Schnittstelle

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip/cacti auf die Kakteen-Webschnittstelle zu. Sie werden auf die Cacti-Login-Seite umgeleitet:

Kakteen-Anmeldung

Geben Sie den Standard-Benutzernamen und das Passwort als admin / admin ein und klicken Sie dann auf die Schaltfläche Login. Sie sollten den Bildschirm zum Ändern des Cacti-Passwortes sehen:

Passwort ändern

Geben Sie Ihr Standard-Passwort und ein neues Passwort ein und klicken Sie dann auf die Schaltfläche Speichern. Sie sollten die Cacti-Lizenzvertragsseite sehen: Geben Sie Ihren Standard-Benutzernamen und Ihr neues Passwort ein und klicken Sie auf Speichern:

Lizenz akzeptieren

Akzeptieren Sie die Lizenzvereinbarung und klicken Sie auf die Schaltfläche Begin. Sie sollten die Vor-Installations-Prüfungsseite sehen: Geben Sie Ihr Standard-Passwort und das neue Passwort ein:

Prüfung vor der Installation

Stellen Sie sicher, dass alle Pakete installiert sind, und klicken Sie dann auf die Schaltfläche Next. Sie sollten die folgende Seite sehen:

Installationstyp wählen

Wählen Sie Ihren Installationstyp und klicken Sie auf die Schaltfläche Next. Sie sollten die Seite zur Überprüfung der Verzeichnisberechtigungen sehen:

Verzeichnis-Berechtigungen

Klicken Sie auf die Schaltfläche Next. Sie sollten die folgende Seite sehen: Wählen Sie Ihren Installationstyp und klicken Sie auf die Schaltfläche Next.

Binäre Stellen prüfen

Klicken Sie auf die Schaltfläche Next. Sie sollten die Seite Eingabevalidierung sehen: Klicken Sie auf die Schaltfläche Weiter:

Whitelist zur Eingabevalidierung

Aktivieren Sie das Kontrollkästchen und klicken Sie auf die Schaltfläche Next. Sie sollten die Seite Profil sehen: Klicken Sie das Kästchen an und klicken Sie auf Weiter:

Standard-Profil

Geben Sie Ihren Netzwerkbereich an und klicken Sie auf die Schaltfläche Next. Sie sollten die Seite zur Einrichtung der Vorlage sehen:

Einrichtung der Vorlage

Wählen Sie die gewünschte Vorlage aus und klicken Sie auf die Schaltfläche Next. Sie sollten die folgende Seite sehen: Wählen Sie Ihre gewünschte Vorlage aus und klicken Sie auf die Schaltfläche Next:

Server-Sortierung

Öffnen Sie als nächstes Ihr Terminal, loggen Sie sich in die MySQL-Shell ein und ändern Sie den Zeichensatz, indem Sie den folgenden Befehl ausführen:

MariaDB [(none)]> ALTER DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Als nächstes gehen Sie zurück zum Cacti-Installationsassistenten und klicken Sie auf die Schaltfläche Next. Sie sollten die folgende Seite sehen:

Installation bestätigen

Bestätigen Sie die Installation und klicken Sie auf die Schaltfläche Installieren. Sobald die Installation beendet ist, sollten Sie die folgende Seite sehen:

Installation erfolgreich abgeschlossen

Klicken Sie auf die Schaltfläche Get Started. Sie sollten das Cacti Dashboard auf der folgenden Seite sehen:

Kakteen-Armaturenbrett

Klicken Sie auf die Grafiken => Lokaler Linux-Rechner. Auf der folgenden Seite sollten Sie die Informationen über Ihre lokale Maschine sehen:

Server-Überwachung mit Cacti

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben das Cacti Netzwerk-Überwachungstool auf Ubuntu 20.04 erfolgreich installiert und konfiguriert. Sie können nun den Cacti-Agent auf dem Rechner des Kunden installieren und zum Cacti-Server hinzufügen und die Überwachung starten. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …