Detaillierte Erläuterung der Installations- und Bereitstellungspraktiken von Zabbix

Detaillierte Erläuterung der Installations- und Bereitstellungspraktiken von Zabbix

Vorwort

Zabbix ist eine der gängigsten Open-Source-Überwachungslösungen. Die Bereitstellung selbst ist nicht schwierig, aber der schwierige Teil besteht darin, es gründlich zu verstehen. Basierend auf der Praxis in der Produktionsumgebung werden alle neuen Versionen von Zabbix 4.0 LTS mit Docker bereitgestellt. Ich glaube, dass uns in Zukunft immer mehr Open-Source-Komponenten in containerisierter Form präsentiert werden.

Betriebssystem:

[root@mysql ~]# cat /etc/redhat-release
CentOS Linux Version 7.5.1804 (Core)

Mysql: Version 5.7.23 192.168.75.251

Zabbix-Server: Version 3.4.12 192.168.75.250

1. MySQL installieren

1.1 MySQL herunterladen

Firewall deaktivieren

#systemctl Firewall stoppen
# systemctl Firewall deaktivieren
vi /etc/selinux/config
SELINUX=enforcing geändert in SELINUX= deaktiviert

Die Standarddatenbank von Centos7 ist MariaDB. Deinstallieren Sie diese zuerst

rpm –qa |grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

Diese Version erfordert Boost 1.9, das ebenfalls heruntergeladen werden sollte

[root@mysql soft]# ll
insgesamt 132444
-rw-r--r-- 1 root root 83709983 10. Aug. 10:26 boost_1_59_0.tar.gz
-rw-r--r-- 1 root root 51907462 10. Aug. 10:26 mysql-5.7.23.tar.gz

MySQL-Benutzer hinzufügen,

MySQL-Gruppenadd
useradd -g mysql -s /sbin/nologin mysql

1.2 Installieren Sie Abhängigkeitspakete

yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel

1.3 Zusammenstellung

Entpacken Sie MySQL und legen Sie die komprimierte Version von Boost in das entpackte MySQL-Verzeichnis

tar xzvf mysql-5.7.23.tar.gz
mv boost_1_59_0.tar.gz mysql-5.7.23

Geben Sie das MySQL-Quelldateiverzeichnis ein, erstellen Sie eine neue Konfiguration als Kompilierungsverzeichnis und geben Sie das Verzeichnis ein

cd mysql-5.7.23
mkdir konfigurieren
CD konfigurieren

Verwenden Sie cmake, um die Kompilierungsumgebung zu generieren.

cmake .. -DBUILD_CONFIG=mysql_release \

-DINSTALL_LAYOUT=STANDALONE \

-DCMAKE_BUILD_TYPE=RelWithDebInfo \

-DENABLE_DTRACE=AUS \

-DWITH_EMBEDDED_SERVER=AUS \

-DWITH_INNODB_MEMCACHED=EIN \

-DWITH_SSL=gebündelt \

-DWITH_ZLIB=System \

-DWITH_PAM=ON \

-DCMAKE_INSTALL_PREFIX=/var/mysql/ \

-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EDITLINE=gebündelt \

-DFEATURE_SET=Gemeinschaft \

-DCOMPILATION_COMMENT="MySQL Server (GPL)" \

-DWITH_DEBUG=AUS \

-DWITH_BOOST=..

Installieren

make && make install

Ändern der Konfigurationsdatei

vim /etc/meine.cnf
[mysqld]
Datenverzeichnis=/var/lib/mysql
socket=/var/mysql/mysql.sock
Port = 3306
log_error=/var/mysql/log/error.log
basedir=/var/mysql/
[Kunde]
socket=/var/mysql/mysql.sock
chown mysql.mysql /etc/my.cnf

Erstellen einer Protokolldatei

mkdir -p /var/mysql/log
berühren Sie /var/mysql/log/error.log
berühren Sie /var/mysql/mysql.sock
chown -R mysql.mysql /var/mysql/

1.4 Initialisierung

#/var/mysql/bin/mysqld --initialize --user=mysql

Überprüfen Sie, ob die Datendatei generiert wird

#ll /var/lib/mysql

insgesamt 110628

-rw-r----- 1 mysql mysql 56 10. August 11:06 auto.cnf

-rw-r----- 1 mysql mysql 417 10. August 11:06 ib_buffer_pool

-rw-r----- 1 mysql mysql 12582912 10. August 11:06 ibdata1

-rw-r----- 1 mysql mysql 50331648 10. August 11:06 ib_logfile0

-rw-r----- 1 mysql mysql 50331648 10. August 11:06 ib_logfile1

drwxr-x--- 2 mysql mysql 4096 10. August 11:06 mysql

drwxr-x--- 2 mysql mysql 8192 10. August 11:06 performance_schema

drwxr-x--- 2 mysql mysql 8192 10. August 11:06 sys

Überprüfen Sie, ob die Protokolldatei generiert wird

# ll /var/mysql/log

Das temporäre Passwort wird generiert und in error.log abgelegt

# cat /var/mysql/log/error.log

2019-11-18T09:06:22.922254Z 0 [Warnung] TIMESTAMP mit implizitem DEFAULT-Wert ist veraltet. Bitte verwenden Sie die Serveroption --explicit_defaults_for_timestamp (weitere Einzelheiten finden Sie in der Dokumentation).

2019-11-18T09:06:24.600401Z 0 [Warnung] InnoDB: Neue Protokolldateien erstellt, LSN=45790

2019-11-18T09:06:24.853258Z 0 [Warnung] InnoDB: Erstellen von Systemtabellen mit Fremdschlüsseleinschränkungen.

2019-11-18T09:06:24.915246Z 0 [Warnung] Es wurde keine vorhandene UUID gefunden, daher gehen wir davon aus, dass dies das erste Mal ist, dass dieser Server gestartet wurde. Eine neue UUID wird generiert: 5dbf9eac-9c4a-11e8-8768-000c29a48522.

2019-11-18T09:06:24.916709Z 0 [Warnung] Die Gtid-Tabelle ist nicht zur Verwendung bereit. Tabelle „mysql.gtid_executed“ kann nicht geöffnet werden.

2019-11-18T09:06:24.917772Z 1 [Hinweis] Ein temporäres Passwort wird für root@localhost generiert: NS0+>RzwvHWl

1.5 Inbetriebnahme

Ändern des anfänglichen Passworts und der Umgebungsvariablen

Kopieren Sie die Startdatei aus der Vorlagendatei:

cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld

Ändern Sie die Startdatei:

vim /etc/init.d/mysqld

Suchen Sie die folgenden beiden Zeilen:

basedir=

Datenverzeichnis=

Geändert zu:

basedir=/var/mysql/
Datenverzeichnis=/var/lib/mysql

Berechtigungen ändern

#chown -R mysql.mysql /var/mysql /var/lib/mysql

Start-up

/etc/init.d/mysqld starten
ln -s /var/mysql/bin/mysql /usr/bin

Konfigurieren Sie MySQL-Umgebungsvariablen:

vim /root/.bash_profile

Suchen Sie die folgende Zeile:

PATH=$PATH:$HOME/bin

Geändert zu:

PATH=$PATH:$HOME/bin:/var/mysql/bin

Melden Sie sich mit dem oben generierten temporären Passwort an

# mysql –u root –p NS0+>RzwvHWl

Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.

Ihre MySQL-Verbindungs-ID ist 6

Serverversion: 5.7.23

Copyright (c) 2000, 2018, Oracle und/oder seine Tochtergesellschaften. Alle Rechte vorbehalten.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer

Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen

Eigentümer.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

MySQL>

Initiales Passwort ändern

mysql> alter user 'root'@'localhost' identified by '123456';

2. Installieren Sie den Zabbix-Server

2.1 PHP installieren

Installieren Sie Version php7.1. Version Zabbix3.0 erfordert php5.4 und höher.

Überprüfen Sie zuerst die lokale PHP-Version

php -v

Überprüfen Sie das aktuelle PHP-Installationspaket

yum list installed | grep php

Deinstallieren Sie das lokale PHP-Installationspaket

yum remove php*

Die Standard-Yum-Quelle kann PHP nicht aktualisieren. Sie müssen eine Yum-Quelle eines Drittanbieters hinzufügen. Wir wählen die Webtatic-Bibliothek.

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

Installieren Sie php7.1

yum install -y php71w

Installieren Sie zugehörige Plugins

yum install -y php71w-fpm php71w-opcache php71w-cli php71w-gd php71w-imap php71w-mysqlnd php71w-mbstring php71w-mcrypt php71w-pdo php71w-pecl-apcu php71w-pecl-mongodb php71w-pecl-redis php71w-pgsql php71w-xml php71w-xmlrpc php71w-devel mod_php71w php71w-ldap php71w-bcmath

PHP-Konfigurationsparameter ändern

vim /etc/php.ini
Datum.Zeitzone = Asien/Shanghai
maximale Ausführungszeit = 300
post_max_size = 32M
Speicherlimit = 128 M
mbstring.func_overload = 1
max_input_time = 300

Berechtigungen zur Sitzungsanpassung,

chmod -R 777 /var/lib/php/session/

2.2 Zabbix installieren

Installieren von Abhängigkeitspaketen

yum -y install gcc* make curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel openldap openldap-devel libevent-develjava-devellibssh2-devel

Erstellen Sie einen Zabbix-Benutzer und eine Zabbix-Gruppe.

Gruppenzusatz Zabbix
Benutzeradd -g zabbix zabbix

Kompilieren und installieren

tar zxvf zabbix-3.4.12.tar.gz
cd zabbix-3.4.12/
./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --mit-mysql --mit-net-snmp --mit-libcurl --mit-openipmi --mit-unixodbc --mit-ldap --mit-ssh2 --enable-java
machen && machen installieren
chown -R zabbix.zabbix /usr/local/zabbix

Ändern Sie die Zabbix-Konfigurationsdatei

vi /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DebugLevel=3
DBHost=192.168.75.251 #Server und Datenbank separat schreiben DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/mysql/mysql.sock
DBPort=3306
StartPollers=10
Zeitüberschreitung = 4
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
LogSlowQueries=3000
Cachegröße = 1024 M

Die Parameter der späteren Konfigurationsdatei können je nach Bedarf angepasst werden.

Übertragen Sie mehrere SQL-Dateien im Zabbix-Paket auf den oben genannten MySQL-Server und importieren Sie die Datenbankdateien

[root@zabbix ~]# cd /opt/soft/zabbix-3.4.12/database/mysql
[root@zabbix mysql]# ll
insgesamt 4876
-rw-r--r--. 1 1001 1001 2877497 30. Juli 19:41 data.sql
-rw-r--r--. 1 1001 1001 1978341 Jul 30 19:41 images.sql
-rw-r--r--. 1 1001 1001 134791 30. Juli 19:41 schema.sql
[root@zabbix mysql]# scp * [email protected]:/opt/

Folgendes wird auf dem MySQL-Server (192.168.75.251) durchgeführt

#mysql -u root –p

Passwort eingeben:

Erstellen Sie eine Zabbix-Datenbank und stellen Sie den Zeichensatz auf UTF8 ein

mysql>create database zabbix character set utf8 collate utf8_bin;

Erstellen Sie einen Zabbix-Benutzer in der MySQL-Datenbank, erteilen Sie dem Zabbix-Benutzer vollständige Berechtigungen für die Zabbix-Datenbank und erlauben Sie dem Zabbix-Server den Remotezugriff auf MySQL

mysql>GEWÄHREN SIE ALLE PRIVILEGIEN FÜR zabbix.* AN [email protected] DURCH „zabbix“;
mysql>GEWÄHREN SIE ALLE PRIVILEGIEN FÜR zabbix.* AN zabbix@localhost, IDENTIFIZIERT DURCH „zabbix“;
mysql>Berechtigungen leeren;
mysql>Datenbanken anzeigen;
+--------------------+
| Datenbank |
+--------------------+
| Informationsschema |
|mysql |
| Leistungsschema |
|System|
|zabbix|
+--------------------+
5 Zeilen im Satz (0,00 Sek.)

Datendateien importieren und in der Konsole bearbeiten

#mysql -u zabbix -p zabbix <schema.sql
#mysql -u zabbix -p zabbix <bilder.sql
#mysql -u zabbix -p zabbix <data.sql

2.3zabbix-Webbereitstellung

Kehren Sie zum Zabbix-Server-Hostbetrieb zurück. httpd wurde oben installiert, erstellen Sie ein Zabbix-Verzeichnis unter Apache

mkdir /var/www/html/zabbix

Kopieren Sie die Weboberfläche im Zabbix-Paket in das Apache-Zabbix-Verzeichnis

\cp –rf /opt/soft/zabbix-3.4.12/frontends/php/* /var/www/html/zabbix/

Konfigurieren der Websicherheit

chown -R apache.apache /var/www/html/zabbix
chmod a+x /var/www/html/zabbix/conf/

Kopieren Sie das Dienststartskript (server/agentd) im Zabbix-Paket in das Startverzeichnis des Linux-Systemdienstes.

cp /opt/soft/zabbix-3.4.12/misc/init.d/fedora/core/zabbix_server zabbix_agentd/etc/init.d/

Ändern Sie /etc/init.d/zabbix_server und /etc/init.d/zabbix_agentd

Ändern Sie BASEDIR=/usr/local in BASEDIR=/usr/local/zabbix/

Start festlegen

systemctl aktiviere httpd
systemctl aktiviere zabbix_server
systemctl aktiviere zabbix_agentd
/etc/init.d/zabbix_server starten
/etc/init.d/zabbix_agentd starten
systemctl start httpd

2.4 Initialisierung des Webdienstes

http://192.168.75.250/zabbix/setup.php

Stellen Sie eine Verbindung zu den Datenbankeinstellungen her und geben Sie den Computer ein, auf dem sich der MySQL-Server befindet, sowie Port, Datenbankname, Benutzer und Passwort.

3. Installieren Sie den Zabbix-Proxy

Installieren Sie zunächst MySQL auf dem Proxy-Rechner. Die Installationsschritte sind dieselben wie oben, aber beim Importieren der MySQL-Datei wird nur eine Datei importiert.

#mysql–uzabbix –p zabbix <schema.sql

Installieren von Abhängigkeitspaketen

yum -y install gcc* make curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel openldap openldap-devel libevent-develjava-devellibssh2-devel

Erstellen Sie einen Zabbix-Benutzer und eine Zabbix-Gruppe.

Gruppenzusatz Zabbix
Benutzeradd -g zabbix zabbix

Kompilieren und installieren

tar zxvf zabbix-3.4.12.tar.gz
cd zabbix-3.4.12/
./Konfigurieren --prefix=/opt/server/zabbix_proxy --enable-proxy --enable-agent --enable-ipv6 --mit-mysql --mit-net-snmp --mit-libcurl --mit-openipmi --mit-unixodbc --mit-ldap --mit-ssh2 --enable-java
machen && machen installieren
chown -R zabbix.zabbix /opt/server/zabbix_proxy

Änderung der Konfigurationsdatei

Vi /usr/local/zabbix/etc/zabbix_proxy.conf
Server=192.168.75.250
ServerPort=10051
Hostname=zabbix_proxy
LogFile=/tmp/zabbix_proxy.log
DBHost=localhost#Weil MySQL und Proxy auf derselben Maschine installiert sind DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/mysql/mysql.sock
Konfigurationsfrequenz = 60
DatenSenderFrequenz=60
StartPollers=5
Zeitüberschreitung = 4
LogSlowQueries=3000

Starten Sie den Proxy (um ihn dem automatischen Start hinzuzufügen)

#/opt/server/zabbix_proxy/sbin/zabbix_proxy-c /opt/server/zabbix_proxy/etc/zabbix_proxy.conf
systemctl aktiviere zabbix_proxy

4. Starten Sie den zabbix_agentd-Client

Wie oben beschrieben, wird beim Kompilieren und Installieren von Zabbix auch der Client mitkompiliert. Kopieren Sie das Zabbix-Verzeichnis unter /usr/local auf den Client.

Ändern der Konfigurationsdatei

vi /usr/local/zabbix/etc/zabbix_agentd.conf
Server=zabbix_proxy_IP #Es wird empfohlen, alle Clients für eine starke Skalierbarkeit an den Proxy zu hängen. Hostname=zabbix_agentd_hostname #Geben Sie den Hostnamen des Clients ein

Start (zum automatischen Start beim Systemstart hinzufügen)

/usr/local/zabbix/sbin/zabbix_agentd-c /usr/local/zabbix/etc/zabbix_agentd.conf
echo "/usr/local/agent/sbin/zabbix_agentd -c /usr/local/agent/etc/zabbix_agentd.conf" >> /etc/rc.local

5. Webverwaltung

Überwachungshost hinzufügen

Vorlage für die Hostüberwachung auswählen

Erfolg der Hostüberwachung

Zusammenfassen

Oben ist die vom Herausgeber vorgestellte Installations- und Bereitstellungspraxis von Zabbix. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Installations- und Konfigurationsmethode von Zabbix Agent auf der Linux-Plattform
  • Zabbix überwacht den Prozess der Linux-Systemdienste
  • Verwendung der Zabbix-API in einer Linux-Shell-Umgebung
  • So installieren Sie die Zabbix-Überwachung unter Linux
  • So richten Sie Zabbix zur Überwachung von Linux-Hosts ein
  • Zabbix-Konfiguration DingTalk-Alarmfunktions-Implementierungscode
  • Detaillierte Beispiele für die Ausführung von Zabbix-Remotebefehlen
  • Detaillierte Erklärung zur Ausführung von Skripten oder Anweisungen durch Zabbix auf Remote-Hosts
  • Zabbix überwacht Linux-Hosts basierend auf SNMP

<<:  Detaillierte Erklärung zum Zugriff auf die MySQL-Datenbank in der virtuellen Linux-Maschine unter Windows

>>:  Erfahren Sie, wie Sie mit Webpack TypeScript-Code verpacken und kompilieren

Artikel empfehlen

vue verwendet Ele.me UI, um die Filterfunktion von Teambition zu imitieren

Inhaltsverzeichnis Problembeschreibung Die allgem...

Zusammenfassung relevanter Erkenntnisse zur Umsetzung adaptiven Webdesigns

Wie funktioniert „Adaptives Webdesign“? Eigentlich...

Docker-Dateispeicherpfad, Befehlsvorgang zum Starten des Containers abrufen

Der Container wurde bereits erstellt. So erfahren...

Einige Tipps zur Beschleunigung der Entwicklung von WeChat-Miniprogrammen

1. Erstellen Sie eine Seite mit app.json Gemäß un...

Zusammenfassung zum horizontal scrollenden Website-Design

Horizontales Scrollen ist nicht in allen Situation...

Methoden und Vorschläge zur Uniapp-Projektoptimierung

Inhaltsverzeichnis 1. Kapseln Sie komplexe Seiten...

MySQL-Transaktions-Tutorial Yii2.0 Händler-Auszahlungsfunktion

Vorwort Ich bin ein PHP-Programmierer, der als Pr...

So erstellen Sie ein standardisiertes VMware-Image für Kubernetes unter Rancher

Wenn wir Kubernetes lernen, müssen wir in der Kub...