zabbix监控项,触发器,事件

  • 1.基本的自定义监控项
  • 在zabbix代理端配置文件中配置User parameters
  • 在服务端进行检测
  • 2.配置带参数的监控项(内存)
  • 1.编写获取参数脚本
  • 2.编辑agent配置文件
  • 3.配置带参数的监控项(nginx)
  • 1.nginx配置nginx_stub_status模块
  • 2.编写获取数值的脚本
  • 3.配置zabbix_agentd.conf
  • 4.在server端验证
  • 4.触发器
  • 1.事先定义好一个监控项disk_usage监控根目录的使用了百分比
  • 2.添加触发器并测试(使用率超过20%触发)
  • 3.验证触发器
  • 5.设置告警媒介及事件
  • 1.开启QQ邮箱的smtp服务
  • 2.测试sendEmail发送邮箱
  • 3.编写发送邮箱脚本
  • 4.在web界面配置媒介类型
  • 5.创建动作
  • 6.再次往系统写入文件触发报警


1.基本的自定义监控项

在zabbix代理端配置文件中配置User parameters

`UserParameter=key,echo 1`

在服务端进行检测

![在服务端进行检测]()

2.配置带参数的监控项(内存)

1.编写获取参数脚本

#mem_status
#!/bin/bash
case $1 in
        free)
                echo "`free | awk 'NR==2{print$4}'`"
                ;;
        used)
                echo "`free | awk 'NR==2{print$3}'`"
                ;;
        *)
                echo "`free | awk 'NR==2{print$2}'`"
                ;;
esac

2.编辑agent配置文件

UserParameter=mem.status[*],/scripts/mem_status.sh $1
systemctl restart zabbix-agent

zabbix 触发器 date zabbix 触发器 显示文件hash值_zabbix 触发器 date


web界面使用监控项监控

zabbix 触发器 date zabbix 触发器 显示文件hash值_nginx_02

3.配置带参数的监控项(nginx)

1.nginx配置nginx_stub_status模块

zabbix 触发器 date zabbix 触发器 显示文件hash值_zabbix 触发器 date_03

[root@web1 scripts]# curl 127.0.0.1/status
Active connections: 1 
server accepts handled requests
 107 107 110 
Reading: 0 Writing: 1 Waiting: 0

2.编写获取数值的脚本

#!/bin/bash
#zabbix_nginx.sh  by czy
host=127.0.0.1
port=80
function active() {
        /usr/bin/curl http://$host:$port/status 2>/dev/null | grep Active | awk '{print $NF}'
}
#zabbix_nginx.sh  by czy
host=127.0.0.1
port=80
function active() {
        /usr/bin/curl http://$host:$port/status 2>/dev/null | grep Active | awk '{print $NF}'
}
function reading(){

        /usr/bin/curl "http://$host:$port/status" 2>/dev/null | grep "Reading" | awk '{print $2}'
}

function writing(){

        /usr/bin/curl "http://$host:$port/status" 2>/dev/null | grep "Writing" | awk '{print $4}'
}

function accepts(){

        /usr/bin/curl "http://$host:$port/status" 2>/dev/null | awk 'NR==3' | awk '{print $1}'

}

function handled(){

        /usr/bin/curl "http://$host:$port/status" 2>/dev/null | awk 'NR==3' | awk '{print $2}'
}

function requests(){

        /usr/bin/curl "http://$host:$port/status" 2>/dev/null | awk 'NR==3' | awk '{print $3}'
}

function ping(){

        /sbin/pidof nginx | wc -l
}
$1 #获取参数执行函数

3.配置zabbix_agentd.conf

UserParameter=nginx.status[*],/scripts/zabbix_nginx.sh $1

4.在server端验证

zabbix 触发器 date zabbix 触发器 显示文件hash值_配置文件_04

4.触发器

1.事先定义好一个监控项disk_usage监控根目录的使用了百分比

zabbix 触发器 date zabbix 触发器 显示文件hash值_配置文件_05

2.添加触发器并测试(使用率超过20%触发)

zabbix 触发器 date zabbix 触发器 显示文件hash值_zabbix 触发器 date_06


大于20表示为TRUE

zabbix 触发器 date zabbix 触发器 显示文件hash值_配置文件_07

3.验证触发器

在虚拟机上查看/目录使用率为19%

zabbix 触发器 date zabbix 触发器 显示文件hash值_配置文件_08


在zabbixweb界面查看为18.36%

zabbix 触发器 date zabbix 触发器 显示文件hash值_zabbix 触发器 date_09


往系统中写入文件增大文件系统使用率

dd if=/dev/zero of=BIGFILE bs=1M count=1300

使用率超过20%

zabbix 触发器 date zabbix 触发器 显示文件hash值_配置文件_10


触发器生效

zabbix 触发器 date zabbix 触发器 显示文件hash值_nginx_11


使用率超过20

zabbix 触发器 date zabbix 触发器 显示文件hash值_配置文件_12

5.设置告警媒介及事件

1.开启QQ邮箱的smtp服务

zabbix 触发器 date zabbix 触发器 显示文件hash值_触发器_13

2.测试sendEmail发送邮箱

sendEmail -f 1031211365@qq.com -t 1031211365@qq.com -u "zabbix_server" -s smtp.qq.com -o message-content-type=html -o message-charset=utf8 -xu 1031211365@qq.com -xp vtsynfibezkqbega -m "邮件发送成功“

zabbix 触发器 date zabbix 触发器 显示文件hash值_触发器_14

3.编写发送邮箱脚本

vim /usr/lib/zabbix/alertscripts/sendmail.sh
#!/bin/bash
# zabbix_mail
from=1031211365@qq.com
to=$1
topic=$2
body=$3
smtp=smtp.qq.com
passwd=vtsynfibezkqbega

/usr/bin/sendEmail -f "$from" -t "$to" -s "$smtp" -u "$topic" -o message-content-type=html -o message-charset=utf8 -xu "$from" -xp "$passwd" -m "$body"

4.在web界面配置媒介类型

zabbix 触发器 date zabbix 触发器 显示文件hash值_触发器_15


在用户界面添加报警媒介

zabbix 触发器 date zabbix 触发器 显示文件hash值_配置文件_16

5.创建动作

zabbix 触发器 date zabbix 触发器 显示文件hash值_nginx_17

#告警通知格式样例
#题目
A故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
#内容
告警主机: ;{HOSTNAME1}<br/>
告警时间: ;{EVENT.DATE} {EVENT.TIME}<br/>
告警等级: ;{TRIGGER.SEVERITY}<br/>
告警信息: ;{TRIGGER.NAME}<br/>
告警项目: ;{TRIGGER.KEY1}<br/>
问题详情: ;{ITEM.NAME} {ITEM.VALUE}<br/>
当前状态: ;{TRIGGER.STATUS} {ITEM.VALUE1}<br/>
事件ID: ;{EVENT.ID}

zabbix 触发器 date zabbix 触发器 显示文件hash值_触发器_18


zabbix 触发器 date zabbix 触发器 显示文件hash值_触发器_19


zabbix 触发器 date zabbix 触发器 显示文件hash值_nginx_20

6.再次往系统写入文件触发报警

zabbix 触发器 date zabbix 触发器 显示文件hash值_nginx_21