Zabbix添加Node.js监控

pm2-zabbix 工具可以实现Zabbix对Node.js的监控报警

Node.js安装

wget http://nodejs.org/dist/node-latest.tar.gz  下载最新版本

./configure

make && make install

特征:

自动发现通过PM2管理的Node.js进程。

报告Nodes.js进程状态、CPU使用率、内存占用以及进程是否重启。

监控PM2守护进程自身状态、资源占用和PID改变。

已提供易于安装的Zabbix监控项模板。

1.Node.js服务器安装 pm2-zabbix,如果没有安装 cnpm,使用Node.js自带 npm 代替

npm install -g pm2-zabbix

2.新建软连接,根据自身服务器修改软连接指向的真实文件路径(把客户端上的配置文件和zabbix_sender提供给pm2-zabbix调用)

mkdir -p /etc/zabbix

ln -s /usr/local/zabbix/etc/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf

ln -s /usr/local/zabbix/bin/zabbix_sender /usr/bin/zabbix_sender

ln -s `which node` /usr/bin/node

ln -s `which pm2-zabbix` /usr/local/bin/pm2-zabbix

3.测试自动发现功能是否正常,Node.js应用实例使用普通账号node运行,所以切换到node执行即可

sudo -u node /usr/local/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"

                }

        ]

}

4.克隆代码

git clone https://github.com/greatcare/pm2-zabbix.git

5.Zabbix Web管理后台导入模板文件 pm2-zabbix/install/zabbix-server/pm2-zabbix.template.xml

6.Node.js服务器添加服务,根据服务器操作系统版本选择,并修改服务运行用户

RHEL/CentOS 7系列:

cp pm2-zabbix/install/init/systemd/pm2-zabbix.service /usr/lib/systemd/system/

修改目标文件 pm2-zabbix.service 文件内容 User:

User=node

RHEL/CentOS 6或5系列:

cp pm2-zabbix/install/init/sysv/pm2-zabbix /etc/init.d/

修改目标文件 pm2-zabbix 文件内容 DAEMON_USER 和 PIDFILE 项,确保运行用户对 PIDFILE 指向文件有写权限:

DAEMON_USER=node

PIDFILE=/tmp/pm2-zabbix.pid

7.启动 pm2-zabbix 服务

RHEL/CentOS 7系列:

systemctl start pm2-zabbix

RHEL/CentOS 6或5系列:

service start pm2-zabbix

8.修改Zabbix Agent配置文件 zabbix_agentd.conf,添加包含其它配置

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

9.拷贝Zabbix Agent配置

cp pm2-zabbix/install/zabbix-agent/pm2-zabbix.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/pm2-zabbix.conf

10.修改配置 pm2-zabbix.conf 内容运行用户和 pm2-zabbix 路径

UserParameter=pm2.processes,sudo -u node /usr/local/bin/pm2-zabbix --discover

11.服务器终端执行程序 visudo 或者直接修改文件 /etc/sudoers 添加sudo配置

zabbix  ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/pm2-zabbix

Defaults:zabbix !requiretty

12.重启Node.js服务器Zabbix Agent服务

/etc/init.d/zabbix_agentd restart

13.Zabbix Web管理后台设置Node.js服务器添加链接 Template App PM2 模板 

收集数据,开启(debug)  server(zabbix服务端IP)

pm2-zabbix --monitor --server 172.16.23.1 --debug

来确定是否可以正常发送数据给服务端

你可能感兴趣的:(Zabbix添加Node.js监控)