Nagios是一款开源的计算机系统和网络监控工具,可以有效监控Windows、Linux和Unix的主机状态,交换机和路由器、打印机等网络设置等。接下来,本文将详细介绍Nagios的安装和使用教程,供您参考。
Nagios简介
Nagios是一款开源的计算机系统和网络监控工具,可以有效监控Windows、Linux和Unix的主机状态,交换机和路由器、打印机等网络设置等。系统或服务状态异常时,第一时间发送邮件或短信报警通知网站运维人员,状态恢复后发送正常邮件或短信通知。
Nagios原名NetSaint,由Ethan Galstad开发和维护。NAGIOS是一个缩写:“nAgiosain t gonna in siston saint”翻译为saint,而“AGIOS”是“saint”的希腊语表示。Nagios是为在Linux下使用而开发的,但它在Unix下也能很好地工作。
主要功能
服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)主机资源监控(CPU负载、磁盘使用、系统日志),包括Windows主机(使用NSClient插件),可以指定自己的插件通过网络收集数据来监控任何情况(温度、警告、).您可以通过配置Nagios远程执行插件来远程执行脚本。远程监控支持SSH或SSL plus通道。简单的插件设计允许用户轻松开发自己的检测服务。许多开发语言(shell脚本、C、Perl、ruby、Python、PHP、C#等。)支持大量图形数据。插件(Nagiosgraph,Nagiosgrapher,PNP4Nagios等。)可以查水货服务。它可以定义网络主机的层次结构,允许逐步检查。也就是从父主机往下查。当服务或主机出现问题时,您可以通过电子邮件、寻呼机、短信或任何用户定义的插件通知它。您可以自定义事件处理机制来重新激活有问题的服务或主机。自动日志循环支持冗余监控,包括Web界面,可以查看当前网络状态、通知、问题历史、日志文件等。
支持短信和电子邮件通知
纳吉奥斯http://www.nagios.org,官方网站
1. Nagios安装 - 服务端(192.168.0.11)
Centos6的默认yum源代码中没有nagios相关的rpm包,但是我们可以安装epel的扩展源代码:
复制代码如下:
yum安装-y epel-发布
然后安装nagios相关包。
复制代码如下:
yum install-y httpd Nagios Nagios-plugins Nagios-plugins-all nrpe Nagios-plugins-nrpe
设置登录nagios的用户名和密码后台:htpasswd-c/etc/Nagios/passwd Nagios admin。
复制代码如下:
Nagios -v /etc/nagios/nagios.cfg检测配置文件
服务启动:服务httpd启动;servicenagios启动
浏览器访问:3358 IP/Nagios
Vim /etc/nagios/nagios.cfg #暂时不去管它。
2. Nagios安装 - 客户端(192.168.0.12)
在客户端机器上
复制代码如下:
yum安装-y epel-发布
yum install-y Nagios-plugins Nagios-plugins-allnrpe Nagios-plugins-nrpe
Vim /etc/nagios/nrpe.cfg找到“allowed_hosts=127.0.0.1”并将其更改为“allowed _ hosts=127.0.0.1,192 . 168 . 0 . 11”#服务器的ip
找到了“dont _ blame _ nrpe=0”并将其更改为“dont _ blame _ nrpe=1”
启动客户端/etc/init.d/nrpe start。
3. 监控中心(192.168.0.11)添加被监控主机(192.168.0.12)
复制代码如下:
vim/etc/Nagios/conf . d/192 . 168 . 0 . 12 . CFG
定义主机{
使用linux-server
主机名192.168.0.12
别名0.12
地址192.168.0.12
}
定义服务{
使用通用服务
主机名192.168.0.12
服务_描述检查_ping
check_command检查_ping!100.0,20%!20.0,50% # 0可以,20是警告,50是危险。
Max_check_attempts5 #以秒为单位。
正常检查间隔1
}
定义服务{
使用通用服务
主机名192.168.0.12
服务_描述检查_ssh
检查命令检查ssh
最大检查尝试次数5;当nagios检测到问题时,它会在尝试五次后发出警报。如果该值为1,它将立即发出警报。
正常_检查_间隔1;重新检测时间间隔,单位为分钟,默认为3分钟。
通知_间隔60;服务异常且故障未解决后,nagios再次通知用户的时间。以分钟为单位。如果您认为所有事件只需要一个通知就足够了,您可以将此处的选项设置为0。
}
定义服务{
使用通用服务
主机名192.168.0.12
服务_描述检查_http
检查_命令检查_http
最大检查尝试次数5
正常检查间隔1
}
上述公共服务不依赖于客户端nrpe服务。我们可以想象,我们可以在自己的计算机上使用ping或telnet来检测是否有任何远程机器处于活动状态,或者是否打开了某个端口或服务。当我们想检测客户端上某个特定的特殊服务时,就需要nrpe的帮助,比如我们想知道客户端机器的责任或者磁盘使用情况。
4. 继续添加服务
添加:
复制代码如下:
定义命令{
Command_name check_nrpe #去对方获取服务状态,可以自定义。
命令行user 1 /check _ nrpe-Hhost address - carg 1
}
继续编辑
复制代码如下:
vim/etc/Nagios/conf . d/192 . 168 . 0 . 12 . CFG
添加以下内容:
复制代码如下:
定义服务{
使用通用服务
主机名192.168.0.12
服务_描述检查_加载
check_command check_nrpe!检查_加载
最大检查尝试次数5
正常检查间隔1
}
定义服务{
使用通用服务
主机名192.168.0.12
服务_描述检查_磁盘_hda1
check_command check_nrpe!check_hda1
最大检查尝试次数5
正常检查间隔1
}
定义服务{
使用通用服务
主机名192.168.0.12
服务_描述检查_磁盘_hda2
check_command check_nrpe!Check_hda2 #这个不要写错,是给客户端的。
最大检查尝试次数5
正常检查间隔1
}
说明:check_nrpe!Check_load:这里的check_nrpe只是在命令中定义的,cfg check_load是远程主机上的检测脚本。
在客户端的vim/etc/nagios/nrpe.cfg中搜索check_load。这一行是要在服务器上执行的脚本。我们可以手动执行这个脚本。
将check_hda1: /dev/hda1更改为/dev/sda1
再加一行命令[check _ hda 2]=/usr/lib/Nagios/plugins/check _ disk-w 20%-c 10%-p/dev/sda 2 # w=warning。
c=临界
临界不能大于警告值。
机制:首先在服务器端定义check_nrpe命令,然后传递命令后跟check_nrpe(在客户端的nrpe.cfg中)。
重新启动客户端上的nrpe服务:服务nrpe重新启动
还要重新启动nagios服务:service nagios restart
5. 配置告警
复制代码如下:
vim/etc/Nagios/objects/contacts . CFG//新增:
定义联系人{
联系人姓名
使用通用联系人
别名阿明
email @qq.com
}
定义联系人{
联系人姓名
使用通用联系人
别名aaa
电子邮件wsw@。com
}
定义联系人组{ #定义联系人组
联系人组名常用
别名公共
各位成员:
}
然后将contactgroup添加到需要提醒的服务中。
复制代码如下:
定义服务{
使用通用服务
主机名192.168.0.12
服务_描述检查_加载
check_command check_nrpe!检查_加载
最大检查尝试次数5
正常检查间隔1
Contact_groups common #监控发送的电子邮件。
通知_已启用1;是否开启提醒功能。
1打开,0关闭。通常,该选项将在主配置文件(nagios.cfg)中定义,具有相同的效果。
通知_周期24x7发送提醒的时间段。我把很重要的主机(服务)定义为724,一般的主机(服务)定义为工作时间。如果不在定义的时间段内,无论出现什么问题,都不会发送提醒。
notification_options:w,u,c,r;是此服务的状态。w减弱,U未知,c危急,r恢复。同样,主机也有相应的状态:d,u,r d=DOWN,u=UNREACHABLE,r=OK,需要添加到主机的定义配置中。
}
6. 配置图形显示 pnp4nagios
(1)安装
复制代码如下:
yum安装pnp4nagios rrdtool
(2)配置主配置文件。
复制代码如下:
Vim /etc/nagios/nagios.cfg //修改以下配置
流程_性能_数据=
主机性能数据命令=进程-主机-性能数据
服务性能数据命令=流程服务性能数据
启用_环境_宏=
(3)修改命令。稳频发电机(发生器)(constant frequency generator的缩写)
vim/etc/Nagios/对象/命令。CFG//注释掉原有对进程-主机-性能数据和流程-服务-性能数据,重新定义
复制代码代码如下:
定义命令{
命令名称流程服务性能数据
命令行/usr/bin/perl/usr/lib exec/pnpnagios/process _ perf data。pl
}
定义命令{
命令名称进程主机性能数据
命令行/usr/bin/perl/usr/lib exec/pnpnagios/process _ perf data。pl-d主机性能数据
}
(4)修改配置文件templates.cfg
复制代码代码如下:
vim/etc/Nagios/objects/templates。CFG定义主机{
名称主机-pnp
寄存器0
action _ URL/PNP 4 Nagios/index。PHP/graph?主机=$主机名$ srv=_主机_
流程性能数据一
}
定义服务{
名称srv-pnp
寄存器0
action _ URL/PNP 4 Nagios/index。PHP/graph?主机=$主机名$服务desc $
流程性能数据一
}
(5)修改宿主和服务配置
复制代码代码如下:
vim/etc/Nagios/conf。d/192。168 .0 .12 .稳频发电机(发生器)(constant frequency generator的缩写)
把"定义主机{
使用Linux-服务器"
改为:
复制代码代码如下:
定义主机{
使用Linux-服务器,主机-pnp
修改对应的服务,比如
把
复制代码代码如下:
定义服务{
使用通用服务
主机名192.168.0.12
服务_描述检查_磁盘_hda1
check_command check_nrpe!check_hda1
最大检查尝试次数5
正常检查间隔一
}
改为:
复制代码代码如下:
定义服务{
使用通用服务,srv-pnp
主机名192.168.0.12
服务_描述检查_磁盘_hda1
check_command check_nrpe!check_hda1
最大检查尝试次数5
正常检查间隔一
}
(6)重启和启动各个服务:
复制代码代码如下:
服务纳吉奥斯重启
服务超文本协议服务重新启动
服务npcd启动
(7) 访问测试
两种访问方法:
复制代码代码如下:
ip/nagios/
ip/pnp4nagios/
以上所述是小编给大家分享的纳吉奥斯的安装与使用详细教程,希望对大家有所帮助。