监控备份等以及从该数据中获取趋势统计的最佳工具

监控备份等以及从该数据中获取趋势统计的最佳工具

我对 nagios、opennms 和 zenoss 做了一些研究,但不确定我是否找到了我想要的东西。

对我来说,目前的主要驱动力是能够监控备份。这包括 mysql、mssql 以及最终的一些文件系统备份。

我们有一个工具可以包装这些不同系统的备份过程并收集统计数据。因此,以下项目如下:

  • 备份数据库的数量
  • 数据库备份文件的大小
  • 压缩后的数据库备份文件大小
  • 备份时间
  • 压缩文件的时间

我希望能够 A) 如果作业没有按照计划运行,则收到通知 B) 能够设置触发通知的统计数据阈值 C) 我希望能够对统计数据进行趋势分析和图表绘制

我计划通过 HTTP POST 将此信息发送到监控应用程序。或者,监控应用程序也可以从日志文件中提取它。

然而,我们还会有其他需要监控和趋势分析的具有其他“任意”静态(从监控系统的角度来看)的流程,因此灵活性非常重要。

该工具还应该能够对网络接口、服务器负载等进行一般监控和趋势分析。一旦我们完成备份监控,我们也会希望包括这些项目。

谢谢。

跟进

我决定按照给定的顺序尝试以下操作:

  • Zabbix:与其他产品相比,它更像是一个“一站式商店”,并且易于在 Ubuntu Lucid RC 中安装
  • 操作视图
  • Nagios 与 nagvis、pnp4nagios、nagiosgraph
  • 带 NPC 插件的 Cacti
  • Munin:有点害怕这种简单性,但从长远来看,这可能是一种福音

一旦我做出决定就会回复,但可能还需要一段时间。

答案1

我强烈建议您使用现有工具,而不是编写自己的监控解决方案,因为所有基本监控和警报功能都已实现。如果您选择 Nagios,您将免费获得对服务器和网络资源的基本监控,以下插件应该可以满足您的大部分需求:

检查文件目录会告诉您备份文件是否存在;这是博客文章我写了一些基本的例子。

检查文件可以监视文件大小和内容(使用正则表达式),因此您可以将备份统计信息输出到文件并监视它们。

Nagios 不提供趋势和图表功能,我建议你看看穆宁因为它设置简单,并且像 Nagios 一样,拥有大量贡献的插件。

答案2

使用 zabbix 进行设置应该相当容易。

设置自定义(非常强大)的阈值很容易 - 您可以编写任何您喜欢的表达式,因此可以实现“如果这 5 台服务器中有超过 3 台没有成功备份,则通知我”。您还可以使用 6 种不同的严重性级别和升级来实现灵活的通知和警报。

zabbix 具有捆绑的数据存储和可视化功能 - 所有数据都存储在数据库中,并且要绘制单个指标的图表,您不需要任何配置 - 您只需“免费”获得一个图表即可。对于长期存储和趋势,将计算一小时的平均值。

至于将有关备份的数据传输到 zabbix,有多种可能性。您可以从文件中读取它,可以启动自定义命令,可以使用命令行实用程序 zabbix_sender 从受监控的机器推送它......并且可能还有其他几种可能的方法。

扩展很容易——任何返回数据的自定义命令都可以用来收集、存储和可视化该数据。

当然,对操作系统,应用程序,snmp和ipmi设备等的一般监控是可以的。

答案3

执行

备份由备份忍者. 我使用它只是我的 bash 脚本的包装器 - 以便拥有单个备份日志。每个脚本都以

 function handle {
         echo Error
         error problem occured
 }
 set -e
 trap handle ERR

因此,每当任何命令[例如 mysqldump 或 rsync] 失败时,我都会在日志中收到错误。

所有备份最终都会差分存储库,所以我有 n 天的增量。

所有备份都使用 rsync 传输到中央存储服务器。

在存储服务器上,所有备份都会每天进行验证,在成功验证本地磁盘上的数据后,它们会被复制到外部 USB 驱动器。

确认

所有服务器上的 backupninja.log 都由 nagios 监控。我检查它们是否仅包含 DEBUG 和 INFO 消息。其他任何事情都会触发警报。

每次备份都会“接触”一个测试文件,该文件的存在和新鲜度由 nagios 在中央备份存储库服务器上进行监控。

此外,更关键的 sql 转储会检查其大小(而不仅仅是新鲜度)和完整性(例如,在 mysql 转储结束时,我期望新鲜的时间戳

-- 转储于 2010-04-22 23:21:02 完成

在数据同步到 USB 驱动器之前以及同步之后,所有的 rdiff 档案都会每天进行验证。因此,即使夜间传输中断,我也会在 USB 磁盘上拥有一致的存储库。检查结果记录到文件中,该文件的内容和新鲜度由 nagios 检查。

为了以防万一,USB 磁盘每周轮换一次并离线存储。对于大量数据来说,这可能有点过度,但对于~300GB 缓慢变化的文件/转储来说,效果很好。

趋势

我使用简单的自定义穆宁插件用于绘制每个 rdiff 存储库的 diff/data 大小。

可以在 backupninja 日志中检查执行所需的时间,但目前我并不关心它。

答案4

我建议开放网络管理系统。该软件包完全开源,积极支持并定期增强。作为参考,我在他们的 wiki 上找到了配置信息监控 Symantec Backup Exec

来自他们的网站..

OpenNMS 是全球第一个在开源模式下开发的企业级网络管理平台,由社区支持的开源项目以及商业服务、培训和支持组织组成。

披露:我在这里没有商业利益,但OpenNMS 集团,上文提到的“商业服务、培训与支持组织”是我的一个朋友。

相关内容