nagios高可用性设置
1、 前言
如何来实现nagios监控系统的高可用,监控是很重要的,在关键时刻进行通知报警,通知人员进行相应的处理。
在进行配置的时候,需要配置两台相同服务的nagios服务器,配置相同,同时在运行,此时会存在两个问题:
Ø 在某个服务或者主机进行报警的时候,会同时发出通知,从而产生不必要的重复报警
Ø 所有的服务或者主机都会被检查两次,在网络繁忙的时候会占用生成环境的资源
要解决这两个问题,那么就必须将nagios服务器设置为主备关系,在nagios主服务发生问题的时候,nagios备服务进行接管工作,从而让nagios监控高可用
2、 基本设置
在设置nagios主备服务器的时候,必须准备两台环境相同的服务器,在其中需要安装的软件如下:
Ø Nagios核心程序
Ø Nagios插件
Ø NRPE
Ø PHP
Ø Apache
设置完成之后,两台nagios服务器均能进行发送报警通知,并且均是正常运行。
在此实验中,环境如下:
Nagios主服务器
Nagios备服务器:
3、 nagios主服务器配置
在nagios主服务器中主要要设置检查nagios服务命令
3.1 检查主服务器设置
主要来进行验证命令是否能准确的监测到nagios进程:
命令如下:
/usr/local/nagios/libexec/check_nagios -e 5 -F /usr/local/nagios/var/status.dat -C /usr/local/nagios//bin/nagios
从上面检查可以看到能够正确的监测到nagios进程
当监测不到nagios进程显示如上
3.2 配置nrpe
配置文件路径如下:
在其中添加命令如下:
command[check_nagios]=/usr/local/nagios/libexec/check_nagios -e 5 -F /usr/local/nagios/var/status.dat -C /usr/local/nagios//bin/nagios
修改其中的允许连接的主机:
3、nagios备服务器配置
4.1 测试备用服务器连接主服务器
如上所示,表示能够正确连接到nagios主服务器,并且能监测到nagios主进程服务
4.2 复制相关档案
创建目录,用来存放相关的配置:
找到编译的时候nagios的路径,如下:
将相关的配置文件拷贝到创建的目录中,如下:
4.3 修改命令配置文件
命令配置路径如下:
在其中添加的内容如下:
define command {
command_name handle-master-host-event
command_line $USER1$/eventhandlers/handle-master-host-event $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$
}
define command {
command_name handle-master-proc-event
command_line $USER1$/eventhandlers/handle-master-proc-event $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
}
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
4.4 修改本地监控配置文件
配置文件路径如下:
在其中添加的内容如下:
define host {
use critical-host
host_name nagiosMaster
alias nagios master
address 192.168.1.50
event_handler handle-master-host-event
}
define service {
use critical-service
host_name nagiosMaster
service_description NAGIOS
check_command check_nrpe!check_nagios
event_handler handle-master-proc-event
}
4.5 修改模板文件
主要用来增加两个模板,路径如下:
在其中增加的内容如下:
define host{
name critical-host
use generic-host
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period workhours
notification_interval 120
notification_options d,u,r
contact_groups admins
register 0
}
define service{
name critical-service
active_checks_enabled 1
passive_checks_enabled 1 parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
is_volatile 0
check_period 24x7
max_check_attempts 1
normal_check_interval 1
retry_check_interval 1
contact_groups admins
notification_options w,u,c,r
notification_interval 60
notification_period 24x7
register 0
}
4.6 修改nagios核心文件
路径如下:
将其中的通知进行关闭:
3、 测试
5.1 关闭监控服务器查
在nagios主机上能收到通知邮件,如下:
在nagios备机上不会收到邮箱通知,如下:
5.2 nagios服务切换
关闭nagios主机nagios服务,此时nagios备机启用服务通知:
启动nagios主机nagios服务,此时nagios备机关闭服务通知:
此时nagios主机开始发送报警通知:
6、附录事件脚本的处理内容
nagios高可用性设置的更多相关文章
- 怎样利用Heartbeat与Floating IP在Ubuntu 14.04上创建高可用性设置
提供 ZStack社区 内容简单介绍 Heartbeat是一款开源程序,负责将集群基础设施容量--包括集群成员与消息收发--交付至客户server. Hearbeat在高可用性server基础设施其中 ...
- Nagios设置只监控不报警
设置全部监控项都开启邮件报警: vim /usr/local/nagios/etc/nagios.cfg 设置 enable_notifications=1 1为开启,0为关闭 如个别监 ...
- Nagios监控平台搭建
Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...
- Nagios 安装配置
##Debian 6 安装server # apt-get install nagios* 一路设置好各种密码,成功后访问 http://ip/nagios3 既可,默认用户*nagiosadmin* ...
- ubuntu下nagios配置
参考文献: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html http://my.oschina.net/duangr/blo ...
- Nagios监控lvs服务
1在lvs server上安装nrpe客户端: 1.1,rpm方式安装nrpe客户端 下载地址:http://download.csdn.net/detail/mchdba/7493875 [root ...
- Nagios安装部署
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; fon ...
- Nagios安装、配置、问题记录
http://youyizhimen.blog.163.com/blog/static/170917267201201745523276/ 本文描述了我在使用Nagios的过程中遇到的一些问题.解决办 ...
- Nagios监控
1.Nagios监控软件 Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警 ...
随机推荐
- github简单使用教程(转)
github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O ...
- 转载-使用 Feed4JUnit 进行数据与代码分离的 Java 单元测试
JUnit 是被广泛应用的 Java 单元测试框架,但是它没有很好的提供参数化测试的支持,很多测试人员不得不把测试数据写在程序里或者通过其它方法实现数据与代码的分离,在后续的修改和维护上有诸多限制和不 ...
- xcode解决问题dyld: Library not loaded
一.问题 编译通过,联机调试时,应用启动闪退,XCODE的Output出现提示: dyld: Library not loaded: /System/Library/Frameworks/AdSupp ...
- JavaScript —— 局部变量和全局变量
JS的全局变量有3种声明方式: 1.Function 外 var v_myVar; 2.Function 内 v_myVar; 3.window.v_myVar window.v_myVar 全局变量 ...
- django模型中的抽象类(abstract)
首先介绍下django的模型有哪些属性:先看例子: Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.以下对此作一总结: abstract 这个属性是定义当前的模 ...
- shell脚本实现 视频格式转换 ffmpeg 实现视频转换
#!/bin/bash original=$1 echo $original # check whether file is exist # if $original de chang du wei ...
- [HDOJ5521]Meeting(最短路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5521 给n个点,m个块.块内点到点之间话费的时间ti.两个人分别从点1和点n出发,问两人是否可以相遇, ...
- 总结Selenium自动化测试方法(五)自动化测试框架
五.自动化测试框架 1.单元测试框架unittest class loginTests(unittest.TestCase): ①开始的初始化部分 @classmethod def setUpClas ...
- Effective STL 中文版(大全)
Effective STL 中文版(大全) 作者:winter 候捷说,对于STL,程序员有三个境界,开始是使用STL,然后是理解STL,最后是补充STL.Effective STL是一本非常好的书, ...
- c#开源Excel操作库--NPOI
前言 以前也用C#操作过excel,用的是OleDb或者offic的com组件,但是总是非常的麻烦,依赖限制较多,所以果断寻找开源方案,JAVA上面已经有非常成熟的POI,就这样,找到了移.Net的移 ...