


Lnmp baut ein Zabbix-Betriebs- und Wartungsüberwachungssystem auf
Verwendungszweck?
Ich muss eine Protokollüberwachung im Unternehmensprojekt durchführen. Ich habe mich zunächst für efk entschieden, aber es gibt relativ wenige Informationen über efk und mich Ich habe es noch nie zuvor verwendet und es ist schwierig zu verwenden. Daher wurde Zabbix als Betriebs- und Wartungsüberwachungssystem des Projekts ausgewählt.
Was kann zabbix?
zabbix wird hauptsächlich zur Netzwerküberwachung, Systemüberwachung, Anwendungsüberwachung und anderen Szenarien verwendet. Zabbix ist in Serverseite und Agentenseite unterteilt. In der ersten Hälfte des Artikels geht es um den Installationsvorgang auf der Serverseite, und am Ende des Artikels wird der Installationsvorgang auf der Agentenseite erläutert.
Build-Umgebung
Centos7.0, integrierte LNMP-Umgebung (MySQL5.7, PHP7.2), Zabbix4.0-Version. Das Handbuch gibt die folgenden Installationsmethoden an:
- Quellcode-Installation (in diesem Artikel wird die Quellcode-Installation verwendet)
- Binärinstallation
- Container-Installation, z. B. Docker-Installation
Installationsschritte
1. Installieren Sie die lnmp-Umgebung Aufgrund des lnmp-Integrationspakets ist die Installation sehr komfortabel, sodass Sie das offizielle Website-Handbuch mit einem Klick direkt installieren können. 2. Installieren Sie den Zabbix-Server
# 安装依赖 yum install net-snmp-devel libxml2-devel libcurl-devel libevent-devel mysql-devel # 下载安装包(该安装包可以直接放在web的程序目录里面) wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.2.3/zabbix-4.2.3.tar.gz/download # 解压 tar zxvf zabbix-4.2.3.tar.gz # 编译(这里我使用的是mysql,所以在编译的时候是用的mysql的依赖,如果是其他的数据库按照官网手册编译的时候编译其他的数据库依赖) cd zabbix-4.2.3 ./configure --prefix=/web/data/zabbix-3.4.4/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 # 开始安装 make && make install
3. Erstellen Sie einen Zabbix-Benutzer Warum müssen wir aus Sicherheitsgründen einen separaten Benutzer für zabbix erstellen? Aus Sicherheitsgründen wird zabbix nur als normaler Benutzer ausgeführt. Wenn Ihr aktueller Benutzer ttlsa heißt, wird er als ttlsa ausgeführt, wenn Sie ihn ausführen. Wenn Sie Zabbix jedoch in der Root-Umgebung ausführen, wird Zabbix aktiv als Zabbix-Benutzer ausgeführt. Wenn Ihr System jedoch keinen Benutzer namens zabbix hat, müssen Sie einen erstellen.
groupadd zabbix useradd -g zabbix zabbix
4. Datenbankbezogene Konfiguration Aus Sicherheitsgründen erstellen wir hier auch einen separaten Datenbankbenutzer für zabbix, und der Datenbankname lautet ebenfalls zabbix. Der in diesem Artikel erstellte MySQL-Benutzer ist zabbix, und das Passwort kann nach Ihren Wünschen definiert werden.
5. Importieren Sie die von zabbix vorbereiteten Daten. .Sehen Sie sich die Datenbankdateien an
cd /home/wwwroot/zabbix-4.2.3/database && ls drwxr-xr-x 2 mysql mysql 4096 6月 6 02:23 elasticsearch drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 ibm_db2 -rw-r--r-- 1 root root 21474 6月 13 10:10 Makefile -rw-r--r-- 1 mysql mysql 155 6月 6 02:23 Makefile.am -rw-r--r-- 1 mysql mysql 21722 6月 6 02:24 Makefile.in drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 mysql drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 oracle drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 postgresql drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 sqlite3
. Die oben genannten Verzeichnisse sind für verschiedene Daten bestimmt. Wir verwenden MySQL, daher müssen wir uns wie folgt um die Dateien im MySQL-Verzeichnis kümmern ist die Datei, die wir brauchen. Schema.sql Dateinummer-Datentabellenstruktur, images.sql ist die zugehörige Bilddatenstruktur und data.sql ist die zugehörige Datenstruktur.
-rw-r--r-- 1 mysql mysql 4018823 6月 6 02:24 data.sql -rw-r--r-- 1 mysql mysql 1978341 6月 6 02:23 images.sql -rw-r--r-- 1 root root 15420 6月 13 10:10 Makefile -rw-r--r-- 1 mysql mysql 392 6月 6 02:23 Makefile.am -rw-r--r-- 1 mysql mysql 15711 6月 6 02:24 Makefile.in -rw-r--r-- 1 mysql mysql 142074 6月 6 02:24 schema.sql
. Melden Sie sich an und importieren Sie die Datenbank
# 登录数据 mysql -u root -p # 选择实现创建好的zabbix数据库 use zabbix # 依次导入数据库文件 source /home/wwwroot/zabbix-4.2.3/database schema.sql source /home/wwwroot/zabbix-4.2.3/database data.sql source /home/wwwroot/zabbix-4.2.3/database images.sql
Konfigurieren Sie den virtuellen Domänennamen
Der in diesem Artikel erstellte Zabbix ist in der virtuellen Umgebung von erstellt Für den einfachen Zugriff müssen Sie lediglich eine Nginx-Datei konfigurieren. Wenn die integrierte Entwicklungsumgebung lnmp verwendet wird, verwenden Sie den Befehl, der mit der integrierten Entwicklungsumgebung lnmp geliefert wird Erstellen Sie
lnmp vhost add # 指定root的目录,应该为 /home/wwwroot/zabbix-4.2.3/frontends/php # 应该开启pathinfo模式, #rwriter 选择WordPress(不强制要求)
am lokalen Standort. Fügen Sie den oben genannten selbstkonfigurierten virtuellen Domänennamen zur Hosts-Datei hinzu (nehmen Sie .dev.zabbix.com als Beispiel)
Verwenden Sie zabbix
Wenn wir uns anmelden, werden wir dazu aufgefordert. Wir können nach Aufforderung einige Installationsinformationen eingeben. Nach der Installation gelangen Sie automatisch zur Anmeldeseite. Sie können zwischen Gastmodus und Administratormodus wählen.
Der Gastmodus ist nur ein einfacher Browsing-Vorgang. Das Standardverwaltungskonto des Systems ist Admin und das Passwort ist zabbix. Wenn Sie ein Administratorkonto verwenden, wird möglicherweise die folgende Meldung angezeigt. Wenn es durch unseren Webdienst verursacht wird und Apache verwendet wird, treten die folgenden Probleme nicht auf.
Die Ursache des Problems liegt im PHP-Positionierungsproblem von Zabbix. Zabbix legt Berechtigungen basierend auf dem PHP-Dateinamen fest, z. B. index.php, Dashboard.php. usw. Wenn cgi.fix_pathinfo auf 0 gesetzt ist, kann PHP den von der URL angeforderten Dateinamen nicht abrufen. Beim Zugriff auf index.php kann es beispielsweise nicht index.php abrufen und die Berechtigungen nicht finden, sodass dieser Fehler auftritt. Die Lösung ist: Ändern Sie die Konfiguration der php.ini-Datei.
cgi.fix_pathinfo=0 改为 cgi.fix_pathinfo=1
Wenn wir uns zu diesem Zeitpunkt anmelden, sehen wir die folgende Oberfläche.
Installieren Sie den Agenten
Verzeichnis der Konfigurationsdatei:/etc/zabbix/zabbix_agentd.conf
1.在被监控主机上设置防火墙,允许zabbix-agent的10050端口通过 2.执行yum list |grep zabbix,找到zabbix的agent安装包并安装,如包名zabbix-agent.x86_64 3.在 /etc/zabbix/zabbix_agentd.conf 中更改: Server=<zbx-server> ServerActive=<zbx-server> Hostname= 4.设置zabbix-agent服务自启动并启动服务 systemctl enable zabbix-agent.service 开机自启动 systemctl start zabbix-agent.service 启动服务</zbx-server></zbx-server>
Weitere technische Artikel zu Linux finden Sie unter Linux-Tutorial Spalte zum Lernen!
Das obige ist der detaillierte Inhalt vonLnmp baut ein Zabbix-Betriebs- und Wartungsüberwachungssystem auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Um eine Web.xml -Datei zu öffnen, können Sie die folgenden Methoden verwenden: Verwenden Sie einen Texteditor (z.

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

Linux wird am besten als Serververwaltung, eingebettete Systeme und Desktop -Umgebungen verwendet. 1) In der Serververwaltung wird Linux verwendet, um Websites, Datenbanken und Anwendungen zu hosten und Stabilität und Zuverlässigkeit bereitzustellen. 2) In eingebetteten Systemen wird Linux aufgrund seiner Flexibilität und Stabilität in Smart Home und Automotive Electronic Systems häufig verwendet. 3) In der Desktop -Umgebung bietet Linux reichhaltige Anwendungen und eine effiziente Leistung.

Die Hauptgründe, warum Sie sich bei MySQL nicht als Root anmelden können, sind Berechtigungsprobleme, Konfigurationsdateifehler, Kennwort inkonsistent, Socket -Dateiprobleme oder Firewall -Interception. Die Lösung umfasst: Überprüfen Sie, ob der Parameter Bind-Address in der Konfigurationsdatei korrekt konfiguriert ist. Überprüfen Sie, ob die Root -Benutzerberechtigungen geändert oder gelöscht und zurückgesetzt wurden. Stellen Sie sicher, dass das Passwort korrekt ist, einschließlich Fall- und Sonderzeichen. Überprüfen Sie die Einstellungen und Pfade der Socket -Dateiberechtigte. Überprüfen Sie, ob die Firewall Verbindungen zum MySQL -Server blockiert.

Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Bei der Entwicklung in Go ist die Verbindung zu Oracle -Datenbanken eine übliche Anforderung ...

Ich habe ein Projekt namens Lua-Libuv entwickelt und freue mich, meine Erfahrungen zu teilen. Die ursprüngliche Absicht des Projekts besteht darin, zu untersuchen, wie Libuv (eine in C geschriebene asynchrone E/A -Bibliothek) verwendet wird, um einen einfachen HTTP -Server zu erstellen, ohne die C -Sprache ausführlich lernen zu müssen. Mit Hilfe von ChatGPT habe ich den Basiscode von http.c. Beim Umgang mit anhaltenden Verbindungen habe ich zum richtigen Zeitpunkt erfolgreich die Schließung der Verbindung und die Freilegung von Ressourcen implementiert. Zuerst habe ich versucht, einen einfachen Server zu erstellen, der das Hauptprogramm beendete, indem ich die Verbindung schließt, aber ich hatte einige Probleme. Ich habe versucht, Datenblöcke mit Streaming zu senden, und während es funktioniert, blockiert dies den Haupt -Thread. Am Ende habe ich mich entschlossen, diesen Ansatz aufzugeben, weil mein Ziel nicht darin bestand, eine Tiefe der C -Sprache zu lernen. Endlich, ich

C-Sprachbedingungskompilation ist ein Mechanismus zum selektiven Kompilieren von Codeblöcken, die auf Kompilierungszeitbedingungen basieren. Zu den Einführungsmethoden gehören: Verwenden von #IF- und #else -Direktiven, um Codeblöcke basierend auf den Bedingungen auszuwählen. Zu den häufig verwendeten bedingten Ausdrücken gehören STDC, _win32 und Linux. Praktischer Fall: Drucken Sie verschiedene Nachrichten entsprechend dem Betriebssystem. Verwenden Sie unterschiedliche Datentypen gemäß der Anzahl der Ziffern des Systems. Verschiedene Header -Dateien werden gemäß dem Compiler unterstützt. Die bedingte Kompilierung verbessert die Portabilität und Flexibilität des Codes und macht es an den Compiler-, Betriebssystem- und CPU -Architekturänderungen anpassbar.

1.0.1 Vorwort Dieses Projekt (einschließlich Code und Kommentare) wurde während meines Autodidakt-Rostes aufgezeichnet. Es kann ungenaue oder unklare Aussagen geben. Bitte entschuldigen Sie sich. Wenn Sie davon profitieren, ist es noch besser. 1.0.2 Warum ist Rustrust zuverlässig und effizient? Rost kann C und C mit ähnlicher Leistung, aber höherer Sicherheit ersetzen, und erfordert keine häufige Neukompilation, um auf Fehler wie C und C zu prüfen. Thread-Safe (stellen Sie sicher, dass Multi-Thread-Code vor der Ausführung sicher ist). Vermeiden Sie undefiniertes Verhalten (z. B. Array aus Grenzen, nicht initialisierte Variablen oder Zugriff auf den freien Speicher). Rust bietet moderne Sprachmerkmale wie Generika
