Nagios监控之利用sendmail使用第三方SMTP服务发送邮件报警

使用Centos系统自带的sendmail服务作为客户端,使用第三方SMTP服务发送邮件报警。

此功能是在nagios服务正常安装运行的基础上实现的;因此要先安装好基本的nagios运行环境,这个可以参考本人相关的博文。

1.软件检测及安装

#rpm -q sendmail

不存在怎安装

#yum -y install sendmail

2.停止sendmail服务

这里不需要sendmail作为邮件服务端来运行,所以关闭sendmail服务。

#service sendmail stop

3.配置sendmail服务

配置发送邮件的邮箱认证信息

vi /etc/mail.rc

--- 增加如下内容 ---

set [email protected]

set smtp=smtp.xxx.com

set smtp-auth-user=MailName

set smtp-auth-password=yourpasswd

set smtp-auth=login

4.测试发送邮件功能

格式:echo "邮件内容" | mail -s "邮件标题" 目标邮件地址

echo "hello word" | mail -s "mail title" [email protected]

5.配置nagios邮件发送命令

修改nagios命令配置文件

#vim nagios/etc/object/command.cfg

#notify-host-by-email命令的定义

define command{

#命令名称,即定义了一个主机异常时发送邮件的命令。

command_name    notify-host-by-email

#命令具体的执行方式。

command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

}

#notify-service-by-email命令的定义

define command{

#命令名称,即定义了一个服务异常时发送邮件的命令

command_name    notify-service-by-email

command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

}

注:命令是在一行上的,这里排版问题被分成了多行.

接着修改nagios中定义的主机和服务的报警机制,实现nagios利用邮件自动报警。

鸣谢:本人参考了多篇文章后总结而得,在此感谢各位网络分享者!

时间: 2024-12-28 01:00:51

Nagios监控之利用sendmail使用第三方SMTP服务发送邮件报警的相关文章

Linux SendMail 使用外部SMTP服务发送邮件

前言 现在sendmail服务是Linux系统自带服务,默认可能没有启动. 本文不是讲解如何搭建本地mail服务器,而仅仅是作为客户端,使用外部smtp服务发送邮件,因此无需启动sendmail服务. 学习笔记,以备查阅. 1.Sendmail配置 配置发生邮件的邮箱认证信息 vi /etc/mail.rc --- 增加如下内容 --- 1 set [email protected] 2 set smtp=mail.your-domain.com 3 set smtp-auth-user=you

[计算机网络] C++模拟telnet登陆SMTP服务发送邮件过程

在百度文库中的<使用telnet协议收发邮件>,我们可以很清楚地看到如何通过telnet来进行发送邮件,下面是一些需要用到的命令,通过以下命令可以很容易实现邮件发送功能.为了更好地理解其中每一步的含义,我决定自己写一份可以自动发送邮件的代码. 1 #include <winsock.h> 2 #include <stdio.h> 3 #include <string> 4 #include <iostream> 5 using namespace

推荐使用SMTP服务发送邮件

通配置web.config发送邮件,(服务器上也能成功,推荐这种方式,方便以后修改smtp服务) userName是你的邮箱地址,password是你的授权码 配置文件如下 <configuration> <system.net> <mailSettings> <smtp deliveryMethod="Network" from="[email protected]" > <network host="

设置Linux使用SMTP服务发送邮件

很多时候我们需要知道服务器的运行状态,比如发生了异常的报警.数据库备份的状态等,假如服务器自动跟你汇报那就好了,我们可以通过设置当触发某些条件时让服务器发送邮件给你,这样你就可以了解你的服务器的状态怎么样.一开始我使用linux本身的mail测试发送邮件,结果系统是提示发送出去了,但是测试接收邮箱没有接收到邮件,转而使用第三方邮箱来作为发送方,下面是设置163邮箱作为发送邮箱的过程. 一.进入/etc/mail.rc编辑模式添加以下两行配置 注意这个smtp-auth-password并不是邮箱

php使用smtp服务发送邮件 第一

define('SMTP_STATUS_NOT_CONNECTED', 1, true); define('SMTP_STATUS_CONNECTED', 2, true); class smtp { var $connection; var $recipients; var $headers; var $timeout; var $errors; var $status; var $body; var $from; var $host; var $port; var $helo; var $a

php使用smtp服务发送邮件 第二

$jieguo=$smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype); $smtpserver = "smtp.exmail.qq.com";//SMTP服务器 $smtpserverport =25;//SMTP服务器端口 $smtpusermail = "用户邮箱";//SMTP服务器的用户邮箱 $smtpemailto = "发送给谁&q

php使用smtp服务发送邮件 第三开启QQ邮箱开启SMTP服务的步骤

1 2 3 分步阅读 首先要确保你的QQ邮箱已经要开启超过一个月.对于新开启的邮箱,腾讯是不开放这些功能的. 方法/步骤 首先点QQ头像旁边的信封符号进入邮箱. 当然你也可以使用 mail.qq.com进邮箱 进入邮箱后点击顶部的设置按钮 点击二级目录"账户" 拉到中下部 把这两项勾上 QQ邮箱 POP3 和 SMTP 服务器地址设置如下:邮箱POP3服务器(端口110)SMTP服务器(端口25)qq.compop.qq.comsmtp.qq.comSMTP服务器需要身份验证. 如果是

修改SNMP端口并利用snmpwalk测试,nagios监控,脚本读取后筛选出磁盘占用空间的值

############################################################插入一个信息Handy.sh里,Linux下如果要根据read到的nl序号筛选出目录名.需要用以下表达式:folder_name=ls -l "$DIR" | awk -F" " '{ print $9 }' | grep -v Handy.sh | nl | grep '\ '"$REPLY"$'\t' | a<br/&

Nagios 监控系统架设全攻略

Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows .Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知.Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人