- Kibana 教程
- Kibana - 首页
- Kibana - 概述
- Kibana - 环境设置
- Kibana - ELK堆栈介绍
- Kibana - 加载示例数据
- Kibana - 管理
- Kibana - 探索 (Discover)
- Kibana - 聚合和指标
- Kibana - 创建可视化
- Kibana - 使用图表
- Kibana - 使用图形
- Kibana - 使用热力图
- 使用坐标地图
- Kibana - 使用区域地图
- 使用仪表和目标
- Kibana - 使用画布 (Canvas)
- Kibana - 创建仪表板
- Kibana - Timelion
- Kibana - 开发工具 (Dev Tools)
- Kibana - 监控
- 使用Kibana创建报表
- Kibana有用资源
- Kibana - 快速指南
- Kibana - 有用资源
- Kibana - 讨论
Kibana - ELK堆栈介绍
Kibana是一个开源的可视化工具,主要用于分析大量日志,形式包括折线图、条形图、饼图、热力图等。Kibana与Elasticsearch和Logstash协同工作,共同构成所谓的ELK堆栈。
ELK代表Elasticsearch、Logstash和Kibana。ELK是全球流行的日志管理平台之一,用于日志分析。
在ELK堆栈中:
Logstash从不同的输入源提取日志数据或其他事件。它处理这些事件,然后将其存储在Elasticsearch中。
Kibana是一个可视化工具,它从Elasticsearch访问日志,并能够以折线图、条形图、饼图等形式向用户显示。
在本教程中,我们将紧密结合Kibana和Elasticsearch,并以不同的形式可视化数据。
在本章中,让我们了解如何将ELK堆栈结合使用。此外,您还将看到如何:
- 将CSV数据从Logstash加载到Elasticsearch。
- 在Kibana中使用Elasticsearch中的索引。
将CSV数据从Logstash加载到Elasticsearch
我们将使用CSV数据通过Logstash将数据上传到Elasticsearch。为了进行数据分析,我们可以从kaggle.com网站获取数据。Kaggle.com网站上传了各种类型的数据,用户可以使用它进行数据分析。
我们从这里获取了countries.csv数据:https://www.kaggle.com/fernandol/countries-of-the-world。您可以下载csv文件并使用它。
我们将要使用的csv文件包含以下详细信息。
文件名 - countriesdata.csv
列 - “国家”,“地区”,“人口”,“面积”
您也可以创建一个虚拟csv文件并使用它。我们将使用logstash将此数据从countriesdata.csv转储到elasticsearch。
在您的终端启动elasticsearch和Kibana,并保持运行状态。我们必须为logstash创建配置文件,其中包含有关CSV文件列以及其他详细信息,如下所示的logstash-config文件中所示:
input {
file {
path => "C:/kibanaproject/countriesdata.csv"
start_position => "beginning"
sincedb_path => "NUL"
}
}
filter {
csv {
separator => ","
columns => ["Country","Region","Population","Area"]
}
mutate {convert => ["Population", "integer"]}
mutate {convert => ["Area", "integer"]}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
=> "countriesdata-%{+dd.MM.YYYY}"
}
stdout {codec => json_lines }
}
在配置文件中,我们创建了3个组件:
输入
我们需要指定输入文件的路径,在本例中为csv文件。csv文件存储的路径提供给path字段。
过滤器
将包含csv组件及其使用的分隔符(在本例中为逗号),以及csv文件的可用列。由于logstash将所有传入数据视为字符串,如果我们想将任何列用作整数或浮点数,则必须使用mutate进行指定,如上所示。
输出
对于输出,我们需要指定需要放置数据的位置。在这里,在本例中我们使用的是elasticsearch。需要提供给elasticsearch的数据是其运行的主机,我们将其指定为localhost。下一个字段是index,我们将其命名为countries-currentdate。一旦数据更新到Elasticsearch,我们必须在Kibana中使用相同的索引。
将上述配置文件保存为logstash_countries.config。请注意,在下一步中,我们需要将此配置文件的路径提供给logstash命令。
要将数据从csv文件加载到elasticsearch,我们需要启动elasticsearch服务器:
现在,在浏览器中运行https://:9200以确认elasticsearch是否成功运行。
我们的elasticsearch正在运行。现在转到安装logstash的路径,并运行以下命令将数据上传到elasticsearch。
> logstash -f logstash_countries.conf
以上屏幕显示了从CSV文件加载数据到Elasticsearch的过程。要了解我们是否在Elasticsearch中创建了索引,我们可以按如下方式检查:
我们可以看到如上所示创建的countriesdata-28.12.2018索引。
索引countries-28.12.2018的详细信息如下:
请注意,当从logstash上传数据到elasticsearch时,会创建具有属性的映射详细信息。
在Kibana中使用Elasticsearch中的数据
目前,我们的Kibana在localhost端口5601上运行 - https://:5601。Kibana的UI显示在此处:
请注意,我们已经将Kibana连接到Elasticsearch,我们应该能够在Kibana中看到索引:countries-28.12.2018。
在Kibana UI中,单击左侧的管理菜单选项:
现在,单击索引管理:
Elasticsearch中存在的索引显示在索引管理中。我们将在Kibana中使用的索引是countriesdata-28.12.2018。
因此,由于我们已经在Kibana中拥有elasticsearch索引,接下来我们将了解如何在Kibana中使用该索引以饼图、条形图、折线图等形式可视化数据。