创建监控项:
web1:
mkdir /etc/zabbix/scripts
cd /etc/zabbix/scripts
vim disk.sh
df -h / | awk -F ' +|G' 'NR==2{print $6}'
chmod +x disk.sh
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=disk,/etc/zabbix/scripts/disk.sh
重启客户端
systemctl restart zabbix-agent
server端:
yum install zabbix-get
zabbix_get -s 192.168.226.164 -p10050 -k disk (获取到脚本执行的结果)
网页操作:
触发器:
添加就行了
注册邮箱:
首先要现有一个邮箱:qq邮箱或者163邮箱
开启获取一个授权码:
zabbix-server端:
[root@zabbix-server ~]# yum install mailx -y
[root@zabbix-server ~]# mailx -V
12.5 7/5/10
注:使用新的方式--利用公网邮件服务器发送报警,需要关闭postfix服务
[root@zabbix-server ~]# systemctl stop postfix
配置公网邮箱信息:
[root@zabbix-server ~]# vim /etc/mail.rc ---在最后添加如下:
set from=liweiqiang212102@163.com(邮箱地址)
set smtp=smtp.163.com(smtp服务器)
set smtp-auth-user=liweiqiang212102@163.com(用户名)
set smtp-auth-password=RBDKKPTULOUARLFK(这里是邮箱的授权密码)
set smtp-auth=login
手动发送邮件测试:
[root@zabbix-server ~]# mailx -v -s 'hello' 'liweiqiang212102@163.com'
手写邮件内容 (回车,然后ctrl+d正常结束)
[root@zabbix-server ~]# mailx -v -s 'hello' 'zhangsan@163.com'
abc
hello world
EOT
Resolving host smtp.163.com . . . done.
Connecting to 123.126.97.2:smtp . . . connected.
220 163.com Anti-spam GT for Coremail System (163com[20141201])
>>> EHLO zabbix-server
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFeF38eUCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
>>> AUTH LOGIN
334 dXNlcm5hbWU6
>>> bHd4MTgzNjYwMTkzNTZAMTYzLmNvbQ==
334 UGFzc3dvcmQ6
>>> bHd4MTgzNjYwMTkzNTY=
235 Authentication successful
>>> MAIL FROM:<lwx18366019356@163.com>
250 Mail OK
>>> RCPT TO:<lwx18366019356@163.com>
250 Mail OK
>>> DATA
354 End data with <CR><LF>.<CR><LF>
>>> .
250 Mail OK queued as smtp2,GtxpCgDXkqTEFERdskSAAA--.825S2 1564742867
>>> QUIT
221 Bye
zabbix添加邮件报警功能:(web)
配置 zabbix 的邮件报警功能需要以下三个角色的参与。
- 1、 示警媒体(Media)
- 2、 触发器(Triggers)
- 3、 动作(Action)
示警媒体:
指的是 zabbix 采用何种方式进行报警,目前 Zabbix 支持的示警媒体包括邮件、Jabber、短信。jabber是linux下一种即时通讯工具。
触发器:
指的是当监控对象达到某个条件或条件集合的时候,触发 Zabbix 产生事件。
动作:
指的是 Zabbix 产生对应事件后,它通过示警媒体发送报警。
接下来,我们配置一个邮件报警功能的范例。效果是当redis端口挂掉则触发报警,管理员将会收到一封 Zabbix 发出的报警邮件。
首先需要配置 Zabbix 的邮件功能。
- 点击 管理->报警媒介类型->创建媒体类型
右上角创建媒体类型1.然后在页面中填入你的报警媒介类型信息,例如下图所示: 名称:sendmail //名称任意 类型:脚本 脚本名称:sendmail.sh 脚本参数: //一定要写,否则可能发送不成功 {ALERT.SENDTO} //照填,收件人变量 {ALERT.SUBJECT} //照填,邮件主题变量,变量值来源于‘动作’中的‘默认接收人’ {ALERT.MESSAGE} //照填,邮件正文变量,变量值来源于‘动作’中的‘默认信息’
配置完成后,不要忘记点击存档,保存你的配置。
2.修改zabbix服务端配置文件&编写脚本:指定脚本的存储路径:
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vim sendmail.sh
#!/bin/sh
#export.UTF-8
echo "$3" | sed s/'\r'//g | mailx -s "$2" $
$1:接受者的邮箱地址:sendto $2:邮件的主题:subject $3:邮件内容:message
修改权限
[root@zabbix-server alertscripts]# chmod +x sendmail.sh
Problem:{TRIGGER.NAME} 故障恢复: {TRIGGER.NAME} 主机: {HOST.NAME1} 时间: {EVENT.DATE} {EVENT.TIME} 级别: {TRIGGER.SEVERITY} 触发: {TRIGGER.NAME} 详情: {ITEM.NAME1}:{ITEM.KEY1}:{ITEM.VALUE1} 状态: {TRIGGER.STATUS} 项目:{TRIGGER.KEY1} 事件ID:{EVENT.ID}
修改admin用户的报警媒介: 用户默认是没有设置报警媒介的,设置后就可以接收报警消息了。
接下来,设置接受报警用户的电子邮件
点击:管理->用户–>Admin–>报警媒介类型->报警媒介->添加
创建动作:
添加就行了
然后在客户端根下生成一个2个G的文件就会触发报警 [root@web1 /]# dd if=/dev/zero of=./ab.txt bs=1G count=2