Smu*_*dge 9 monitoring performance nagios nrpe
我们使用 Nagios 来监控相当多(~130)台服务器。我们监控每台服务器上的 CPU、磁盘、RAM 和其他一些东西。我一直使用 SSH 来运行远程命令,纯粹是因为它在远程服务器上几乎不需要额外的配置,只需安装 nagios-plugins,创建 nagios 用户并添加 SSH 密钥,所有这些我都自动化了一个 shell 脚本。我从未真正考虑过在 NRPE 上使用 SSH 对性能的影响。
我不太担心 Nagios 服务器上的负载(它的功能可能超出了规格,CPU 从未超过 10%),但我们每 30 秒运行一次远程检查,每个服务器有 5 个不同的检查执行。我认为 SSH 每次检查都需要更多资源,但有很大的不同吗?(即足以保证切换到 NRPE 的差异)。
如果有帮助,我们会监控物理服务器(通常具有 8、12 或 16 个物理核心)和 Amazon EC2 中/大型实例的组合。
小智 6
NRPE 是一个 nagios 插件,它很容易安装,它会管理探针配置文件中的检查请求。nrpe 只有一件坏事,你需要在每台你想监控的服务器上安装它,在 linux 操作系统上它真的很简单,只需 yum/apt-get install nrpe,但在 Windows 服务器上你需要通过 .exe 安装它,有时您需要重新启动服务器。
我认为 SSH 不是使用 nagios 的最优化方式。NRPE 可能更有效。
这里在 nagios 文档中有这句话:
“使用 SSH 比 NRPE 插件更安全,但它也会对监控和远程机器施加更大的 (CPU) 开销。当您开始监控数百或数千台机器时,这可能会成为一个问题。许多 Nagios 管理员选择使用使用 NRPE 插件是因为它施加的负载较低。”
至于我,我使用的是snmp协议,使用简单,不需要在服务器上安装任何第三方。
我一直相信 SSH 的管理优势(我使用push_check)胜过任何额外的负载。现代 CPU 速度如此之快,以至于加密少量字节的成本非常低,因此归结为运行两个进程(SSH 和检查脚本)与一个(由 NRPE 触发的检查脚本)。
对于用解释语言编写的检查脚本,我预计启动解释器(Perl、Python、Bash)的开销会超过启动 SSH 会话的 CPU 成本。鉴于现代 CPU,您的机器更有可能受到磁盘或内存限制而不是 CPU 限制。
如果您的 Nagios 机器能够应对——它必须每秒建立 20 个 SSH 连接——我会在方便方面犯错。
不是你问题的真正答案,更多的是认为生命太短暂而不必担心:)
归档时间: |
|
查看次数: |
12467 次 |
最近记录: |