npm 包 import-kibana-dashboard 使用教程

阅读时长 6 分钟读完

Kibana Dashboard 是 ELK Stack 的重要组成部分之一。它可以帮助我们实时监控日志数据并快速定位异常问题。但是如果要手动创建一个完整的 Dashboard 是非常困难的,很多公司都采用了内部工具来自动生成 Kibana Dashboard。而 import-kibana-dashboard 正是一个为了方便 Kibana Dashboard 的生成而生的工具。

在本文中,我们将会学习如何使用 import-kibana-dashboard,他提供的几个重要功能,并给出一个用例来展示如何快速地生成一个 Kibana Dashboard。

import-kibana-dashboard 介绍

import-kibana-dashboard 是一个使用 Node.js 编写的命令行工具,通过读取 JSON 格式的配置文件生成一个 Kibana Dashboard。当我们使用这个工具时,需要先提供 ELand Kibana 的 URL,然后通过一些必备配置信息,生成一个 JSON 文件。

这个 JSON 文件可以直接上传至 Kibana 并使用。

import-kibana-dashboard 的功能

import-kibana-dashboard 提供了多个生成 Kibana Dashboard 的配置选项。这些选项包括源索引、过滤器、时间范围、时间字段等等。下面是一些重要的配置选项:

  • indexPattern:指向 Elasticsearch 的索引名称,Kibana 利用它来搜索并过滤 Elasticsearch 的数据。

  • timeFieldName:时间戳用于过滤 Elasticsearch 数据。

  • filters: 一个对象数组,每个对象都描述了一个 filter,可以用来过滤 Elasticsearch 数据。

  • query:一个简单的 Elasticsearch 查询。

  • panelsJSON:一个对象数组,每个对象都描述了要创建的 Kibana 可视化图表和面板。

  • timeRange:时间范围,格式为 YYYY/MM/DD。

import-kibana-dashboard 的安装

使用 import-kibana-dashboard 之前,需要先安装它。使用 npm 可以轻松地完成这个过程:

Kibana Dashboard 使用示例

在这个示例中,我们将会使用 import-kibana-dashboard 生成一个日志监控的 Kibana Dashboard。

我们的数据源是一个 Elasticsearch 索引,它有多个字段,例如:timestamp, source, severity, message。我们的目标是创建一个 Kibana Dashboard ,其中包含三个可视化面板:

  • 表格,展示按来源分组的事件数。

  • 条形图,按严重程度分组的日志计数。

  • 时间线图,展示最近 24 小时的日志事件数。

第一步:创建仪表盘 JSON 文件

在安装了 import-kibana-dashboard 之后,使用下面的命令创建一个仪表盘 JSON 文件:

其中, --es_url 是 Elasticsearch 的 URL, --indes_pattern 是 Elasticsearch 索引的名称, --time_field 是时间戳, --panels_json 是我们上面提到的可视化面板 JSON 文件。

第二步:创建可视化面板 JSON 文件

在第一步中,我们创建了一个仪表盘 JSON 文件,但是还没有包含任何可视化面板。面板通常是一个带有可视化图表的小部件,可用于向业务用户展示数据。在我们的示例中,我们创建了三个可视化面板。下面是表格面板的 JSON 文件示例:

-- -------------------- ---- -------
-
  ----- --------------
  ------- --------
  -------- ---- ---------
  --------- --
  --------- --
  ---------- -
    ---- --
    ---- --
    ---- ---
    ---- -
  --
  ---------- -
    ------------ ------
    ----------- ------
    ----------- -----
    ------------------ -
      --
      ---
      ---
      ---
      ---
    --
    --------- ---
    ------------ ------
  --
  ---------- ---
  ---------- -
    -
      -------- ---------
      -------- ---------
      -------- -----
      ------------- -----
      ----------- -----
      ---------------- -----
    --
    -
      -------- ---------
      -------- ---------
      -------- -----
      ------------- ------
      ----------- -----
      ---------------- ------
    -
  --
  --------------- -
    -------- -------------
    -------- -
      --------------- -
        -------- ----------------- -- ---------------
      -
    --
    --------- --
  -
-

可以看到,这个 JSON 文件包括整个表格面板的全部参数,包括标题、大小、位置、属性和过滤器等等。其他两个面板的 JSON 文件可以在这里获取 https://github.com/grafana/grafana/blob/master/public/app/plugins/datasource/elasticsearch/migrations/v6/panels_v6.ts。

第三步:上传到 Kibana 并使用

完成上述步骤之后,我们就可以将生成的 JSON 文件上传至 Kibana 中,并将其设置为默认的 Dashboard。

在 Kibana 中,你可以通过页面的左侧导航栏访问到自己创建的 Dashboard。

总结

使用 import-kibana-dashboard 可以轻松自动生成 Kibana Dashboard,非常适合那些希望省去手动创建 Dashboard 的人员。在这篇文章中,我们介绍了 import-kibana-dashboard 工具和它提供的重要配置选项,然后展示了一个使用实例。

在实际工作中,每个企业的需求都是不同的,可以根据 import-kibana-dashboard 工具提供的参数自定义生成仪表盘的部分内容,这也是 import-kibana-dashboard 工具的优势所在。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005670081e8991b448e3438

纠错
反馈