第 6 章 Loki 查询性能故障排除
本文档详细介绍了优化日志记录堆栈的方法,以改进查询性能并提供故障排除的步骤。
6.1. Loki 查询性能的最佳实践 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以执行以下步骤来提高 Loki 查询性能:
- 确保您正在运行最新版本的 Loki Operator。
-
确保您已将 LokiStack 模式迁移到
v13版本。 确保您使用可靠而快速的对象存储。Loki 对对象存储具有重大需求。如果您不使用云供应商中的对象存储解决方案,请将固态驱动器(SSD)用于对象存储。通过使用 SSD,您可以从 Loki 的高并行化功能中受益。
为了更好地了解 Loki 的对象存储的使用,您可以在 OpenShift Container Platform Web 控制台的 Metrics 仪表板中使用以下查询:
sum by(status, container, operation) (label_replace(rate(loki_s3_request_duration_seconds_count{namespace="openshift-logging"}[5m]), "status", "${1}xx", "status_code", "([0-9]).."))sum by(status, container, operation) (label_replace(rate(loki_s3_request_duration_seconds_count{namespace="openshift-logging"}[5m]), "status", "${1}xx", "status_code", "([0-9]).."))Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Loki Operator 默认启用自动流分片。在大多数情况下,默认的自动流分片机制应该足够了,用户不应该配置
perStream*属性。 - 如果使用 OpenTelemetry 协议(OTLP)数据模型,您可以在 LokiStack 中配置额外的流标签。如需更多信息,请参阅 Loki 标签的最佳实践。
- 不同类型的查询具有不同的性能特性。使用简单过滤查询而不是正则表达式来提高性能。