是否有一个应用程序可以将所有邮件处理步骤从连接到交付链接在一起,以实时显示整个过程和决策?
我知道可以使用 tail -f /var/log/mail.log,但是当出现大量连接和内部步骤(客户端授权、收件人授权、中继、退回等)时,此日志可能会变得非常耗时-消耗和容易遗漏步骤。
我想的东西有点像“顶部”,但对于电子邮件。
例如
然后可以在类似顶部的显示中显示:
CONNECT FROM TO POLICY DELIVERY RESULT
example.com [1.2.3.4] me@example.com you@example.com OK Maildir 2.5.0 OK
spam.com [1.2.4.5] bad@spam.com you@example.com SBL Fail Reject 5.7.1 Deny
1.2.4.6 NO_FQDN Reject 4.7.1 Retry
Run Code Online (Sandbox Code Playgroud)
(请原谅过于简单化)
此外,这可用于构建/存储有关邮件接受/拒绝的统计信息,进而可用于发现意外的错误配置。有没有人见过这样的事情?
我之前的工作(主要是 Nagios)对服务器监控产品有一点经验,但从来没有机会从头开始设置监控方案。每次都有许多需要监控的机器,运行 Nagios 守护程序(我认为这有一个奇特的名字,但此时我没有记忆),以及运行 Nagios 的专用机器。
现在我是个体经营者,大多数时候,我发现自己为我的客户(存储、邮件、WLAN 控制器等)设置了一个服务器。
是否有某种轻量级的监控解决方案可以在它应该监控的同一台机器上运行?我很清楚 Nagios(以及其他商业和开源监控应用程序)能够做到这一点,但我反对的理由是 - 一个 - 它是矫枉过正(更不用说滥用系统资源)和 - 二 -这样做的坏习惯。
请随时提出任何解决方案,当然,如果我对某些事情有错误,请教育我。请注意,我对可能需要我进行一定程度“黑客攻击”的想法持开放态度。我没有明确设置部署预构建的应用程序,任何解决方案都可以并且可以考虑。
编辑:对此有一个要求。我需要它能够以自定义方式响应事件(分配脚本作为对触发器的响应就可以)。
我刚刚安装了 sensu(使用 debian“omnibus”软件包),但找不到任何更改日志级别的方法。
有没有办法在客户端和服务器上做到这一点?
问题/TLDR;
是否有 Sensu 替代方案(即基于 RabbitMQ 的操作系统监控代理/服务器)在中央监控服务器上而不是在受监控的客户端服务器(如 Sensu 和 Nagios 所做的)上定义其警报阈值?
RabbitMQ 是必需的,所以恐怕没有 Zabbix 等。
背景:
我有一个大型环境(Windows 和 RHEL),我无法安装编排工具(Puppet 等),因此应将安装的服务数量保持在最低限度。
我正在研究是否可以开发一个单一的代理来收集系统信息、中继日志(到 Logstash)并报告资源消耗。它将所有这些值推送到 RabbitMQ,然后 Logstash 可以订阅日志,监控服务可以订阅资源指标(并从中创建警报),CMDB 系统可以订阅系统信息等。
但是,我只想接收有关资源消耗的信息并在监控服务器上创建警报,而不必更改每个服务器上的阈值来更改警报阈值。
我不可能是唯一一个找到这么有用的代理的人......
澄清:
如果Sensu 监控下的服务器磁盘不足,Sensu 代理会检查磁盘空间,将其与该服务器上定义的 CRITICAL 阈值进行比较,如果超过阈值,则通过 RabbitMQ 向中央监控服务器发送 CRITICAL 警报. 要在没有 Puppet 之类的情况下更改阈值,需要登录到服务器(对吗?)
我希望这样做的方式是,当监控代理检查其磁盘空间时,它只是通过 RabbitMQ 将可用磁盘量(或已用磁盘和总数等)发送到中央服务器,然后将该值与阈值进行比较在中央服务器上定义,并在必要时发送警报。
如果需要更改阈值,可以在中央服务器上更改它,或者可以比较来自多个服务器的多个值以创建警报。
这是我对 Sensu 的主要问题,尽管我理解与 Nagios 兼容的决定。
如果不需要中央服务器 -> 监控服务器流量,那也是可取的。我想可以在中央服务器将阈值发送给代理的地方进行混搭,然后代理将它们作为“本地”运行。环境网络使这变得异常棘手。
感谢任何人可能有的任何想法!
我有一台驻留在隔离网络上的 OpenVPN 服务器机器,公司防火墙中的 NAT 规则将端口 1194 (tcp) 上的所有流量从我选择的公共 IP 重定向到 OpenVPN 服务器机器的内部地址。我想创建一个 Nagios 检查来监控 OpenVPN 服务器的可用性。考虑到检查将从世界(Nagios 服务器)而不是从公司内部运行,监视它的最佳方法是什么?
我有三个 DNS 服务,每个服务都在 Nagios 中配置的不同主机上。每项服务在出现故障时都会通知我(主机 A 上的 DNS 故障)。
是否可以配置 Nagios,以便当所有三个 DNS 服务都通过寻呼机关闭(DNS 不工作)和邮件时我只收到(自定义)通知,以防只有一个服务关闭(主机 A 上的 DNS 关闭) )。
我看到如何实现这样的事情的唯一方法是使用服务依赖项,这些依赖项使用起来很麻烦。他们也没有自己的通知。
你会怎么做?
我一直在照看一些 Debian 机器,偶尔我会看到网络流量出现大幅飙升。我正在用石墨绘制指标(由每分钟收集每个接口指标的 sensu 检查提供),偶尔会看到这样的事情:

我不知道是什么导致了这种情况,因为在它进行时我从来没有设法抓住它。找出导致这种情况的原因会很好,那么尝试找出这可能是什么的最佳方法是什么?
我想我真正想要的是:如果发送/接收的数据量超过一定数量或速率,是否有办法审核网络连接(和进程 ID/名称)?
我目前正在尝试为主机组中的所有主机定义一组服务,这工作正常。
我的问题是,然后我希望能够从主机组覆盖这些已包含在主机中的服务定义。例如,对于某个特定 Linux 服务器需要将其 PING 检查阈值从默认值提高的情况。
例如,我想在linux-server主机组中有一个主机,它继承了几个服务(SSH、磁盘、PING 等),但是对于我想用自己的唯一值覆盖的特定服务,定义一个特定于该主机,具有自定义值。
例如。linux-server使用自定义PING服务定义定义主机:
define host {
use n1-host
host_name server-01
hostgroups linux-server
alias Test Linux Server
parents my-gateway,upstream-gateway
address server01.test.com
}
define service {
use generic-service
host_name server-01
service_description PING
check_command check_ping!100.0,5%!400.0,15%
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,现在,即使主机名和服务描述与组级别 PING 检查的匹配,也只列出了一项 PING 服务server-01,这是组级别 PING 检查,而不是主机级别。
它似乎确实在某种程度上进行了注册,就像在我的 Nagios 日志中我可以看到的那样:
7 月 16 日 19:12:27 localhost nagios:警告:在主机“server-01”上找到服务“PING”的重复定义
但最终,就像我检查服务检查结果的“性能数据”一样不起作用,我可以在那里看到数据中包含的阈值是组检查的阈值,而不是主机检查的阈值。
然而,我的理解是围绕版本3.2.0进行了更改,以允许主机级服务优先于主机组级服务。我目前正在运行3.4.1,所以我认为这应该有效。
一些让我相信这个功能应该已经实现的链接:
在 Nagios 3 中,我希望在关键 XX 分钟后升级服务。它适用于从 UP 到 CRITICAL 的服务。但是,如果服务已警告 > XX 分钟(例如磁盘空间缓慢增加)并且变得严重,则第一个故障将触发升级。它将警告计数到升级计数,因为我们希望它在 3 个 CRITICAL 警报后失败,而不是 3 个警告和 1 个严重警报。
是否有解决方案可以让我忽略计入服务检查升级的警告?
这是另一个遇到相同问题的用户的示例 - 并且配置非常相似。http://copilotco.com/mail-archives/nagios-users.2009/msg00310.html )
有没有实时查看Postfix的Mailqueue的命令。
我知道这些命令,postqueue -p并且mailq.
我正在寻找的是实时监控队列。类似于我使用tail -f.