Inhaltsverzeichnis
- 1. Abhängigkeiten installieren
- 2. Installieren Sie die MariaDB-Datenbank und ihre Bibliotheken
- 3. Installieren Sie Apache Server und PHP
- 4. Zabbix-Server herunterladen und kompilieren
- 5. Einstellungen nach der Installation
- 6) Konfigurieren Sie die MariaDB-Datenbank für Zabbix
- 7. Konfigurieren Sie den Apache-Server für Zabbix
- 8. Zabbix-Server konfigurieren
- 9. Installieren Sie das Zabbix-Webinterface
Was ist Zabbix?
Es ist ein Netzwerküberwachungssystem, das von Alexei Vladishev erstellt wurde. Es wurde entwickelt, um den Status verschiedener Netzwerkdienste, Server und Netzwerkhardware zu überwachen und aufzuzeichnen.
Verwendet MySQL, PostgreSQL, SQLite, Oracle oder IBM DB2 als Datenbank. Das Backend ist in C und das Web-Frontend in PHP geschrieben. Zabbix bietet mehrere Überwachungsoptionen:
- Einfache Prüfungen, mit denen die Verfügbarkeit und das Antwortniveau von Standarddiensten wie SMTP oder HTTP überprüft werden können, ohne dass auf dem überwachten Host Software installiert werden muss.
- Ein Zabbix-Agent kann auch auf UNIX- und Windows-Rechnern installiert werden, um Statistiken wie CPU-Auslastung, Netzwerkauslastung, Festplattenspeicher usw. zu überwachen.
- Als Alternative zur Installation des Agenten auf den Hosts bietet Zabbix Unterstützung für die Überwachung über die Protokolle SNMP, TCP und ICMP sowie über IPMI, JMX, SSH, Telnet und die Verwendung benutzerdefinierter Konfigurationsparameter. Zabbix unterstützt eine Vielzahl von Echtzeit-Benachrichtigungsmechanismen, einschließlich XMPP.
Zabbix-Hauptfunktionen
- Hohe Leistung und Geräteüberwachungsfunktionen (Server, Hardware wie Drucker, Router, unter anderem).
- Zentralisierte Überwachung durch den Webadministrator (Vorderes Ende).
- Agenten, die auf verschiedenen Betriebssystemen installiert werden können, Beispiel: Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X, Tru64 / OSF1, Windows 2000, Windows Server 2003, Windows XP, Windows Vista, Windows Server 2008, Windows 7, Windows 8 und neuerdings Windows 2012
- SLA, mit dem Sie die Qualität der von Ihrer IT für Ihr Unternehmen bereitgestellten Dienste analysieren können.
Wie funktioniert Zabbix?
Zabbix bietet Ihnen Monitoring für "LAN, lokale Netzwerke" Ja "WAN, Weitverkehrsnetze". Die Anwendung wird auf einem Server (Linux) installiert und ist dann dediziert für "Informationen sammeln". Es bietet eine WEB-Schnittstelle, in der alle gesammelten Informationen grafisch dargestellt werden. Es verfügt über Agenten für Linux, Mac und Windows, die im "Server" oder "Arbeitsplätze" dass Sie an der Überwachung interessiert sind. Darüber hinaus können Sie mit dieser Lösung unter anderem den Status von Druckern, Routern, Switches, Temperatur- und Feuchtigkeitssensoren anzeigen.
Zabbix gegen Nagios oder Zenoss?
Die drei Anwendungen werden als Open-Source-Lösungen präsentiert, aber die einzige 100% kostenlose ist Zabbix. So sehr Nagios und Zenoos basieren ihr Geschäftsmodell auf dem Verkauf von Plugins oder erweiterten Versionen des Produkts. jedoch Zabbix lebt von Zertifizierungen zu IT-Experten, Bücher und Unterstützung.
Bei Zabbix ist alles, was man zum Monitoring braucht, frei verfügbar, mit dem Detail, dass die Konfiguration etwas technischer, aber leicht verständlich ist.
Zabbix-Installation auf Centos / Red Hat 7
Wir werden uns auf die Installation von Centos- und RedHat-Systemen konzentrieren, in einem anderen Beitrag werde ich über deren Installation in Ubuntu / Debian sprechen. Zum Zeitpunkt der Erstellung des Tutorials bietet Zabbix kein vorkompiliertes Paket an, wir müssen den Quellcode herunterladen und von Hand kompilieren.
1. Abhängigkeiten installieren
Um zu kompilieren, müssen wir alle notwendigen Abhängigkeiten und Tools installieren. Für Version 2.4.5 benötigen wir: Build-Essentials, Entwicklungstools, GCC, curl, wget und einige Abhängigkeiten für die SNMP-Unterstützung.
Wir geben unser Terminal als root ein und starten.
yum install gcc gcc-c ++ make openssl-devel curl wget net-snmp net-snmp-utils net-snmp-libs net-snmp-devel gnutls gnutls-devel libxml2 libxml2-devel
2. Installieren Sie die MariaDB-Datenbank und ihre Bibliotheken
Wir müssen MariaDB und die MySQL-Entwicklungsbibliothek installieren.
yum install mariadb-server mariadb-client mariadb-develWir starten den Dienst:
systemctl starte mariadb.serviceWenn wir die Installation abgeschlossen haben, müssen wir die Datenbank mit mysql_secure_installation mit Administratorrechten sichern.
mysql_secure_installationEin Assistent beginnt mit der Konfiguration der Datenbank, wir müssen wie folgt reagieren:
Geben Sie das aktuelle Passwort für root ein ## Wir drücken die Eingabetaste. Set root password? (J / n) ## Wir sagen nein Anonyme Benutzer entfernen? ## Wir sagen ja Root-Login aus der Ferne verbieten? ## Wir sagen ja Testdatenbank entfernen und darauf zugreifen? ## Wir sagen ja Berechtigungstabellen jetzt neu laden? ## Wir sagen ja Alles fertig! Wenn Sie alle oben genannten Schritte ausgeführt haben, sollte Ihre MariaDB-Installation jetzt sicher sein.Damit wäre alles.
3. Installieren Sie Apache Server und PHP
Der nächste Schritt ist die Installation des Webserver mit PHP. (In Centos ist das Apache-Paket httpd).
yum installiere httpd php php-mysql php-gd pgp-cli php-xml php-bcmath php-mbstring mod_ssl opensslWir müssen den PHP-Interpreter konfigurieren und einige Werte anpassen, damit er mit dem Zabbix-Server verwendet werden kann. Wir öffnen php.ini in meinem Fall werde ich den vim-Editor verwenden und einige Werte ändern. Ich zeige den Standardwert links und den geänderten rechts an.
vim /etc/php.ini
post_max_size = 8M → post_max_size = 16M max_execution_time = 30 → max_execution_time = 300 max_input_time = 60 → max_input_time = 300; date.timezone = Kontinent / Stadt → date.timezone = Amerika / Caracas #Denken Sie daran, das zu löschen;; immer_populate_raw_post_data = Ein → immer_populate_raw_post_data = -1In meinem Fall habe ich die Zeit von Venezuela angegeben, Sie können die Liste der mit PHP kompatiblen Zeitzonen in ----> http://php.net/manual/en/timezones.php . sehen
Wir schließen die Datei, speichern die Änderungen und starten den Apache-Dienst neu.
systemctl Neustart httpd.serviceEs wird nur neu gestartet.
4. Zabbix-Server herunterladen und kompilieren
Nachdem wir das System vorbereitet haben, können wir die Zabbiz-Versionen von der offiziellen Website herunterladen.Zum Zeitpunkt der Erstellung des Tutorials ist die stabile Version 2.4.5, wir können sie mit wget herunterladen.
wget http: //sourceforge.net/projects/zabbix/files/ZABBIX \ Latest \ \ Stable / 2.4.5 / zabbix-2.4.5.tar.gzSie können andere Versionen aus seinem offiziellen Repository sehen ---> http: //sourceforge.n… s / zabbix / files /
Nach dem Herunterladen des Tablets fahren wir mit der Dekomprimierung fort
tar xfz zabbix-2.4.5.tar.gz # cd zabbix-2.4.5.tar.gz / # lsWir können alle Optionen beim Kompilieren der Binärdatei mit ./configure -h sehen. Im Fall dieses Labors werde ich eine typische Installation mit den folgenden Parametern verwenden.
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2Wir warten eine Weile und führen dann make aus, um die ausführbare Datei zu erstellen. (Dieser Schritt kann länger dauern als bei der Konfiguration) Zum Abschluss verwenden wir make install.
# make # make installMachen Sie installieren.
5. Einstellungen nach der Installation
Nach der Installation müssen wir einen Benutzer ohne Administratorrechte erstellen, um die Zabbix-Prozesse als Daemon auszuführen. Wir können useradd verwenden.
groupadd zabbix useradd -g zabbix -d / usr / local / share / zabbix -s / bin / false zabbix useradd: Warnung: Das Home-Verzeichnis existiert bereits. Es wird keine Datei aus dem Skel-Verzeichnis hinein kopiert.
6) Konfigurieren Sie die MariaDB-Datenbank für Zabbix
Wir werden eine Datenbank für Zabbix erstellen, auf die der Zabbix-Benutzer zugreifen kann.
mysql -u root -p MariaDB> Datenbank erstellen zabbix; MariaDB> gewährt alle Privilegien auf zabbix * An 'zabbix' @ 'localhost' identifiziert durch 'your password'; MariaDB> Flush-Privilegien; MariaDB> beendenDenken Sie daran, das Kennwort für die Datenbank in Ihr eigenes zu ändern. Falls wir eine DB außerhalb unseres Servers verwenden möchten, verwenden wir.
MariaDB> gewährt alle Privilegien für Zabbix * An 'zabbix' @ '%' identifiziert durch 'your_password';Wir müssen zum Zabbix-Installationsverzeichnis zurückkehren, wenn es nicht darin enthalten ist. Listen Sie die MySQL-Tabellen auf und importieren Sie sie in die neue Datenbank, die wir mit erstellt haben.
[root @ Joncak1 zabbix-2.4.5] # mysql -u zabbix -p zabbix <Datenbank / mysql / schema.sql Passwort eingeben: [root @ Joncak1 zabbix-2.4.5] # mysql -u zabbix -p zabbix <Datenbank / mysql / images.sql Passwort eingeben: [root @ Joncak1 zabbix-2.4.5] # mysql -u zabbix -p zabbix <database / mysql / data.sql Passwort eingeben: [root @ Joncak1 zabbix-2.4.5] #
7. Konfigurieren Sie den Apache-Server für Zabbix
Wir haben die Ordner bereits importiert, jetzt müssen wir dasselbe für die Dateien auf dem Webserver tun. Wir müssen alle Inhalte entfernen, die sich in /var/www/html/ befinden.
rm /var/www/html/index.html cp -rf Frontends / php / * / var / www / html /Wir müssen den von uns erstellten zabbix-Benutzer der Apache-Gruppe hinzufügen, zusätzlich aktivieren SSL-Apache laufen können Zabbix bei https
usermod -aG apache zabbix a2enmod ssl a2ensite default-sslWir müssen den Webserver neu starten, damit die Änderungen übernommen werden können.
systemctl Neustart httpd.serviceSie werden angewendet.
8. Zabbix-Server konfigurieren
Jetzt müssen wir die Zabbix-Konfigurationsdatei ändern. Denken Sie daran, den von Ihnen bevorzugten Texteditor zu verwenden, in meinem Fall werde ich vim verwenden.
vim /usr/local/etc/zabbix_server.conf # ListenPort = 10051 → ListenPort = 10051 LogFile = / tmp / zabbix_server.log → LogFile = / var / log / zabbix_server.log # DBHost = localhost → DBHost = localhost #Falls die DB ist Remote Platzieren Sie die IP hier. DBName = zabbix → #Platzieren Sie den Namen der Datenbank. DBUser = root → DBUser = zabbix # DBPassword = → DBPassword = 'svradm2010' DBSocket = / tmp / mysql.sock → DBSocket = / var / run / mysqld / mysqld.sock # DBPort = 3306 → DBPort = 3306Wir müssen die Datei erstellen, in der Zabbix die Protokolle ablegt und Berechtigungen hinzufügt, damit Zabbix darauf schreiben kann.
touch /var/log/zabbix_server.log chmod 775 /var/log/zabbix_server.log chgrp zabbix /var/log/zabbix_server.logNachdem wir alle Konfigurationen abgeschlossen haben, können wir den Zabbix-Server und seinen Agenten starten, damit er lokal Informationen sammeln kann.
/usr / local / sbin / zabbix_server / usr / local / sbin / zabbix_agentd / usr / local / sbin / zabbix_agentWir können überprüfen, ob es mit netstat ausgeführt wird.
[root @ Joncak1 local] # netstat -tulpn Aktive Internetverbindungen (nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State PID / Programmname tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 13512 / mysqld tcp 0 0 0.0.0.0:5901 0.0.0.0:* HÖREN 977 / Xvnc tcp 0 0 0.0.0.0:111 0.0.0.0:* HÖREN 591 / rpcbind tcp 0 0 0.0.0.0:6001 0.0.0.0:* HÖREN 977 / Xvnc tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 962 / sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1005 / Master tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 23811 / zabbix_agentd tcp6 0 0 ::: 111 ::: * LISTEN 591 / rpcbind tcp6 0 0 ::: 80 ::: * LISTEN 23778 / httpd tcp6 0 0 ::: 6001 ::: * LISTEN 977 / Xvnc tcp6 0 0 ::: 22 ::: * LISTEN 962 / sshd tcp6 0 0 :: 1: 25 ::: * LISTEN 1005 / master tcp6 0 0 ::: 443 ::: * LISTEN 23778 / httpd tcp6 0 0 ::: 10050 ::: * HÖREN 23811 / zabbix_agentd udp 0 0 0.0.0.0:68 0.0.0.0:* 815 / dhclient udp 0 0 0.0.0.0:23110 0.0.0.0:* 815 / dhclient udp 0 0 0.0.0.0:111 0.0.0.0:* 591 / rpcbind udp 0 0 0.0.0.0:123 0.0.0.0:* 592 / chronyd udp 0 0 0.0.0.0:41601 0.0. 0.0: * 583 / Avahi-Daemon: r udp 0 0 0.0.0.0:5353 0.0.0.0:* 583 / Avahi-Daemon: r udp 0 0 0.0.0.0:752 0.0.0.0:* 591 / rpcbind udp 0 0 127.0 .0.1: 323 0.0.0.0:* 592 / chronyd udp6 0 0 ::: 111 ::: * 591 / rpcbind udp6 0 0 ::: 123 ::: * 592 / chronyd udp6 0 0 ::: 18 132 :: : * 815 / dhclient udp6 0 0 ::: 752 ::: * 591 / rpcbind udp6 0 0 :: 1: 323 ::: * 592 / chronydJetzt gehen wir zur Installation über.
9. Installieren Sie das Zabbix-Webinterface
Schließlich müssen wir die Zabbix-Weboberfläche installieren und konfigurieren. Wir müssen einen Browser verwenden und die Adresse des von uns konfigurierten Servers eingeben.
http: //IP_Adresse/setup.php
oder per SSL eingeben
https: //IP_Adresse/setup.php
VERGRÖSSERN
chown -R apache / var / www / html / conf /Und wir kehren zum Browser zurück und drücken auf Weiter.
Wenn es richtig ist, sehen wir diesen Bildschirm.
chown -R apache / var / www / html / conf /Herzlichen Glückwunsch, Sie haben den Zabbix-Server installiert und können sich mit dem Standardbenutzernamen anmelden.
Benutzer: Admin-Passwort: zabbix