Kibana入门
准备好与Kibana获得一些实践经验? 本教程将向您展示如何:
- 将示例数据集加载到Elasticsearch中
- 定义索引模式
- 发现并探索样本数据
- 可视化数据
- 将可视化组合到仪表板中
在开始之前,请确保已安装Kibana(https://www.elastic.co/guide/en/kibana/current/install.html)并建立与Elasticsearch的连接(https://www.elastic.co/guide/en/kibana/6.3/connect-to-elasticsearch.html)。 您可能还对Kibana入门****感兴趣。
如果您在Elastic Cloud(https://cloud.elastic.co/login)上运行我们托管的Elasticsearch Service,只需单击一下即可访问Kibana。
加载样本数据
本教程需要三个数据集:
威廉莎士比亚的全部作品,适当地解析成领域。 下载shakespeare.json。
一组带有随机生成数据的虚构帐户。 下载accounts.zip。
一组随机生成的日志文件。 下载logs.jsonl.gz。
其中两个数据集是压缩的。 要提取文件,请使用以下命令:
unzip accounts.zip
gunzip logs.jsonl.gz
莎士比亚数据集具有以下结构:
帐户数据集的结构如下:
日志数据集有许多不同的字段。 以下是本教程的重要字段:
在加载莎士比亚和日志数据集之前,必须为字段设置映射。 映射将索引中的文档划分为逻辑组,并指定字段的特征。 这些特征包括字段的可搜索性以及它是否被标记化,或者分解为单独的单词。
在Kibana Dev Tools> Console中,设置莎士比亚数据集的映射:
此映射指定数据集的字段特征:
- speaker和play_name字段是关键字字段。 这些字段未分析。 即使字符串包含多个单词,它们也会被视为一个单元。
- line_id和speech_number字段是整数。
日志数据集需要映射以通过应用geo_point类型将纬度和经度对标记为地理位置。
帐户数据集不需要任何映射。
此时,您已准备好使用Elasticsearch批量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
或者对于Windows用户,在Powershell中:
Invoke-RestMethod "http://localhost:9200/bank/account/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "accounts.json"
Invoke-RestMethod "http://localhost:9200/shakespeare/doc/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "shakespeare_6.0.json"
Invoke-RestMethod "http://localhost:9200/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "logs.jsonl"
这些命令可能需要一些时间才能执行,具体取决于可用的计算资源。
验证加载成功:
您的输出应该类似于:
error:
solution:
please put the demo in Dev Tools:
PUT /bank
{
"mappings": {
"account": {
"properties": {
}
}
}
}
in the end
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "bank"
}