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
    评论
Zabbix是一款开源的网络监控和报警系统,可以用于监控服务器、网络设备、虚拟机等。下面是Linux系统上安装Zabbix的操作步骤: 1. 安装所需软件: - 在Debian/Ubuntu系统上,使用以下命令安装所需软件: ``` sudo apt-get update sudo apt-get install apache2 mysql-server mysql-client php php-mysql php-gd php-xml php-bcmath php-mbstring php-ldap php-xmlrpc ``` - 在CentOS/RHEL系统上,使用以下命令安装所需软件: ``` sudo yum install httpd mariadb-server mariadb php php-mysql php-gd php-xml php-bcmath php-mbstring php-ldap php-xmlrpc ``` 2. 配置数据库: - 启动并设置MariaDB/MySQL服务: ``` sudo systemctl start mariadb sudo systemctl enable mariadb ``` - 运行以下命令来设置MariaDB/MySQL的root密码和其他配置: ``` sudo mysql_secure_installation ``` - 创建一个新的数据库和用户: ``` sudo mysql -u root -p CREATE DATABASE zabbixdb character set utf8 collate utf8_bin; GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbixuser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; EXIT; ``` 3. 下载和安装Zabbix Server: - 下载最新的Zabbix Server软件包: ``` wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb ``` - 安装Zabbix Server软件包: ``` sudo dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb sudo apt-get update sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent ``` 4. 导入Zabbix数据库模板: - 运行以下命令导入Zabbix数据库模板: ``` sudo zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | sudo mysql -u zabbixuser -p zabbixdb ``` 5. 配置Zabbix Server: - 编辑Zabbix Server配置文件: ``` sudo nano /etc/zabbix/zabbix_server.conf ``` - 修改以下参数: ``` DBHost=localhost DBName=zabbixdb DBUser=zabbixuser DBPassword=password ``` - 保存并关闭文件。 6. 配置Zabbix Frontend: - 编辑Zabbix Frontend配置文件: ``` sudo nano /etc/zabbix/apache.conf ``` - 修改以下参数: ``` php_value date.timezone Asia/Shanghai ``` - 保存并关闭文件。 7. 启动Zabbix服务: - 启动Zabbix Server和Zabbix Agent服务: ``` sudo systemctl start zabbix-server sudo systemctl enable zabbix-server sudo systemctl start zabbix-agent sudo systemctl enable zabbix-agent ``` 8. 访问Zabbix Web界面: - 打开Web浏览器,访问以下URL: ``` http://服务器IP地址/zabbix ``` - 根据安装向导完成Zabbix的初始化配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值