首页 > 其他 > 详细

02.Zabbix?定义监控项

时间:2019-12-30 22:15:17      阅读:94      评论:0      收藏:0      [点我收藏+]

02.Zabbix?定义监控项

回到顶部(go to top)

1.zabbix?定义监控初试

如何获取系统中想监控对象的值,获取后?如何将该值传递给Zabbix-Server

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]

 

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

 

1.5.如果测试都没有问题,可以在ZabbixWeb对该主机关联对应的监控项

1.点击配置->主机->对应主机
2.找到监控项->创建监控项->名称->键值(监控项?名称)->信息类型->单位
3.点击监测中->最新数据->等待数据

 

1.6.?定义阈值,如果登陆?户超过2?则达到阈值(到达预设的瓶颈)

1.点击配置->主机->对应主机
2.点击触发器->创建触发器->名称->选择表达式->确定即可。

 

1.7.配置zabbixserver达到阈值,则触发前台?板报警通知。

1.点击右上???头->正在发送消息->开启
2.被监控端开启多个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 $1
[root@zabbix-agent ~]# systemctl restart zabbix-agent

# zabbix-server测试
[root@zabbix-server ~]# zabbix_get -s 172.16.1.7 -k tcp_state[LISTEN]
8
技术分享图片

 

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

 

2.在ZabbixServer验证监控项是否可?
[root@ZabbixServer ~]# zabbix_get -s 172.16.1.7 -k ‘Mem_pre‘
72.1766

 

3.Zabbix-Web??添加监控项
技术分享图片

 3.2.?定义单条件触发器,设置内存低于 30% 进?报警

1.点击对应主机->创建触发器

技术分享图片

2.填写表达式
问题表达式: {web01-172.16.1.7:Mem_pre.last()}<30
恢复表达式: {web01-172.16.1.7:Mem_pre.last()}>30
技术分享图片

 

 
3.使?dd if=/dev/zero of=/dev/null bs=500M count=1024压低内存
技术分享图片

3.3.?产建议:内存低于10%以及swap使??于5%,再进?报警(会更精准)

1.增加swap的监控
[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

 

2.在ZabbixServer使?zabbix_get命令测试
[root@ZabbixServer ~]# zabbix_get -s 10.0.0.30 -k ‘Swap_pre‘
0

 

3.在ZabbixWeb创建?定义监控项
技术分享图片

 

4.基于之前建?的触发器进?修改,修改为多条规则同时满?才触发,如下:
{Web03-10.0.0.30:Mem_pre.last()}<30 and {Web03-10.0.0.30:Swap_pre.last()}>1
技术分享图片

 

5.使?dd命令消耗客户端内存(只满?内存低于30%,所以不会进?报警)
[root@web01 ~]# dd if=/dev/zero of=/dev/null bs=300M count=1024

 

6.使?dd命令消耗客户端内存(满?内存低于30%,并且swap使?率超过1%)
[root@web01 ~]# dd if=/dev/zero of=/dev/null bs=800M count=1024

 

技术分享图片

7.常?的触发器表达式,常?的函数,触发器表达式参考url

技术分享图片
and     #并且
or      #或者
last()   #?对最新的值
avg()    #平均值
diff()   #?对上?次?件的内容
nodata()  #收不到数据进?报警nodata(5m)
(5m)     #表示最近5分钟得到值
(#5)      #表示最近5次得到的值
技术分享图片

 

4.zabbix?定义告警?式

当监控项超过触发器设定的阈值->触发动作->(发送消息|执?命令)
1.怎么报警-> 2.报警怎么发,发什么内容 -> 报警发给谁
注意:要使SMTP验证选项可?,Zabbix服务器应使?cURL 7.20.0或更?版本

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?定义告警升级

随着监控项?的增多, 有?些警告性质的报警可能不需要让领导收到,如果监控项?时间处于?
个反复报警的状态时,可能是没有?去解决 也可能是他们?法去解决的时候,再去向上级发送告
警 那么zabbix就可以通过它的告警机制去实现。它可以通过?定义时间段,发送消息、命令 从
?形成?个梯度的报警机制。通过下图解释梯度报警的设置?法[50期-张?富](https://blog.51cto.com/13447608/2298478)
技术分享图片

 

5.1.简单的配置?个示例, 剩下的配置?样, 重点在于如何配置"告警升级"和"发送时间的理解

技术分享图片

 

5.2.整体配置如下

技术分享图片

 

5.3.计算?式

1) 开始于, 这个是相对?但触发监控, 则?即发送消息
2) 1-2步骤是给运维组发送消息, 每隔5分钟发送?次, 总共2个步骤, 所以发送2次。
3) 3-4步骤是给经理组发送消息, 每隔5分钟发送?次, 总共2个步骤,所以发送2次。
4) 4-5步骤是给总监组发送消息, 每隔5分钟发送?次, 总共2个步骤,所以发送2次。
5)每次的开始时间是如何计算的呢, 第?个?即开始:
1-2, 3-4, 4-5动作的时间间隔是5m, 所以在触发告警发送时间计算是5m+5m+5m=15m

6.zabbix?定义监控图形

6.1.介绍监控的顺序->应?级->监控项->基于监控项创建触发器->基于监控项创建图形

技术分享图片

6.2.基于监控项进行绘图技术分享图片

技术分享图片

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

技术分享图片

 

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

技术分享图片

技术分享图片

 

6.5 ?定义图形树

技术分享图片
#1.安装graphtree
cd /usr/share/zabbix
wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3.0.4.pat
ch
#2.导?补丁包 yum install -y patch patch -Np0 <graphtree3.0.4.patch chown -R apache.apache oneoaas
#3.修改Apache配置?件 # vim /etc/httpd/conf.d/zabbix.conf Alias /oneoaas /usr/share/zabbix/oneoaas
#4.重启httpd服务 systemctl restart httpd
技术分享图片

 

单击->监测中->Graphtree
技术分享图片

 

单击对应的主机->选择需要查看的图形->点击查询->效果展示
技术分享图片

 

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?定义监控模板

技术分享图片
1.模板是?持导?与导出(模板??的监控项是有脚本?撑,所以脚本需?起打包)
2.conf?件主要?于定义监控项,监控项?来调?脚本或命令,获取监控值。
3.如果希望将之前定义的监控项做成模板,找到监控项->全选->复制
4. ?定义使?模板(让监控项可以重复使?)


1.客户端agent必须要定义监控项,监控项取值需要使?到脚本?件或系统命令
2.服务端导?模板
3.创建监控主机,链接新导?模板,如果是已存在的监控主机,增加我们刚导?的模板
技术分享图片

 

02.Zabbix?定义监控项

原文:https://www.cnblogs.com/ronglianbing/p/12121733.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!