gpt4 book ai didi

monitoring - 实现类似指标聚合器的云监视以实时监控应用程序

转载 作者:行者123 更新时间:2023-12-04 01:48:58 25 4
gpt4 key购买 nike

我想设计像 amazon cloud watch 这样的东西来实时监控我拥有的应用程序,并在我自己的机器集群(而不是 AWS 集群)中运行。

基本要求:

  • 能够从应用程序发布时间和计数指标,并在类似于仪表板的 Kibana 中查看它们。
  • 无缝支持从使用 Python、Java 和 Node.js 编写的应用发布指标。

我认为可行的可能方法,但我需要以下方面的建议:

  • 我正在考虑编写一个将在我集群中的所有主机上运行的守护进程。
  • 应用程序将以该守护程序理解的格式将指标发布到文件系统。不确定如何为以不同语言编写的应用程序创建此契约(Contract)?
  • Daemon 将每 5 秒提取一次此信息并将其发布给 ELK。不确定守护进程将如何区分一个应用程序和另一个应用程序。我想我将不得不创建一些用于注册应用程序的指标注册服务。我不确定指标注册表会处理哪些所有方面的问题。

非常感谢您的指点。

最佳答案

满足您的基本要求。

  • 创建一个简单的 java(或您选择的语言)应用程序,它将数据发送到 Elasticsearch ,例如 ElasticSearchClientSender。检查Jest ,我们用它来向我们的 ES 发送数据。使用正确的别名设置您的 kibana。在您的情况下可能没有必要将其创建为模块,因为您只需创建一个片段并将其插入您希望将其数据发布到 ES 的应用程序。

如果您仍然需要其他 monitoring purposes 的 cloudwatch 指标, 或者你可以尝试以下选项

  • AWS Java SDK让你覆盖。 编辑 他们也有一个用于 python、nodejs 和其他的(我们主要使用 python)
  • 或者在我们的例子中,我们已经将每个模块设置为拥有自己的 Cloudwatch 日志组,因此我们的 Elasticsearch 发件人模块拥有自己的日志组。 Cloudwatch logs概述.当您为您的模块设置 Cloudwatch 日志组时,决定您想要用什么关键字来指示您想要在指标中显示的内容,并根据需要记录数据,请参阅这些 these samples

另一种方法

根据您列出的其他方法,也许值得一试寻找 AWS Lambda ,而不是创建一个使用代码片段发送数据的模块,在 lambda 中,您仍然会有一大块代码作为独立的应用程序,您将根据您的设置设置它的触发方式 cronjob style或一些带有 Cloudwatch Events 的 aws 服务

关于monitoring - 实现类似指标聚合器的云监视以实时监控应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51692707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com