一,Zabbix Web操作深入

(1)创建一个模版,所有的功能几乎都是在模版中定义的

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

点进新创建的模版查看,模版里几乎可以设定我们需要的所有功能

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

(2)在模版里创建应用集,应用集的作用就是将众多的监控项进行一个分类,方便我们的管理

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

(3)在模版里创建一个zabbix自带的监控项

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

(4)监控项里的键值我们到底要如何写?我们需要学会照葫芦画瓢,选择一个系统模版Template OS Linux查看

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

(5)当然也可以自定义监控项的键值,但是并不推荐这样。因为,都是自己写太慢了。系统自带了很多键值自己要学会利用

1.2 Zabbix Web下触发器与表达式的编写方法

(1)avg

举例:

avg(5):最后5秒的平均值

avg(#5):表示最近5次得到值的平均值

avg(3600,86400):表示一天前的一个小时的平均值

如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间,#n表示最近n次的值

(2)last

(3)max

(4)min

(5)nodata

(6)prev

(7)sum

(8)change

(9)diff

例如:

Zabbix监控平台-----深入理解zabbix-LMLPHP

1.3 Zabbix Web创建触发器过程以及触发器与监控项对应关系

(1)创建一个触发器

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

(2)进行表达器测试

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

表达式测试成功后,我们创建完毕即可

(3)在服务端进行监控项数据获取测试

Zabbix监控平台-----深入理解zabbix-LMLPHP

监控项表达式说明
{aaaa:vm.memory.size[available].last()}<20M
aaaa:模版名
vm.memory.size:zabbix监控端向被监控端发送的代号
.last()<20 :last()<===>last(0)<===>last(#1)

Zabbix监控平台-----深入理解zabbix-LMLPHP

1.4 为了体会深刻,再创建一个监控项同时创建它的触发器

(1)快速创建一个Agent_ping监控项

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

(2)在监控端测试监控项的键值

Zabbix监控平台-----深入理解zabbix-LMLPHP

我们发现如果对方服务器IP能ping通,则返回值是1。反之不是1就有问题

(3)创建监控项的告警触发器

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

到这里就创建完毕了

二,Zabbix常用模版与触发器功能详解

(1){Template App Zabbix Agent:agent.version.diff(0)}>0

(2){Template App Zabbix Agent:agent.ping.nodata(5m)}=1

(3){Template OS AIX:vm.memory.size[available].last(0)}<20M

(4){Template App SSH Service:net.tcp.service[ssh].max(#3)}=0

(5){Template ICMP Ping:icmppingloss.min(5m)}>20

(6){Template ICMP Ping:icmppingsec.avg(5m)}>0.15

三,Zabbix报警媒介类型设置和告警动作、频率设置

3.1 QQ邮件告警平台

3.1.1 安装sendmail

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

3.1.2 sendmail命令使用说明

/usr/local/bin/sendEmail命令主程序
-ffrom@163.com发件人邮箱
-tto@163.com收件人邮箱
-ssmtp.163.com发件人邮箱的smtp服务器
-u"我是邮件主题"邮件的标题
-omessage-content-type=html邮件内容的格式,html表示它是html格式
-omessage-charset=utf8邮件内容编码
-xufrom@163.com发件人邮箱的用户名
-xp123456发件人邮箱密码(授权码)
-m"我是邮件内容"邮件的具体内容

3.1.3 调整QQ邮箱设置

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

测试邮件发送

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

3.1.4 编写QQ邮件平台报警脚本

Zabbix监控平台-----深入理解zabbix-LMLPHP

3.1.5 脚本测试

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

3.1.6 修改zabbix_server.conf配置文件,将447行修改成如下所示

Zabbix监控平台-----深入理解zabbix-LMLPHP

重启zabbix_server服务

Zabbix监控平台-----深入理解zabbix-LMLPHP

3.1.7 创建报警媒介

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

3.1.8 创建报警动作

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

步骤1-3也就是从1开始到3结束。一旦发生故障,就是执行sendmail.sh脚本发生报警邮件给zabbix用户。
假如故障持续了1个小时,它也只发送3次,第1-3次(即前3次)邮箱发送给zabbix用户,时间间隔为0秒。
如果改成1-0,0是表示不限制,无限发送。

Zabbix监控平台-----深入理解zabbix-LMLPHP

Zabbix监控平台-----深入理解zabbix-LMLPHP

3.1.9 QQ邮件报警测试

给自定义监控项nginx.avtive创建一个触发器,如下

Zabbix监控平台-----深入理解zabbix-LMLPHP

利用Web进行访问,增加活动连接数,触发报警

Zabbix监控平台-----深入理解zabbix-LMLPHP

3.2自定义自动报警的内容

(1)自定义内容样例

#告警通知格式样例

#题目

A故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!

#内容

告警主机:&nbsp;{HOSTNAME1}<br/>

告警时间:&nbsp;{EVENT.DATE} {EVENT.TIME}<br/>

告警等级:&nbsp;{TRIGGER.SEVERITY}<br/>

告警信息:&nbsp;{TRIGGER.NAME}<br/>

告警项目:&nbsp;{TRIGGER.KEY1}<br/>

问题详情:&nbsp;{ITEM.NAME}&nbsp{ITEM.VALUE}<br/>

当前状态:&nbsp;{TRIGGER.STATUS}&nbsp{ITEM.VALUE1}<br/>

事件ID:&nbsp;{EVENT.ID}

Zabbix监控平台-----深入理解zabbix-LMLPHP

(2)样例测试

Zabbix监控平台-----深入理解zabbix-LMLPHP

四,用户参数User parameters

4.1 概述

用户参数的语法

UserParameter=<key>,<command>

一个简单的例子:

UserParameter=ping,echo 1

稍微复杂的例子:

UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin ping | grep -c alive

4.2 让key接受参数

相关语法:

UserParameter=key[*],command

#描述:

key:key的值在主机系统中必须是唯一的,其中*代表命令中接受的参数

command:客户端系统中可执行的命令

#举例:

UserParameter=ping[*],echo $1

ping[0]:此时0就是*,也就是传入参数是0,$1也就是0,因此表达式将一直返回‘0’

ping[aaa]:此时aaa就是*,也就是传入参数是aaa,$1也就是aaa,因此表达式将一直返回‘aaa’

4.3 让我们自定义一个可以传递参数的监控项

4.3.1 我们先制作一个获取数据的脚本

Zabbix监控平台-----深入理解zabbix-LMLPHP

4.3.2 测试脚本

Zabbix监控平台-----深入理解zabbix-LMLPHP

4.3.3 后台自定义一个监控项的键值

Zabbix监控平台-----深入理解zabbix-LMLPHP

4.3.4 测试自定义的键值

Zabbix监控平台-----深入理解zabbix-LMLPHP

再在前台自定义一个监控项和触发器

五,Agentd主动模式与被动模式

  • :Web操作很卡,容易出现502
  • :图层断裂
  • :开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题

所以,下面主要往两个优化方向考虑:

  • :用Proxy或者Node模式做分布式监控
  • :调整Agentd为主动模式

5.1 Agentd的配置调整

ServerActive=10.1.1.158

Hostname=10.1.1.158

StartAgents=1

5.2 zabbix Server端配置调整

StartPollers=10 #把这个zabbix Server主动收集数据进程减少一些。

StartTrappers=200 #把这个负责处理Agentd推送过来的数据的进程开大一些。

5.3 调整模版

Zabbix监控平台-----深入理解zabbix-LMLPHP

05-07 15:08
查看更多