19.12 添加自定义监控项目
时间:2022-04-27
本文章向大家介绍19.12 添加自定义监控项目,主要内容包括添加自定义监控项目、添加自定义监控项目、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
添加自定义监控项目
- 需求:监控某台web的80端口连接数,并出图
- 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现
- 对于第一步,需要到客户端定义脚本
- vim /usr/local/sbin/estab.sh //内容如下
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
- chmod 755 /usr/local/sbin/estab.sh
- 客户端上编辑配置文件 vim /etc/zabbix/zabbix_agentd.conf//增加
UnsafeUserParameters=1 //表示使用自定义脚本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
//自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh
- 重启zabbix-agent服务 systemctl restart zabbix-agent
- 首先到服务端验证,执行命令
- zabbix_get -s 192.168.133.132 -p 10050 -k 'my.estab.count‘
- 然后在zabbix监控中心(浏览器)配置增加监控项目
- 键值写my.estab.count
- 添加该项目后,到“监测中” “最新数据”查看刚添加的项目是否有数据出现
- 有了数据就可以添加图形了
- “配置”“主机” “图形” “创建图形”
添加自定义监控项目
- zabbix的监控项目是在模板里面体现,但是有时候就会有些个性化的需求:某一个业务的数据,比如:运营人员想知道网站会员注册量,会员活跃度;实际上,这些数据,都可以通过数据库里面的表的数字来体现,但是zabbix模板是不可能提供那么详细的监控项目;遇到这种情况,就需要通过编程工具,写成脚本,把数字展现出来,然后通过zabbix监控项目,形成图表,就可以实现分析每天的数据是多少;
- 需求
- 监控某台web的80端口连接数,并出图
- 解决方法:
- 1)zabbix监控中心创建监控项目;
- 2)针对该监控项目以图形展现;
- 首先需要在客户端(B机器)定义脚本
[root@hf-02 ~]# vim /usr/local/sbin/estab.sh
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
保存退出
- netstat -ant 显示网络连接的状态
- 配置一个能够让zabbix用户执行的权限
- chmod 755 /usr/local/sbin/estab.sh
B机器
[root@hf-02 ~]# chmod 755 /usr/local/sbin/estab.sh
[root@hf-02 ~]#
- 在客户端上编辑zabbix配置文件
B机器
[root@hf-02 ~]# vim /etc/zabbix/zabbix_agentd.conf
搜索 /UnsafeUserParameters
将# UnsafeUserParameters=0
改为UnsafeUserParameters=1
#目的是使用自定义脚本
搜索 /UserParameter
将# UserParameter=
改为UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
#表示自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,如果有参数写入到 [ ] 里面,用逗号分隔,脚本为/usr/local/sbin/estab.sh
保存退出
- my.estab.count 这个是zabbix监控项里的 键值
- 客户端(B机器),重启 zabbix-agent 服务
B机器
[root@hf-02 ~]# systemctl restart zabbix-agent
[root@hf-02 ~]#
- 检查自定义的脚本是否被识别
- 到服务端(A机器)验证,执行命令,server无法获取数据
- zabbix_get -s 192.168.202.131 -p 10050 -k 'my.estab.count'
- -s 指定客户端的IP地址
- -p 指定端口,不加-p,默认就是10050端口
- -k 表示 键值
A机器
[root@hf-01 ~]# zabbix_get -s 192.168.202.131 -p 10050 -k 'my.estab.count'
0
[root@hf-01 ~]#
- 若是之前在客户端(B机器)写的脚本权限不设置成 755 ,这里的server获取数据时,就会提示 权限不够
- 在获取数据的时候,一定要保证数据的通常,防火墙和selinux都需要去设置,否则就会有可能无法获取数据
- 在zabbix监控中心(浏览器)配置增加监控项目,在 配置 ——> 主机 ——>创建监控项
- 名称 写为:并发链接数
- 类型 :选择zabbix客户端
- 键值 写:my.estab.count——>键值可自定义,是不固定的
- 单位 :保持默认
- 历史数据保留时长(单位天):默认保持90天
- 应用集:可以不选择,因为没有定义应用集
- 在添加该项目后,还需要添加图形,配置——>主机——>图形——>创建图形
- 名称为创建并发链接数——>然后添加监控项 并发链接数——>点击添加
- 在图形中,查看新创建的图形,然后选择预览
- 若是网站访问量很大,那么每隔30秒就可以看到一个数字,时间长了,就可查看到网站访问量的趋势
- 做一个触发器,选择触发器——>创建触发器
- 当并发大于200,做警告级别
- 这样触发器就配置成功
总结:
- 在服务端上获取数值(通过脚本实现),给予服务端访问脚本的权限,在zabbix监控中心添加对应的监控项目(输入键值),即可
- [WCF REST] 通过ASP.NET Output Caching实现声明式缓存
- [WCF REST] 通过ASP.NET Output Caching实现声明式缓存
- CentOS6.5下安装JDK
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
- 开源API测试工具 Hitchhiker v0.8 - 自动化测试结果统计
- 腾讯AI-JavaAPI示例代码
- C++ 模板学习
- 小程序游戏上线!独家微信官方及专业核心解读!
- 零基础小白成为大数据技术专家必知的学习历程
- Wandelbots重新定义对机器人进行编程的方式
- 结构体字节对齐
- 中国IDC圈、科智咨询王若冰:从供到需——IDC产业的演进之路
- 本周网络空间态势摘要
- C++重要知识点小结---1
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Redis安装问题解决方案
- 高效的5个pandas函数,你都用过吗?
- jz2440重新分区
- 腾讯云TCB云函数趣应用:巧用 puppeteer 五分钟实现一个云加社区个人成就爬虫
- NFS挂载的2种方式
- Angular Component 开发时属性和运行时属性的对照
- 第002课 ubuntu环境搭建和ubuntu图形界面操作(免费)
- 爆破cobalt strike密码脚本
- 第003课 linux入门命令详解
- 第004课 vi编辑器的使用详解
- 【前端JQ】jQuery赋值checked的几种写法,attr()方法不好使,建议使用prop()方法。
- 达梦数据库适配问题
- Angular Component UI单元测试的隔离策略
- 第005课 linux进阶命令(文件查找,文件解压操作详解)
- 没有这 29 款插件的 Chrome 是没有灵魂的