我的团队正在尝试解决备份方面的监控难题。
备份运行良好。我们当前的挑战是监控这些备份,以便它们实际上做发生。
我们可以在失败和成功的情况下发送邮件。我们现在要检查这些邮件,
- 如果邮件报告失败则发出警报
- 如果一天内没有收到成功邮件则发出警报(需要配置)
这样,我们就可以知道备份是否失败,或者邮件是否根本无法发送。这就是为什么我们还要发送成功邮件,以证明邮件确实已发送。
我想象这个想法有点像正在实际检查的心跳,而不是被动地等待失败。
哪种工具可以帮助我们?
我怀疑这种工具允许我们输入需要发生的期望,例如最后一天应该收到一封邮件,无论是成功还是失败。
如果该工具可以直接进入磁盘并检查备份文件是否存在,那就更好了,但我们希望支持邮件案例以及目前其他系统以这种方式报告。
答案1
这个问题很像一个购物问题,但我还是会回答。
我经常使用 NAGIOS 来做这种事情(因为我本来就经常使用 NAGIOS,所以将所有状态和通知放在同一个地方是很好的)。我有代理在使用中报告send_nsca
,并且服务配置为如果在 36 小时内没有收到更新,则进入 STALE 状态并发出警报。
检测到故障的服务可以使用 进行报告send_nsca
;那些确信自己已成功的服务可以报告 。如果服务故障严重到什么都没报告,则上面的新鲜度测试会发现这些服务。
答案2
这听起来有点奇怪;
因此,您会收到一封电子邮件,告知您备份是否成功。现在您想检查是否收到电子邮件,并在备份失败或备份成功但邮件未送达时收到警报。
在我看来,你应该放弃电子邮件部分,直接使用监控解决方案。你可以编写脚本,我以前见过很多次。但是,你如何让它通过电子邮件提醒你?你已经有一个可以做到这一点的监控解决方案了!
这里的问题似乎是您需要监控电子邮件是否发送成功,因此您需要将监控系统附加到您的监控系统中。如果电子邮件不可靠,则首先不要通过电子邮件报告备份是否成功。
在不知道您支持什么或如何支持的情况下,很难对建议发表评论,但在我看来,您在这里把情况的顺序/逻辑都搞混了。
答案3
同意最好的解决方案是每次都能信任并只在需要修复时提醒您。成功提醒会导致系统管理员电子邮件超载,并且随着系统和系统管理员的增多,这种做法是不可持续的。
如果该工具可以直接进入磁盘并检查备份文件是否存在,那就更好了
是的,你已经知道正确的解决方案了。通常都是这样做的。
至于您的电子邮件问题,也许您可以深入了解那里发生的情况并单独修复它们,这样您就不会尝试使用备份监控系统修复损坏的电子邮件。
答案4
Nagios 新鲜度检查。
http://nagios.sourceforge.net/docs/3_0/freshness.html
可能需要新鲜度检查的服务示例可能是报告夜间备份作业状态的服务。也许您有一个外部脚本,在备份完成后将备份作业的结果提交给 Nagios。在这种情况下,服务的所有检查/结果均由使用被动检查的外部应用程序提供。为了确保每天报告备份作业的状态,您可能需要为该服务启用新鲜度检查。如果外部脚本未提交备份作业的结果,您可以让 Nagios 通过执行类似以下操作来伪造关键结果...
该服务的定义可能如下所示(省略了一些必需的选项)...
define service{
host_name backup-server
service_description ArcServe Backup Job
active_checks_enabled 0 ; active checks are NOT enabled
passive_checks_enabled 1 ; passive checks are enabled (this is how results are reported)
check_freshness 1
freshness_threshold 93600 ; 26 hour threshold, since backups may not always finish at the same time
check_command no-backup-report ; this command is run only if the service results are "stale"
...other options...
}
请注意,该服务的主动检查已禁用。这是因为服务的结果仅由使用被动检查的外部应用程序生成。启用了新鲜度检查,新鲜度阈值已设置为 26 小时。这比 24 小时稍长一些,因为备份作业有时每天都会延迟(取决于要备份的数据量、存在的网络流量等)。仅当确定服务结果已过时时,才会执行 no-backup-report 命令。no-backup-report 命令的定义可能如下所示...