使用pm2-zabbix监控node工程
环境centos 7
zabbix 3.2.6
node 4.4.3
安装
http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.6-1.el7.x86_64.rpm
http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-sender-3.2.6-1.el7.x86_64.rpm
yum install ./zabbix-*.rpm -y
配置agent
修改配置文件/etc/zabbix/zabbix_agentd.conf
Server=
ServerActive
=
Hostname
=[对应到server端的主机名]
配置开机自启,并启动它
# systemctl enable zabbix-agent
# systemctl start zabbix
-agent
服务端的配置这里就省略了...
安装pm2-zabbix
安装并部署配置文件
# npm install -g pm2-zabbix
# cd
/usr/local/node-v4.4.3-linux-x64/
# cp lib
/node_modules/pm2-zabbix/install/zabbix-agent/pm2-zabbix.conf /etc/zabbix/zabbix_agentd.d/
# cp lib
/node_modules/pm2-zabbix/install/init/systemd/pm2-zabbix.service /usr/lib/systemd/system/
修改 /usr/lib/systemd/system/pm2-zabbix.service
User=root
ExecStart
=/usr/local/node-v4.4.3-linux-x64/bin/pm2-zabbix --hostname=[对应到server端的主机名] --monitor
修改 /etc/zabbix/zabbix_agentd.d/pm2-zabbix.conf (注意sudo -u的用户要改为自己的)
UserParameter=pm2.processes,sudo -u root /usr/local/node-v4.4.3-linux-x64/bin/pm2-zabbix --hostname=[对应到server端的主机名] --discover
配置zabbix用户的sudo权限
# visudo
zabbixALL
=(ALL) NOPASSWD: /usr/local/node-v4.4.3-linux-x64/bin/pm2-zabbix
Defaults:zabbix !requiretty
另外有一个需要注意的地方,我这边的环境中node命令是安装在/usr/local/bin/下,而在sudo中未将此路径纳入允许范围,而pm2-zabbix中第一句又是通过env寻找node,这样sudo时必然找不到;
解决方法有两个:
一是将/usr/local/node-v4.4.3-linux-x64/bin/pm2-zabbix中第一句由 #!/usr/bin/env node 改为 #!/usr/local/bin/node
二是在visudo中找到配置 Defaultssecure_path ,在其后面加上 /usr/local/bin (推荐)
启动
配置pm2-zabbix开机自启,并启动它
systemctl enable pm2-zabbix
systemctl start pm2
-zabbix
可以通过 systemctl status pm2-zabbix 查看启动状态,其日志默认追加到 /var/log/message
最后重启zabbix-agent服务
systemctl restart zabbix-agent
服务端导入pm2模板
模板文件位于node下面:lib/node_modules/pm2-zabbix/install/zabbix-server/pm2-zabbix.template.xml
管理员后台登陆zabbix服务端,通过 “配置” → “模板” → “导入”,选择该文件后导入,然后创建或者修改已存在的主机链接到这个模板(Template App PM2)
pm2-zabbix会自动发现pm2管理下的工程并传到服务端创建对应监控项和触发器,不过需要几分钟时间
pm2-zabbix自动创建的触发器策略可能需要调整,可在模板中 “自动发现规则” 下修改
over
页:
[1]