Funktionen:
Automatische Erkennung von Node.js-Prozessen, die über PM2 verwaltet werden.
Melden Sie den Nodes.js-Prozessstatus, die CPU-Auslastung, die Speichernutzung und ob der Prozess neu gestartet wird.
Überwachen Sie den Status, die Ressourcennutzung und PID-Änderungen des PM2-Daemon-Prozesses.
Es werden einfach zu installierende Vorlagen für Zabbix-Überwachungselemente bereitgestellt.
1. Node.js-Serverinstallation von pm2-zabbix
npm install -g pm2-zabbix
Testen Sie, ob die automatische Erkennungsfunktion normal ist:
pm2-zabbix --discover
Eine ähnliche Ausgabe weist auf eine erfolgreiche Installation hin:
{ "data": [ { "{#PROCESS_ID}": "qb_node-0", "{#PROCESS_NAME}": "qb_node" }, { "{#PROCESS_ID}": "qb_node-1", "{#PROCESS_NAME}": "qb_node" }, { "{#PROCESS_ID}": "qb_node-2", "{#PROCESS_NAME}": "qb_node" }, { "{#PROCESS_ID}": "qb_node-3", "{#PROCESS_NAME}": "qb_node" } ] }
2. Klonen Sie die Code
git clonehttps://github.com/greatcare/pm2-zabbix.git
3. Zabbix Web-Management-Hintergrundimportvorlagendatei pm2-zabbix/install/zabbix-server/pm2- zabbix.template.xml
4. Fügen Sie Dienste zum Node.js-Server hinzu, wählen Sie entsprechend der Server-Betriebssystemversion aus und ändern Sie den ausgeführten Dienstbenutzer so, dass er mit dem mit PM2 gestarteten Node.js-Benutzer übereinstimmt
RHEL/CentOS 7-Serie:
cp pm2-zabbix/install/init/systemd/pm2-zabbix.service /usr/lib/systemd/system/
Ändern Sie den Inhalt der Zieldatei pm2-zabbix.service. Benutzerelement:
Benutzer=root
RHEL/CentOS 6 oder 5 Serie:
cp pm2-zabbix/install/init/sysv/pm2-zabbix /etc/init.d/
Ändern Sie die Zieldatei pm2-zabbix Dateiinhalt DAEMON_USER-Element:
DAEMON_USER=root
5. Erstellen Sie eine neue Soft-Verbindung und ändern Sie den tatsächlichen Dateipfad, auf den die Soft-Verbindung verweist, entsprechend Ihrem Server
mkdir -p /etc/zabbix ln -s /App/zabbix/etc/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf ln -s /App/zabbix/bin/zabbix_sender /usr/bin/zabbix_sender ln -s `which node` /usr/bin/node ln -s `which pm2-zabbix` /usr/local/bin/pm2-zabbix
6. Starten Sie den pm2-zabbix-Dienst
RHEL/CentOS 7-Serie:
systemctl start pm2-zabbix
RHEL/CentOS 6- oder 5-Serie:
Dienststart pm2-zabbix
7. Ändern Sie die Zabbix-Agent-Konfigurationsdatei zabbix_agentd.conf und fügen Sie weitere Konfigurationen hinzu
Include=/App/zabbix/etc/zabbix_agentd.conf.d/*.conf
8. Kopieren Sie die Zabbix-Agent-Konfiguration
cp pm2-zabbix/install/zabbix-agent/pm2-zabbix.conf /App/zabbix/etc/zabbix_agentd.conf.d/pm2.conf
UserParameter=pm2.processes,sudo -u root /usr/local/bin/pm2-zabbix --discover
zabbix ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/pm2-zabbix Defaults:zabbix !requiretty
/etc/init.d/zabbix_agentd restart