Kibana快速介绍

本文作者:罗海鹏,叩丁狼高级讲师。原创文章,转载请注明出处。

Kibana介绍

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。
Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。一种很典型的MVC思想,模型持久层,视图层和控制层。Logstash担任控制层的角色,负责搜集和过滤数据。Elasticsearch担任数据持久层的角色,负责储存数据。而我们这章的主题Kibana担任视图层角色,拥有各种维度的查询和分析,并使用图形化的界面展示存放在Elasticsearch中的数据。

Kibana安装

1、下载Kibana安装包:

https://www.elastic.co/downloads/kibana

以上地址为Kibana官网下载的地址,目前最新版为6.3.2,Kibana版本和Elasticsearch版本同步更新,所以我们最好使用一致的版本,而我们Elasticsearch使用的版本是6.2.4,所以我们Kibana也需要下载6.2.4。在下载页面点击past releases连接,进入历史版本下载界面,选择6.2.4版本,我们下载tar格式的压缩包,包的全名为:kibana-6.2.4-linux-x86_64.tar.gz。

2、运行Kibana

把Kibana的安装包上传到Linux并解压,进入bin目录可以看到有个名字为Kibana的脚本,该脚本就是启动Kibana的脚本程序,直接执行即可运行Kibana实例:
$ ./kibana
我们在执行kibana启动脚本后,看到控制台打印的信息,发现kibana启动就马上去连接Elasticsearch服务,打印信息如下:

log   [17:40:27.350] [warning][admin][elasticsearch] Unable to revive connection: http://localhost:9200/
log   [17:40:27.355] [warning][admin][elasticsearch] No living connections

通过控制台的打印信息,我们可以知道,Kibana试图连接本机IP的Elasticsearch服务,但是连接不上,那是因为我们还没有把Elasticsearch启动起来。一旦我们把Elasticsearch服务启动起来了,就可以看到以下信息:

log   [17:45:06.851] [info][status][plugin:elasticsearch@6.2.4] Status changed from red to green - Ready

通过上面的信息我们知道,Kibana的状态是正常的,能连接上elasticsearch服务
kibana默认的端口是5601,给Linux防火墙打开5601的端口后,在另一台windows系统的主机中的浏览器访问Kibana,发现无法访问,原因是因为Kibana默认情况下只能给本机访问,不能远程访问,如果想要远程访问Kibana服务,则需要修改配置文件,那接下来我们看看Kibana有哪些关键的配置。

3、配置文件

Kibana的配置文件在kibana/config目录中,文件名为kibana.yml。我们使用vi编辑器打开后可以看到,该文件所有的配置都是注释掉的,说明所有的配置都是使用默认的,那如果我们需要修改这些默认的配置,就需要找到对应的配置属性,注释解开,然后填写我们自己想要的值。
1、服务的端口配置:
属性名为:server.port默认是5601
2、允许远程访问的地址配置:
属性名为:server.host默认为本机,如果我们需要把Kibana服务给远程主机访问,只需要在这个配置中填写远程的那台主机的ip地址,那如果我们希望所有的远程主机都能访问,那就填写0.0.0.0
3、连接Elasticsearch服务配置
属性名为:elasticsearch.url默认为连接到本机的elasticsearch,并且端口为9200,也就是为localhost:9200,如果我们Elasticsearch不是与Kibana安装在同一台主机上,或者Elasticsearch的端口号不是9200,就就需要修改这个配置了
4、Elasticsearch的用户名和密码
属性名为:elasticsearch.usernameelasticsearch.password,默认是没有用户名和密码,如果elasticsearch是配置了用户名和密码的,那就需要配置这两行属性
5、访问Kibana服务
相关的配置修改好了后,就可以使用浏览器访问kibana了,看到如下界面:

Kibana界面

导入测试数据

由于当前我们的Elasticsearch数据量比较少,没办法充分发挥Kibana的作用,很多高级的数据分析和图形化界面都没法展示出来,所以我们需要导入一些测试数据到Elasticsearch中。
数据说明
为了更好的学习Kibana各个功能的使用,我们导入3种不同类型的数据:
1、莎士比亚的所有著作
2、虚构的账号数据
3、随机生成的日志文件
在导入数据之前,我们需要给各个类型的数据创建类型映射。

创建莎士比亚的所有著作的数据类型映射
莎士比亚的所有著作的测试数据的字段有以下这些:
line_id、play_name、speech_number、line_number、speaker、text_entry
我们用以下DSL为该数据创建类型映射(其他没有在映射中约束的字段,使用默认约束):

PUT /shakespeare
{
 "mappings" : {
  "_default_" : {
   "properties" : {
    "speaker" : {"type": "keyword" },
    "play_name" : {"type": "keyword" },
    "line_id" : { "type" : "integer" },
    "speech_number" : { "type" : "integer" }
   }
  }
 }
}

映射解析:
1、speaker和play_name是关键字字段,因此不会分词。
2、line_id和speech_number是一个整数。

创建日志数据类型映射
日志数据有几十个不同的字段,但是在教程中关注的字段如下:
memory、geo.coordinates、@timestamp
我们用以下DSL为该数据创建类型映射:
2015.05.18的日志数据映射

PUT logstash-2015.05.18
{
  "mappings": {
    "log": {
      "properties": {
        "geo": {
          "properties": {
            "coordinates": {
              "type": "geo_point"
            }
          }
        }
      }
    }
  }
}

2015.05.19的日志数据映射

PUT logstash-2015.05.19
{
  "mappings": {
    "log": {
      "properties": {
        "geo": {
          "properties": {
            "coordinates": {
              "type": "geo_point"
            }
          }
        }
      }
    }
  }
}

2015.05.20的日志数据映射

PUT logstash-2015.05.20
{
  "mappings": {
    "log": {
      "properties": {
        "geo": {
          "properties": {
            "coordinates": {
              "type": "geo_point"
            }
          }
        }
      }
    }
  }
}

映射解析:
日志数据需要一个表明地理位置的经纬度,通过在那些字段使用一个geo_point类型。

创建账号信息数据类型映射
账号信息测试数据的字段有以下这些:
account_number、balance、firstname、lastname、age、gender、address、employer、city、state
账号数据的各个字段不需要任何约束映射,全都使用默认即可

导入数据
测试数据下载:

https://pan.baidu.com/s/1r--IISJ_8ypRznUx-0aFYw

下载好了之后,上传到Linux上,执行elasticsearch的数据批量导入命令:

curl -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary @accounts.json
curl -XPOST 'localhost:9200/shakespeare/_bulk?pretty' --data-binary @shakespeare.json
curl -XPOST 'localhost:9200/_bulk?pretty' --data-binary @logs.jsonl

导入这些数据需要一点时间,具体根据主机性能而定。导入完之后,可以执行数据查看命令:
curl 'localhost:9200/_cat/indices?v'
输出结果如下:

health status index               pri rep docs.count docs.deleted store.size pri.store.size
yellow open   bank                  5   1       1000            0    418.2kb        418.2kb
yellow open   shakespeare           5   1     111396            0     17.6mb         17.6mb
yellow open   logstash-2015.05.18   5   1       4631            0     15.6mb         15.6mb
yellow open   logstash-2015.05.19   5   1       4624            0     15.7mb         15.7mb
yellow open   logstash-2015.05.20   5   1       4750            0     16.4mb         16.4mb

通过以上的输出结果,可以看到我们新增的3个测试数据shakespeare,bank和logstash*的数据都导入进去了。那接下来我们就来开始学习Kibana的使用。

想获取更多技术视频,请前往叩丁狼官网:http://www.wolfcode.cn/openClassWeb_listDetail.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容