AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 38089
Accepted
TomOnTime
TomOnTime
Asked: 2009-07-09 19:47:17 +0800 CST2009-07-09 19:47:17 +0800 CST 2009-07-09 19:47:17 +0800 CST

可扩展到 1,000 台主机和 100,000 个变量的监控系统

  • 772
锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

假设我想监控 1,000 台主机。对于每台主机,我要监控 100 个或更多变量:ping、磁盘 IO/延迟、RAM 空闲/交换/等,等等。每 5-10 分钟 100,000 个数据点,存储 5 年。

什么系统规模这么大?

如果我有 10 倍的主机数量怎么办?那你会选择什么?

monitoring
  • 7 7 个回答
  • 2208 Views

7 个回答

  • Voted
  1. Best Answer
    Christopher Cashell
    2009-07-09T21:06:44+08:002009-07-09T21:06:44+08:00

    在我们真正给您建议之前,您还需要回答几个问题。首先,您想将原始数据存储 5 年吗?还是汇总数据足够好?这比您想象的更重要,仅此功能就可能决定您的选择。

    当您谈论 5 年的时间跨度时,您几乎总是在谈论将汇总的趋势信息,并且随着时间的推移您会失去精确度。如果您不汇总数据,那么您将处理大量数据,并且很少有系统(软件和硬件)能够处理它。

    幸运的是,这就是为什么RRDtool并发明了循环数据库(RRD)。如果你不认识它,没关系。您可能不知道它的名称,但如果您正在查看开源工具,您将看到几乎所有构建在它之上的东西。几乎所有随时间推移趋势数据并为您提供漂亮图表的开源程序都可能在后台使用 RRDtool。RRDtool 创建固定大小的数据库,这些数据库会自动汇总数据并将固定精度存储到指定的限制。例如,您可以让它以 5 分钟的精度存储 30 天的数据、以 30 分钟的精度存储 90 天的数据、以 1 小时的精度存储 180 天的数据、以 1 天的精度存储 365 天的数据、3 年的1 周精度的数据和 1 个月精度的 10 年数据。这一切都是可配置的,每当您添加新数据点时,

    现在,一旦您确定了您的数据保留要求是什么,您就需要弄清楚您计划如何监控系统。如果有各种各样的设备,特别是如果有很多网络设备,则 SNMP 是标准。此外,还有很多设备无法通过 SNMP 以外的任何设备进行监控,因此至少某种程度的 SNMP 支持很重要(例如 UPS、发电机、打印机等)。如果您有很多服务器,您可能希望使用基于代理的系统,在该系统中,您在每个要监控的设备上安装一个监控代理。这通常会为您提供更详细的信息,但会显着增加所需的管理开销。

    接下来,您需要知道您的预计增长超出了“什么处理 X 和什么处理 10 倍 X”。即使在列出的 1k 主机上,1k 也是与 10k 主机截然不同的野兽。很多系统会处理 1k,但是当你接近 10k 时,很多时候你需要一个分布式系统来分担负载。此外,您提到要监控的每个系统有 100 个变量。. . 您确定吗?支持监控这么多变量的监控系统并不多。这是从每个设备中提取的大量信息。

    最后,当您开始接近大规模时,您需要考虑的不仅仅是监控系统。以 5 分钟的分辨率从 1k(或 10k)个设备中拉回 100 个可变数据位将需要相当大的带宽。为此做好准备,否则您可能会发现您的监控系统正在对您的网络产生负面影响。如果您的系统分布在多个站点并且您正在跨越 WAN 链接,这一点尤其重要。

    有一些开源系统声称在这种大型网络监控规模中具有竞争力,但并不多。 Nagios已经存在了很长时间,并且以监控 1k+ 系统而闻名。 Zenoss提供开源核心产品和商业支持产品,并试图挑战一些“大人物”。 Zabbix是完全开源的,公司为其提供支持。

    但是,对于拥有数千个需要监控的设备/系统的大公司而言,最大的参与者是 CA 的 Spectrum/eHealth/Unicenter、IBM 的 Tivoli 套件、HP 的 OpenView。这些中的每一个都可以处理巨大的规模,但也带有巨大的价格标签。

    注意:我的日常工作是网络监控工具的实施和维护,我们监控超过 5k 的网络设备和 8k 的服务器。很难找到在这些规模上运行良好的工具。

    • 15
  2. 3dinfluence
    2009-07-09T19:50:25+08:002009-07-09T19:50:25+08:00

    Nagios 似乎这是对这类问题的默认答案,但也有一些这种规模的安装使用它。

    除了可以很好地扩展之外,它还灵活且易于定制。

    • 3
  3. KPWINC
    2009-07-09T19:59:19+08:002009-07-09T19:59:19+08:00

    我会说 Nagios 或 Zenoss:

    纳吉奥斯 http://www.nagios.org

    泽诺斯 http://www.zenoss.com

    如果配置正确,任何一个都应该能够满足您的要求。

    • 1
  4. jldugger
    2009-07-09T21:16:36+08:002009-07-09T21:16:36+08:00

    在工作中,我们为此使用Opsview。它建立在 Nagios 之上,并处理记录数据等。监控请求由监控节点集群处理,并向主节点报告。如果您有多个数据中心,这会很方便,但我们主要将其用于冗余和负载平衡。我以为它使用了 RRDtool,但它似乎使用了 MySQL。

    但是,您的要求有点荒谬。首先,5 年的数据可能会超过给定单个主机的生命周期。其次,您没有提到任何有关查询该数据的内容。您是否只需要汇总数字来估计供应?主机故障时是否丢弃数据?您甚至想深入了解特定主机吗?将所有样品存储五年将是一件难以处理的事情,更不用说存储了。

    接下来,假设您实际上将 100 个样本放入 800 个字节中,那么您存储的数据量约为每台主机每年 80 MB。(RRD 每个样本需要大约 8 个字节)。整个系统每年将消耗 80 GB,并且查询起来很痛苦。10 倍,你需要谷歌的帮助。如果你做了一些愚蠢的事情,比如记录 的结果ps,那你就有祸了。

    说真的,汤姆,请告诉我们这次谷歌发明了什么,或者让你该死的公司在 MapReduce 和 BigTable 上编写你需要的东西。在 Google 的规模上,认真地重新设计 RRD 等格式以更好地适应数据中的冗余可能是最好的计划。

    • 1
  5. Aleksandar Ivanisevic
    2009-07-10T07:02:12+08:002009-07-10T07:02:12+08:00

    查看这个 slashdot 线程以获得大量建议;)

    http://ask.slashdot.org/story/09/07/08/210241/What-Would-You-Want-In-a-Large-Scale-Monitoring-System

    • 1
  6. Jindrich
    2009-07-09T20:11:19+08:002009-07-09T20:11:19+08:00

    我们使用Zabbix监控 150 台主机和 10 台服务器。

    它应该可以满足您的需求。

    扎比克斯

    • 0
  7. John Gardeniers
    2009-07-09T20:19:52+08:002009-07-09T20:19:52+08:00

    我也建议使用 Nagios,但我真的不确定它是否会存储 5 年的数据,因为我从来没有在一台机器上运行过这么长时间。除此之外,我认为没有理由不使用它。

    • 0

相关问题

  • 如何监控系统在哪里写/读磁盘?[关闭]

  • 如何监控 SAN 服务器(通过 iSCSI)?

  • 共享点管理?

  • 安全地授予对 SQL 2005 复制监视器的访问权限以创建快照

  • SNMP HOSTMIB.MIB 未加载?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve