Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140956
  • 博文数量: 68
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-28 20:01
文章分类

全部博文(68)

文章存档

2015年(68)

我的朋友

分类: 系统运维

2015-08-31 18:45:21

简介:

sendEmail这是一个perl写的发送邮件的脚本,可以很方便的嵌入到shell和批处理命令中。因此非常方便用于服务和系统监控,自动化报警等;sendEmail不需要本地的邮件服务,即不需要开放25端口,在对安装性要求比较高的环境中很适用。

安装:

[root@localhost ~]#cd /opt

[root@localhost ~]#wget

[root@localhost ~]#tar -zxvfsendEmail-v1.55.tar.gz

[root@localhost ~]#cd sendEmail-v1.55

[root@localhost ~]#cp sendEmail/usr/local/nagios/libexec

[root@localhost ~]#chmod x/usr/local/nagios/libexec/sendEmail

使用方法:

/usr/local/bin/sendEmail –f jiankong@test.com –t list@test.com –s mail.test.com –u “from nagios” –xu lisi@test.com –xp abc –m test

如果不带参数将显示脚本用法。

必选项:

-f ADDRESS 发件人地址

* 至少需要指定一个收件人,可以通过-t, -cc, or -bcc 选项

* 必须指定要发送的邮件内容,可以通过-m, STDIN, 或者 -o message-file=FILE 选项

常用选项:

-t ADDRESS [ADDR ...]收件人邮箱,可以通过-cc或者-bcc指定多个

-u SUBJECT 邮件主题

-m MESSAGE 邮件内容

-s SERVER[:PORT]邮件转发器,譬如:smtp.sina.com:25. 默认为localhost:25

可选项:

-a FILE [FILE ...]指定要添加的附件,可以多个

-cc ADDRESS [ADDR...] 指定多个收件人地址

-bcc ADDRESS [ADDR...] 指定多个收件人地址

-xu USERNAME当SMTP服务器需要验证时,指定用户名

-xp PASSWORD当SMTP服务器需要验证时,指定密码

 

特殊用法:

-b BINDADDR[:PORT]本地绑定的地址

-l LOGFILE 日志输出文件logto the specified file

-v 输出冗长的运行日志

-q 安静模式运行 (比如:不打印日志)

-o NAME=VALUE高级选项,查看一些选项的详细用法. 试试: –help misc

-o message-file=FILE-o message-format=raw

-omessage-header=HEADER -o message-charset=CHARSET

-o reply-to=ADDRESS-o timeout=SECONDS

-o username=USERNAME-o password=PASSWORD

-o tls= -o fqdn=FQDN

Help:

–help 打印你现在看到的内容

–help addressing打印和邮件地址相关的帮助信息

–help message打印和邮件内容相关的帮助信息

–help networking 打印和-s, -b, 等选项的帮助信息

–help output打印和发送日志的帮助信息

–help misc打印和TLS,SMTP,验证等其他选项的帮助信息


配置nagios使用sendEmail来发警告邮件:

[root@localhost ~]# /usr/local/nagios/etc/objects/commands.cfg //添加邮件告警命令

#'notify-host-by-email command definition

define command{

        command_name                    notify-host-by-email

        command_line                    /usr/bin/printf "%b" "Host: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/local/nagios/libexec/sendEmail -f jiankong_sh@test.com \

-u "$NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$" -t $CONTACTEMAIL$

}

# notify-service-by-email command definition

define command{

        command_name                    notify-service-by-email

        command_line                    /usr/bin/printf "%b" "Date/Time: $LONGDATETIME$\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/local/nagios/libexec/sendEmail -f jiankong_sh@test.com \

-u "$NOTIFICATIONTYPE$ Service Alert: $HOSTADDRESS$/$SERVICEDESC$ is $SERVICESTATE$" -t $CONTACTEMAIL$

}

 

[root@localhost ~]# /usr/local/nagios/etc/objects/contacts.cfg //在联系人中添加新增的告警命令

define contact{

        contact_name                    lisi

        alias                           李四

        host_notification_period                24x7

        service_notification_period             24x7

        host_notification_options               d,u,r

        service_notification_options    w,u,c,r

        host_notification_commands              notify-host-by-email

        service_notification_commands           notify-service-by-email

        email                           lisi@test.com

        pager                           none

}

阅读(330) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~