如何使用Kibana仪表板和可视化
介绍
Kibana 4 是一个基于 Elasticsearch 的分析和可视化平台,可让您更好地了解您的数据。 在本教程中,我们将帮助您开始使用 Kibana,向您展示如何使用它的界面来过滤和可视化由 Elasticsearch ELK 堆栈收集的日志消息。 我们将介绍主要的界面组件,并演示如何创建搜索、可视化和仪表板。
先决条件
本教程是 使用 Logstash 和 Kibana 进行集中式日志记录 系列的第三部分。
它假设您有一个有效的 ELK 设置。 这些示例假设您正在收集 syslog 和 Nginx 访问日志。 如果您不收集这些类型的日志,您应该能够修改演示以使用您自己的日志消息。
如果您想完全按照本教程的介绍进行操作,您应该按照本系列的前两个教程进行以下设置:
- 收集系统日志的 ELK 堆栈:如何在 Ubuntu 14.04 上安装 Elasticsearch、Logstash 和 Kibana 4
- Nginx 访问日志和过滤器:添加 Logstash 过滤器以改进集中式日志记录
当您准备好继续前进时,让我们看一下 Kibana 界面的概述。
Kibana 接口概述
Kibana 界面分为四个主要部分:
- 发现
- 可视化
- 仪表盘
- 设置
我们将按照列出的顺序介绍每个部分的基础知识,并演示如何使用界面的每个部分。
Kibana 发现
当您第一次连接到 Kibana 4 时,您将被带到 Discover 页面。 默认情况下,此页面将显示所有 ELK 堆栈最近收到的日志。 在这里,您可以根据 Search Queries 筛选和查找特定的日志消息,然后使用 Time Filter 将搜索结果缩小到特定时间范围。
以下是 Kibana Discover 界面元素的细分:
- 搜索栏:直接在主导航菜单下。 使用它来搜索特定字段和/或整个消息
- 时间过滤器:右上角(时钟图标)。 使用它来根据各种相对和绝对时间范围过滤日志
- 字段选择器: 左侧,在搜索栏下方。 选择字段以修改在日志视图中显示的字段
- 日期直方图:搜索栏下的条形图。 默认情况下,这会显示与搜索和时间过滤器匹配的所有日志计数与时间(x 轴)的关系。 您可以单击条形图或单击并拖动以缩小时间过滤器
- 日志视图: 右下角。 使用它来查看单个日志消息,并显示由 字段 过滤的日志数据。 如果未选择任何字段,则会显示整个日志消息
此动画演示了“发现”页面的一些主要功能:
以下是对正在执行的操作的分步说明:
- 选择了“类型”字段,它限制了每条日志记录的显示内容(右下)——默认情况下,显示整个日志消息
- 搜索
type: "nginx-access"
,只匹配Nginx访问日志 - 扩展了最新的 Nginx 访问日志以更详细地查看它
请注意,结果仅限于“最后 15 分钟”。 如果您没有得到任何结果,请确保在指定的时间段内生成了与您的搜索查询匹配的日志。
收集和过滤的日志消息取决于您的 Logstash 和 Logstash Forwarder 配置。 在我们的示例中,我们正在收集 syslog 和 Nginx 访问日志,并按“类型”过滤它们。 如果您正在收集日志消息但没有将数据过滤到不同的字段中,那么查询它们将更加困难,因为您将无法查询特定字段。
搜索语法
搜索提供了一种简单而强大的方式来选择特定的日志消息子集。 搜索语法非常不言自明,并允许布尔运算符、通配符和字段过滤。 例如,如果要查找 Google Chrome 用户生成的 Nginx 访问日志,可以搜索 type: "nginx-access" AND agent: "chrome"
。 您还可以按特定主机或客户端 IP 地址范围或日志中包含的任何其他数据进行搜索。
创建要保留的搜索查询后,您可以单击 Save Search 图标,然后单击 Save 按钮,就像在这个动画中一样:
通过单击加载已保存的搜索图标可以随时打开已保存的搜索,也可以在创建可视化时使用。
我们将 type: "nginx-access"
搜索保存为“type nginx access”,并使用它来创建可视化。
Kibana 可视化
Kibana Visualize 页面是您可以创建、修改和查看您自己的自定义可视化的地方。 有几种不同类型的可视化,从竖条和饼图图表到平铺地图(用于在地图上显示数据)和数据表。 可视化也可以与有权访问您的 Kibana 实例的其他用户共享。
如果这是您第一次使用 Kibana 可视化,您必须在继续之前重新加载您的字段列表。 在 Kibana Settings 部分下的 Reload Field Data 小节中介绍了执行此操作的说明。
创建垂直条形图
要创建可视化,首先单击 Visualize 菜单项。
确定您想要的可视化类型,然后选择它。 我们将创建一个垂直条形图,这是一个很好的起点。
现在您必须选择一个搜索源。 您可以创建新搜索或使用已保存的搜索。 我们将使用后一种方法,并选择我们之前创建的 type nginx access 搜索。
首先,右侧的预览图将是一个实心条(假设您的搜索找到了日志消息),因为它仅包含“计数”的 Y 轴。 也就是说,它只是显示使用指定搜索查询找到的日志数量。
为了使可视化更有用,让我们添加一些新的 buckets 到它。
首先添加一个X轴桶,然后点击Aggregation下拉菜单,选择“Date Histogram”。 如果单击 Apply 按钮,单个条将沿 X 轴拆分为多个条。 现在,计数显示为多个条形,分为时间间隔(可以通过从下拉列表中选择间隔来修改)——类似于您在“发现”页面上看到的内容。
如果我们想让图表更有趣一点,我们可以点击 Add Sub Aggregation 按钮。 选择 Split Bars 桶类型。 点击Sub Aggregation下拉菜单并选择“重要条款”,然后点击Field下拉菜单并选择“clientip.raw”,然后点击Size 字段并输入“10”。 单击 Apply 按钮以创建新图形。
这是您此时应该看到的屏幕截图:
如果被可视化的日志是由多个 IP 地址生成的(即 不止一个人访问您的网站),您将看到每个条形图都被分成彩色段。 每个彩色段代表特定 IP 地址生成的日志计数(即 您网站的特定访问者),图表将显示多达 10 个不同的细分(由于大小设置)。 您可以将鼠标悬停并单击图表中的任何项目以深入查看特定的日志消息。
当您准备好保存可视化时,单击顶部附近的 Save Visualization 图标,然后为其命名并单击 Save 按钮。
创建另一个可视化
在继续下一部分(我们将在其中演示如何创建仪表板)之前,您应该至少再创建一个可视化。 尝试探索各种可视化类型。
例如,您可以创建一个包含前 5 个(最高计数)日志“类型”的饼图。 为此,请单击 可视化 ,然后选择 饼图 。 然后使用 新搜索 ,并将搜索保留为“*”(即 你所有的日志)。 然后选择 Split Slices 存储桶。 单击 Aggregation 下拉菜单并选择“重要项”,单击 Field 下拉菜单并选择“type.raw”,然后单击 Size 字段并输入“5”。 现在单击 Apply 按钮并将可视化保存为“Top 5”。
这是刚刚描述的设置的屏幕截图:
因为,在我们的示例中,我们只收集 syslogs 和 Nginx 访问日志,所以饼图中只有两个切片。
创建完可视化后,让我们继续创建 Kibana 仪表板。
Kibana 仪表板
Kibana 仪表板页面是您可以创建、修改和查看您自己的自定义仪表板的地方。 使用仪表板,您可以将多个可视化组合到一个页面上,然后通过提供搜索查询或通过单击可视化中的元素来选择过滤器来过滤它们。 当您想要了解日志概览并在各种可视化和日志之间建立关联时,仪表板非常有用。
创建仪表板
要创建 Kibana 仪表板,首先,单击 Dashboard 菜单项。
如果您之前没有创建仪表板,您将看到一个几乎空白的页面,上面写着“准备好开始了吗?”。 如果您没有看到此屏幕(即 仪表板上已经有可视化),按新仪表板图标(在搜索栏的右侧)到达那里。
此动画演示如何将可视化添加到仪表板:
以下是正在执行的步骤的细分:
- 单击添加可视化图标
- 添加了“Log Counts”饼图和“Nginx:Top 10 client IP”柱状图
- 收起添加可视化菜单
- 重新排列仪表板上的可视化并调整其大小
- 单击保存仪表板图标
在保存之前为您的仪表板选择一个名称。
这应该让您对如何创建仪表板有一个很好的了解。 继续创建您认为可能需要的任何仪表板。 接下来我们将介绍如何使用仪表板。
使用仪表板
通过输入搜索查询、更改时间过滤器或单击可视化中的元素,可以进一步过滤仪表板。
例如,如果您单击直方图中的特定颜色段,Kibana 将允许您过滤该段所代表的重要术语。 以下是将过滤器应用于仪表板的示例屏幕截图:
请务必单击 立即应用按钮 以过滤结果,并重新绘制仪表板的可视化。 可以根据需要应用和删除过滤器。
搜索和时间过滤器的工作方式与在“发现”页面中的工作方式相同,只是它们仅应用于仪表板中显示的数据子集。
Kibana 设置
Kibana 设置页面允许您更改各种内容,例如默认值或索引模式。 在本教程中,我们将保持简单并专注于 Indices 和 Objects 部分。
重新加载字段数据
当您向 Logstash 数据添加新字段时,例如 如果您为新的日志类型添加过滤器,您可能需要重新加载您的字段列表。 如果您无法在 Kibana 中找到过滤的字段,则需要重新加载字段列表,因为此数据只会定期缓存。
为此,请单击 Settings 菜单项,然后单击“logstash-*”(在 Index Patterns 下):
然后点击黄色的Reload Field List按钮。 点击 OK 按钮确认。
编辑保存的对象
对象部分允许您编辑、查看和删除任何已保存的仪表板、搜索和可视化。
要到达那里,请单击 Settings 菜单项,然后单击 Objects 子菜单。
在这里,您可以从选项卡中进行选择以查找要编辑、查看或删除的对象:
在屏幕截图中,我们选择了一个重复的可视化。 通过单击相应的按钮,可以对其进行编辑、查看或删除。
结论
如果您遵循本教程,您应该对如何使用 Kibana 4 有一个很好的理解。 您应该知道如何搜索您的日志消息,并创建可视化和仪表板。
请务必查看本系列的下一个教程,如何使用 GeoIP 和 ELK 映射用户位置
如果您有任何问题或建议,请发表评论!