elasticsearch - 与简单的 python 日志记录 + 现有数据库日志表组合相比,使用 ELK 进行日志管理有什么优势?

标签 elasticsearch logging logstash elastic-stack

假设我在 Jenkins 等自动化服务器上​​运行了许多 Python 进程,假设我想使用 Python 的 native 日志记录模块,并且除了写入 Jenkins 控制台或日志文件之外,我还想在某处存储和集中日志。

我曾想过为此使用 ELK,但后来我意识到我也可以在现有数据库中创建一个专用的日志表(我正在使用 Redshift),使用 Grafana 之类的东西进行日志仪表板/可视化,并省去自己的麻烦部署一个新系统(我团队中的大多数人都熟悉 Redshift,但不熟悉 ElasticSearch)。

虽然这听起来很简单,但我觉得我并没有看到大局,我会错过一些强大的功能,比如 Logstash 等组件一开始就是为这些功能编写的。这些功能是什么?使用 ELK 代替我的解决方案有什么好处?

谢谢!

最佳答案

在过去的一年里,我在我的公司实现了一个完整的 ELK 堆栈。

该项目规模庞大,需要大量时间才能正确实现。使用 ELK 而不是实现我们自己的集中式日志记录解决方案的优点是:

  • 不需要重新发明轮子——已经有一种产品正在这样做。 (而且安装部分非常简单)
  • 它经过实战考验,可以在短时间内承受大量原木。
  • 随着您的业务和产品的增长和转变,您将需要解析更多具有不同结构的日志,这意味着数据库会在自建系统上发生变化。 logstash 将为您提供过滤和解析这些新格式化日志的无限可能性。
  • 它具有集群和 HA 功能,您可以垂直和水平扩展您的日志系统。
  • 随着时间的推移,非常容易维护和更改。
  • 它可以将所需的输出发送到各种产品,包括 Zabbix、Grafana、elasticsearch 等等。
  • Kibana 将使您能够查看日志、构建图表和仪表板、警报等...

  • ELK 的选择真的无穷无尽,我使用它的次数越多,我就越能找到它可以帮助我的新方法。不仅可以查看分布式远程服务器系统上的日志,还可以查看安全警报和 SLA 图以及许多其他见解。

    关于elasticsearch - 与简单的 python 日志记录 + 现有数据库日志表组合相比,使用 ELK 进行日志管理有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62061423/

    相关文章:

    elasticsearch - 为什么Elasticsearch无法支持min_doc_count和按_count asc排序?

    elasticsearch - elasticsearch获取索引到不同的服务器上

    Elasticsearch建议+同义词+模糊性

    java - 为什么不受信任的代码无法更改 Java Logging 下的日志级别?

    angularjs - 是否可以根据 Kibana 中的计数进行过滤?

    elasticsearch - 相当于ElasticSearch的INSERT IGNORE

    mysql - 确定什么是向 mysql 表中插入空白行?

    c++ - 带有文件名、行和时间戳的记录器

    elasticsearch - Logstash和Filebeat设置event.dataset值

    elasticsearch - 使用带文件拍的logstash时出现权限错误