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 / 问题 / 2353
Accepted
markdrayton
markdrayton
Asked: 2009-05-02 05:09:46 +0800 CST2009-05-02 05:09:46 +0800 CST 2009-05-02 05:09:46 +0800 CST

大规模的日志传输和聚合

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

您如何分析来自 UNIX/Linux 机器的日志文件?我们运行数百台服务器,它们都直接或通过 syslog 生成自己的日志文件。我正在寻找一个体面的解决方案来汇总这些并挑选出重要事件。这个问题分为 3 个部分:

1) 消息传输

经典的方法是使用 syslog 将消息记录到远程主机。这适用于登录到 syslog 的应用程序,但对写入本地文件的应用程序不太有用。对此的解决方案可能包括将应用程序记录到连接到程序的 FIFO 中,以使用 syslog 发送消息,或者通过编写一些东西来 grep 本地文件并将输出发送到中央 syslog 主机。但是,如果我们费心编写工具来将消息输入 syslog,我们是否会更好地用 Facebook 的Scribe之类的东西来代替整个工具,它比 syslog 提供更多的灵活性和可靠性?

2) 消息聚合

日志条目似乎属于以下两种类型之一:每个主机和每个服务。每主机消息是发生在一台机器上的消息;想想磁盘故障或可疑登录。每个服务消息出现在大多数或所有运行服务的主机上。例如,我们想知道 Apache 何时发现 SSI 错误,但我们不希望 100 台机器出现相同的错误。在所有情况下,我们只希望看到每种类型的消息中的一种:我们不希望有 10 条消息说同一个磁盘发生故障,并且我们不希望每次遇到损坏的 SSI 时都收到一条消息。

解决此问题的一种方法是在每个主机上将多个相同类型的消息聚合为一个,将消息发送到中央服务器,然后将相同类型的消息聚合为一个整体事件。SER可以做到这一点,但使用起来很尴尬。即使经过几天的摆弄,我也只有基本的聚合工作,并且不得不不断地查找 SER 用于关联事件的逻辑。它很强大但很棘手:我需要我的同事可以在最短的时间内拿起和使用的东西。SER 规则不满足该要求。

3) 生成警报

当有趣的事情发生时,我们如何告诉我们的管理员?邮寄群组收件箱?注入Nagios?

那么,你是如何解决这个问题的呢?我不指望一个盘子上的答案。我可以自己解决细节,但就什么肯定是常见问题进行一些高级讨论会很棒。目前,我们正在使用杂乱无章的 cron 作业、系统日志以及谁知道还有什么可以查找事件。这不是可扩展的、可维护的或灵活的,因此我们错过了很多我们不应该做的事情。

更新:我们已经在使用 Nagios 进行监控,这对于检测到的主机/测试服务/等非常有用,但对于抓取日志文件的用处不大。我知道 Nagios 有日志插件,但我对比每个主机警报更具可扩展性和层次性的东西感兴趣。

linux logging unix monitoring
  • 4 4 个回答
  • 3218 Views

4 个回答

  • Voted
  1. Best Answer
    Gary Richardson
    2009-05-02T10:25:43+08:002009-05-02T10:25:43+08:00

    我使用了三种不同的系统来集中日志:

    1. Syslog/syslog-ng 转发到一台主机
    2. Zenoss 用于聚合和警报事件
    3. Splunk用于日志聚合和搜索

    对于#3,我通常使用 syslog-ng 将来自每个主机的消息直接转发到 splunk。它也可以直接解析日志文件,但这可能有点麻烦。

    Splunk 非常适合搜索和分类您的日志。我没有使用 splunk 进行日志警报,但我认为这是可能的。

    • 5
  2. Guillaume
    2009-06-11T04:22:47+08:002009-06-11T04:22:47+08:00

    你可以看看 OSSEC,一个完整的开源 HIDS,它会进行日志分析并可以触发操作或发送警报邮件。警报由一组简单的基于 XML 的规则触发,包括许多针对各种日志格式的预定义规则,您可以添加自己的规则

    http://www.ossec.net/

    • 2
  3. sebthebert
    2009-05-06T15:01:41+08:002009-05-06T15:01:41+08:00

    看看八爪鱼。它是完全可定制的,似乎可以满足您的所有需求......

    PS:我是这个解决方案的开发者。

    • 1
  4. gimel
    2009-05-02T05:17:42+08:002009-05-02T05:17:42+08:00

    您需要查看监控系统,例如Zenoss Core。除其他外,它在介绍页面上说:

    Zenoss 事件监控和管理提供了从各种来源聚合日志和事件信息的能力,包括可用性监控、性能监控、系统日志源、SNMP 陷阱源、Windows 事件日志。

    查看what-tool-do-you-use-to-monitor-your-servers。

    • 0

相关问题

  • 更改 PHP 的默认配置设置?

  • 你用什么工具来监控你的服务器?

  • 我应该如何管理每用户带宽?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

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