zabbix实现邮件告警的方法

根据网络教程实现。zabbix3.4,使用脚本和sendEmail。

1.下载并解压缩sendEmail到/usr/local/bin下面,修改权限。

下载网址:

SendEmail - Send email with this free command line email client  http://caspian.dotconf.net/menu/Software/SendEmail/

修改权限:

chown zabbix:zabbix /usr/local/bin/sendEmail

2.进行发邮件测试。

/usr/local/bin/sendEmail -f xxxx@163.com(发件邮箱) -s smtp.163.com -u "邮件标题" -m "邮件内容" -o message-content-type=html -o message-charset=utf8 -xu xxxx@163.com(发件邮箱账号) -xp “网易邮箱授权码” -t “目标邮箱”

3.发邮件测试通过后,进入/usr/local/zabbix/share/zabbix/alertscripts/目录,并新建mail.sh文件,授予权限;

4.mail.sh内容:

#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -o tls=auto -f xxxx@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu xxxx@163.com -xp "邮箱客户端授权码" -m "$body"

5.测试报错

[root@centos7 alertscripts]# ./mail.sh “目标邮箱” test_topic hello_world!
*******************************************************************
 Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
 is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
 possibly with SSL_ca_file|SSL_ca_path for verification.
 If you really don't want to verify the certificate and keep the
 connection open to Man-In-The-Middle attacks please set
 SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
 at /usr/local/bin/sendEmail line 1906.
invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 444.

在sendemail中1906行的内容,从

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => ‘SSLv3 TLSv1‘)) {

修改为

if (! IO::Socket::SSL->start_SSL($SERVER)) {

再次测试,成功。

[root@centos7 alertscripts]# ./mail.sh “目标邮箱” test_topic hello_world!
*******************************************************************
 Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
 is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
 possibly with SSL_ca_file|SSL_ca_path for verification.
 If you really don't want to verify the certificate and keep the
 connection open to Man-In-The-Middle attacks please set
 SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
 at /usr/local/bin/sendEmail line 1906.
Aug 08 15:42:42 wanbu sendEmail[25763]: Email was sent successfully!

6.zabbix-web配置

在zabbix3.4中,有3处需要配置,actions,media type,users。actions负责判断,发送邮件;media type负责选择脚本,传递参数;users负责明确告警信息发送给谁等信息。

按照官网的介绍配置即可,这部分实在懒得写了。唯一需要注意的是,media type需要添加3个参数,分别是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESAGE},分别对于mail.sh中的to、subject和body。

7.最后,点击“Reports”-“action log”,可以查看邮件是否发送成功,不成功的原因。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • centos6.5下安装zabbix2.4的教程图解

    centos-DVD1版本系统固定IP地址是192.168.159.128 ,centos-mininal 版本系统 地址是192.168.1.* 或者192.168.2.*网段 zabbix2.4安装(centos6.5) zabbix有自带的yum源,LNMP可以去 https://lnmp.org/ 下载自行安装 第一步 安装zabbix官方的zabbix源,地址如下: rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zab

  • Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法

    Python编写从ZabbixAPI获取信息 此脚本用Python3.6执行是OK的. # -*- coding: utf-8 -*- import json import urllib.request, urllib.error, urllib.parse class ZabbixAPI: def __init__(self): self.__url = 'http://192.168.56.102/zabbix/api_jsonrpc.php' self.__user = 'admin' s

  • Python 调用 zabbix api的方法示例

    前提准备: 1.使用python requests模块 2.了解json 3.zabbix api的具体调用建议先浏览一下官网 先上代码: import requests,json # #url一定要正确,IP地址换成自己zabbix服务器的 zbx_url = "http://192.168.60.130:3080/zabbix/api_jsonrpc.php" #在post请求头部必须要有 'Content-Type': 'application/json-rpc' headers

  • Centos7.4 zabbix3.4.7源码安装的方法步骤

    一.概述 Zabbix 是一个企业级的分布式开源监控方案.能够监控各种网络参数以及服务器健康性和完整性.支持灵活的通知机制,提供出色的报告和数据可视化功能.Zabbix支持主动轮询和被动捕获.最关键的是源代码都是免费发行的,可供公众任意使用.这也是它在中小企业广为流行的重要原因之一.本文简要描述Zabbix特性以及基于CentOS 7下安装Zabbix 3.4. 特性功能 Zabbix自3.4.5rc1版本开始支持Elasticsearch作为历史数据存储,17年12月28日发布了3.4.5 B

  • 在centos7安装zabbix3.0的超详细步骤记录

    前言 最近公司部分业务迁移机房,为了更方便的监控管理主机资源,决定上线zabbix监控平台.本文主要给大家介绍了关于centos7安装zabbix3.0的相关步骤,下面话不多说了,来一起看看详细的介绍吧 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源 网站/服务器 的可用性 安装前准备 1.0 系统时间同步在crontab中添加 #crontab -l 00 00 * * * /usr/sbin/ntpdate -u x.x.x.x #选择ntp服务器

  • Zabbix系统端口监控状态

    一.监控系统Zabbix -添加端口监控 对于进程和端口的监控,可以使用zabbix自带的key进行监控,只需要在server端维护就可以了,相比于nagios使用插件去监控的方式更为简单.下面简单介绍配置: 1.监控端口 zabbix监控端口使用如下key: key:net.tcp.listen[port] Checks if this port is in LISTEN state. 0 - it is not, 1 - it is inLISTEN state. 2.解释: 监听端口状态,

  • python通过zabbix api获取主机

    zabbix强大地方在于有强大的api,zabbix 的api可以拿到zabbix大部分数据,目前我所需的数据基本可以通过api获取,以下是通过zabbix api获取的主机信息python代码,其他数据也如此类推,api使用方法可参见官网文档: #!/usr/bin/env python #-*- coding: utf-8 -*- import json import urllib2 from urllib2 import URLError from login import zabbix_

  • python实现zabbix发送短信脚本

    本文实例为大家分享了zabbix发送短信的具体代码,供大家参考,具体内容如下 使用方法 ./sendSMS.py PHONE_NUMBER args_2 SMS_MSG 接收参数输入 参数一: 接收手机号(zabbix传来的第1个参数,报警接收手机号),第一个参数可以对比发送邮件的脚本 参数二: 短信主题(zabbix传来的第2个参数,报警主题),在命令行测试必须输入,用来占位,脚本中并不获取这个参数 参数三: 短信内容(zabbix传来的第3个参数,报警内容) 手动调试方法 python se

  • Linux shell环境下Zabbix Api的使用

    在linux shell环境下直接调用就可以,根据官网所述:在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌.这可以使用该 user.login 方法完成. [root@localhost ~]# curl -i -X POST -H 'Content-Type: application/json' -d '{"jsonrpc": "2.0","method":"user.login","params

  • 基于Docker安装与部署Zabbix

    今天测试了一天的Zabbix-Docker,部署起来确实方便,就需要在安装了Docker的linux系统中输入以下命令就可以了. 1.安装mysql数据库, 启动一个空的MySQL服务器实例 docker run –name zabbix-DB -t \      -e MYSQL_DATABASE="zabbix" \      -e MYSQL_USER="zabbix" \      -e MYSQL_PASSWORD="zabbix_pwd&quo

随机推荐