1 概述
Nagios是一个开源的网络监控系统,用于监控计算机系统、网络基础设施和应用程序的状态。它可以帮助管理员实时监测和诊断网络中的故障和问题。
Nagios具有以下主要特点和功能:监控服务和主机:Nagios可以监控各种服务(如HTTP、SMTP、DNS等)和主机(包括服务器、路由器等),通过定期检查来确认它们是否正常运行。强大的报警系统:当被监控的项目出现问题时,Nagios会发送报警通知给管理员,可以通过电子邮件、短信、手机应用等多种方式进行报警。灵活的配置和扩展性:Nagios的配置文件使用简单的文本格式,可以通过配置文件自定义监控对象、报警规则、时间计划等。此外,Nagios还支持插件机制,可以方便地添加自定义监控脚本和功能。历史数据记录和报告:Nagios会记录监控结果和状态变化,并生成图表和报告,供管理员分析和审查系统的性能和稳定性。分布式监控能力:Nagios支持分布式架构,可以将监控任务分布到多个Nagios服务器上,以实现更大规模和高可用性的监控。www.nagios.com
浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接https://www.ieisystem.com/kos/product-kos-xq.thtml?id=12126。
2 安装环境
2.1 操作系统环境
版本信息:KeyarchOS 5.8sp1
硬件平台:X86_64
2.2 工具版本
Kos 5.8sp1 192.168.122.30 做服务端(监控端)
Kos 5.8sp1 192.168.122.33 做客户端(被监控端)
3 安装与配置
3.1 资源安装-服务端
Kos 5.8默认的yum源中没有nagios相关的rpm包,但我们可以安装一个epel的拓展源
yum install –y epel-release
安装nagios相关的依赖
3.2 登录nagios-服务端
1、用户配置
设置登录nagios后台的用户和密码:
httpasswd –c /etc/nagios/passwd nagios123
ngios –v /etc/ngios/ngios.cfg //检查配置文件是否有错误
启动服务:
systemctl httpd start
检测PHP是否正常使用
elinks 192.168.109.140 --dump >> php_out.txt
echo $?
less php_out.txt
显示出PHP的相关信息,即说明PHP正常
systemctl start nagios
浏览器访问:http://192.168.122.30/nagios/
弹出认证对话框,需要输入nagios123及密码,登录nagios界面
3.3 资源安装-客户端
安装epel扩展源:yum install epel-resease
安装依赖:yum install –y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe
编辑配置文件:vim /etc/nagios/nrpe.cfg
启动客户端:systemctl start nrpe
3.4 nagios配置-服务端
配置文件说明
nagios.cfg:Nagios 主配置文件
resource.cfg:变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$,好吧,其实就就是全局变量
cgi.cfg:控制CGI访问的配置文件,如何新加了cgi配置文件,需要在这里增加
objects:objects 是一个目录,在此目录下有很多配置文件模板,用于定义Nagios 对象
objects/commands.cfg:命令定义配置文件,其中定义的命令可以被其他配置文件引用
objects/contacts.cfg:定义联系人和联系人组的配置文件
objects/localhost.cfg:定义监控本地主机的配置文件
objects/printer.cfg:定义监控打印机的一个配置文件模板,默认没有启用此文件
objects/switch.cfg:定义监控路由器的一个配置文件模板,默认没有启用此文件
objects/templates.cfg:定义主机和服务的一个模板配置文件,可以在其他配置文件中引用
objects/timeperiods.cfg:定义Nagios 监控时间段的配置文件
objects/windows.cfg监控Windows 主机的一个配置文件模板,默认没有启用此文件
定义监控命令:
vim /etc/nagios/objects/commands.cfg
增加:
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
新增host监控配置,增加被监控主机:
cd /etc/Nagios/conf.d/
vim 192.168.122.33.cfg
监控主机配置
define host {
use linux-server
host_name 138
alias 122.33
address 192.168.122.33
check_interval 3
max_check_attempts 3
check_period 24x7
notification_interval 10
notification_period 24x7
contact_groups admins
}
define service{
use generic-service
host_name 192.168.122.33
service_description check_ftp
check_command check_ftp
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.122.33
service_description check_http
check_command check_http
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.122.33
service_description check_ping
check_command check_ping!100.0,20%!200.0,50%
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.122.33
service_description check_ssh
check_command check_ssh
max_check_attempts 5
normal_check_interval 1
notification_interval 60
}
define service{
use generic-service
host_name 192.168.122.33
service_description check_load
check_command check_nrpe!check_load
max_check_attempts 5
normal_check_interval 1
}
重启nagios
systemctl restart nagios