我们目前使用 Nagios 来监控大约 20 台 Linux 机器(服务和功能链接)。我刚刚了解了Munin,不知道这是Nagios的替代品,还是可以与Nagios一起使用?我不想花几个小时来设置它,只是为了发现我已经拥有 Nagios 的所有功能。
如果使用过这两个程序的人可以对您的体验提供一些见解,我将特别感激。哪个更适合哪个任务,您推荐使用什么?
注意:我们也使用 Cacti 一段时间。Nagios 的主要问题是设置时间太长,而且不是很简单。
我们正在扩展我们的 Nagios 3 设置,并且经常遇到新的 NRPE 或通用 Nagios 插件来测试我们现有的基础架构。不过,这是点点滴滴 - 获得 Nagios 用户最看重的插件摘要会很有用。
请在每个帖子中列出一个插件,最好附上您喜欢它的原因的简短描述以及指向 MonitoringExchange 或插件开发人员站点的链接。这样人们就可以为已经列出的插件投票,我们可以按优先顺序查看它们。
出于同样的原因,最好不要列出其他人已经提到的插件。如果您要添加有关其他人列出的插件的更多信息,请对他们的回答发表评论。
谢谢!
我对 NRPE 有这个问题,到目前为止我在网上找到的所有东西似乎都指向我已经尝试过的东西。
# /usr/local/nagios/plugins/check_nrpe -H nrpeclient
Run Code Online (Sandbox Code Playgroud)
给
NRPE v2.12
Run Code Online (Sandbox Code Playgroud)
正如预期的那样。
手动运行命令(在“nrpeclient”上的 nrpe.cfg 中定义,给出预期的响应
nrpe.cfg:
command[check_openmanage]=/usr/lib/nagios/plugins/additional/check_openmanage -s -e -b ctrl_driver=0 bat_charge
"Expected response"
Run Code Online (Sandbox Code Playgroud)
但是如果我尝试从 Nagios 服务器运行命令,我会得到以下信息:
# /usr/local/nagios/plugins/check_nrpe -H comxps -c check_openmanage
NRPE: Unable to read output
Run Code Online (Sandbox Code Playgroud)
谁能想到我可能在这方面犯了错误的其他任何地方?我在多台其他服务器上做了同样的事情,没有问题。我能想到的唯一区别是这个盒子是基于 RHEL 5 的,而其他盒子是基于 RHEL 4 的。
上面我测试过的这两点是大多数人在遇到这个问题时的建议。
我应该提到,当我重新启动时,日志中出现了一个奇怪的错误nrpe:
nrpe[14534]: Unable to open config file '/usr/local/nagios/etc/nrpe.cfg' for reading
nrpe[14534]: Continuing with errors...
nrpe[14535]: Starting up daemon
nrpe[14535]: Warning: Daemon is configured to accept command arguments from clients!
nrpe[14535]: Listening for connections …Run Code Online (Sandbox Code Playgroud) 我对此感到困惑和争论了一段时间,所以是时候向社区提问了。Nagios的正确公认发音是什么,或者至少是最常见的发音? 该主题在项目的常见问题解答中得到解决,但发音的链接 .mp3 已经丢失了一段时间。
在 nagios 中定义和测试新服务时,我一直在重新启动 nagios,然后单击该服务,并尽快重新安排检查,然后等待检查发生。
有没有更有效的方法来做到这一点?我想使用命令行运行该特定检查并获取输出。
我在打开网络端口时遇到了奇怪的情况。我的主要问题是,为什么没有与开放 TCP 端口关联的程序:
netstat -ln --program
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN -
Run Code Online (Sandbox Code Playgroud)
对于我的特定情况,应该有一个 nrpe 守护程序(opsview 安装)侦听端口 5666,但没有运行 nrpe 守护程序。如果我尝试启动它,它会立即退出。
lsof -i :5666也不显示任何输出。我的系统上没有运行 (x)inetd。
更新
是的,我以 root 身份运行这些命令。Telnet 可以,但从来没有任何响应。
经过进一步调查,我发现了一个内核错误dmesg:这是一个运行较旧内核的 EC2 实例(实际上是其中几个)(2.6.16 显然不稳定)。停止崩溃的修复方法是升级内核。
看起来内核崩溃的方式导致进程消失并保持端口打开。
我最近发现了Shinken,它是 Nagios 使用 python 的新实现。Shinken 将 Nagios 分为 5 种不同类型的守护进程,每个守护进程执行不同的任务。我还没有尝试过,但就我所见,整个架构的想法对我来说似乎很棒(它以 Unix 方式工作:一个进程,一个任务),但该项目似乎有点“绿色”。
那么,有人试过神研吗?你怎么看?
我写了一个 nagios 脚本的一半,我对 SSH 感到烦恼。
根据手册页:
-q Quiet mode. Causes all warning and diagnostic messages to be
suppressed.
Run Code Online (Sandbox Code Playgroud)
然而,如果我启用了 quiet 标志然后传递了一个无效的端口,我仍然会收到一个错误:
$ ssh user@localhost -q -p test
Bad port 'test'
Run Code Online (Sandbox Code Playgroud)
这是一个问题,因为这将使该消息成为第一行,而这正是 Nagios 抓取的内容。!= 0从 ssh 获取退出代码后,我需要输出类似“警告|SSH 错误”的内容,但我可以输出的第一行将是第 2 行。
我怎样才能让 SSH 真正安静下来?
注意:我不确定是在 serverfault、超级用户还是 stackoverflow 上发布这个问题。我选择了 serverfault,因为用户群可能对 cli SSH 和 cli 脚本解决方法最有经验。
与 monit 相比,nagios 是否提供任何附加功能?
这个答案表明 monit 是一个笨拙的态势感知工具,这就是我提出这个问题的原因。