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的获得各种控件Value的方法
Nov 19 Javascript
JQuery+DIV自定义滚动条样式的具体实现
Jun 25 Javascript
JavaScript的strict模式与with关键字介绍
Feb 08 Javascript
js实现图片和链接文字同步切换特效的方法
Feb 20 Javascript
jQuery构造函数init参数分析
May 13 Javascript
js微信扫描二维码登录网站技术原理
Dec 01 Javascript
BootStrap中
Dec 10 Javascript
Vue+Element使用富文本编辑器的示例代码
Aug 14 Javascript
React Native时间转换格式工具类分享
Oct 24 Javascript
axios 实现post请求时把对象obj数据转为formdata
Oct 31 Javascript
微信小程序select下拉框实现源码
Nov 08 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
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 jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
php内存缓存实现方法
2015/01/24 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
js更优雅的兼容
2010/08/12 Javascript
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
angularjs点击图片放大实现上传图片预览
2017/02/24 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
js实现列表按字母排序
2020/08/11 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
python3实现mysql导出excel的方法
2019/07/31 Python
python类中super() 的使用解析
2019/12/19 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
python游戏开发的五个案例分享
2020/03/09 Python
Django models filter筛选条件详解
2020/03/16 Python
python实现学生成绩测评系统
2020/06/22 Python
python利用platform模块获取系统信息
2020/10/09 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
JAVA软件工程师测试题
2014/07/25 面试题
工程造价自荐信
2013/10/09 职场文书
劳资协议书范本
2014/04/23 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle