pm2-zabbix监控node

centos7

环境

centos7
zabbix 4.0.35
v8.16.2

安装

rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
yum install zabbix-agent
yum install zabbix-sender
ps: 也可以直接用rpm包安装

配置agent

修改配置文件/etc/zabbix/zabbix_agentd.conf

Server=[zabbix server ip]
ServerActive=[zabbix server ip]
Hostname=[server端中对应本机配置中的主机名,通常就是本机的IP]
User=nodeuser[改为运行node程序用户]

修改配置文件/usr/lib/systemd/system/zabbix-agent.service

User=tomcat
Group=tomcat

修改zabbix-agent相关文件所属用户

chown -R tomcat. /run/zabbix/
chown -R tomcat. /var/log/zabbix/

配置开机自启,并启动它

systemctl enable zabbix-agent
systemctl start zabbix-agent

安装pm2-zabbix

安装并部署配置文件

yum install git -y
npm install -g pm2-zabbix  #使用nodeuser安装
cd /home/nodeuser/.nvm/versions/node/v8.16.2/lib/node_modules/  #这里指node安装目录
cp pm2-zabbix/install/zabbix-agent/pm2-zabbix.conf /etc/zabbix/zabbix_agentd.d/
cp pm2-zabbix/install/init/systemd/pm2-zabbix.service /usr/lib/systemd/system/
ln -s /nodeuser/.nvm/versions/node/v8.16.2/bin/pm2-zabbix /usr/local/bin/pm2-zabbix
ln -s /nodeuser/.nvm/versions/node/v8.16.2/bin/node /usr/local/bin/node
ln -s /nodeuser/.nvm/versions/node/v8.16.2/bin/npm /usr/local/bin/npm

测试pm2-zabbix是否安装成功

pm2-zabbix --discover # 使用nodeuser测试,出现以下类似内容为成功
{
	"data": [
		{
			"{#PROCESS_ID}": "IM-0",
			"{#PROCESS_NAME}": "IM"
		},
		{
			"{#PROCESS_ID}": "app-3",
			"{#PROCESS_NAME}": "app"
		}
	]
}

修改 /usr/lib/systemd/system/pm2-zabbix.service

User=nodeuser

ExecStart=/usr/local/bin/pm2-zabbix --hostname=[同上文的hostname] --monitor

修改 /etc/zabbix/zabbix_agentd.d/pm2-zabbix.conf (sudo -u要改为node程序运行用户)

UserParameter=pm2.processes,sudo -u nodeuser pm2-zabbix --hostname=[同上文的hostname] --discover

配置zabbix用户的sudo权限(zabbix用户是nodeuser)

visudo

Defaults:nodeuser !visiblepw
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
nodeuser  ALL=(ALL:ALL)       NOPASSWD: /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自动创建的触发器策略可能需要调整,可在模板中 “自动发现规则” 下修改

测试

LOG_LEVEL=info pm2-zabbix --monitor #运行后可以再zabbix web界面-->监控-->最新数据 看是否有数据
LOG_LEVEL=info pm2-zabbix --monitor --hostname 本地主机名 --server zabbix-server-ip --debug

centos6

环境

centos6
zabbix 4.0.35
v8.16.2

安装

wget http://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-agent-4.0.35-1.el6.x86_64.rpm
wget http://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-sender-4.0.35-1.el6.x86_64.rpm
yum install ./zabbix-*.rpm -y
ps: centos6 有yum源也可以yum安装

配置agent

修改配置文件/etc/zabbix/zabbix_agentd.conf

Server=[zabbix server ip]
ServerActive=[zabbix server ip]
Hostname=[server端中对应本机配置中的主机名,通常就是本机的IP]
User=nodeuser[改为运行node程序用户]
修改agent启动用户为nodeuser
/etc/sysconfig/zabbix-agent

配置开机自启,并启动它

chkconfig  zabbix-agent on
service  zabbix-agent start

安装pm2-zabbix

安装并部署配置文件

yum install git -y
npm install -g pm2-zabbix  #使用nodeuser安装
cd /home/nodeuser/.nvm/versions/node/v8.16.2/lib/node_modules/  #这里指node安装目录
cp pm2-zabbix/install/zabbix-agent/pm2-zabbix.conf /etc/zabbix/zabbix_agentd.d/
cp pm2-zabbix/install/init/sysv/pm2-zabbix /etc/init.d/
ln -s /nodeuser/.nvm/versions/node/v8.16.2/bin/pm2-zabbix /usr/local/bin/pm2-zabbix
ln -s /nodeuser/.nvm/versions/node/v8.16.2/bin/node /usr/local/bin/node
ln -s /nodeuser/.nvm/versions/node/v8.16.2/bin/npm /usr/local/bin/npm

测试pm2-zabbix是否安装成功

pm2-zabbix --discover # 使用nodeuser测试,出现以下类似内容为成功
{
	"data": [
		{
			"{#PROCESS_ID}": "IM-0",
			"{#PROCESS_NAME}": "IM"
		},
		{
			"{#PROCESS_ID}": "app-3",
			"{#PROCESS_NAME}": "app"
		}
	]
}

修改 /etc/init.d/pm2-zabbix

DAEMON_USER=nodeuser

修改 /etc/zabbix/zabbix_agentd.d/pm2-zabbix.conf (sudo -u要改为node程序运行用户)

UserParameter=pm2.processes,sudo -u nodeuser pm2-zabbix --hostname=[同上文的hostname] --discover

配置zabbix用户的sudo权限(zabbix用户是nodeuser)

visudo

Defaults:nodeuser !visiblepw
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
nodeuser  ALL=(ALL:ALL)       NOPASSWD: /usr/local/bin/pm2-zabbix

启动

chkconfig --add pm2-zabbix 
service pm2-zabbix start

启动报错是因为配置文件是debian写的,需要装lsb。详情参考:lsb安装
lsp需要yum安装,centos6yum源配置参考:centos6 yum源配置
启动服务start-stop-daemon报错,参考:start-stop-daemon报错
启动不报错,就是用tomcat用户起不来(root可以),绕过方法如下:
nohup su - tomcat -c “pm2-zabbix --monitor” > /dev/null 2>&1 &

最后重启zabbix-agent服务

service zabbix-agent restart 

服务端导入pm2模板

模板文件位于node下面:lib/node_modules/pm2-zabbix/install/zabbix-server/pm2-zabbix.template.xml

管理员后台登陆zabbix服务端,通过 “配置” → “模板” → “导入”,选择该文件后导入,然后创建或者修改已存在的主机链接到这个模板(Template App PM2)

pm2-zabbix会自动发现pm2管理下的工程并传到服务端创建对应监控项和触发器,不过需要几分钟时间

pm2-zabbix自动创建的触发器策略可能需要调整,可在模板中 “自动发现规则” 下修改

测试

LOG_LEVEL=info pm2-zabbix --monitor #运行后可以再zabbix web界面-->监控-->最新数据 看是否有数据
LOG_LEVEL=info pm2-zabbix --monitor --hostname 本地主机名 --server zabbix-server-ip --debug
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值