Skip to content

Commit

Permalink
完成kibana报表教程
Browse files Browse the repository at this point in the history
  • Loading branch information
yunnysunny committed Sep 8, 2024
1 parent 10b74a4 commit 6496d24
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 2 deletions.
42 changes: 40 additions & 2 deletions text/14_node_log_and_monitor.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,8 @@ ksqldb 的端口号,改写成了 8090,因为很多人电脑上 8080 端口
点击 kafka ui 的 KSQL DB 菜单,然后点击 Execute KSQL Request 按钮,即可发现一个 KSQL 的输入文本框。

![](images/create_ksql_stream.png)
图 14.1.1.1 kafkaui 中创建

**图 14.1.1.1 kafkaui 中创建流**

在上图的文本框中输入以下语句

Expand Down Expand Up @@ -484,12 +485,49 @@ kibana 中报表的制作算是其一大特色功能,你可以通过折线图

**图 14.1.2.1.2 kibana 支持的可视化图标**

之前讲过要熟悉 **表 14.1.1** 中各个字段的含义,因为接下来我们制作的图标依赖于表中定义的各个字段。首先我们来展示一下单位时间内各个路由请求总数,我们选择的是 Horizontal bar 图表。点击上图中的 Horizontal bar 后,会让我们选择数据源,这里我们选择之前创建的 nodejs-demo 即可。接下来在打开的界面中,我们设置一下 X 轴的数据选择好时间区间,点击一下右下角的 Update 按钮即可展示数据:
之前讲过要熟悉 **表 14.1.1** 中各个字段的含义,因为接下来我们制作的图标依赖于表中定义的各个字段。首先我们来展示一下单位时间内各个路由请求总数,我们选择的是 Horizontal bar 图表。点击上图中的 Horizontal bar 后,会让我们选择数据源,这里我们选择之前创建的 nodejs-demo 即可。接下来在打开的界面中,我们设置一下 X 轴的数据:这里我们选择聚合方式为 Terms,使用的聚合字段为 router.keyword;选择好时间区间,这里选择的是最近 30 天的数据;最后点击一下右下角的 Update 按钮即可展示数据:

![](images/req_count_among_routers.png)

**图 14.1.2.1.3 单位时间内请求次数最多的 5 个路由总数统计**

最后记得要点击 Save 按钮,将刚才做的报表保存起来,否则关闭当前页面后数据没有被保存,下次还得重新制作。

![](images/save_and_goto_dashboard.png)

**图 14.1.2.1.4 保存图标并打开 Dashboard**

保存时,弹出的窗口中,我们可以选择将当前图表添加到指定的 dashboard 中,由于我们之前没有创建过 dashboard ,这里选择新建一个。

![](images/dashboard_init.png)

**图 14.1.2.1.5 Dashboard 初始化**

记得要在 Dashboard 界面上点击右上角的 Save 按钮,否则添加 Dashboard 上的图标不会被保留,下次你还得重新添加。如果某一个图表之前已经存在了,想将其添加到当前 Dashboard 上,则可以。

>除了通过 **图 14.1.2.1.4** 中选择指定 Dashboard 的方式, 你也可以通过 **图 14.1.2.1.5** 左上角的 Add panel,来快捷创建图表并将其直接加入当前 Dashboard 中。如果你在 **图 14.1.2.1.4** 中 Add to dashboard 选择了 none 选项,那么你操作的图表将自动进入全局图表库,你通过 **图 14.1.2.1.5** 中的 Add from library 按钮,可以将其添加到当前 Dashborad 中。另外 Dashboard 中不仅仅可以添加图表,我们在 **图 14.1.2.1.2** 中通过 ⑩ 号位保存的查询结果也可以添加 Dashboard 中。
除了关心各个路由的请求数量外,作为一个 http 服务,我们还比较关心每个路由的处理时间,下面我们就用折线图来展现一个不同路由的平均处理时长。在 **图 14.1.2.1.2** 中选择 Line 按钮,在弹出的界面中做如下设置:


![](images/average_duration_among_routers.png)

**图 14.1.2.1.6 路由的平均响应时间**

可以看到我们将 duration 字段的平均值作为 y 轴,req_time_string 作为 x 轴,并且按照 router.keyword 拆分成不同的折线。这样每条折线上就对应了一个路由在不同时间点内的响应时间平均值。同样需要记住点击上图中的 Save 按钮进行保存,这时候在弹出的 **图 14.1.2.1.4** 所示的界面中,我们就可以选择保存到刚才新建的 Dashboard 中去。不过你在 Dashboard 界面上依然要点击一下 Save 按钮,否则 Dashboard 页面关闭后再打开不会再展示当前图表。

接下来讲一下最后一个场景,我们在请求的逻辑处理时,会将返回的错误码信息赋值到日志中的 res_code 字段上,现在我们想分析一下各个 res_code 值的比重是多少,将其绘制成饼图,可以选择 **图 14.1.2.1.2** 中的 Pie 按钮。

![](images/res_code_pie.png)


**图 14.1.2.1.7 逻辑处理错误统计饼图**

如果你还想知道每个错误码下面出错的路由比重是什么,可以再次点击 Add 按钮,在弹出的菜单中选择 Split slices,然后添加一个 router.keyword 的聚合配置

![](images/res_code_router_pie.png)

**图 14.1.2.1.8 逻辑处理错误在不同路由上的统计饼图**

### 14.2 采集监控指标

Expand Down
Binary file added text/images/average_duration_among_routers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added text/images/dashboard_init.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified text/images/req_count_among_routers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added text/images/res_code_pie.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added text/images/res_code_router_pie.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added text/images/save_and_goto_dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 6496d24

Please sign in to comment.