目前網上已有 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
模板後效果: