科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道基于Linux系统的网络管理模块

基于Linux系统的网络管理模块

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

随着计算机网络的普及,网络管理已成为信息时代中最重要的问题之一。在现有的技术条件下,人们希望有一个更加稳定可靠的网络环境。计算机网络管理系统就是应这样的需求而产生的。

作者:网络世界 来源:网络世界 2008年8月22日

关键字: 网络管理软件 网络管理 Nagios

  • 评论
  • 分享微博
  • 分享邮件

  随着计算机网络的普及,网络管理已成为信息时代中最重要的问题之一。在现有的技术条件下,人们希望有一个更加稳定可靠的网络环境。计算机网络管理系统就是应这样的需求而产生的。它对网络上的各种设备进行管理,通过监视和控制这些设备,及时地向管理人员报告网络状态,并且简化网络故障的处理,减少故障造成的损失,提高网络的服务质量和效率。面对企业大大小小的服务器,单凭某个网管工具或某个人,已经不能胜任如此大的工作量同时也无法满足业务紧迫性的要求。各类企业之间以及企业内部的服务也越来越普遍,对于企业管理员的任务也是随之更加繁重。即使是一个小公司,在他们所使用的计算机系统中,也应该包含有不少数量的,运行着许多服务和软件包的硬件。大公司则更有成百上千的同类设施需要管理和运行。在管理员不可能及时去注意每一个服务和软件的情况下,为了对这些众多的服务和软件进行有效的管理。

  一般来说,是采取发生问题后进行解决的方法,即基于反应的解决方案。但是这种解决方案通常的效率都是非常低的,如果反应及时,只需少数的几分钟就可以解决问题,但如果发现问题晚了,就会浪费时间带来更多损失。比如,察看及时地话,通过日志就可以发现某个服务是否运行异常,然后解决掉,但如果是在此服务异常运行已经很严重时,要恢复它,不仅困难还会带来不小的损失。因此,一个完成此类检测功能的自动化工具对于网络管理员就显得非常重要。Nagios 是一个运行于 Linux 系统上的开源网络管理监测系统。它强大的功能可以实现对网络上的服务器进行全面的监控,包括服务(apache、mysql、ntp、ftp、disk、qmail 和 http 等等)的状态,服务器的状态。

  2.Nagios 系统

  2.1 Nagios 系统介绍

  Nagios是一个用来监视系统和网络的开源应用软件,它通常运行于一个主服务器上,

  这个服务器运行 Liunx 或 Unix 操作系统。Nagios 利用其众多的插件实现对本机和远端服务的监控,当被监控对象出现异常,Nagios 就会及时给管理人员告警。它是一个基于 TCP/IP

  协议的软件包,包含有nagios主程序和它的各个插件,配置非常灵活,可以监视的项目很多,也可以通过自定义 shell 脚本进行监控服务,非常适合各类企业的网络应用。

  2.2 Nagios 系统的主要特点

  Nagios 系统的特点主要有下面几点:

  1.监控主机资源和网络服务

  2.允许用户通过设计实现简单的插件来监控自己特定的服务

  3.当被监控对象出现问题时,会及时通知管理人员

  4.事先定义事件处理程序,当对象出现问题时自动调用对应的处理程序

  5.通过 web 页面来监视对象状态,警告提示和日志文件。

  如下图 1 为 Nagios 的结构图:

  

  图1 Nagios 系统的结构图(点击查看大图)

  可见,Nagios 采用分布--集中的管理模式。在 Nagios 服务器上安装 Nagios 主程序,

  在被监控主机上安装 Nagios 代理程序。通过 Nagios 主程序和 Nagios 代理程序之间的通讯,监视对象的状态。

  2.3在Linux上运行 Nagios 系统

  Nagios 系统是运行在 Linux 或者 Unix 操作系统之上的,安装前确认操作系统支持 TCP/IP协议并且有 C 语言编译器(如,gcc 等)。如果没有 web 服务器,例如 apache,预先安装之。在 Nagois 官方网站下载 Nagios 主程序、插件和安装文档,最新版本是 Nagios 3.0rc2。Nagios 是开源项目,它的安装也比较简单,按照文档一步步执行就可以顺利完成。

  如果 Nagios 安装在/usr/local 目录下,完成后执行如下命令:

  /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

  这个操作用来预先检查 nagios 配置的是否正确。如果没有错误,开始运行 Nagios。

  service nagios start (后面也可跟这些:restart, stop, reload.),也可以这样启动:

  /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

  Nagios 启动正常后,登录到 nagios CGIs

  打开浏览器,输入 http://主机 IP/nagios/如果配置正确将会进入到nagios的监视界面,然后可以查看没人情况下主机被监视的细节数据。如果出现提示“Internal Server Error”,这可能是本机上安装并正在运行Redhat Linux. 首先查看 Linux 是否处于 Enforcing 模式getenforce然后把 Linux 置为 permissive 模式setenforce 0重新打开浏览器就可以看到被 Nagios 监控的服务了。

  现在访问nagios的服务器web界面,界面如下图2。

  

  访问界面图2

   用户拥有对如下文件的所用权: chown nagios.nagios /usr/local/nagios

  chown –R nagios.nagios /usr/local/nagios/libexec

  然后如果没有安装 xinetd,则先安装 xinetd。

  2.按照 Nagios 文档安装好 nrpe 插件。

  3.修改文件/etc/xinetd.d/nrpe:

  only_from = 127.0.0.1 10.20.10.1(这个是 Nagios 主机的 IP)

  nrpe 允许以上 IP 的机器通过 nrpe 查询服务

  4.在/etc/service 文件里添加:

  nrpe 5666/tcp #nrpe

  然后 service xinetd restart

  5.执行:netstat –at | grep nrpe

  如果出现:tcp 0 0 *:nrpe *:* LISTEN 说明NRPE监听已经成功启动了

  6.执行 /usr/local/nagios/libexec/check_nrpe –H localhost

  出现 NRPE v 2.8.1 则安装成功。

  7.确认本地防火墙允许远端服务器访问 NRPE daemon:

  iptables -IRH-Firewall-1-INPUT -p tcp -m tcp –dport 5666 -j ACCEPT

  service iptables save

  8.打开/usr/local/nagios/etc/commands.cfg,找到 check_load 服务,修改如下:

  define command{

  command_name check_server_load

  command_line $USER1$/check_load -w 80% -c 95%

  }

  9.打开 /usr/local/nagios/etc/nrpe.cfg 可以看到里面已经默认定义了一些检测服务,如:

  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users /usr/local/nagios

  /libexec/check_nrpe -H localhost -c check_load /usr

  /local/nagios/libexec/check_nrpe -H localhost -c check_hda1

  注释掉除 check_load 外的其它服务定义。

  最后是 Nagios 主机上的修改:

  1在 Nagios 主机上安装 nrpe 插件。

  2打开/usr/local/nagios/etc/command.cfg添加如下行:

  define command{

  command_name check_nrpe

  command_line $USER1$/check_nrpe –H 10.20.0.110 -c $ARG1$

  3再在对象定义的配置文件里(host.cfg 文件),修改 host 为要检测的主机的 IP 地址,然后在服务中添加要检测的命令:

  define service{

  use linux-service

  service_description remote_CPU_Load

  check_command check_nrpe!check_load

  }

  4在 nagios.cfg 主配置文件中,cfg_file 值为 host.cfg,运行

  /usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg

  如果没有错就启动 nagios:

  service nagios start(restart,stop)

  5打开浏览器:http://主机 IP/nagios

  可以看到所监控的远端机器的这个信息了(check_server_load的返回结果),参看图2.正常状态用绿色表示,一旦远端服务器负载超过 80%,状态信息就会变成红色警告管理员。

  4. 对 Nagios 系统的评价和建议

  本文是对 Nagios 的远端监控功能的应用和研究,要想得到更加复杂的服务,还需要进一步的研究它的文档,并且不断的去尝试。和所有的网络管理工具一样,要想进行充分利用Nagios进行全面的监控服务,需要进行相当复杂的设置,并且需要在运行时进行调整,以确保所提供的信息是正确的,这些都会随着对 Nagios 的进一步了解而慢慢容易起来。虽然Nagios 配置复杂,但是一旦配置成功后它的操作很简单,大部分是基于 web 的操作,而且易于扩展,这是它的两大特点。它还可以很轻松的与其他的工具进行整合和扩展,可以从其他的应用软件中接收数据,或者向一些报告引擎或者工具中发送数据等,例如,它可以借助 mrtg 软件来义图表的形式显示监控的服务状态,限于篇幅在此就不细说了。Nagios 是一个非常强大的工具,在它运行后,它能够让你的 IT 工作变得更加容易。而相比商业版的类似软件,它也具有低成本的优势。自然,最好的特点是由于它是开放源代码的软件,因此我们随时可以从整个 Nagios 社区中获得帮助,能够共享社区中的各种插件和经验。最后对使用 Nagios 系统提出一点建议。在使用 Nagios 之前,开始考虑需要监控哪些服务和主机,对它们进行统一的规划,首先对重要资源服务进行管理,接着再去实现对其它服务进行管理;在配置完 Nagios 后,保存其配置文档,做好必要的注释,这将会使所监控管理的资源和所运行的插件更加清晰,也方便其他人以后能够在已有 Nagios 上继续工作。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章