zabbix报警媒介:自定义脚本Custom alertscripts
邮件报警准备工作:安装sendEmail
zabbix-server 的 配置文件 /etc/zabbix/zabbix_server.conf 中的参数 “AlertScriptsPath=/usr/lib/zabbix/alertscripts” 指zabbix-server可以调用的脚本
编写zabbix发送报警的脚本:[root@localhost data]# vim /usr/lib/zabbix/alertscripts/sendmail.sh
#!/bin/bash SMTP_server='smtp.test.com' # SMTP服务器 username='yunwei@test.com' # 发件人邮箱用户名 password='qweryyui' # 发件人邮箱密码 from_email_address='yunwei@test.com' # 发件人Email地址 to_email_address="$1" # 收件人Email地址,zabbix传入的第一个参数 message_subject_utf8="$2" # 邮件标题,zabbix传入的第二个参数 message_body_utf8="$3" # 邮件内容,zabbix传入的第三个参数 # 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。 message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF $message_subject_utf8 EOF` [ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8" # 转换邮件内容为GB2312 message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF $message_body_utf8 EOF` [ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8" # 发送邮件 sendEmail='/usr/bin/sendEmail' $sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$messa ge_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312 echo "`date +"%F %T"` send to $to_email_address" >> /tmp/send.log
zabbix媒介类型包括mail、sms、自定义脚本,我们用的最多的还是脚本媒介,再次我们就不讲另外两个媒介了。当事件通知到脚本,会传递三个参数它,分别为$1(发送给谁) $2(标题) $3(内容)。
媒介配置
点击administrator->media types->create media types
zabbix媒介配置
- Name:触发器名称
- Type: 介质类型
- script name:脚本名称(需要先定义AlertScriptsPath,mail.sh放在这个目录下,写绝对路径没用)
- Enabled:状态
配置AlertScriptsPath
# mkdir /usr/local/zabbix/alertscripts # vim /usr/local/zabbix/etc/zabbix_server.conf AlertScriptsPath=/usr/local/zabbix/alertscripts 监控脚本路径这样设置一条记录。 脚本编写 # cd /usr/local/zabbix/alertscripts # vi mail.sh #!/bin/sh to=$1 subject=$2 body=$3 #/usr/local/bin/sendEmail -f root@test.com -t "$to" -s mail.test.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu root@test.com -x root -m "$body" 2>>/tmp/sendmail.log
注意脚本设置号以后要设置权限,否则无法执行:
chown zabbix.zabbix mail.sh chmod +x mail.sh
用户媒介
给用户指定媒介:
*点击Administration→Users->打开用户属性表单->在Media tab点击Add
zabbix媒介配置
参数介绍
- Type: 选择媒介类型,这边选自定义媒介
- Send to:发送到哪,例如705754153@qq.com,他就是脚本中的$1
- When active:报警时间限定,我们设置24小时不间断监控。
- Use if severity:严重性类型,只接收指定的类型,不想接受的,那我不勾选即可。
- Status:媒介状态Enabled – 启用中.Disabled – 已禁用.
努力成为一名优秀的工程师