本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
日志
OpenSearch 摄取可以在摄取期间将非结构化日志数据转换为结构化格式。 OpenSearch Ingestion 提供的处理器可在数据编制索引之前对其进行标准化和充实。有用的处理器的例子有:
-
grok— 将非结构化文本数据(例如 Web 服务器访问日志)解析为不同的字段,并将其结构化为不同的字段。 -
date— 解析日志字段中的日期并将其设置为事件的时间戳。 -
parse_json— 解析包含 JSON 对象的字符串字段。
注意 — 为了简化入门,我们在 Amazon S OpenSearch ervice 控制台中为日志创建了一个新的 “入门
OpenSearch 用户界面和可观测性工作区
将日志数据导入亚马逊 OpenSearch 服务后,您可以使用 OpenSearch 用户界面中亚马逊 OpenSearch 服务可观测性工作区提供的工具对其进行分析。可观测性工作区提供了专门的工具,旨在在 Discover 和 Dashboards 中提取有意义的见解。
可观测性工作空间附带了全新 Discover 体验,该体验使用管道处理语言
使用 PPL 查询您的日志
您可以通过多种方式查询日志,以收集有关应用程序或服务运行情况的见解。
管道处理语言 (PPL) 是一种查询语言,其语法基于管道 (|),用于链接命令。您可以使用它来构建强大的表达式来分析您的日志。
注意:要 commands/functions 在 OpenSearch 2.19 版本中解锁较新的 PPL,你需要使用以下查询在 “ OpenSearch 开发者工具” 中更改功能标志( OpenSearch 3.3 不需要):
PUT /_plugins/_query/settings { "transient" : { "plugins.calcite.enabled" : true } }
查找错误最多的主机
此示例分析您的日志,以确定错误总数最多的服务主机。
source = my-index |
where level = "ERROR" |
stats count() as error_count by host |
sort -error_count |
head 5
计算平均请求时间
此示例分析您的日志,以计算日志中每个状态代码的平均请求时间。
source = my-index |
stats avg(request_time) by status_code
有关 PPL 的更多信息,请参阅 opensearch.org 上的 PPL 参考手册
使用 AI 查询您的日志
此示例分析您的日志,以显示过去 5 分钟内记录的错误。
Show me all of the error logs from the last 5 minutes
使用 SQL 查询您的日志
SQL 提供了一种熟悉的查询日志数据的方式。
此示例分析您的日志,以按时间戳显示错误。
SELECT timestamp, severity_text, body, service_name
FROM opentelemetry_logs
WHERE severity_text = 'ERROR' AND service_name = 'my-service'
ORDER BY timestamp DESC;
有关 SQL 的更多信息,请参阅上的 SQL 参考手册
使用 DQL 查询您的日志
DQL 非常适合快速搜索和筛选。
此示例分析您的日志并返回错误和异常。
error OR exception
有关 DQL 的更多信息,请参阅 opensearch.org 上的 DQL 参考手册
仪表板和日志警报
在 PPL 的全新 Discover 体验中,你可以通过 Discover 中的 “可视化” 选项卡创建可视化效果。从 12 种可视化类型中进行选择,并在将其添加到仪表板之前进行即时编辑。在旧的 Discover 体验中,您将浏览到左侧导航栏中的 Visualize 以创建新的可视化效果,浏览到仪表板以将可视化效果添加到仪表板中。
您可以使用 PPL 或 OpenSearch 服务查询 DSL 定义警报监视器来运行预设查询。触发条件(例如特定数量的错误日志)会触发警报。您可以通过 Amazon 简单通知服务或 webhook 等渠道发送通知。
有关警报的更多信息,请参阅 opensearch.org 上的警报文档