nagios监控系统手册详细操作.docx
《nagios监控系统手册详细操作.docx》由会员分享,可在线阅读,更多相关《nagios监控系统手册详细操作.docx(21页珍藏版)》请在冰豆网上搜索。
![nagios监控系统手册详细操作.docx](https://file1.bdocx.com/fileroot1/2022-10/29/b30b1e3e-4443-4d43-bdf9-048cf972e981/b30b1e3e-4443-4d43-bdf9-048cf972e9811.gif)
nagios监控系统手册详细操作
nagios网络监控
Nagios是什么:
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。
在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
nagios是功能强大的监控软件,主要用来监控网络设备的状态(比如:
主机的资源状态);适合于:
对大量的服务器进行监控,判断其负载或服务是否正常,发生异常能通过邮件、短信报警。
特别注意:
流量监控不是他的强项,流量监控建议使用cacti.可以绘制非常直观的图形
nagios能监视什么:
nagios可以监控:
1、主机是否宕机(通过ping命令,如果ping不通会认为主机属于宕机状态,但不影响所监控的其他服务);2、服务器资源(cpu使用率、硬盘剩余空间等);3、网络服务(smtp\pop3\http\);4、监控网络设备(路由器、交换机等。
)
一、RHEL系统上部署Nagios:
(禁用selinux功能)
系统环境:
RHEL,在nagios主机上监控mysql服务器
nagios主机:
192.168.10.100
mysql主机:
192.168.10.101
操作步骤:
1、安装编译所需的软件包:
如下图所示:
#yum–yinstallhttpdphp-*gd-*mysql-devel
(若mysql-devel包不安装,会没有check_mysql插件。
)
2、创建运行nagios服务的用户
注:
useraddnagios#创建运行nagios服务的用户
usermod-Gnagiosapache#使apache用户对nagios目录具有写权限,不然web页面操作失败.
3、nagios软件安装
释放nagios源码包,进行编译前的预备置:
编译并安装nagios及相关操作,如下图所示:
注:
makeinstall//安装主程序,CGI和HTML文件
makeinstall-init//在/etc/rc.d/init.d安装启动脚本
makeinstall-commandmode//配置目录权限
makeinstall-config//安装示例配置文件
makeinstall-webconf//安装nagios的web接口,会在/etc/httpd/conf.d目录中创建nagios.conf文件。
注:
若在RHEL6X32位系统中安装nagios-cn-3.2.3.tar.bz2要先执行makeclean操作,然后再执行./configure和makeall等操作,否则执行makeall时会报如下错误。
验证安装是否成功:
验证程序是否被正确安装,我们切换目录到安装路径(默认安装目录是/usr/local/nagios),看是否存在etc、bin、sbin、share、var、这五个目录,如果存在说明程序被正确安装到系统了
下面我们对这五个目录功能做简要说明:
bin:
nagios执行程序所在的目录,nagios文件即为主程序。
etc:
nagios配置文件目录,当makeinstall-config完以后etc下面就会出现默认的配置文件。
sbin:
nagiosCGI文件所在目录,这里存放的是一些外部命令执行程序。
share:
nagios网页文件目录,存放一些html文件。
var:
nagios日志文件、pid等文件目录。
4、安装nagios-plugins插件:
nagios-plugins是nagios官方提供的一套插件程序,nagios监控主机的功能其实都是通过执行插件程序来实现的。
释放nagios-plugins源码包并进行编译前的预备置
编译并安装nagios-plugins插件:
这个装完之后会在/usr/local/nagios/libexec文件夹中多出一些文件,这里存放nagios所要用到的所有插件.
安装后所有插件命令将被安装到/usr/local/nagios/libexec目录下
到此nagios就安装完毕,但还需修改nagios的配文件
预备知识:
联系人contact:
出了问题向谁报告?
一般当然是系统管理员了
监控时间段timeperiod:
7X24小时不间断还是周一至周五,或是自定义的其他时间段
被监控主机Host:
所需要监控的服务器,当然可以是监控机自己
监控命令command:
nagios发出的哪个指令来执行某个监控,这也是自己定义的
被监控的服务Service:
例如主机是否存活,80端口是否开,磁盘使用情况或者自定义的服务等
注意:
多个被监控主机可以定义为一个主机组,多个联系人可以被定义为一个联系人组
5、修改配置文件:
修改nagios的主配置文件nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg#新建hosts.cfg文件,存放主机与主机组定义
cfg_file=/usr/local/nagios/etc/objects/services.cfg#新建services.cfg文件,存放服务与服务组定义
#cfg_file=/usr/local/nagios/etc/objects/localhost.cgf#加“#”注释localhost.cfg
修改后结果如下图所示:
将localhost.cfg文件注释掉,添加有关hosts.cfg和services.cfg文件定义。
注:
在/usr/local/nagios/etc/objects目录下存放一些以.cfg为后缀的文件
timeperiods.cfg//监控时间段配置文件
commands.cfg//命令配置文件
contacts.cfg//联系人配置文件
下面列出contacts.cfg中重要的几个选项做说明:
service_notification_period24x7
服务出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的.
host_notification_period24x7
主机出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的
service_notification_optionsw,u,c,r
当服务出现w-报警(warning),u-未知(unkown),c-严重(critical),或者r-从异常情况恢复正常,在这四种情况下通知联系人
host_notification_optionsd,u,r
当主机出现d-当机(down),u-返回不可达(unreachable),r-从异常情况恢复正常,在这3种情况下通知联系人
service_notification_commandsnotify-service-by-email
服务出问题通知采用的命令notify-service-by-email,这个命令是在commands.cfg中定义的,作用是给联系人发邮件,还可以飞信发手机短信给联系人,但需要安装飞信程序。
.host_notification_commandsnotify-host-by-email
同上,主机出问题时采用的也是发邮件和飞信的方式通知联系人。
emailyahoon@
很明显,联系的人email地址
Pager137XXXXXXXX
联系人接收报警信息电话
可以将多个联系人组成一个联系人组
definecontactgroup{
contactgroup_nameadmins//联系人组的名称,同样不能空格
aliasNagiosAdministrators//别名
membersnagioscontact
//组的成员,来自于上面定义的联系人,如果有多个联系人则以逗号相隔
templates.cfg//模板配置文件
其他配置文件以实际情况来进行配置
发现在/usr/local/nagios/etc/objects目录中并不存在hosts.cfg和services.cfg文件,这两个文件需要手工创建。
6、创建hosts.cfg文件:
#vi/usr/local/nagios/etc/objects/hosts.cfg
内容如下:
注:
definehost{
uselinux-server//定义使用的模板
host_namenagios//被监控主机的名称,最好别带空格
aliasnagios//别名
address127.0.0.1//被监控主机的IP地址
check_commandcheck-host-alive
//监控的命令check-host-alive,这个命令来自commands.cfg,用来监控主机是否存活
max_check_attempts5//检查失败后重试的次数
check_period24x7//检查的时间段24x7,同样来自timeperiods.cfg中定义
notification_interval10//提醒的间隔,每隔10分钟提醒一次
notification_period24x7//提醒的周期,24x7,同样来自timeperiods.cfg中定义
contact_groupsadmins//联系人组,上面在contactgroups.cfg中定义的admins
notification_optionsd,u,r//指定什么情况下提醒
}
主机组并不是必须的,这是配合nagios的监控页面的显示
通过简单的复制修改就可以定义多个主机了.后面我们会加上被监控主机mysql
7、创建services.cfg文件:
(这里只是简单介绍,也可在services.cfg文件中添加hosts.cfg文件中的参数)
#vi/usr/local/nagios/etc/objects/services.cfg
内容如下:
check_local_users!
20!
50//监测远程主机当前的登录用户数量,如果大于20用户则报warning,如果大于50则报critical
check_local_disk!
20%!
10%!
///如果可用空间低于20%会报Warning,如果可用空间低于10%则报Critical:
check_local_procs!
250!
400!
RSZDT//监测远程主机当前的进程总数,如果大于250进程则报warning,如果大于400进程则报critical,S(休眠)、R(运行)、Z(僵死)、D (不可中断)、T (停止)
check_load-w5,4,3-c10,6,4这个命令的意义如下
当1分钟多于5个进程等待,5分钟多于4个,15分钟多于3个则为warning状态
当1分钟多于10个进程等待,5分钟多于6个,15分钟多于4个则为critical状态
Check_local_swap!
20%!
10%//如果交换空间低于20%会报Warning,如果可用空间低于10%则报Critical
服务组并不是必须的,这是配合nagios的监控页面的显示
校验nagios配置文件的正确性:
/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
若显示如下图所示则表示没有错误