[toc] web
先抛开zabbix监控的其余架构不谈,从最简单的server-agent模式提及,即监控主机-被监控主机(主动模式、被动模式主要是影响数据的采集方式和服务端的负载压力),首先是zabbix最重要的五个组成部分:Item、Trigger、Action、Media、User(其实应该还有个Event,不过这个表现的不直观),翻译一下就是监控元素、触发器、动做、报警介质、用户vim
1.item
Items are the ones that gather data from a host.
意思就是监控采集的项目bash
1.1先添加一个须要监控的主机
1.2 设置item监控项
2.Trigger
顾名思义触发器,也就是将采集来的
item
值进行必定的判断,须要注意的点有两个,一个是serverity
,即报警等级,还有一个是判断的逻辑,判断逻辑分单机判断和触发依赖![]()
![]()
![]()
![]()
服务器
3.Action
action就是server对事件响应(Event)须要作相应的措施了,关键点是四个,一是如何触发action,而是action具体使用什么方式,三是发送的内容,四是动做的对象。action支持的Event有四种:用大白话讲就是Trigger触发时、discover rule文件生效时、自动发现新服务器时以及server自己出问题时。最主要的就是Trigger触发来产生action,在建立action时会有"condition"这个选项来设置触发器,而action的方式是由media来决定,media有五种,常见的是mail、sms、script这三种,邮件的方式只须要在建立一个media方式选邮件,而后填写smtp服务器地址便可,邮件的内容是在action选项卡里面设置,支持普通的字符串以及表达式好比{TRIGGER.NAME}这种,这个值就是对应触发的Trigger的名字
![]()
架构
3.1 报警媒介
3.1.1 使用本地虚拟邮箱
- yum安装mailx
yum -y install mailx
- 设置邮箱白名单
白名单的邮箱地址能够在服务端/var/spool/mail/zabbix
查找dom
Return-Path: <zabbix@localhost.localdomain> Received: from localhost (localhost [127.0.0.1]) by cl130.localdomain (Postfix) with SMTP id 62C0B1098C for <3558689766@qq.com>; Wed, 22 May 2019 23:20:29 -0400 (EDT) From: <zabbix@localhost.localdomain> To: <3558689766@qq.com> Date: Wed, 22 May 2019 23:20:29 -0400 Subject: Problem: /etc/passwd has been changed on 192.168.163.129 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Message-Id: <20190523032029.62C0B1098C@cl130.localdomain>
- 添加告警媒介
- 点击配置——报警媒介类型——建立媒介类型,页面配置以下
- 设置好了,就能够触发一下看效果了
3.1.2 web配置第三方邮箱
-
添加告警媒介post
- 点击配置——报警媒介类型——建立媒介类型,页面配置以下
- 点击配置——报警媒介类型——建立媒介类型,页面配置以下
-
设置好了,就能够触发一下看效果了测试
3.1.3 脚本告警
-
yum安装mailxspa
-
修改
/etc/mail.rc
翻译
//添加 set from=发件箱 set smtp=smtp.qq.com //我用的是qq,能够根据使用邮箱的不一样来填不一样内容 set smtp-auth-user=发件箱 set smtp-auth-password=发件箱受权码 set smtp-auth=login
-
重启postfix服务
-
在服务端上写发送告警信息脚本
[root@cl130 alertscripts]# vim /usr/local/share/zabbix/alertscripts/sendmail.sh #!/bin/bash subject=$(echo $2 |tr "\r\n" "\n") message=$(echo $3 |tr "\r\n" "\n") echo "$message" | /usr/bin/mail -s "$subject" $1 &>/tmp/sendmail.log [root@cl130 alertscripts]# cd .. [root@cl130 alertscripts]# chown -R zabbix.zabbix alertscripts [root@cl130 alertscripts]# chmod +x scripts/sendmail.sh //重启服务 [root@cl130 ~]# pkill zabbix [root@cl130 ~]# zabbix_server [root@cl130 ~]# zabbix_agentd [root@cl130 ~]# ss -ntl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:10050 *:* LISTEN 0 128 *:10051 // 测试脚本 [root@cl130 alertscripts]# bash sendmail.sh 3558689766@qq.com test hello world
- 添加告警媒介
- 点击配置——报警媒介类型——建立媒介类型,页面配置以下
- 触发告警,测试效果