




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】自定义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
}将定义的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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题申报项目书框架
- 听力焦虑课题申报书
- 课题申报书审稿意见
- 上海班级管理课题申报书
- 课题申报书署名权
- 智能制造相关课题申报书
- 债务物品抵消合同范本
- 仓库白酒购买合同范本
- 已申报课题的申报书
- 反渗透膜销售合同范例
- 中央2025年全国妇联所属在京事业单位招聘93人笔试历年参考题库附带答案详解
- 人教版高中物理选择性必修第二册电磁波的发射与接收课件
- 《建筑冷热源》全册配套最完整课件1
- 部编四下语文《口语交际:转述》公开课教案教学设计【一等奖】
- 021[学士]某六层框架宿舍楼毕业设计(含计算书、图纸)
- (完整版)高层钢结构住宅施工方案(非常详细)
- 人力外包项目实施方案
- BQB480-2014无取向电工钢
- 校园及设备设施安全隐患排查情况登记表
- 解析几何期末考试试卷
- 给水管道通水试验及冲洗记录填写范本
评论
0/150
提交评论