02.Zabbix⾃定义监控项
1.zabbix⾃定义监控初试
1.1.监控系统中的对象
#(系统监控命令 + awk + 筛选条件 = 监控的状态值)
[root@web01 ~]# w|awk 'NR==1{print $6}'
1.2.在/etc/zabbix/zabbix_agentd.d/⽬录中新增监控项,使⽤UserParameter=<key>,<shell command>
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/default.conf
UserParameter=login_number,w|awk 'NR==1{print $6}' #重启zabbix-agent使其监控项⽣效
[root@web01 ~]# systemctl restart zabbix-agent
1.3.在ZabbixAgent客户端测试⾃定义的监控项是否能正常取值,使⽤zabbix_agentd -p | grep KeyName
[root@web01 ~]# zabbix_agentd -p |grep login_number
login_number [t|]
1.4.使⽤ZabbixServer检测能否获取ZabbixAgent端⾃定义的监控项,使⽤zabbix_get -s IP_addr -k KeyName
[root@ZabbixServer ~]# yum install zabbix-get -y
[root@ZabbixServer ~]# zabbix_get -s 10.0.0.7 -p10050 -k login_number
1.5.如果测试都没有问题,可以在ZabbixWeb对该主机关联对应的监控项
.点击配置->主机->对应主机
.找到监控项->创建监控项->名称->键值(监控项⽬名称)->信息类型->单位
.点击监测中->最新数据->等待数据
1.6.⾃定义阈值,如果登陆⽤户超过2⼈则达到阈值(到达预设的瓶颈)
.点击配置->主机->对应主机
.点击触发器->创建触发器->名称->选择表达式->确定即可。
1.7.配置zabbixserver达到阈值,则触发前台⾯板报警通知。
.点击右上⻆⼩⼈头->正在发送消息->开启
.被监控端开启多个Linux会话窗⼝,等待zabbixweb前端报警
2.zabbix⾃定义监控深⼊
2.1.详细介绍基础模板中的监控项, 以及⾃定义添加监控项中的每⼀个参数的作⽤和使⽤⽅法。
2.2.监控tcp/22端⼝是否处于监听状态,使⽤Service State进⾏值映射
2.3.点击检测中->最新数据-->查看最新的状态
2.4.如何⾃定义监控tcp11种状态(传参⽅式)
[root@zabbix-agent ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix-agent ~]# zabbix_agentd.d]# cat -n tcp_state.conf
UserParameter=tcp_state[*],netstat -ant|grep -c $
[root@zabbix-agent ~]# systemctl restart zabbix-agent # zabbix-server测试
[root@zabbix-server ~]# zabbix_get -s 172.16.1.7 -k tcp_state[LISTEN]
2.5.在zabbixWeb端进⾏添加⾃定义监控项,TCP有11种状态, 如果需要快速添加监控项,可以对针对添加过的监控项进⾏克隆,然后修改。
3.zabbix⾃定义配置阈值
3.1 监控内存百分⽐(取出内存的可⽤⼤⼩ / 总内存⼤⼩ = 实际可⽤的百分⽐)
1.⾃定义监控内存百分⽐
[root@web03 ~]# vim /etc/zabbix/zabbix_agentd.d/oldboy.conf
UserParameter=Mem_pre,free -m|awk '/^Mem/{print $NF*100/$2}'
[root@web03 ~]# systemctl restart zabbix-agent
[root@ZabbixServer ~]# zabbix_get -s 172.16.1.7 -k 'Mem_pre'
72.1766
3.2.⾃定义单条件触发器,设置内存低于 30% 进⾏报警
1.点击对应主机->创建触发器

3.3.⽣产建议:内存低于10%以及swap使⽤⼤于5%,再进⾏报警(会更精准)
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/oldboy.conf
UserParameter=Swap_pre,free -m|awk '/^Swap/{print $3*100/$2}'
[root@web01 ~]# systemctl restart zabbix-agent
[root@ZabbixServer ~]# zabbix_get -s 10.0.0.30 -k 'Swap_pre'
[root@web01 ~]# dd if=/dev/zero of=/dev/null bs=300M count=
[root@web01 ~]# dd if=/dev/zero of=/dev/null bs=800M count=
7.常⽤的触发器表达式,常⽤的函数,触发器表达式参考url
and #并且
or #或者
last() #⽐对最新的值
avg() #平均值
diff() #⽐对上⼀次⽂件的内容
nodata() #收不到数据进⾏报警nodata(5m)
(5m) #表示最近5分钟得到值
(#) #表示最近5次得到的值
4.zabbix⾃定义告警⽅式
4.1邮件报警
4.1.1.单击配置->动作->事件源->触发器->启⽤默认的告警通知
4.1.2.配置故障报警消息,定制消息内容如下:
[定制Zabbix报警的内容](https://www.zabbix.com/documentation/3.4/zh/manual/appendix/macros/supported_by_location)
报警主机:{HOST.NAME1}
报警服务: {ITEM.NAME1}
报警Key1: {ITEM.KEY1}:{ITEM.VALUE1}
报警Key2: {ITEM.KEY2}:{ITEM.VALUE2}
严重级别: {TRIGGER.SEVERITY}

4.1.3.配置故障恢复消息,消息内容如下:
恢复主机:{HOST.NAME1}
恢复服务: {ITEM.NAME1}
恢复Key1:{ITEM.KEY1}:{ITEM.VALUE1}
恢复Key2: {ITEM.KEY2}:{ITEM.VALUE2}
4.1.4.单击管理→报警媒介类型,设定发送消息的介质-email
4.1.5.配置服务器邮件的发件⼈,使⽤邮箱账户和授权密码(注意:不是收件⼈邮箱)
4.1.6.配置收件⼈接收的邮箱,单击右上⻆⽤户->报媒介->添加
4.1.7.填写收件⼈类型, 收件⼈邮箱,接收报警的级别,最后点击添加
4.1.8.确认没有任何问题,点击更新按钮。
4.1.9.如果邮箱配置没有任何错误,可以尝试触发报警, 查看邮件是否能收到报警消息
4.1.10.如果邮箱配置存在错误,单击报表->动作⽇志->检查邮箱发送情况
4.2.实现企业微信报警
4.2.1.准备微信报警脚本, 脚本怎么写->脚本放在哪
[root@ZabbixServer ~]# yum install python-pip -y
[root@ZabbixServer ~]# pip install requests
[root@ZabbixServer ~]# cd /usr/lib/zabbix/alertscripts
[root@ZabbixServer alertscripts]# rz weixin.py
[root@ZabbixServer alertscripts]# chmod +x weixin.py
[root@ZabbixServer alertscripts]# ./weixin.py WeiXinID Subject Messages #切记⼀定要删除,否则会导致权限问题
[root@ZabbixServer alertscripts]# rm -f /tmp/weixin.log
4.2.2.单击管理->报警媒介类型->创建媒介类型
4.2.3.填写微信报警名称,以及脚本需要传⼊的参数,内容如下:
{ALERT.SENDTO} #发送的⽤户
{ALERT.SUBJECT} #发送的主题
{ALERT.MESSAGE} #发送的内容*

4.2.4.配置接收的企业微信号(微信号是企业中的微信名称), 单击⽤户->报警媒介->添加->按如下填写即可

4.2.5.测试微信报警
4.3.实现执⾏远程命令
5.Zabbix⾃定义告警升级
5.1.简单的配置⼀个示例, 剩下的配置⼀样, 重点在于如何配置"告警升级"和"发送时间的理解

5.2.整体配置如下
5.3.计算⽅式
6.zabbix⾃定义监控图形
6.1.介绍监控的顺序->应⽤级->监控项->基于监控项创建触发器->基于监控项创建图形
6.2.基于监控项进行绘图

6.3.将多张图形整合为一张图形, 简称聚合图形

6.4.多张聚合图形可以整合为幻灯⽚

6.5 ⾃定义图形树
#.安装graphtree
cd /usr/share/zabbix
wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3.0.4.pat
ch
#.导⼊补丁包
yum install -y patch
patch -Np0 <graphtree3.0.4.patch
chown -R apache.apache oneoaas
#.修改Apache配置⽂件
# vim /etc/httpd/conf.d/zabbix.conf
Alias /oneoaas /usr/share/zabbix/oneoaas
#.重启httpd服务
systemctl restart httpd
6.6.解决Zabbix中⽂字符集图形乱码问题,如果准备的字体是ttc格式,修改为ttf格式也能正常使⽤。
[root@ZabbixServer ~]# cd /usr/share/fonts/dejavu/
[root@ZabbixServer dejavu]# mv DejaVuSans.ttf DejaVuSans.ttf.bak
进⼊windows电脑,C盘->windows->fonts->随便复制字体⾄桌⾯
[root@ZabbixServer dejavu]# rz #上传了simhei.ttf
[root@ZabbixServer dejavu]# mv simhei.ttf DejaVuSans.ttf
7.Zabbix⾃定义监控模板
.模板是⽀持导⼊与导出(模板⾥⾯的监控项是有脚本⽀撑,所以脚本需⼀起打包)
.conf⽂件主要⽤于定义监控项,监控项⽤来调⽤脚本或命令,获取监控值。
.如果希望将之前定义的监控项做成模板,找到监控项->全选->复制
. ⾃定义使⽤模板(让监控项可以重复使⽤) .客户端agent必须要定义监控项,监控项取值需要使⽤到脚本⽂件或系统命令
.服务端导⼊模板
.创建监控主机,链接新导⼊模板,如果是已存在的监控主机,增加我们刚导⼊的模板
02.Zabbix⾃定义监控项的更多相关文章
- 02 . Zabbix配置监控项及聚合图形
安装Zabbix Agent监控本机 安装agent软件 与server端不同,Agent只需安装zabbix-agent包 cat /etc/yum.repos.d/zabbix.repo [zab ...
- zabbix添加自定义监控项
zabbix添加自定义监控项 author:headsen chen 2017-10-16 17:23:17 个人原创,转载请注明作者,出处,否则依法追究法律责任 主机端配置: 首先安装好za ...
- zabbix自定义监控项
原因:zabbix监控系统自带的监控规则有限,如果需要更加灵活的定义监控项,可以通过修改配置文件实现 vim xxx/zabbix_agentd.conf UnsafeUserParameters=1 ...
- zabbix--自定义监控项vsftpd
Zabbix 自定义监控项之监控 vsftpd zabbix 提供了很多监控选择,功能丰富,我们还可以根据自定义来监控想要监控一些日常的服务等. 说明: 此处我们通过监控 ftp (自定义命令),实现 ...
- zabbix日常监控项java(四)
yum install net-tools netstat命令 yum -y install bash-completion 命令自动补全包 https://github.com/qiueer/zab ...
- zabbix自定义监控项一
1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...
- zabbix自定义监控项数据类型错误
问题描述 监控cpu使用率,脚本获取的值是浮点型 zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...
- zabbix自定义监控项、添加图形、设置触发器、远程执行命令
监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...
- (30)zabbix Trapper 监控项配置
概述 zabbix获取数据有超时时间,如果一些数据需要执行比较长的时间才能获取的话,那么zabbix会出现异常,考虑到这种情况,zabbix增加了Trapper功能,客户端自己提交数据给zabbix, ...
随机推荐
- powershell自动添加静态IP
声明:其中脚本有参考其他作者,由于当时参考仓促,未能把作者一一列出,有机会会再找出原作者文件链接并附上,请见谅 参考: https://ss64.com/nt/netsh.html https://w ...
- R语言与概率统计(五) 聚类分析
#########################################0808聚类分析 X<-data.frame( x1=c(2959.19, 2459.77, 1495.63, ...
- Neither BindingResult nor plain target object for bean name 'command' available as request attribute
最近用JSR303在表单提交时使用Java Bean Validation验证数据.报错堆栈如下: java.lang.IllegalStateException: Neither BindingRe ...
- Java集合(1):Collections工具类中的static方法
与Arrays一样,Collections类中也有一些实用的static方法. (1) 排序操作 reverse(List list):反转指定List集合中元素的顺序 shuffle(List li ...
- What happens when you type an URL in the browser and press enter?
What happens when you type an URL in the browser and press enter? 1. You type maps.google.com into t ...
- spark-on-yarn 学习
1. hdfs存文件的时候会把文件切割成block,block分布在不同节点上,目前设置replicate=3,每个block会出现在3个节点上. 2. Spark以RDD概念为中心运行,RDD代表抽 ...
- 安装vsftpd
通用安装和配置 1.下载安装包并安装 wget http://mirror.centos.org/centos/7/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86 ...
- sass与less对比学习
参考链接:https://blog.csdn.net/luluan_lin/article/details/83749176
- 使用Python执行dos命令并获取输出的结果
import os import subprocess # 第一种 result1 = subprocess.check_output('dir').decode('GBK') print(resul ...
- (模板)luoguP3806(树上点分治模板题)
点分治的写法1: 题目链接:https://www.luogu.org/problem/P3806 题意:给出一颗带边权的树,结点数n<=1e4,每条边有权值<=1e4,有m组询问(m&l ...



