Home > Web Front-end > JS Tutorial > How to add Node.js monitoring to Zabbix

How to add Node.js monitoring to Zabbix

高洛峰
Release: 2016-12-09 15:14:00
Original
1496 people have browsed it

Features:

Automatic discovery of Node.js processes managed through PM2.

Report Nodes.js process status, CPU usage, memory usage and whether the process is restarted.

Monitor the status, resource usage and PID changes of the PM2 daemon process.

Easy-to-install Zabbix monitoring item templates have been provided.

1. Node.js server installation pm2-zabbix

npm install -g pm2-zabbix
Copy after login

Test whether the automatic discovery function is normal:

pm2-zabbix --discover
Copy after login

Output similar to that indicates successful installation:

{
"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"
}
]
}
Copy after login

2.Clone code

git clonehttps://github.com/greatcare/pm2-zabbix.git

3. Zabbix Web management background import template file pm2-zabbix/install/zabbix-server/pm2-zabbix.template.xml

4. Add services to the Node.js server, select according to the server operating system version, and modify the service running user to be consistent with the Node.js user started with PM2

RHEL/CentOS 7 series:

cp pm2-zabbix/install/init/systemd/pm2-zabbix.service /usr/lib/systemd/system/
Copy after login

Modify the target file pm2-zabbix .service file content User item:

User=root

RHEL/CentOS 6 or 5 series:

cp pm2-zabbix/install/init/sysv/pm2-zabbix /etc/init.d/
Copy after login

Modify the target file pm2-zabbix file content DAEMON_USER item:

DAEMON_USER=root

5. Create a new soft connection and modify the real file path pointed by the soft connection according to your 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
Copy after login

6. Start the pm2-zabbix service

RHEL/CentOS 7 series:

systemctl start pm2-zabbix

RHEL/CentOS 6 Or 5 series:

service start pm2-zabbix

7. Modify the Zabbix Agent configuration file zabbix_agentd.conf and add other configurations

Include=/App/zabbix/etc/zabbix_agentd.conf.d/*.conf
Copy after login

8. Copy the Zabbix Agent configuration

cp pm2-zabbix/install/zabbix-agent/pm2-zabbix.conf /App/zabbix/etc/zabbix_agentd.conf.d/pm2.conf
Copy after login

9. Modify the configuration of pm2.conf. The sudo -u user is consistent with step 4. Colleagues modify the pm2-zabbix path

UserParameter=pm2.processes,sudo -u root /usr/local/bin/pm2-zabbix --discover
Copy after login

10. The server terminal executes the program visudo and adds sudo configuration

zabbix ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/pm2-zabbix
Defaults:zabbix !requiretty
Copy after login

11. Restart Node .js server Zabbix Agent service

/etc/init.d/zabbix_agentd restart
Copy after login

12.Zabbix Web management background settings Node.js server Add link Template App PM2 template PM2 daemon CPU usage PM2 daemon memory usage Node process instance CPU usage managed by PM2 Memory usage of Node process instances managed by PM2


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template