Serverüberwachung · 7 min read · Nov 01, 2025

So überwachen Sie Ihren CentOS 7-Server mit Cacti

Cacti ist eine kostenlose und Open-Source-Netzwerkdiagrammlösung. Es verwendet RRDTool zur Datensammlung und -darstellung. Es bietet viele Funktionen wie entfernte und lokale Datensammler, Netzwerkentdeckung, Automatisierung des Gerätemanagements, Diagrammvorlagen usw.

In diesem Tutorial installieren wir Cacti auf einem CentOS 7-Server.

Voraussetzungen

  • Minimaler CentOS 7-Server
  • Root-Rechte

Schritt 1 - Apache installieren

Es wird empfohlen, den Server vor der Installation eines Pakets zu aktualisieren, damit die vorhandenen Pakete und Repositories aktualisiert werden.

yum -y update

Sobald Ihr System aktualisiert ist, können Sie mit der Installation des Apache-Webservers fortfahren.

yum -y install httpd

Starten Sie nun den Apache-Webserver und aktivieren Sie ihn, damit er beim Booten gestartet wird, indem Sie den folgenden Befehl verwenden.

systemctl start httpd
systemctl enable httpd

Schritt 2 - PHP installieren

Cacti unterstützt alle PHP-Versionen, die größer als 5.3 sind. In diesem Tutorial werden wir jedoch PHP 7.1 installieren, da PHP v5.3 das Ende seiner Lebensdauer erreicht hat. Die Installation der neuesten Version von PHP gewährleistet die maximale Sicherheit und Leistung der Anwendung.

Das Standard-YUM-Repository von CentOS enthält PHP 7.1 nicht, daher müssen Sie das Webtatic-Repository in Ihr System hinzufügen. Das Webtatic-Repository benötigt das EPEL-Repository, um zu funktionieren. Führen Sie den folgenden Befehl aus, um das EPEL-Repository zu installieren.

yum -y install epel-release
yum -y update

Geben Sie die Befehle ein, um das Webtatic-Repository zu installieren.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update

Geben Sie den folgenden Befehl ein, um PHP 7.1 zusammen mit allen erforderlichen Abhängigkeiten zu installieren.

yum -y install php71w php71w-snmp php71w-mysqli php71w-cli php71w-ldap php71w-xml php71w-session php71w-sockets php71w-pcre php71w-gd php71w-dom php71w-posix php71w-mbstring

Um zu überprüfen, ob PHP erfolgreich installiert wurde, können Sie Folgendes ausführen:

php -v

Sie sollten eine Ausgabe ähnlich der folgenden erhalten.

[root@liptan-pc ~]# php -v
PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

Jetzt müssen Sie einige Konfigurationen in PHP vornehmen. Öffnen Sie die PHP-Konfigurationsdatei, php.ini, mit Ihrem bevorzugten Texteditor. In diesem Tutorial verwenden wir den Nano-Editor. Wenn Sie Nano nicht installiert haben, können Sie yum -y install nano ausführen.

nano /etc/php.ini

Suchen Sie die folgende Zeile und entfernen Sie das Kommentarzeichen und setzen Sie die Zeitzone entsprechend Ihrer Region. Zum Beispiel:

[Date]
; Definiert die Standardzeitzone, die von den Datumsfunktionen verwendet wird
; http://php.net/date.timezone
date.timezone = Asia/Kolkata

Schritt 3 - MariaDB installieren

MariaDB ist ein Fork der MySQL-Datenbank. Um MariaDB auf Ihrem Server zu installieren, führen Sie Folgendes aus:

yum -y install mariadb mariadb-server

Führen Sie die folgenden Befehle aus, um MariaDB zu starten und zu aktivieren, damit es beim Booten gestartet wird.

systemctl start mariadb
systemctl enable mariadb

Jetzt führen Sie die folgenden Befehle aus, um Ihre MariaDB-Installation zu sichern.

mysql_secure_installation

Der obige Befehl führt ein Skript aus, um die frische MariaDB-Installation zu sichern. Das Skript fragt nach dem bestehenden Root-Benutzerpasswort. Da wir gerade MariaDB installiert haben, ist das Root-Passwort nicht gesetzt, drücken Sie einfach die Eingabetaste, um fortzufahren.

Das Skript fragt Sie, ob Sie ein Root-Passwort für Ihre MariaDB-Installation festlegen möchten. Wählen Sie y und setzen Sie ein starkes Passwort für die Installation. Die meisten Fragen sind selbsterklärend und Sie sollten mit Ja oder y auf alle Fragen antworten. Die Ausgabe sieht wie folgt aus.

Um eine Datenbank zu erstellen, müssen wir uns zuerst an der MySQL-Befehlszeile anmelden. Führen Sie den folgenden Befehl dafür aus.

mysql -u root -p

Der obige Befehl meldet sich an der MySQL-Shell des Root-Benutzers an und fordert das Passwort des Root-Benutzers an. Geben Sie das Passwort ein, um sich anzumelden. Führen Sie jetzt die folgende Abfrage aus, um eine neue Datenbank für Ihre Cacti-Installation zu erstellen.

CREATE DATABASE cacti_data;

Die obige Abfrage erstellt eine neue Datenbank mit dem Namen cacti_data. Sie können auch einen anderen Namen für Ihre Datenbank verwenden, wenn Sie möchten. Stellen Sie sicher, dass Sie am Ende jeder Abfrage ein Semikolon verwenden, da die Abfrage immer mit einem Semikolon endet.

Sobald die Datenbank erstellt ist, können Sie einen neuen Benutzer erstellen und ihm alle Berechtigungen für die Datenbank gewähren. Um einen neuen Datenbankbenutzer zu erstellen, führen Sie die folgende Abfrage aus.

CREATE USER 'cacti_user'@'localhost' IDENTIFIED BY 'StrongPassword';

Die obige Abfrage erstellt einen Benutzer mit dem Benutzernamen cacti_user. Sie können jeden Benutzernamen verwenden, den Sie anstelle von cacti_user bevorzugen. Ersetzen Sie StrongPassword durch ein sehr starkes Passwort. Gewähren Sie nun Ihrem Datenbankbenutzer alle Berechtigungen für die Datenbank, die Sie erstellt haben. Führen Sie den folgenden Befehl aus.

GRANT ALL PRIVILEGES ON cacti_data.* TO 'cacti_user'@'localhost';

Führen Sie nun den folgenden Befehl aus, um die Änderungen an den Datenbankberechtigungen sofort anzuwenden.

FLUSH PRIVILEGES;

Verlassen Sie die MySQL-Eingabeaufforderung mit dem folgenden Befehl.

EXIT;

Sie müssen auch die Zeitzonentabelle befüllen. Führen Sie den folgenden Befehl aus, um die Zeitzonentabellen zu befüllen.

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Geben Sie das MySQL-Root-Passwort ein, um fortzufahren. Sobald die Tabellen befüllt sind, müssen Sie dem Cacti-Benutzerkonto Zugriff auf die Tabellen gewähren. Melden Sie sich erneut an der MySQL-Eingabeaufforderung an mit:

mysql -u root -p

Führen Sie jetzt die folgende Abfrage aus.

GRANT SELECT ON mysql.time_zone_name TO 'cacti_user'@'localhost';
FLUSH PRIVILEGES;

Die obige Abfrage gewährt cacti_user Zugriff auf SELECT auf

Schritt 4 - Cacti installieren und konfigurieren

Cacti benötigt einige weitere Abhängigkeiten, führen Sie den folgenden Befehl aus, um sie zu installieren.

yum -y install net-snmp rrdtool net-snmp-utils

Da wir nun alle Abhängigkeiten bereit haben, können wir das Installationspaket von der Cacti-Website herunterladen.

cd /var/www/html
wget http://www.cacti.net/downloads/cacti-1.1.10.tar.gz

Sie finden immer den Link zur neuesten Version der Anwendung auf der Cacti-Download-Seite. Entpacken Sie das Archiv mit dem folgenden Befehl.

tar xzvf cacti*.tar.gz

Benennen Sie Ihren Cacti-Ordner um mit:

mv cacti-1*/ cacti/

Importieren Sie nun die Cacti-Datenbank, indem Sie den folgenden Befehl ausführen.

cd /var/www/html/cacti
mysql cacti_data < cacti.sql -u root -p

Der obige Befehl importiert die cacti.sql-Datenbank in cacti_data mit dem Benutzer root. Es wird auch nach dem Passwort des Root-Benutzers gefragt, bevor die Datenbank importiert wird.

Bearbeiten Sie nun die Cacti-Konfiguration, indem Sie den folgenden Befehl ausführen.

nano /var/www/html/cacti/include/config.php

Suchen Sie nun die folgenden Zeilen und bearbeiten Sie sie entsprechend Ihren MySQL-Datenbankanmeldeinformationen.

/* Stellen Sie sicher, dass diese Werte Ihre tatsächliche Datenbank/Host/Benutzer/Passwort widerspiegeln */

$database_type     = 'mysql';
$database_default  = 'cacti_data';
$database_hostname = 'localhost';
$database_username = 'cacti_user';
$database_password = 'StrongPassword';
$database_port     = '3306';
$database_ssl      = false;

Schritt 5 - Berechtigungen und Firewall konfigurieren

Jetzt müssen Sie dem Webserver-Benutzer die Eigentümerschaft der Anwendung mit dem folgenden Befehl gewähren.

chown -R apache:apache /var/www/html/cacti

Möglicherweise müssen Sie auch den HTTP-Verkehr über Port 80 durch die Firewall zulassen, wenn Sie eine ausführen. Führen Sie die folgenden Befehle dafür aus.

f firewall-cmd --zone=public --permanent --add-service=http
f firewall-cmd --reload

Jetzt müssen Sie SELinux deaktivieren, da die Proxy-Konfiguration nicht mit SELinux-Richtlinien funktioniert. Um SELinux vorübergehend zu deaktivieren, ohne den Server neu zu starten, führen Sie den folgenden Befehl aus.

setenforce 0

Um SELinux vollständig zu deaktivieren, müssen Sie die Datei /etc/selinux/config bearbeiten.

nano /etc/selinux/config

Suchen Sie die folgende Zeile:

SELINUX=enforcing

Ändern Sie sie in:

SELINUX=disabled

Schließen Sie die Installation mit einem Webbrowser ab, gehen Sie zu folgendem Link mit Ihrem bevorzugten Webbrowser.

http://Your_Server_IP/cacti

Sie sehen die folgende Seite.

Cacti Lizenz

Akzeptieren Sie die Lizenzvereinbarung, um fortzufahren.

Im nächsten Interface sehen Sie die Vorinstallation, alle erforderlichen Abhängigkeiten sind erfüllt.

Cacti Vorinstallationsprüfung

Fahren Sie mit dem nächsten Interface fort.

Wählen Sie im Installationstyp Neuer Primärserver und fahren Sie fort.

Cacti Primärserver

Im nächsten Interface müssen Sie die Speicherorte der Binaries angeben. Der Pfad zu RRDTool und PHP-Binaries ist korrekt. Für alle anderen Binaries geben Sie den Pfad /usr/bin/binary_name an. Zum Beispiel ist der Pfad für die Snapwalk-Binärdatei /usr/bin/snmpwalk.

Cacti Einstellungsseite

Im nächsten Interface sehen Sie, dass der Server Schreibzugriff auf alle erforderlichen Ordner hat.

Verzeichnisberechtigungsprüfung

Wählen Sie im Template-Setup die lokale Linux-Maschine aus und klicken Sie auf Fertigstellen.

Template-Setup

Sie werden zur Anmeldeseite weitergeleitet. Melden Sie sich mit dem Benutzernamen admin und dem Passwort admin an, Sie werden zum Dashboard weitergeleitet.

Cacti Dashboard

Die Installation von Cacti ist nun abgeschlossen, Sie können die Anwendung verwenden, um Ihren Server mit interaktiven Grafiken zu überwachen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.