Zabbix添加Node.js监控的方法


Posted in Javascript onOctober 20, 2016

目前网上已有 pm2-zabbix 工具可以实现Zabbix对Node.js的监控报警,Github地址。

特征:

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

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

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

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

1.Node.js服务器安装 pm2-zabbix

npm install -g pm2-zabbix

测试自动发现功能是否正常:

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"
}
]
}

2.克隆代码

git clonehttps://github.com/greatcare/pm2-zabbix.git

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

4.Node.js服务器添加服务,根据服务器操作系统版本选择,并修改服务运行用户和使用PM2启动的Node.js用户一致

RHEL/CentOS 7系列:

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

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

User=root

RHEL/CentOS 6或5系列:

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

修改目标文件 pm2-zabbix 文件内容 DAEMON_USER项:

DAEMON_USER=root

5.新建软连接,根据自己服务器修改软连接指向的真实文件路径

mkdir -p /etc/zabbix
ln -s /App/zabbix/etc/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf
ln -s /App/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

6.启动 pm2-zabbix 服务

RHEL/CentOS 7系列:

systemctl start pm2-zabbix

RHEL/CentOS 6或5系列:

service start pm2-zabbix

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

Include=/App/zabbix/etc/zabbix_agentd.conf.d/*.conf

8.拷贝Zabbix Agent配置

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

9.修改配置 pm2.conf 内容 sudo -u 用户和第4步一致,同事修改 pm2-zabbix 路径

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

10.服务器终端执行程序 visudo 添加sudo配置

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

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

/etc/init.d/zabbix_agentd restart

12.Zabbix Web管理后台设置Node.js服务器添加链接 Template App PM2 模板 PM2守护进程CPU使用率 PM2守护进程内存占用 PM2管理的Node进程实例CPU使用率 PM2管理的Node进程实例内存占用

以上所述是小编给大家介绍的Zabbix添加Node.js监控的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 最简单的属性菜单
Oct 08 Javascript
js multiple全选与取消全选实现代码
Dec 04 Javascript
Javascript selection的兼容性写法介绍
Dec 20 Javascript
JavaScript显示当前文档最后修改日期的方法
Mar 19 Javascript
详解jQuery中的deferred对象的使用(一)
May 27 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
Jun 24 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
Aug 25 Javascript
简单谈谈JS数组中的indexOf方法
Oct 13 Javascript
js判断输入框不能为空格或null值的实现方法
Mar 02 Javascript
mpvue 如何使用腾讯视频插件的方法
Jul 16 Javascript
VUE 自定义组件模板的方法详解
Aug 30 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
Feb 06 Javascript
Javascript实现图片懒加载插件的方法
Oct 20 #Javascript
Vue.js Ajax动态参数与列表显示实现方法
Oct 20 #Javascript
探究Vue.js 2.0新增的虚拟DOM
Oct 20 #Javascript
Javascript 创建类并动态添加属性及方法的简单实现
Oct 20 #Javascript
javascript匀速动画和缓冲动画详解
Oct 20 #Javascript
js设置和获取自定义属性的方法
Oct 20 #Javascript
js阻止冒泡和默认事件(默认行为)详解
Oct 20 #Javascript
You might like
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
thinkphp浏览历史功能实现方法
2014/10/29 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
JavaScript中的toDateString()方法使用详解
2015/06/12 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
2017/03/10 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
搭建vue开发环境
2018/07/19 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
jquery实现购物车基本功能
2019/10/25 jQuery
js实现坦克移动小游戏
2019/10/28 Javascript
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
python之拟合的实现
2019/07/19 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
饲料采购员岗位职责
2013/12/19 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
保护环境倡议书
2014/04/14 职场文书
2014年审计工作总结
2014/11/17 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
大学生求职信怎么写
2015/03/19 职场文书
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers