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