nagios
使用的问题解决
1.
通过
web
界面修改某个服务时报错
例如对某个服务进行临时安排其执行时间
,
或者不让它发警告
,web
页面上都有这样的设置
.
但是常常会有错误信息如下
:
关于这部分在
nagios.cfg
中有下面的内容
本来将
apache2
运行的用户
apache
加到
nagios
组就应该可以了的
但是这个却不行
,
就将
rw
这个目录及其子文件的权限改了
777,
这样就可以了
.
后来发现
nagios.cmd
的权限还是自动变回了
rw-rw----,
但是发命令没有受到影响
,
不报错了
.(
难道是用重启
nagios,
让其生效
?)
2.nagios
警告邮件的特殊配置
nagios
发警告邮件是采用本机的
smtp
服务
,
可以查看
commands.cfg
中关于发邮件的命令的定义
,
使用本机的
mail
命令
,
这就需要开启本机的
smtp
服务
,
为了安全可以在防火墙上设置拒绝其他的机器连本机的
25
号端口
现在我们的网络里面有一个邮件服务器
,
所以要求使用这台现有的邮件服务器
,
不开启本机的
smtp
服务
,
这就需要重新定义命令使用第三方软件
sendEmail.
首先我们当然要在邮件服务器上新建一个账户用来做发邮件的账户
这里邮件服务器的地址为
mail.test.com
用来发邮件的帐号
[email protected]
SMTP
验证的用户名
nagios
密码
p#3isoda
以下就来介绍一下
sendEmail
这个软件的使用
.
sendEmail
的主页
[url]http://caspian.dotconf.net/menu/Software/SendEmail/[/url]
下载地址
[url]http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz[/url]
软件十分小
,
是一个通过命令来发
smtp
邮件的程序
.
安装也十分简单
(
查看其
README
文件即可
).
解压缩
tar –zxvf sendEmail-v1.55.tar.gz
cd sendEmail-v1.55
将可执行程序复制
cp sendEmail /usr/local/bin
然后给确认确实它具有执行权限
ll /usr/local/bin/sendEmail
这样程序就装好了
,
使用也很简单
.
直接运行
sendEmail
就会显示详细的用法
先看一个典型的例子
/usr/local/bin/sendEmail –f [email protected] –t [email protected] –s mail.test.com –u “from nagios” –xu nagios –xp p#3isoda –m happy
解释
:
-f
表示发送者的邮箱
-t
表示接收者的邮箱
-s
表示
SMTP
服务器的域名或者
ip
-u
表示邮件的主题
-xu
表示
SMTP
验证的用户名
-xp
表示
SMTP
验证的密码
(
注意
,
这个密码貌似有限制
,
例如我用
d!5neyland
就不能被正确识别
)
-m
表示邮件的内容
如果你不带
-m
参数的话
,
就会提示你自行输入
输入完成后使用
CTRL-D
来结束
当然我们也可以将一个文件的内容作为邮件的正文发出去的
那么就可以使用
:
cat
文件名
| /usr/local/bin/sendEmail –f [email protected] –t [email protected] –s mail.test.com –u “from nagios” –xu nagios –xp p#3isoda
有关
sendEmail
的用法就讲到这里
既然
nagios
要使用
sendEmail
来发警告邮件
,
那么就要修改
commands.cfg
中关于发邮件的命令的定义
,
我们现在来修改
notify-by-email
这个命令
,
如下
(
注意其中粗体的部分
)
注
:
其实
sendEmail
是一个十分有用的程序
,
我们在这个地方用了它
,
其实别的地方也可以用
,
典型的好处就是你不需要每台机器都装
sendmail,
开启
smtp
服务
.
直接用现成的一台邮件服务器就行了
,
这无疑很大的加强了系统的安全性
,
也节约了资源
.
原地址为:[url]http://hi.baidu.com/dxwangtcg/blog/item/89173e54b4dffa5dd10906a8.html[/url]
|