📜  Kibana-麋鹿堆栈简介

📅  最后修改于: 2020-11-30 05:14:02             🧑  作者: Mango


Kibana是一种开源可视化工具,主要用于分析线形图,条形图,饼图,热图等形式的大量日志。Kibana与Elasticsearch和Logstash协同工作,两者共同形成了所谓的ELK堆栈。

ELK代表Elasticsearch,Logstash和Kibana。 ELK是全球流行的日志管理平台之一,用于日志分析。

在ELK堆栈中-

  • Logstash从不同的输入源中提取日志记录数据或其他事件。它处理事件,然后将其存储在Elasticsearch中。

  • Kibana是一种可视化工具,可从Elasticsearch访问日志,并能够以折线图,条形图,饼图等形式向用户显示。

在本教程中,我们将与Kibana和Elasticsearch紧密合作,以不同形式可视化数据。

在本章中,让我们了解如何一起使用ELK堆栈。此外,您还将看到如何-

  • 将Logstash的CSV数据加载到Elasticsearch中。
  • 使用Kibana中Elasticsearch的索引。

将CSV数据从Logstash加载到Elasticsearch

我们将使用CSV数据使用Logstash将数据上传到Elasticsearch。要进行数据分析,我们可以从kaggle.com网站获取数据。 Kaggle.com网站上载了所有类型的数据,用户可以使用它来进行数据分析。

我们已从此处获取country.csv数据: https : //www.kaggle.com/fernandol/countries-of-the-world 。您可以下载csv文件并使用它。

我们将使用的csv文件具有以下详细信息。

文件名-countrydata.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。在未来的领域是我们给予的名称作为国家-currentdate指数。在Elasticsearch中更新数据后,我们必须在Kibana中使用相同的索引。

将上述配置文件另存为logstash_countries.config 。请注意,在下一步中,我们需要将此配置的路径提供给logstash命令。

要将数据从csv文件加载到elasticsearch,我们需要启动elasticsearch服务器-

启动Elasticsearch Server

现在,在浏览器中运行http:// localhost:9200以确认elasticsearch是否成功运行。

Elasticsearch运行

我们正在运行Elasticsearch。现在转到安装logstash的路径,然后运行以下命令将数据上传到elasticsearch。

> logstash -f logstash_countries.conf

Elasticsearch命令提示符

Elasticsearch上传数据

上面的屏幕显示了从CSV文件到Elasticsearch的数据加载。要知道我们是否在Elasticsearch中创建了索引,我们可以如下进行检查-

我们可以看到如上所述创建的countrysdata-28.12.2018索引。

国家数据索引

该指数的详细信息-country-28.12.2018如下-

国家数据详细索引

请注意,当从logstash上传数据到elasticsearch时,将创建具有属性的映射详细信息。

在Kibana中使用来自Elasticsearch的数据

当前,我们有Kibana运行在localhost,端口5601- http:// localhost:5601上。 Kibana的UI如下所示-

Kibana跑步

请注意,我们已经将Kibana连接到Elasticsearch,并且应该能够在Kibana中看到index:countries- 28.12.2018。

在Kibana UI中,单击左侧的“管理菜单”选项-

管理菜单

现在,单击索引管理-

索引管理

Elasticsearch中存在的索引显示在索引管理中。我们将在Kibana中使用的索引是countrysdata-28.12.2018。

因此,由于我们已经在Kibana中有了elasticsearch索引,因此接下来将了解如何在Kibana中使用该索引以饼图,条形图,折线图等形式显示数据。