目前网上已有 pm2-zabbix
工具能够实现 Zabbix 对 Node.js 的监控报警,Github地址。node
操做系统:RHEL/CentOS 7系列或者其它支持 systemd
管理服务的 Linux
发行版git
服务运行帐号:github
node
zabbix
程序安装路径:npm
/App/node
/App/zabbix
root
帐号安装 pm2-zabbix
:npm install -g pm2-zabbix
node
帐号,测试自动发现功能是否正常:su - node /App/node/bin/pm2-zabbix --discover
{ "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" } ] }
git clone https://github.com/greatcare/pm2-zabbix.git
pm2-zabbix/install/zabbix-server/pm2-zabbix.template.xml
。pm2-zabbix.service
内容为 User=node
:cp pm2-zabbix/install/init/systemd/pm2-zabbix.service /usr/lib/systemd/system/
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 /App/node/bin/node /usr/bin/node ln -s /App/node/bin/pm2-zabbix /usr/local/bin/pm2-zabbix
pm2-zabbix
服务:systemctl start pm2-zabbix
zabbix_agentd.conf
,添加包含其它配置:Include=/App/zabbix/etc/zabbix_agentd.conf.d/*.conf
cp pm2-zabbix/install/zabbix-agent/pm2-zabbix.conf /App/zabbix/etc/zabbix_agentd.conf.d/
pm2-zabbix.conf
内容:UserParameter=pm2.processes,sudo -u node /usr/local/bin/pm2-zabbix --discover
visudo
添加 sudo 配置:zabbix ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/pm2-zabbix Defaults:zabbix !requiretty
/etc/init.d/zabbix_agentd restart
Template App PM2
模板后效果: