Observability:Elastic Logs 应用介绍

在 Kibana 中有一个叫做 Logs 的应用。它为我们的日志的可观测性提供了良好的可操控性。在今天的文章中,我来介绍如何使用这个应用。在今天的展示中,我采用了如下的架构来收集不同机器的日志:

在上面的不同机器中,我启动了不同的模块。在你自己的展示中,你可以依据自己的需求采集不同的日志信息。比如在 liuxgu 上,我启动了 nginx 及 system  模块。如果你对 Filebeat 还不是很熟悉如何采集日志的话,那么请参阅我之前的文章:

在今天的展示中,我将以 7.11 版本为例来进行展示。不同的版本之间界面可能会稍有不同。

 

启动 Logs 应用

首先,我们启动 Kibana,并启动 Logs 应用:

我们可以看到,所有的日志都会到这同一个 Logs 应用来。我们可以在这里对不同种类的日志进行操作。在上面的右上角有一个叫做 Stream Live 的按钮。点击这个按钮,我们可以实时地查看进来的每一个日志。最新进来的日志在屏幕下方进行显示:

在屏幕的最下方,它显示了最新的进来的日志信息。我们点击右边出现的三个点:

选择 View details,我们可以查看当前日志的详细信息:

我们甚至可以从这里无缝地导航至其它的应用,比如 Uptime, APM。这个也是 Elastic Stack 的强项之一,可以把日志,指标,及跟踪置于同一个平台,并让它们能够互相无缝切换。在日志中发现的问题, 我们可以同时查看当前的指标以及跟踪(APM)的情况。

我们可以对日志进行搜索。在搜索时,我们需要停止 Streaming (如果已经启动 Streaming 的话) 我们采用 KQL 语法

我们很容易对日志中的关键字进行加亮:

在右边的窗口中,我们可看到有红色的点击一条线。它们表示加亮的关键字所出现的位置。我们可以直接点击到相应的位置来查看出线加亮关键字的地方:

我们可以通过修改时间过滤器来对相应的时间窗口的日志进行查询。

我们可以点击 Anomalies:

我们可以通过 ML Setup 来启动机器学习对于异常的处理:

在上面,我们已经为你创建了两种类型的异常检测。Log rate 可以帮我们自动检测有没有在一个时间里突然发生很多的日志,或者日志的数量骤然减少。另外 Categorization 可以帮我们自动把日志的种类进行分类,并进行异常检测。这些异常检测的设置非常简单,基本都是开箱即用:

从上面,的直方图中,我们可以看到异常情况的出现。日志的数量突然增加或减少都会被视为异常。

机器学习会自动帮我们把日志进行分类,并对日志的异常进行报警。

在 Cateogies 里,我们可以看到机器学习把我们的日志分类的情况:

 

我们在 Settings 里对我们的日志应用进行配置:

我们甚至可以选择我们想要的字段来进行显示:

在上面我们删除 event.dataset,并加上 log.file.path:

那么在 Stream 界面中,我们可以看到 log.file.path 被显示:

我们可以选择 Create  Alerts 来发送警报:

如果大家对如何生产警报不是很熟的话,请参阅我之前的文章 “Elastic:菜鸟上手指南”,并查看 “通知及警报” 一节。

已标记关键词 清除标记
相关推荐