【移动应用开发技术】自定义nagios插件实现主动被动模式以及nagios基于mail的简单告警_第1页
【移动应用开发技术】自定义nagios插件实现主动被动模式以及nagios基于mail的简单告警_第2页
【移动应用开发技术】自定义nagios插件实现主动被动模式以及nagios基于mail的简单告警_第3页
【移动应用开发技术】自定义nagios插件实现主动被动模式以及nagios基于mail的简单告警_第4页
【移动应用开发技术】自定义nagios插件实现主动被动模式以及nagios基于mail的简单告警_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】自定义nagios插件实现主动被动模式以及nagios基于mail的简单告警

nagios插件程序提供两个返回值:一个是插件的退出状态码,另一个是插件在控制台上打印的第一行数据。退出状态码可以被nagios主程序作为判断被监控系统服务状态的依据,控制台打印的第一行数据可以被nagios主程序作为被监控系统服务状态的补充说明会显示在管理页面里面。 为了管理nagios插件,nagios每查询一个服务的状态时,就会产生一个子进程,并且它使用来自该命令的输出和退出状态码来确定具体的状态。nagios主程序可识别的状态码和说明如下:OK

退出代码0--表示服务正常的工作warning

退出代码1--表示服务处于告警状态critical

退出代码2--表示服务处于紧急,严重状态unknown

退出代码3--表示服务处于未知状态[root@RS1services]#head-7/usr/local/nagios/libexec/utils.sh

#!/bin/shSTATE_OK=0STATE_WARNING=1STATE_CRITICAL=2STATE_UNKNOWN=3STATE_DEPENDENT=4示例一:判断/etc/passwd文件是否变化,利用nrpe的被动模式原理:利用md5sum进行指纹收集md5sum/etc/passwd>/etc/passwd.md5利用md5sum-c/etc/passwd.md5对指纹进行判别,出现OK则没有变化,反之则变化了监控密码文件是否被更改:先做指纹库md5sum/etc/passwd>/etc/passwd.md5在client上创建脚本vim/usr/local/nagios/libexec/check_passwd#!/bin/bashchar=`md5sum-c/etc/passwd.md52>&1|grep"OK"|wc-l`if[$char-eq1];then

echo"passwdisOK"

exit0

else

echo"passwdischanged"

exit2fi######给脚本执行权限chmod+x/usr/local/nagios/libexec/check_passwd#####定义check_passwd命令vim/usr/local/nagios/etc/nrpe.cfgcommand[check_passwd]=/usr/local/nagios/libexec/check_passwd#####重启nrpe服务######在nagios主程序先手动抓取数据[root@RS1libexec]#./check_nrpe-H1-ccheck_passwdpasswdisOK######在nagios主程序上定义service配置vim/usr/local/nagios/etc/objects/services.cfg(主动模式和被动模式各自的services.cfg配置文件,各自分别管理)defineservice{

use

generic-service

host_name

client02

service_description

check_passwd

check_command

check_nrpe!check_passwd}然后在nagios服务端进行手动抓取数据:/usr/local/nagios/libexec/check_nrpe-H1-ccheck_passwd出现数据,表明基本已经没有问题,重启服务,观察web平台页面,如下图:自定义监控weburl,用主动模式监控[root@RS1~]#curl-I1/index.html2>/dev/null|grep"OK"HTTP/1.1200OK[root@RS1~]#curl-I1/index.html2>/dev/null|grep"OK"|wc-l11、编写执行脚本cd/usr/local/nagios/libexecvimcheck_web_url#!/bin/bashchar=`curl-I1/index.html2>/dev/null|grep"OK"|wc-l`if[$char-eq1];then

echo"theurlisOK"

exit0else

echo"theurliswrong"

exit2fichmod+xcheck_web_url2、添加check_web_url这个命令到commands.cfg配置文件中############definecommandcheck_web_url##########definecommand{

command_name

check_web_url

command_line

$USER1$/check_web_url

}3、编辑servers.cfg文件cd/usr/local/nagios/etc/servicesvimweb_url.cfgdefineservice{

use

generic-service

host_name

client02

监控的主机1在hosts.cfg有定义

service_description

web_url

check_period24x7

check_interval5

retry_interval1

max_check_attempts3

check_command

check_web_url

因为是主动模式

notification_period24x7

notification_interval30

notification_options

w,u,c,r

contact_groupsadmins}4、检测错误,重启服务[root@RS1services]#/etc/init.d/nagioscheckconfigRunningconfigurationcheck...

OK.[root@RS1services]#/etc/init.d/nagiosreloadRunningconfigurationcheck...Reloadingnagiosconfiguration...done成功截图:看下整体监控效果:实现邮件报警功能:配置告警的步骤:1、添加联系人和联系组contacts.cfgdefinecontact{

contact_name

huang

use

generic-contact

》这里使用的模板就是模板文件中的contact定义

alias

NagiosAdmin

email

<

}将定义的contact_name添加到一个新组中新增联系组:definecontactgroup{

contactgroup_name

mail_users

这里可以定义邮件组,手机短信组,等等

alias

NagiosAdministrators

members

huang

}2、添加报警的命令commands.cfg,这里使用默认的命令,当然你也可以自己编写shell脚本或者其他语言脚本3、调整联系人的默认模板definecontact{

name

generic-contact

service_notification_period

24x7

host_notification_period

24x7

service_notification_options

w,u,c,r,f,s

host_notification_options

d,u,r,f,s

service_notification_commands

notify-service-by-email

host_notification_commands

notify-host-by-email

如果定义了手机,这里可以加上notify-host-by-email,notify-host-byr,这里使用邮件告警,所以无需设置

register

0

}4、在hosts、services配置文件中添加报警联系人及报警组然后修改模板中service、host的定义,将contact_groups

admins改为contact_groups

mail_users

当然也可以不在模板中定义,在hosts、services配置文件中各自定义不同的报警方式和报警组实验:将网站目录下面的index.html文件mv到tmp目录下,使他warning并触发告警mv/var/www/html/index.html/tmp可以看见web平台出现warning状态,查看nagios日志如图:然后查看邮件,发现没有收到告警邮件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论