使用Nagios对IT环境的持续监控

使用Nagios对IT环境的持续监控

浏览次数:
信息来源: 用户投稿
更新日期: 2026-04-27
文章简介

Nagios是许多DevOps团队用来确保对系统、设备、应用程序和服务进行全面有效跟踪的流行监控工具。该工具确实有一个陡峭的学习曲线,因此如果没有经验或好的教程,设置和开始使用Nagios可能会很棘手

2025阿里云双十一服务器活动

Nagios是许多DevOps团队用来确保对系统、设备、应用程序和服务进行全面有效跟踪的流行监控工具。该工具确实有一个陡峭的学习曲线,因此如果没有经验或好的教程,设置和开始使用Nagios可能会很棘手。本文概述了Nagios的功能,并为该工具的新手提供了一个理想的起点。继续阅读以了解Nagios的基本功能、优势和架构,并了解公司如何使用该工具来确保对IT环境的持续监控。

持续监控是不断检测、报告和响应IT系统内的风险和事件的过程。这个过程是至关重要的DevOps安全实践,并且有多个目标:

  • 提供对系统性能的实时洞察。
  • 就IT基础架构的整体健康和安全提供反馈。
  • 增强IT运营和DevOps管道的可见性。
  • 在问题导致停机或数据泄露之前确定事件的原因并采取缓解措施。
  • 持续跟踪的需求来自手动监控的问题,因为传统跟踪太容易出现:

  • 减慢CI/CD管道中的部署。
  • 导致生产中的性能问题。
  • 冗长且具有挑战性的根本原因分析。
  • 快速检测、报告和响应威胁的能力对于公司的整体网络安全至关重要。持续监控也是SecOps团队中的一种标准做法,因为整个环境的可靠、实时洞察力可以改进:

    其他流行的持续监控术语是ConMon和持续控制监控(CCM)。

    持续监控是现代网络安全的一个重要方面。完善的ConMon解决方案允许安全团队:

  • 快速检测系统问题(网络错误、内存不足、端口故障、系统崩溃、服务器无法访问等)。
  • 在问题影响用户或业务生产力之前解决问题。
  • 识别基础架构中的安全和合规风险。
  • 通过及时的警报系统和自动事件响应降低网络攻击的风险。
  • 准确识别问题的根本原因。
  • 保持高水平的系统正常运行时间和可用性。
  • 使用精确的历史分析来规划基础设施升级。
  • 跟踪应用更新后的用户体验和行为(对多个团队至关重要的能力,包括开发、质量保证和客户服务)。
  • Nagios是一个用于监控系统、网络和IT基础设施的开源应用程序。该工具允许用户跟踪以下状态和性能:

  • 硬件(路由器、交换机、防火墙、专用服务器、工作站、打印机等)。
  • 操作系统(Windows、Linux、Unix和OSX)。
  • Nagios定期检查关键阈值和指标,以监控系统更改和潜在问题。如果软件遇到问题,该工具会通知管理员,还可以运行自动脚本来控制和纠正这种情况。

  • 内存和磁盘使用情况。
  • 正在运行的进程数。
  • URL和内容监控指标。
  • 服务和网络协议(SMTP、POP3、HTTP等)。
  • NagiosCore:该软件的免费版本,允许用户跟踪所有重要指标。
  • NagiosXI:?Core的付费扩展版本,提供用于监控的高级组件和工具。
  • 由于该解决方案的可扩展性、效率和灵活性,该软件是DevOps圈子中常用的首选工具。

    与所有强大的ConMon工具一样,Nagios无需手动监控。与识别和修复基础设施错误相比,团队可以专注于更有影响力的任务。Nagios还对所有环境、设备和系统的监控进行标准化和集中化。

    DevOps和SecOps团队经常将Nagios视为首选持续监控工具的其他原因是:

  • 甚至Nagios的免费版本也允许用户监控所有关键任务组件和指标。
  • 该工具的高可扩展性使团队能够跟踪数千台设备和100,000多个节点环境。
  • 该软件可以快速检测所有类型的网络/服务器问题并有效地找出根本原因。
  • Nagios擅长监控数据库服务器(SQLServer、Oracle、MySQL、Postgres等)。
  • 以下是使用Nagios进行持续监控的主要好处:

  • 更好的系统可用性和性能。
  • 该工具无需定期测试。
  • 快速检测中断、网站篡改和劫持企图。
  • 容量规划有助于规划未来的IT升级。
  • 由于该工具是开源的,因此熟练的团队可以调整软件以适应业务需求。
  • Nagios有一个大型活跃社区的支持,该社区不断开发新的附加组件。
  • Nagios插件可免费下载和开发,提供了高度的灵活性。
  • 该解决方案的警报和响应系统确保了高水平的安全性。
  • 以下是Nagios监控工具的主要功能:

  • 允许团队为周界和指标设置自定义阈值。如果系统超过设定的限制,Nagios可以通过SMS、电子邮件或语音呼叫发送警报。
  • 支持基于代理和无代理的配置。NagiosRemotePluginExecutor(NRPE)代理允许您运行远程脚本和插件。
  • 具有多租户功能的高度可定制的UI,允许您为每个用户分配自定义可见性。
  • 多个API支持与内部和第三方应用程序的简单集成。
  • 如果系统遇到严重问题,配置快照存档使您能够恢复到以前的工作设置。
  • 分步监控向导可帮助您快速轻松地设置工具。
  • 历史性能和容量规划有助于在关键系统过载之前预测未来使用情况并规划IT升级。
  • 强大的日志管理系统。
  • 并行处理可确保快速检测中断和硬件问题。
  • 允许您跨多个位置设置对机器的监控。然后所有设备将输出发送到中央Nagios服务器。
  • 使用拓扑来确定依赖关系。
  • 允许用户使用父主机定义网络层次结构。
  • Nagios在主机服务器上运行(通常作为守护程序),并且该工具的操作依赖于服务器代理架构。在需要监控的网元上设置代理,代理与Nagios服务器通信。该工具通过代理检索指标,并根据事件和设置阈值做出决策。

    Nagios与系统通信的另一种方式是通过本机协议,例如SNMP或WMI。根据设置,代理和基于协议的监控都可以是:

  • 活动:服务器向交换机或服务器等元素伸出援手,并询问它们的状态。
  • 被动:受监控的系统会定期或在发生事件时向服务器发送信息。
  • Nagios架构具有三个主要组件:

  • 插件:在Nagios服务器上运行并与需要监控的本地和远程主机通信的可配置插件。
  • 进程调度器:调度器定期检查插件并根据结果执行操作(例如提醒员工或启动自动脚本来解决问题)。
  • 图形用户界面(GUI):这是Nagios系统的用户界面,用户通过该界面与工具交互并查看监控数据。
  • 虽然您可以使用基于Web的GUI与该工具进行交互,但团队也可以在命令行界面(CLI)中工作。

    插件是独立的附加组件和扩展,允许用户:

  • 定义受监控系统的目标和参数。
  • 使用Nagios对IT环境的持续监控

    插件要么是编译的二进制文件(用C、C++等编写),要么是用户从命令行运行的可执行脚本(Shell、Perl、PHP等)。插件在Nagios服务器上运行,使用户能够通过代理或本地协议监控远程和本地主机。Nagios使用插件生成的结果来确定:

  • 如果事件需要立即发出警报或GUI上的简单日志。
  • 是否运行自动脚本来解决问题。
  • 官方插件:?Nagios开发和维护了大约50个官方插件。
  • 社区插件:社区成员开发了超过3,000个可用的第三方插件。
  • 自定义插件:如果您的团队具备合适的技能,该工具的开源特性允许您创建自定义插件。
  • 所有插件都遵循状态码。下表解释了默认退出代码状态及其描述:

    退出代码

    状态

    描述

    0

    好的

    系统工作正常

    1

    警告

    系统继续运行,但需要注意

    2

    危急

    系统无法正常工作

    3

    未知

    插件无法评估主机或服务的状态

    图形用户界面(GUI)提供了Nagios中进行的所有进程的概览。NagiosXIGUI提供最关键的监控数据的查看,并有六个子菜单:

  • 快速查看:包含不同Dashlet的可自定义界面,用户可以根据自己的需要添加、删除和操作。快速视图是您可以找到战术概览的地方,它是您当前监控的所有主机和服务的总体摘要。
  • 详细信息:此菜单显示所有主机和服务的详细摘要。详细信息选项卡显示为每个主机运行的所有统计信息、命令和服务。
  • 图表:此菜单显示了每个主机的所有受监控服务的一系列可扩展性能图表。
  • Maps:所有主机和父子关系的图形状态图。您可以将地图视为气球或树状图(或为其他一些地图选项安装自定义插件)。
  • 事件管理:此菜单汇总了服务和主机的所有当前通知和警报。
  • 监控过程:此菜单显示有关工具内部操作的数据。
  • 视图:快速访问每个用户独有的一组视图。对于希望在网络运营中心(NOC)的墙上监视器上显示数据的网络管理员很有用。
  • 仪表板:可定制的仪表板,显示特定于各个Nagios用户的重要相关数据。
  • 报告:此菜单提供了一种为主机和服务生成统计数据和图形报告的简便方法。
  • 配置:配置菜单允许您在监控向导的帮助下设置新的监控进程。
  • 工具:您可以使用Web浏览器从Nagios快速访问的实用程序。
  • 帮助:直接访问Nagios支持资源和团队。
  • 下面的分步指南显示了如何在Ubuntu20.04上安装NagiosCore。

    1.您应该首先在网上查看最新的可用软件包:

    2.接下来,将系统包升级到最新版本:

    更新系统后,您需要安装运行Core所需的包。在命令行中输入以下代码:

    下载Nagios核心。为此,请浏览到官方Git存储库并选择最新版本。或者,您可以从官方网站下载该工具。在撰写本文时,Nagios的最新版本是4.4.6,因此我们使用以下命令来提取工具:

    此命令会下载一个名为nagios-4.4.6的目录并将其添加到您当前的工作目录中。

    我们现在需要通过从源代码编译来安装Core。

    3.运行命令以编译CGI旁边的程序:

    4.接下来,我们需要创建组用户:

    5.现在在您的Ubuntu系统上安装NagiosCore:

    6.如您所见,屏幕上出现了一些附加说明。运行以下命令将脚本安装在/lib/systemd/system路径中:

    7.接下来,安装目录并配置权限:

    8.在/usr/local/nagios/etc/中安装示例配置文件:

    第5步:设置Apache和NagiosUI

    1.您需要启用NagiosWeb界面所需的Apache模块,因此运行以下命令:

    2.为经典的Nagios监控主题键入以下命令:

    第6步:创建第一个Nagios用户

    我们现在需要创建一个可以登录Nagios的用户。以下命令创建一个名为nagadmin的用户:

    您需要为用户提供密码并确认(默认情况下,密码存储在/usr/local/nagios/etc/htpasswd.users中)。

    查看官方存储库中最新可用的插件(在撰写本文时,最新发布的版本是2.3.3)。

    1.要下载插件,请键入以下命令:

    2.此命令在您当前的工作目录中创建一个新目录(?nagios-plugins-2.3.3)。要安装插件,您首先需要导航到新目录:

    4.要确保所有配置都井然有序,请运行以下命令:

    第8步:启动Nagios守护进程

    1.最后一步是启动Nagios服务,我们通过以下命令实现:

    2.要确保该工具正在运行,请使用以下命令:

    3.您现在可以通过打开浏览器并导航到http://server-IP/nagios?URL来访问该工具。

    4.出现提示后,输入第6步中定义的凭据以登录,您就可以开始监控了。

    Nagios虽然功能丰富,但并不是一个完美的工具。以下是使用Nagios的主要缺点:

  • 该界面可以用大量数据压倒初学者。
  • 虽然NagiosCore是免费的,但许多功能(例如向导、深度图表和交互式仪表板)只有在您购买NagiosXI时才能使用。
  • 某些配置文件可能难以配置。
  • 该解决方案无法监控网络吞吐量。
  • 该工具将每个设备(服务器、路由器、交换机等)视为主机。
  • 该工具需要大量定制和调整以使其适用于特定环境。
  • 出色的监控能力,即使是免费版的工具

    对于任何寻求可靠系统监控的企业来说,Nagios都是一个不错的选择。如果您的团队以前从未使用过该工具,请考虑免费设置NagiosCore并直接测试该工具的功能。使用Core几周后,您将知道团队是否需要XI。无论哪种方式,您的IT监控都会得到巨大的改进。

    标签:
    为什么您应该使用专业的数据中心清洁服务(企业为什么要用数据中心)
    « 上一篇
    返回列表
    下一篇 »

    如本文对您有帮助,就请抽根烟吧!