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

How to add Node.js monitoring to Zabbix

高洛峰
高洛峰Original
2016-12-09 15:14:001471browse

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

Test whether the automatic discovery function is normal:

pm2-zabbix --discover

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"
}
]
}

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/

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/

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

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

8. Copy the Zabbix Agent configuration

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

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

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

11. Restart Node .js server Zabbix Agent service

/etc/init.d/zabbix_agentd restart

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


Statement:
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