《zabbix 服务器配置》


服务器常见配置及命令

可以用下面的命令来测试key
zabbix_get -s 47.74.210.101 -p 10050 -k net.if.out[eth0,bytes]

设置邮件

设置 Media type
Name:sendmail
Type:Script
Script Name:sendmail.sh
Script parameters
​{ALERT.SENDTO}
​{ALERT.SUBJECT}
​{ALERT.MESSAGE}

然后在建立 sendmail.sh 脚本

yum -y install dos2unix
echo '#!/bin/bash
mailTmp=/tmp/mailTmp
echo "$3" >$mailTmp
to=$1
subject=$2
dos2unix -k $mailTmp
mail -s "$subject" "$to" < $mailTmp'>/usr/lib/zabbix/alertscripts/sendmail.sh 
chmod +x /usr/lib/zabbix/alertscripts/sendmail.sh

设置针对Trigger的告警

出现故障告警发邮件
============== 以下是设置 Actions 中的 Operations=============================

==设置:Default subject
故障{TRIGGER.STATUS},服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!

==设置:Default message

告警主机:{HOST.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}


故障恢复告警发邮件
=================== 以下是  Actions 中的 Recovery Operations==================

==设置:Default subject
恢复{TRIGGER.STATUS}, 服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!

==设置:Default message
告警主机:{HOST.NAME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

设置阀值tigger

last() 最后
avg() 平均值
#2 -- 2次
2m -- 2分钟内
2m,1d  昨天2此刻2分钟内

{xinjiapo101-tun0-server:vm.memory.size[available].last()/1024/1024}<200

表示最后1次
{xinjiapo101-tun0-server:vm.memory.size[available].last()}<200

表示最后2次
{xinjiapo101-tun0-server:vm.memory.size[available].last(#2)}<200

表示最后2分钟
{xinjiapo101-tun0-server:vm.memory.size[available].last(2m)}<200

表示昨天最后2分钟
{xinjiapo101-tun0-server:vm.memory.size[available].last(2m,1d)}<200


在起名称的时候要注意,例如我们监控 apache 是否down了,那在起名称时应该

httpd is down
这样做的好处是,我们用过这个触发一个命令例如  systemctl start $1
此处的$1 就是我们的服务名称中第一个参数