zabbix脚本怎么发邮件
⑴ zabbix查看哪些邮件发送成功
管理->审计->动作, 能看到发送邮件的状态, 但是这个状态成功并不代表完全成功, 需要查看发送脚本发送邮件是否有报错信息, 另外需要看是否有退信,才能知道邮件是否真正成功
⑵ 如何配置zabbix 3.0 用mail邮件方式告警support for smtp authentication was not
前提条件:
(1) zabbix服务器端已经成功安装并且运行。
(2) zabbix客户端已经成功建立并且运行。
1 下载并且安装msmtp软件
tar jxvf msmtp-1.4.32.tar.bz2
cd msmtp-1.4.32
./configure--prefix=/usr/local/msmtp
Make
Make install
2、手动建立配置文件,输入外部smtp地址
mkdir –p /usr/local/msmtp/etc
vi /usr/local/msmtp/etc/msmtprc
添加以下内容
account default
host smtp.sohu.com #你的发送邮件服务器
port 25
from [email protected] #要从哪个邮箱发出
auth login
tls off
user zabbix2014 #邮箱用户名
password xxxxx-xxx #邮箱密码,如果你觉得不安全可以把文件改为600属性
logfile /var/log/mmlog
保存退出。
3、简单测试一下
/usr/local/msmtp/bin/msmtp [url=mailto:%[email protected]][email protected][/url]
hello,test
ctrl d
cat /usr/local/msmtp/msmtp.log 看看有没有成功。
然后再到sohu邮箱中,看看信收到没有
报错如下
[iyunv@cache-2 msmtp-1.4.32]# /usr/local/msmtp/bin/msmtp [email protected]
msmtp: authentication failed (method LOGIN)
msmtp: server message: 535 5.7.0 Invalid result
msmtp: could not send mail (account default from /usr/local/msmtp/etc/msmtprc)
Google之后,需要安装 mutt组件
4、下面开始安装 MUTT如果是CentOS的话直接用yum就好了
yum install mutt
安装完成后要手动给他建立一个配置文件,
vim /etc/Muttrc
setsendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径
set use_from=yes
set realname="[email protected]"
set editor="vim"
简单的4行就可以了
好了,让我们来测试一下吧!
测试一下:echo"test mail" | mutt -s "test" [email protected]
OK,测试了下,能收到已经发送的email,
echo"test mail 2014 content tom 2" | mutt -s "test 2014 title2" [email protected]
5、 创建 zabbix用于发送邮件的脚本
脚本放在什么位置随便,但是要保证zabbix可以找到!
1)vim/usr/bin/zabbix2014,并写入如下内容:
#!/bin/bash
echo "$3" | mutt -s "$2"$1 # $3表示邮件内容、$2表示邮件标题、$1表示收件人
(2)chmod a+x /usr/bin/zabbix2014
6、 zabbix配置
(1)创建meida types
1.登录到zabbix,进入“Administration" >> ”Media types",点击右上角“Create Media Type"。 Description填"mediatype-zabbix2014"或其它名称,Type选择"Script",Script填” zabbix2014”。
2.点击save保存,
7、创建actions
1.登录到zabbix,进入"Configation" >> "Actions",点击右上角"Create Actions"。输入Name “action-zabbix2014” ,其它都默认点击右侧“Action Operations"下的"New"按钮,"Operation Type"选择"Send message","Send Message to"选择一个或多个要发送消息的用户组,”Send only to"选择我们之前新增的mediatype-zabbix2014。
2.点击save保存,
8、zabbix用户配置
登录到zabbix, 进入"Adimistration" >>"Users",在之前选定要发送消息的组里的Members栏位里选择一个用户,例如选择AdminZabbix用户。
在用户信息修改界面最下方的”Media"处点击"Add"按钮。
Type选择"mediatype- zabbix2014",Send to填入收件人地址,点击Add添加。
点击"Save"保存配置。
⑶ zabbix 怎么向不同的用户发邮件
每个用户的邮件地址都不一样,不就发给不同的用户了吗
⑷ zabbix的告警脚本目录在哪
zabbix媒介类型包括mail、sms、自定义脚本,我们用的最多的还是脚本媒介,再次我们就不讲另外两个媒介了。当事件通知到脚本,会传递三个参数它,分别为$1(发送给谁) $2(标题) $3(内容)。例如发送邮件给[email protected],标题为nginx离线,内容是IP地址:1.1.1.1,nginx离线,请立即处理。
⑸ zabbix 怎么设置 磁盘空间少于5%就发邮件提示
管理->审计->作 能看发送邮件状态 状态功并代表完全功 需要查看发送脚本发送邮件否报错信息 另外需要看否退信才能知道邮件否真功
⑹ zabbix上怎么通过sendmail发送邮件报警
zabbix相关环境:
OS: centos 5.4x86_64 zabbix: 1.8.3 sendmail:8.13.8-2.el5
在配置zabbix的Email报警之前,需要将sendmail使用的域名进行相应的修改,系统默认为localhost.localdomain,其实不改也行,不过有些pop3服务器会过滤掉来自localhost.localdomain的邮件,导致邮件不能正常查收,所以,最好是改一下 hostname,确保邮件发送的成功率。
以下是我线上机器修改好了的配置,可供参考。
# cat /etc/hosts
127.0.0.1 monitor.bot.cms localhost.localdomain localhost
# cat /etc/mail/access
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1
Connect:monitor.bot.cms RELAY
# cat /etc/mail/local-host-names
monitor.bot.cms
修改完成后,重启sendmail服务,通过telnet命令,测试一下看看是否已生效
# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to monitor.bot.cms (127.0.0.1).
Escape character is '^]'.
220 monitor.bot.cms ESMTP Sendmail 8.13.8/8.13.8; Sun, 10 Oct 2010 14:00:33 +0800
从以上结果可以发现,localhost.localdomain 已经变成了 monitor.bot.cms 这个域名,表示修改成功,接下来就可以在zabbix 的管理页面上进行Email 报警设置了。
设置完成后点击保存按钮,到此Email报警设置就结束了,测试时,可以新建一个action,报警方式选择Email, 当trigger成功触发后,一分钟后就可以查收邮件了。
⑺ zabbix监控怎么添加报警人
zabbix监控添加主机,报警、监控的设置
根据使用zabbix这么久的经验,总结了一套zabbix比较实用的添加主机、监控报警的使用流程,供大家参考。
一:添加处理方法,就是如何报警
打开zabbix的管理------处理方法----create media type:
我用的是脚本发邮件的方式来报警的,脚本名字为mail.py。指的一提的是脚本存放位置,我的脚本是放在/usr/local/zabbix/bin/目录下面,在这里不写目录的据对路径,直接写脚本名字,他的路径设置是在zabbix服务器端的配置文件中设置的,在zabbix_server.conf配置文件中设置:AlertScriptsPath=/usr/local/zabbix/bin/
二:添加zabbix用户和组,设置其邮箱地址等信息
1:打开zabbix的管理------用户---选择用户组下拉----create user group:
填写个组名,设置需要的权限直接保存就成,其他的不用填写和选择。
2:打开zabbix的管理------用户---选择用户下拉----create user:
填写用户信息
3:添加报警介质,就是报警方式,因为是报警,【信息】那项就不用勾选,信息一般就是服务器信息发生变化时报警,这个一般没有什么意义,所以不勾选,不过你也可以选择,根据个人喜好。类型的话就是选择处理发放中的报警介质,选择你添加的。然后可以保存信息,完成添加用户(Permissions那项没有不填写)。
三:报警触发器触发的动作设置
当监控项中的触发器达到你设置的报警值之后,需要执行操作来发送邮件等动作。具体设置:
1:打开zabbix的系统配置---操作---- 选择事件源为触发器------create action:
2:触发条件设置:
3:详细操作设置,即满足触发条件之后执行什么动作,这里一般设置为发邮件之类的,设置收邮件的用户(建议每个组对应一个用户,这样发邮件的时候容易设置发送对象):
四:zabbix中常用到的几个key
Zabbix的key可以理解为zabbix的命令,执行这个key可以得到相应的结果。
1:监控端口的:net.tcp.port[,3306]
/usr/local/zabbix/bin/ -s192.168.8.120 -knet.tcp.port[,3306] 返回1为192.168.8.120的端口3306存在,0为不存在
2:监控进程的:proc.num[mysqld]
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[mysqld] 返回值为192.168.8.120中mysqld的进程数量
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[] 返回值为192.168.8.120中所有的进程数量
3:查看CPU核数的:system.cpu.num 返回值为服务器CPU的核数
4:查看系统的系统启动时间和当前时间:system.boottime、system.localtime 返回值为系统启动时间和当前时间,为时间戳格式
5:查看系统的简单信息:system.uname 返回值为192.168.8.120的系统信息,类似于linux系统的uname -a命令
6:查看windowns系统当前网卡的进出流量:net.if.out[{HOST.NAME},bytes]、net.if.in[{HOST.NAME},bytes]和linux系统的key:net.if.out[eth0,bytes]、net.if.in[eth0,bytes]一样
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.in[192.168.8.120,bytes] 返回值为IP为192.168.8.120的进流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.out[192.168.8.120,bytes] 返回值为IP为192.168.8.120的出流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量
7:查看系统内存大小:vm.memory.size[total],返回值单位bytes
8:查看文件的大小: vfs.file.size[file] 如: vfs.file.size[/var/log/syslog] 返回的是/var/log/syslog的大小,单位是:bytes
9:查看文件是否存在:vfs.file.exists[file] 文件如果存在返回0,不存在返回1
10:查看文件的MD5:vfs.file.md5sum[file]查看小文件的MD5,返回为MD5值(好像只有2.0以上的版本有这个key)
11:自动发现网卡并监控流量和自动发现分区及分区挂载情况的两个key:net.if.discovery,vfs.fs.discovery,windows和linux监控模板中都有这模板(2.0以上版本),应用即可
以上是常用的key,其实监控服务器无非就是内存、硬盘占用、CPU负载、流量、服务器和端口等情况。如果要监控其他的可以自定义key来实现,本人喜欢自定义key,写个脚本来返回,得到自己想要的监控结果,zabbix在这块做的非常好,扩展性很强,支持各种脚本来实现自定义的key。
要启用自定义key,需要在客户端的配置文件中启用UnsafeUserParameters=1参数,然后在配置文件的最下面来定义key,如:
UserParameter=free.disk,/usr/local/zabbix/bin/disk.py
free.disk为key的名字,/usr/local/zabbix/bin/disk.py为服务器端调用free.disk这个key时执行的脚本,其结果就是free.disk的返回值。脚本可以是任何可以运行的脚本语言。
五:创建监控模板和监控项
其实在zabbix服务器端安装完成之后,就有许多自带的监控模板,基本上可以满足大众化的监控需求,不过其中有许多是没有必要的监控项或是自己不感兴趣的,比较冗余,所以要做好监控的话,还是自定义模板和监控项,这个监控模板可以修改zabbix系统自带的,也可以自己创建。以下为自己创建监控模板。
1:创建监控模板:
打开zabbix的系统配置---模板----create template:
填写模板名字和模板所在组保存即可。
⑻ 请问怎么实现zabbix将不同主机的告警邮件指定发送到不同的人
1、先设定用户对主机群组的权限
2、设置产生动作
⑼ zabbix怎么发送html内容邮件
直接用<<<EOF
{这里是html代码}
EOF;