与简单的 python 日志记录 + 现有数据库日志 table 组合相比,使用 ELK 进行日志管理有什么优势?
What would be the advantages of using ELK for log management over a simple python logging + existing database log table combo?
假设我在 Jenkins 等自动化服务器上有许多 Python 进程 运行,假设我想使用 Python 的本地日志记录模块,而不是写入Jenkins 控制台或日志文件,我想将日志存储并集中在某个地方。
我想为此使用 ELK,但后来我意识到我也可以在现有数据库中创建专用日志 table(我正在使用 Redshift),使用类似 Grafana 的日志dashboards/visualization 并省去了部署新系统的麻烦(我团队中的大多数人都熟悉 Redshift 但不熟悉 ElasticSearch)。
虽然这听起来很简单,但我觉得我没有着眼于大局,而且我会错过一些强大的功能,而 Logstash 等组件最初是为它们编写的。这些功能是什么?使用 ELK 而不是我的解决方案有何优势?
谢谢!
在过去的一年里,我在公司实施了完整的 ELK 堆栈。
该项目规模庞大,需要花费大量时间才能正确实施。使用 ELK 而不是实施我们自己的集中式日志记录解决方案的优点是:
- 不需要重新发明轮子 - 已经有一款产品可以做到这一点。 (安装部分非常简单)
- 它经过实战测试,可以在短时间内承受大量日志。
- 随着您的业务和产品的增长和转变,您将需要解析更多具有不同结构的日志,这将意味着自建系统上的数据库发生变化。 logstash 将为您提供无限的过滤和解析这些新格式日志的可能性。
- 它具有集群和 HA 功能,您可以垂直和水平扩展您的日志系统。
- 随着时间的推移非常容易维护和更改。
- 它可以将所需的输出发送到各种产品,包括 Zabbix、Grafana、elasticsearch 等等。
- Kibana 将使您能够查看日志、构建图表和仪表板、警报等...
ELK 的选项真的是无穷无尽的,我使用它的次数越多,我就越能找到它可以帮助我的新方法。不仅仅是查看分布式远程服务器系统上的日志,还有安全警报和 SLA 图表以及许多其他见解。
假设我在 Jenkins 等自动化服务器上有许多 Python 进程 运行,假设我想使用 Python 的本地日志记录模块,而不是写入Jenkins 控制台或日志文件,我想将日志存储并集中在某个地方。
我想为此使用 ELK,但后来我意识到我也可以在现有数据库中创建专用日志 table(我正在使用 Redshift),使用类似 Grafana 的日志dashboards/visualization 并省去了部署新系统的麻烦(我团队中的大多数人都熟悉 Redshift 但不熟悉 ElasticSearch)。
虽然这听起来很简单,但我觉得我没有着眼于大局,而且我会错过一些强大的功能,而 Logstash 等组件最初是为它们编写的。这些功能是什么?使用 ELK 而不是我的解决方案有何优势?
谢谢!
在过去的一年里,我在公司实施了完整的 ELK 堆栈。
该项目规模庞大,需要花费大量时间才能正确实施。使用 ELK 而不是实施我们自己的集中式日志记录解决方案的优点是:
- 不需要重新发明轮子 - 已经有一款产品可以做到这一点。 (安装部分非常简单)
- 它经过实战测试,可以在短时间内承受大量日志。
- 随着您的业务和产品的增长和转变,您将需要解析更多具有不同结构的日志,这将意味着自建系统上的数据库发生变化。 logstash 将为您提供无限的过滤和解析这些新格式日志的可能性。
- 它具有集群和 HA 功能,您可以垂直和水平扩展您的日志系统。
- 随着时间的推移非常容易维护和更改。
- 它可以将所需的输出发送到各种产品,包括 Zabbix、Grafana、elasticsearch 等等。
- Kibana 将使您能够查看日志、构建图表和仪表板、警报等...
ELK 的选项真的是无穷无尽的,我使用它的次数越多,我就越能找到它可以帮助我的新方法。不仅仅是查看分布式远程服务器系统上的日志,还有安全警报和 SLA 图表以及许多其他见解。