在 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:菜鸟上手指南”,并查看 “通知及警报” 一节。
转载:https://blog.csdn.net/UbuntuTouch/article/details/114981329