服务遥测数据收集指南
1. 微服务日志存储
默认情况下,每个服务实例的日志会写入运行该服务的进程的输出流。这种日志收集机制让我们可以通过持续读取运行服务实例的主机上关联流(多数情况下是标准输出)的数据,来监控服务操作。不过,若没有额外软件,日志数据不会持久化,服务重启或突然崩溃后,就无法读取之前记录的日志。
在多服务环境中,有多种软件解决方案可用于存储和查询日志数据,它们还能解决以下问题:
- 分布式日志收集 :若多个服务运行在不同主机上,需独立收集各主机上的服务日志,并发送进行进一步聚合。
- 集中式日志存储 :为查询不同服务发出的数据,需集中存储,查询时应能访问所有服务的日志。
- 数据保留 :日志数据通常占用大量磁盘空间,为所有服务无限期存储成本过高。需为服务制定合适的数据保留策略,配置各服务数据的存储时长。
- 高效索引 :为快速查询日志数据,需对日志进行高效索引和存储。现代索引软件能在 10 毫秒内查询数 TB 的日志数据。
不同工具可促进日志操作,如 Elasticsearch 和 Graylog。下面简要介绍 Elasticsearch 作为端到端日志管理解决方案的示例。
Elasticsearch 是 2010 年创建的流行开源搜索引擎,作为可扩展的结构化数据索引和查询系统迅速流行起来。虽然其主要用例是全文搜索,但也可高效存储和查询各种结构化数据,如服务日志。它是 Elastic Stack(也称为 ELK)工具包的一部分,该工具包还包括:
-
超级会员免费看
订阅专栏 解锁全文
400

被折叠的 条评论
为什么被折叠?



