使用 Elastic AI assistant for Observability 来分析日志

2024年6月3日   |   by mebius

在今天的文章中,我们来参考之前的文章 “Elastic AI Assistant for Observability 和 Microsoft Azure OpenAI 入门” 来使用 Elastic AI assistant 分析日志。在本文章中,我们不使用 Azure clould。这样我们之间来进入主题,以免失去注意力。在本文展示中,我将展示如何创建 knowledge base。

为 Elastic Stack 配置 AI assistant

首先,我们参考之前的文章 “Elasticsearch:如何为 Elastic Stack 配置 AI Assistant”。来进行配置。我们按照文章里介绍的步骤进行 OpenAI 的配置。我们最终能看到如下的画面:

%title插图%num

如上所示,我们已经成功地配置了 OpenAI。

添加日志

我们在 Kibana 中的 DevTools 里添加如下的命令:

POST /logs-elastic_agent-default/_doc
{
	"message": "Status(StatusCode="FailedPrecondition", Detail="Can't access cart storage. nSystem.ApplicationException: Wasn't able to connect to redis n  at cartservice.cartstore.RedisCartStore.EnsureRedisConnected() in /usr/src/app/src/cartstore/RedisCartStore.cs:line 104 n  at cartservice.cartstore.RedisCartStore.EmptyCartAsync(String userId) in /usr/src/app/src/cartstore/RedisCartStore.cs:line 168").",
	"@timestamp": "2024-02-22T11:34:00.884Z",
	"log": {
    	"level": "error"
	},
	"service": {
    	"name": "cartService"
	},
	"host": {
    	"name": "appserver-1"
	}
}

%title插图%num

上述命令将在 Elasticsearch 中生成一个叫做logs-elastic_agent-default 的 datastream。

使用 Elastic AI 助手

现在你已经有了可以使用的日志记录,让我们跳转到 Observability Logs Explorer,看看 AI Assistant 如何与日志数据交互。 单击顶层菜单并选择可观测性。

%title插图%num

选择Logs Explorer来浏览日志数据。

%title插图%num

你应该会看到之前通过开发工具插入的一条日志记录。 单击展开图标可查看日志记录的详细信息。

%title插图%num

你应该看到日志记录的展开视图。 我们不会尝试自己去理解tgcode它的内容,而是使用人工智能助手来总结它。 单击What’s this message?按钮。

%title插图%num

我们得到了一个相当笼统的答案。 根据我们尝试分析的异常或错误,这仍然非常有用,但我们可以通过向 AI Assistant 知识库添加额外的文档来使其更好。

%title插图%num

让我们看看如何tgcode使用 AI Assistant 的知识库来提高其对特定日志消息的理解。

创建 Elastic AI Assistant 知识库

从 “Observability” 菜单中选择 “Overview”。

%title插图%num

单击Install Knowledge base按钮。

%title插图%num

你需要等一段时间来完成创建 Knowledge base。

%title插图%num

单击顶层菜单并选择Stack Management

%title插图%num

%title插图%num

选择Knowledge base选项卡。

%title插图%num

将其Name设置为 “cartservice” 并输入以下文本作为内容:

%title插图%num

I have the following GitHub issue. Store this information in your knowledge base and always return the link to it if relevant.
GitHub Issue, return if relevant
 
Link: https://github.com/elastic/observability-examples/issues/25
 
Title: Cartservice Intermittent connection issue
 
Body:
The cartservice occasionally encounters storage errors due to an unreliable network connection.
 
The errors typically indicate a failure to connect to Redis, as seen in the error message:
 
Status(StatusCode="FailedPrecondition", Detail="Can't access cart storage.
System.ApplicationException: Wasn't able to connect to redis
  at cartservice.cartstore.RedisCartStore.EnsureRedisConnected() in /usr/src/app/src/cartstore/RedisCartStore.cs:line 104
  at cartservice.cartstore.RedisCartStore.EmptyCartAsync(String userId) in /usr/src/app/src/cartstore/RedisCartStore.cs:line 168')'.
I just talked to the SRE team in Slack, they have plans to implement retries as a quick fix and address the network issue later.

%title插图%num

%title插图%num

现在让我们回到 Observability Logs Explorer.。 单击顶层菜单并选择可Observability

%title插图%num

%title插图%num

展开与之前相同的日志条目,然后单击What’s this message?按钮。

%title插图%num

%title插图%num

%title插图%num

从上面的输出中,我们可以看到和之前的显示不一样的结果。它利用了我们的知识库来生成相应的回答。

这样我们就完成了如何创建 Knowledge base 的工作。我在下面将继续使用中文来创建一些有趣的案例来供大家参考。敬请期待!

文章来源于互联网:使用 Elastic AI assistantgcodet for Observability 来分析日志

相关推荐: Elastic Cloud Serverless 定价和打包

作者:来自 ElasticClint Scott 借助 Elastic Cloud Serverless,我们通过针对安全性、可观察性和 Elasticsearch 的新解决方案特定定价和打包来简化并提供更高的灵活性。 Elastic Cloud 定价的演变 …

Tags: , , , ,