ELK06-kibana绘图实践

00:文章简介

通过9个案例,来介绍kibana这个图形显示组件的使用。

01:实践1:创建Dashboard

1.1:创建一个专属Dashboard

菜单栏==>【Analytics】==>【Dashboard】==>【Create new dashboard】

image

1.2:保存dashboard

image

02:实践2:绘制网站访问热力图

2.1:属性解析

1
2
3
4
5
6
7
8
9
10
对于kibana的典型应用其实就是对日志的各种展示效果,在新版的kibana中,默认整合了非常多图形
展示效果,当然了我们还可以通过集成其他插件,来满足更多场景的效果展示功能。
目前kibana的可视化展示主要有以下几种:
基础展示:Line, Area and Bar charts,Heat maps,Pie chart。
数据展示:Data table、Metric、Goal and Gauge
地图展示:Coordinate[坐标] map、Region map
时间序列:Timelion、TSVB
其他展示:Controls、Markdown widget、Tag cloud、Vega graph
参考资料:
https://www.elastic.co/guide/en/kibana/current/createvis.html

2.2:模拟大量访问数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

root@Kibana:~# cat access.sh
#!/bin/bash
# 模拟大量ip访问网站
cat ip.txt | while read ip
do
NUM=$(echo $ip | cut -d"." -f 4)
for i in $(seq $NUM)
do
curl http://10.0.0.114/ -s -I -H "X-Forwarded-For: $ip" -H "X-Real-IP: $ip" >> /dev/null
curl http://10.0.0.114/$NUM/ -s -I -H "X-Forwarded-For: $ip" -H "X-Real-IP: $ip" >> /dev/null
done
sleep 1
done

2.3:添加索引数据

1
访问 http://10.0.0.113:5601

菜单栏==>【Management】==>【Stack Management】==>【Kibana】==>【Index Patterns】==>【Create index pattern】

image

image

image

2.4:绘图

1
访问 http://10.0.0.113:5601

2.4.1:添加数据源

菜单栏==>【Analytics】==>【Visualize Library】==>【Create new visualization】

image

【Aggregation based】==>【heat map】

image

选择logstash

image

2.4.2:定制图形

定制指标数据

image

定制横向和纵向数据内容

03:实践3:获取网站访问最多的前10个IP地址(line图)

3.1:绘制图形

菜单栏==>【Analytics】==>【Visualize Library】==>【Create visualization】==>【Aggregation based】==>【line】==>【logstash-nginx*】

增加完成数据后点击update更新

3.2:过滤无效信息

【+Add fiter】

image

3.3:保存图形

image

image

3.4:将图形添加到Dashboard

菜单栏==>【Analytics】==>【Dashboard】==>【Mysite-Dashboard】

![image](https://image.lichunpeng.cn/mweb-linux98/2021/10/27/cLnpvwAS6nxKSw3

04:实践4:绘制单位时间内QPS最大的5个(line图)

4.1:创建可视化图形

菜单栏==>【Analytics】==>【Visualize Library】==>【Create visualization】==>【Aggregation based】==>【line】==>【logstash-nginx*】

image

image

image

4.2:效果展示

image

4.3:保存到库

4.4:在Dashboard中添加该图例

05:实践5:添加目标图(仪表盘图)

5.1:创建图形

菜单栏==>【Analytics】==>【Visualize Library】==>【Create visualization】==>【Aggregation based】==>【Gauge】==>【logstash-nginx*】

5.2:绘制图形

image

5.3:优化图形

重新设定图形显示的范围及颜色

5.4:保存图形

5.5:添加到Dashboard中

06:实践6:绘制访问前10的url(数据表)

6.1:创建图形

菜单栏==>【Analytics】==>【Visualize Library】==>【Create visualization】==>【Aggregation based】==>【Data Table】==>【logstash-nginx*】

6.2:绘制图形

image

6.3:查看效果

image

6.4:保存并添加到Dashboard

6.5:Dashboard效果展示

07:实践7:绘制各个状态值的占比(饼图)

7.1:创建图形

菜单栏==>【Analytics】==>【Visualize Library】==>【Create visualization】==>【Aggregation based】==>【pie】==>【logstash-nginx*】

7.2:绘制图形

7.3:查看效果

7.4:保存图形到库并添加到Dashboard

添加完成后,记得点【save】保存

image

08:实践8:获取访问网站最多的10个ip,并根据访问数量排序(水平条形图)

8.1:创建图形

菜单栏==>【Analytics】==>【Visualize Library】==>【Create visualization】==>【Aggregation based】==>【Horizontal bar】==>【logstash-nginx*】

8.2:绘制图形

改变图例位置

image

8.3:查看效果

image

8.4:保存到库并添加到Dashboard

8.5:查看Dashboard

09:实践9:根据访问IP绘制访问地图

9.1:属性解析

1
2
3
对于 区域地图、坐标地图、Coordinate Map之类的图形展示,
新版的Kibana已经将其整合到了一个统一的功能模块 Map.
所以关于用户的访问区域,我们只能去 左侧边栏的 analytics的Maps中来创建图形了

9.2:创建新的Maps制作页面

菜单栏==>【Analytics】==>【Maps】==>【Add layer】

image

【documents】

image

【Add layer】

9.3:更换默认地图为中文地图

1
2
3
4
5
6
vim /etc/kibana/kibana.yml
# 在尾部追加
map.tilemap.url: 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}'

# 重启服务
systemctl restart kibana.service

9.4:保存图形

9.5:查看效果

9.6:调整Dashboard