如何在Ubuntu 18.04/20.04上安装ELK软件栈()

Ubuntu ELK软件栈安装教程介绍ELK 栈是一组用于检索和管理日志文件的应用程序。
它是三个开源工具Elasticsearch、Kibana和Logstash 的集合。栈可以使用Beats进一步升级,Beats是一个轻量级插件,用于聚合来自不同数据流的数据。
Ubuntu如何安装ELK软件栈?在本教程中,学习如何在 Ubuntu 18.04 / 20.04 上安装 ELK 软件栈。
先决条件

  • 运行 Ubuntu 20.04 或 18.04 的 Linux 系统
  • 访问终端窗口/命令行(搜索> 终端)
  • 具有sudo  或  root  权限的用户帐户
  • Java 版本 8 或 11(Logstash 需要)
第 1 步:安装依赖项安装 Java
ELK 栈需要安装 Java 8。某些组件与 Java 9 兼容,但与 Logstash 不兼容。
注意:要检查你的 Java 版本,请输入以下内容:
java -version

你正在寻找的输出是1.8.x_xxx.  这将表明已安装 Java 8。
如果你已经安装了 Java 8,请跳至安装 Nginx。
1. 如果你没有安装 Java 8,请打开终端窗口并输入以下内容进行安装:
sudo apt-get install openjdk-8-jdk

2. 如果出现提示,请键入y并按Enter  以完成该过程。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
安装 Nginx
Nginx 用作 Web 服务器和代理服务器。它用于配置对 Kibana 仪表板的密码控制访问。
1. 通过输入以下内容安装 Nginx:
sudo apt-get install nginx

2. 如果出现提示,请键入y并按Enter以完成该过程。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
注意:有关其他教程,请按照我们在 Ubuntu上安装 Nginx和为 Kibana 设置 Nginx 反向代理的指南
第 2 步:添加弹性存储库如何在Ubuntu上安装ELK软件栈?弹性存储库允许访问 ELK 栈中的所有开源软件。要添加它们,首先要导入 GPG 密钥。
1. 在终端窗口中输入以下内容以导入 Elastic 的 PGP 密钥:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

2. 系统应响应OK,如下图所示。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片

3. 接下来,安装apt-transport-https包:
sudo apt-get install apt-transport-https

4. 将 Elastic 存储库添加到你系统的存储库列表中:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee –a /etc/apt/sources.list.d/elastic-7.x.list

如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
第 3 步:安装 Elasticsearch1. 在安装 Elasticsearch 之前,输入以下命令更新存储库:
sudo apt-get update

2. 使用以下命令安装 Elasticsearch:
sudo apt-get install elasticsearch

如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
配置 Elasticsearch
1. Ubuntu如何安装ELK软件栈?Elasticsearch 使用一个配置文件来控制它的行为方式。打开配置文件以在你选择的文本编辑器中进行编辑。我们将使用纳米:
sudo nano /etc/elasticsearch/elasticsearch.yml

2. 你应该会看到一个包含多个不同条目和描述的配置文件。向下滚动以找到以下条目:
#network.host: 192.168.0.1

#http.port: 9200

3.取消注释通过删除行散列(#)符号在两个行的开头和替换192.168.0.1localhost
它应该是:
network.host: localhost

http.port: 9200

如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
4. 就在下面,找到发现部分。我们再添加一行,因为我们正在配置一个单节点集群:
discovery.type: single-node

有关更多详细信息,请参见下图。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
5. 默认情况下,JVM 堆大小设置为 1GB。我们建议将其设置为不超过总内存大小的一半。打开以下文件进行编辑:
sudo nano /etc/elasticsearch/jvm.options

6. 找出以-Xms和开头的行-Xmx。在下面的示例中,最大 (  -Xmx) 和最小 (  -Xms) 大小设置为 512MB。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
Ubuntu ELK软件栈安装教程:启动 Elasticsearch
1. 通过运行以下systemctl命令启动 Elasticsearch 服务:
sudo systemctl start elasticsearch.service

系统启动服务可能需要一些时间。成功的话不会有任何输出。
2. 启用 Elasticsearch 以在启动时启动:
sudo systemctl enable elasticsearch.service

如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
测试 Elasticsearch
使用该curl命令来测试你的配置。输入以下内容:
curl -X GET "localhost:9200"

应该显示你的系统名称,以及集群名称的elasticsearch。这表明 Elasticsearch 可以正常工作并且正在侦听端口 9200。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
第 4 步:安装 Kibana建议接下来安装 Kibana。Kibana 是一个图形用户界面,用于解析和解释收集的日志文件。
1. 运行以下命令安装 Kibana:
sudo apt-get install kibana

2. 让过程完成。完成后,是时候配置 Kibana 了。
Ubuntu如何安装ELK软件栈:配置 Kibana
1、接下来打开kibana.yml  配置文件进行编辑:
sudo nano /etc/kibana/kibana.yml

2. 删除#  以下行开头的标志以激活它们:
#server.port: 5601

#server.host: "your-hostname"

#elasticsearch.hosts: [ "http://localhost:9200"]

上述行应如下所示:
server.port: 5601

server.host: "localhost"

elasticsearch.hosts: [ "http://localhost:9200"]

3. 保存文件 (Ctrl+  o) 并退出 (Ctrl+  )。  x
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
注意:此配置允许来自配置 Elasticstack 的同一系统的流量。你可以将该server.host值设置为远程服务器的地址。
启动并启用 Kibana
1. 启动 Kibana 服务:
sudo systemctl start kibana

如果服务启动成功,则没有输出。
2. 接下来,将 Kibana 配置为在启动时启动:
sudo systemctl enable kibana

如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
允许端口 5601 上的流量
如果你的 Ubuntu 系统上启用了UFW 防火墙,你需要允许端口 5601上的流量  访问 Kibana 仪表板。
在终端窗口中,运行以下命令:
sudo ufw allow 5601/tcp

应显示以下输出:
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
Ubuntu ELK软件栈安装教程:测试 Kibana
要访问 Kibana,请打开 Web 浏览器并浏览到以下地址:
http:/ / localhost:5601

Kibana 仪表板加载。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
如果你收到  “Kibana 服务器尚未准备好”  错误,请检查 Elasticsearch 和 Kibana 服务是否处于活动状态。
注意:查看我们深入的Kibana 教程,了解可视化和数据查询所需的一切。
第 5 步:安装 LogstashLogstash 是一种从不同来源收集数据的工具。它收集的数据由 Kibana 解析并存储在 Elasticsearch 中。
通过运行以下命令安装 Logstash:
sudo apt-get install logstash

启动和启用 Logstash
1、启动Logstash服务:
sudo systemctl start logstash

2.启用Logstash服务:
sudo systemctl enable logstash

3. 要检查服务的状态,请运行以下命令:
sudo systemctl status logstash

如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
配置 Logstash
如何在Ubuntu上安装ELK软件栈?Logstash 是 ELK 栈中高度可定制的部分。安装后,根据你自己的个人用例配置其INPUT、FILTERS和OUTPUT管道。
所有自定义 Logstash 配置文件都存储在/etc/logstash/conf.d/ 中。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
注意:考虑以下Logstash 配置示例并根据你的需要调整配置。
第 6 步:安装 FilebeatFilebeat是一个轻量级插件,用于收集和发送日志文件。它是最常用的 Beats 模块。Filebeat 的主要优势之一是,如果 Logstash 服务被数据淹没,它会减慢速度。
通过运行以下命令安装 Filebeat:
sudo apt-get install filebeat

让安装完成。
注意:确保 Kibana 服务在安装和配置过程中启动并运行。
配置 Filebeat
Ubuntu如何安装ELK软件栈?默认情况下,Filebeat 将数据发送到 Elasticsearch。Filebeat 还可以配置为将事件数据发送到 Logstash。
1. 要配置它,请编辑filebeat.yml  配置文件:
sudo nano /etc/filebeat/filebeat.yml

2. 在Elasticsearch  o  utput部分下,注释掉以下几行:
# output.elasticsearch: # Array of hosts to connect to. # hosts: [ "localhost:9200"]

3. 在Logstash 输出部分下,删除#以下两行中的号(  ):
# output.logstash # hosts: [ "localhost:5044"]

它应该是这样的:
output.logstash hosts: [ "localhost:5044"]

有关更多详细信息,请参见下图。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
4. 接下来,启用Filebeat 系统模块,它将检查本地系统日志:
sudo filebeat modules enable system

输出应为Enabled system.
5.接下来,加载索引模板:
sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=[ "localhost:9200"]'

系统会做一些工作,扫描你的系统并连接到你的 Kibana 仪表板。
如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
启动并启用 Filebeat
如何在Ubuntu上安装ELK软件栈?启动并启用 Filebeat 服务:
sudo systemctl start filebeat

sudo systemctl enable filebeat

验证 Elasticsearch 接收数据
最后,验证 Filebeat 是否将日志文件传送到 Logstash 进行处理。处理后,数据将发送到 Elasticsearch。
curl -XGET http://localhost:9200/_cat/indices?v

如何在Ubuntu 18.04/20.04上安装ELK软件栈()

文章图片
注意:有关健康状态指标的更多详细信息,请参阅Elastic 的 Cluster Health文档。
Ubuntu ELK软件栈安装教程结论Ubuntu如何安装ELK软件栈?现在你在 Ubuntu 系统上安装了一个功能齐全的 ELK 栈。我们建议定义你的要求并开始根据你的需要调整 ELK。这个强大的监控工具可以针对个别用例进行定制。
【如何在Ubuntu 18.04/20.04上安装ELK软件栈()】使用 Logstash 自定义数据流,使用不同的 Beats 模块收集各种类型的数据,并利用 Kibana 轻松浏览日志文件。

    推荐阅读