Kibana6 入门1 - 加载样例数据
Posted 大连IT开发者社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kibana6 入门1 - 加载样例数据相关的知识,希望对你有一定的参考价值。
官方文档开始部分的说明,介绍,安装都很简单,就不翻译了。跟以前的版本也没啥太大的区别。
从Tutorial 的Getting Started 章节开始。
加载样例数据
本章节要加载的样例数据集如下:
对于压缩文件需要解压
unzip accounts.zip
gunzip logs.jsonl.gz
莎士比亚全集的数据结构:
{
"line_id":INT,
"play_name":"String",
"speech_number":INT,
"line_number":"String",
"speaker":"String",
"text_entry":"String",
}
账户数据结构:
{
"account_number":INT,
"balance":INT,
"firstname":"String",
"lastname":"String",
"age":INT,
"gender":"M or F",
"address":"String",
"employer":"String",
"email":"String",
"city":"String",
"state":"String"
}
日志的数据结构有很多不同属性,但本教程使用的属性如下:
{
"memory":INT,
"geo.coordinates":"geo_point"
"@timestamp":"date"
}
加载莎士比亚全集和日志文件集合之前,需要建立属性映射。映射会将索引中的文档进行逻辑分组,并确定属性的特性。比如属性是否支持搜索,是否可以被分词,是否可以被切分为单独的词。
使用如下命令在Elasticsearch上为莎士比亚全集建立映射:
curl -XPUT
'localhost:9200/shakespeare?pretty' -H 'Content-Type:
application/json' -d'
{
"mappings":{
"doc":{
"properties":{
"speaker":{"type": "keyword"},
"play_name":{"type": "keyword"},
"line_id":{"type": "integer"},
"speech_number":{"type": "integer"}
}
}
}
}'
根据映射的定义, 莎士比亚全集的数据具有如下特性:
speaker 和 play_name 属性是关键字,所以它们不会被分词。这些字符串即使由多个单词组成,也会被当作一个完整独立的个体。
line_id 和speech_number 是整形的。
可以通过在这些属性上使用 typegeo_point
,将日志文件中的纬度/经度进行标记,映射为地理信息。
使用如下命令在日志中建立geo_point
映射:
curl -XPUT
'localhost:9200/logstash-2015.05.18?pretty' -H 'Content-Type:
application/json' -d'
{
"mappings":{
"log":{
"properties":{
"geo":{
"properties":{
"coordinates":{
"type":"geo_point"
}
}
}
}
}
}
}'
curl -XPUT
'localhost:9200/logstash-2015.05.19?pretty' -H 'Content-Type:
application/json' -d'
{
"mappings":{
"log":{
"properties":{
"geo":{
"properties":{
"coordinates":{
"type":"geo_point"
}
}
}
}
}
}
}'
curl -XPUT
'localhost:9200/logstash-2015.05.20?pretty' -H 'Content-Type:
application/json' -d'
{
"mappings":{
"log":{
"properties":{
"geo":{
"properties":{
"coordinates":{
"type":"geo_point"
}
}
}
}
}
}
}'
账户数据集不需要映射。
使用Elasticsearch [bulk
] API 来加载数据集合:
curl -H 'Content-Type:
application/x-ndjson' -XPOST
'localhost:9200/bank/account/_bulk?pretty' --data-binary
@accounts.json
curl -H 'Content-Type:
application/x-ndjson' -XPOST
'localhost:9200/shakespeare/doc/_bulk?pretty' --data-binary
@shakespeare_6.0.json
curl
-H 'Content-Type: application/x-ndjson' -XPOST
'localhost:9200/_bulk?pretty' --data-binary @logs.jsonl
执行下面的命令来验证是否成功:
curl -XGET 'localhost:9200/_cat/indices?v&pretty'
结果应该如下:
者简介:
钱冰, 埃森哲咨询架构师, 擅长分布式应用设计和开发, Devops实施, 敏捷组织转型, 14年IT行业经验.
欢迎投稿或加入开发者社区特约专家, 分享更多理念和技术主张。
以上是关于Kibana6 入门1 - 加载样例数据的主要内容,如果未能解决你的问题,请参考以下文章