【问题标题】:Monitoring Yarn/Cloudera application logs in production在生产环境中监控 Yarn/Cloudera 应用程序日志
【发布时间】:2020-10-14 06:15:17
【问题描述】:

我不是在谈论 Cloudera 或 Yarn 系统级日志。我说的是在 Cloudera/Yarn 基础架构上运行的应用程序。

我们的 Cloudera Infra 上运行着数十个 Java 和 Python 应用程序,所有这些应用程序都会生成应用程序日志。我正在寻找监视这些日志以查找任何错误和警告的最佳方法。如果它是一个纯粹的独立 Java 应用程序,传统上我们可以使用这些日志抓取工具之一,它基于表达式匹配发送电子邮件(以检测错误/警告/任何其他特殊情况)。我正在寻找类似的东西,它可以监控我们的应用程序日志并实时向我们发送电子邮件,以获得更好的生产应用程序支持。 如果像传统的应用程序日志监控一样考虑这不是正确的方法,那么我很高兴知道是否有更好的行业标准方法。谢谢!

【问题讨论】:

    标签: hadoop-yarn cloudera production


    【解决方案1】:

    我猜 ElasticStack (https://www.elastic.co/de/) 可能是解决这个问题的一种方法。您可以使用 FileBeats 将您的应用程序日志发送到 Logstash,后者将其转发到 ElasticSearch。然后,您可以在 Kibana 中创建一个 Watcher,它根据某些触发条件发送即电子邮件(我们使用 webhook 将通知发送到 MS Teams 频道)。

    此解决方案至少应该可以近乎实时地工作(延迟约 1-2 分钟,但这也取决于您的观察者配置)。

    【讨论】:

    • 我们混合了基于 Python/Java/Shell 脚本的作业。ES 是否适用于所有这些作业?我以为它只适用于 Java Stack?
    • ES 独立于编程语言。它只是一个专为日志数据设计的存储和分析引擎。可以使用 Logstash 或 Beats 将数据摄取到 ES 中。哪一个合适取决于您的架构。根据您所写的内容,我猜您正在运行多个不同的应用程序来生成日志文件。在这种情况下,我认为Filebeats 将提供一种将数据发送到 ES 的微创方式。您还可以在 docker 容器中运行所有这些组件。
    猜你喜欢
    • 2010-10-03
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 2012-03-05
    • 2015-03-03
    • 2015-10-31
    • 2013-03-06
    相关资源
    最近更新 更多