监控端(主节点):
一、使用sendEmail来发送邮件
sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash、perl和web站点使用。
以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。用了sendEmail你将不在喜欢sendmail了.
1、 下载安装sendEmailsendEmail下载地址:http://caspian.dotconf.net/menu/Software/SendEmail/
# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz //下载1.56版本
# tar -xzvf sendEmail-v1.56.tar.gz //解压后就可以使用了
# mv sendEmail /usr/local/bin/
2、发送邮件# /usr/local/bin/sendEmail/sendEmail -f 319989158@qq.com -t 478641330@qq.com \
-s smtp.qq.com -u "我是邮件主题" -o message-content-type=html \
-o message-charset=utf8 -xu 319989158@qq.com -xp 123456 -m "我是邮件内容"
命令说明:/usr/local/bin/sendEmail 命令主程序
-f lpc_bg@163.com 发件人邮箱
-s smtp.163.com 发件人邮箱的smtp服务器
-u "我是邮件主题" 邮件的标题
-o message-content-type=html 邮件内容的格式,html表示它是html格式
-o message-charset=utf8 邮件内容编码
-xu lpc_bg@163.com 发件人邮箱的用户名
-xp 123456 发件人邮箱密码
-m "我是邮件内容" 邮件的具体内容发送成功之后会有如下提示:
Jul 29 15:02:53 e10074 sendEmail[26347]: Email was sent successfully!
3、 sendEmail使用命令帮助
[root@localhost scripts]# sendEmail --help
sendEmail-1.56 by Brandon Zehm
Synopsis: sendEmail -f ADDRESS [options]
Required:
-f ADDRESS from (sender) email address
* At least one recipient required via -t, -cc, or -bcc
* Message body required via -m, STDIN, or -o message-file=FILE
Common:
-t ADDRESS [ADDR ...] to email address(es)
-u SUBJECT message subject
-m MESSAGE message body
-s SERVER[:PORT] smtp mail relay, default is localhost:25
Optional:
-a FILE [FILE ...] file attachment(s)
-cc ADDRESS [ADDR ...] cc email address(es)
-bcc ADDRESS [ADDR ...] bcc email address(es)
-xu USERNAME username for SMTP authentication
-xp PASSWORD password for SMTP authentication
Paranormal:
-b BINDADDR[:PORT] local host bind address
-l LOGFILE log to the specified file
-v verbosity, use multiple times for greater effect
-q be quiet (i.e. no STDOUT output)
-o NAME=VALUE advanced options, for details try: --help misc
-o message-content-type=
-o message-file=FILE -o message-format=raw
-o message-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 the helpful overview you're reading now
--help addressing explain addressing and related options
--help message explain message body input and related options
--help networking explain -s, -b, etc
--help output explain logging and other output options
--help misc explain -o options, TLS, SMTP auth, and more
sendEmail发送邮件内容到此结束,如有什么不明白的,请留言.
二、Nagios邮件告警
1、创建一个联系人# vim /usr/local/nagios/etc/objects/contacts.cfg
define contact{
contact_name idcyunwei
alias idcyunwei
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options w,u,r,f,s
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email 【You email address】
}
2、创建一个组define contactgroup{
contactgroup_name idc
alias idc
members idcyunwei
}
3、修改发送邮件命令# vim /usr/local/nagios/etc/objects/commands.cfg
# 'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/local/bin/sendEmail -l /tmp/sendEmail.log -f lpc_bg@163.com -t $CONTACTEMAIL$ -s smtp.163.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu lpc_bg@163.com -xp 123456 -m "Service: $SERVICEDESC$\\nHost: $HOSTALIAS$\\nAddress: $HOSTADDRESS$ State: $SERVICESTATE$\\nDate/Time: $SHORTDATETIME$\\nInfo:$SERVICEOUTPUT$"
}
# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/local/bin/sendEmail -l /tmp/sendEmail.log -f lpc_bg@163.com -t $CONTACTEMAIL$ -s smtp.163.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu lpc_bg@163.com -xp 123456 -m "Service: $SERVICEDESC$\\nHost: $HOSTALIAS$\\nAddress: $HOSTADDRESS$ State: $SERVICESTATE$\\nDate/Time: $SHORTDATETIME$\\nInfo:$SERVICEOUTPUT$"
}
4、指定监控项目define service{
use local-service
host_name localhost
service_description Disk Root
check_command check_local_disk!20%!10%!/
contact_groups idc
}
5、测试告警。
更多设置,尽情参考:https://www.idcyunwei.org/post/112.htmlNagios巧用escalations发送报警到不同联系人并限制报警次数
本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!