Nagios 图形解决方案与 Munin/Cacti/Ganglia

Nagios 图形解决方案与 Munin/Cacti/Ganglia

我有一个 nagios 服务器设置,用于监控大约 30 台 Windows 服务器。我想添加一些趋势图。我读到 nagios 图形插件简单的许多人使用单独的、独立的图表/趋势工具。

nagios 图形插件与 ganglia/munin/cacti 等独立产品相比有哪些限制?

我对独立软件包提供而 nagios 图形插件没有的特定功能和优势感兴趣。

答案1

假设您已经安装了 nagios,请考虑 nagiosgraph 或 pnp4nagios。

nagiosgraph 和 pnp4nagios 在绘制 nagios 性能数据方面做得相当不错。nagiosgraph 采用基于参数的配置方法,pnp4nagios 采用基于模板的方法。

  • 每当 nagios 配置发生变化时,都会自动检测新的主机/服务
  • 都进行图形缩放
  • 当你将鼠标悬停在特定主机/服务上时,都会提供图表
  • 两者都提供了多种方法来切分数据
  • 检测并绘制您在 nagios 中已定义的关键和警告级别
  • 两者都可以直接嵌入到 nagios 框架中,实现从当前状态到历史状态的无缝、整洁的导航,然后再返回

我认为,对数据进行切片和切块非常重要。例如,您可以查看单个主机上的所有服务,或查看具有特定服务的所有主机,或查看任意主机和服务的任意图表集合。

安装并不简单,但也不难。很大程度上取决于你想定制多少东西。例如,nagiosgraph 是“install.pl”或“rpm -i nagiosgraph.rpm”或“dpkg -i nagiosgraph.deb”。pnp4nagios 是“./configure; make; make install”。

n2rrd 也可以做其中一些事情,但它不够完善并且需要更多的工作来配置。

rrdtool 在数据存储方面有怪癖,并且任何系统都会有采样问题。rrdtool 默认会进行一些数据平滑,但必要时除了平均值之外,您还可以捕获(和绘制)最大值和/或最小值。

每种基于 rrdtool 的方法都会受到数据/图形陈旧的影响,因为每个 rrd 文件中的模式都是静态的,并且大多数系统使用 rrd 文件名来标识数据。当主机名或服务名称发生变化时,数据通常不会丢失;rrd 文件仍然存在于磁盘上。但有些用户界面提供了查看“陈旧”rrd 文件的方法,其他则需要通过命令行进行手动管理。在许多安装中,这只是最初配置系统时的问题,但在动态环境中(例如,监控生命周期只有几个月的虚拟机),它会变得繁琐乏味。

最后说明一下。趋势分析实际上分为两个部分:数据收集和数据显示。如果您使用独立的图形系统而不是扩展现有的 nagios 安装,那么您可能必须在 Windows 计算机上安装其他组件才能收集数据。

答案2

我同意 lynxman 的观点。NAGIOS 用于获取即时定性数据(X 是否正常?);munin 用于获取历史定量数据(X 现在有多满,今年有多满?)。我所有的 NAGIOS 安装(其中一些监控数百种服务)都链接到 munin 系统以进行定量监控。

还要注意,munin 有专门的钩子用于将数据输入 NAGIOS。它理解 WARNING 和 CRITICAL 阈值的概念,并且当需要通知(以及 NAGIOS“大板”上的视图)时,可以非常轻松地使用单个 munin 变量来通知单个 NAGIOS 服务的状态。

通常的工作流程是,没有人查看 munin 图表,直到 NAGIOS 警告阈值已被突破,但随后 munin 图表变得非常有价值,因为它可以找出某些东西是否随着时间的推移而缓慢增加,或者这是一个突如其来的增长,或者我们有一个每周的上下波动周期,其幅度正在缓慢增加,或者其他什么。

正如 lynxman 所说,UNIX 方式是“一个任务,一个工具”。制作一个由 munin 和 NAGIOS 组成的工具链对我来说非常有效,可以提供定量和定性的监控以及通知。它还具有保持界面整洁的明显优势:当您查看 NAGIOS 时,您会看到一个简单的视图,了解事情的运行情况现在,没有历史数据扰乱视图;当您查看 munin 时,您会看到与问题相关的历史信息,可供您进行分析,而不会出现“主机已关闭”或“sshd 无法与我通信”错误扰乱视图。

答案3

正如您所说,Nagios 图形插件受到很多限制,它们提供了非常基本的 rrdtool 界面,并且 UI 设计有点违反直觉,它基本上是对 nagios 的破解,尝试使用它只是为了好玩,但它毫无警告地崩溃了好几次。

选择独立产品(尤其是 munin 或 ganglia)可以为您提供 nagios 无法实现的大量服务,正如 unix 的口头禅,宁可擅长一件事,也不要擅长很多事,nagios 在监控方面非常出色,而 munin/ganglia/cacti 在绘图方面非常出色。

答案4

我要求准确的数据,但 rrd 的数据显示并不准确 - 它是标准化的!对于大多数用户来说,这没问题,因为他们一开始使用的数据就不是很准确。他们使用的数据的采样率通常为一分钟或更长,这不会给你一个非常准确的描述正在发生的事情。这也意味着如果你的数据在某个地方出现峰值,你可能永远看不到它。

考虑一下 - 假设您的 Gb 网络以大约 10MB/秒的速度运行,突然在几分钟内出现了 100MB/秒的峰值。还要注意,如果只有 30 秒的峰值,您可能甚至无法在几分钟的采样率下看到它。如果您查看当天的数据,该“峰值”可能仅显示为 15MB/秒,但实际值还取决于许多其他因素。还有一种可能性是,您会认为您的网络很顺畅,但事实并非如此!

对我来说更令人沮丧的是数据被标准化为图表的物理宽度和 x 轴的范围。这意味着我提到的那个尖峰你没看到吗?如果你放大它,它就会神奇地出现!我会坚持使用 gnuplot - 图表可能不那么漂亮,但它们非常可靠,并且 gnuplot 在显示数据之前从不修改数据。

-标记

相关内容