如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

CentOS安装ELK栈教程介绍ELK 栈是一组用于管理日志的开源软件包。它通常用于服务器日志,但对于生成大量数据集的任何项目也很灵活(有弹性)。CentOS如何安装ELK栈?本指南向你展示如何在 CentOS 8 服务器上安装 ELK 栈(Elasticsearch、Logstash 和 Kibana)。先决条件

  • 安装了CentOS 8 的系统
  • 访问终端窗口/命令行(搜索> 终端)
  • 具有sudo  或  root  权限的用户帐户
  • Java 版本 8 或 11(Logstash 需要)
ELK 栈代表什么?ELK 代表 Elasticsearch、Logstash 和 Kibana。它们是ELK 栈的三个组件。Elasticsearch(索引数据)——这是 Elastic 软件的核心。Elasticsearch 是一种用于对数据进行排序的搜索和分析引擎。Logstash(收集数据)——这个包连接到各种数据源,整理它,并将其定向到存储。顾名思义,它收集并“隐藏”你的日志文件。Kibana(可视化数据)——  Kibana是一种用于可视化数据的图形工具。使用它生成图表和图形,以了解数据库中的原始数据。注意:在撰写本文时,Elasticsearch 的最新版本为 7.6.2。ELK 栈的所有包必须是相同的版本,栈才能正常运行。第 1 步:安装 OpenJDK 8 Java如何在CentOS上安装ELK栈?如果你的系统上已经安装了 Java 8(或 11),则可以跳过此步骤。否则,打开终端窗口,然后输入以下内容:
sudo yum install java-1.8.0-openjdk

系统将检查存储库,然后提示你确认安装。键入  Y  然后  回车。允许该过程完成。
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
注意:有关详细指南,请参阅如何在 CentOS 8 上安装 Java。第 2 步:添加 Elasticsearch 存储库ELK 栈可以使用 YUM 包管理器下载和安装。但是,该软件不包含在默认存储库中。导入 Elasticsearch PGP 密钥
打开终端窗口,然后输入以下代码:
sudo rpm ––import https://artifacts.elastic.co/GPG-KEY-elasticsearch

这会将 Elasticsearch 公共签名密钥添加到你的系统。当你下载 Elasticsearch 软件时,此密钥将对其进行验证。添加 Elasticsearch RPM 存储库
CentOS如何安装ELK栈?你需要在/etc/yum.repos.d/ 中创建存储库配置文件。首先进入目录:
cd /etc/yum.repos.d/

接下来,在你选择的文本编辑器中创建配置文件(我们使用的是 Vim):
sudo vim elasticsearch.repo

键入或复制以下行:
[ elasticstack] name=Elastic repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md

如果使用 Vim,请按Esc然后键入:wq并按Enter。
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
最后,更新你的存储库的包列表:
dnf update

注意:此存储库授予对整个 ELK 栈的访问权限。第 3 步:安装和设置 Elasticsearch如何在CentOS上安装ELK栈?安装顺序很重要。首先安装 Elasticsearch。在终端窗口中,输入以下命令:
sudo dnf install elasticsearch

这将扫描你所有存储库中的 Elasticsearch 包。
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
系统会计算下载大小,然后提示你确认安装。键入Y然后回车。
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
CentOS安装ELK栈教程:配置 Elasticsearch
安装完成后,/etc/elasticsearch/elasticsearch.yml使用文本编辑器打开并编辑配置文件:
sudo vim /etc/elasticsearch/elasticsearch.yml

向下滚动到标记为 的部分NETWORK。在该条目下方,你应该看到以下几行:
# Set the bind address to a specific IP (IPv4 or IPv6): # #network.host: 192.168.0.1 # # Set a custom port for HTTP: # #http.port: 9200

network.host如果在本地设置单个节点,请将其调整为你服务器的 IP 地址或将其设置为 localhost。也调整一下http.port
# Set the bind address to a specific IP (IPv4 or IPv6): # network.host: localhost # # Set a custom port for HTTP: # http.port: 9200

有关更多详细信息,请参见下图:
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
如果使用 Vim,请按ESC,键入:wq并点击Enter以保存更改并退出。启动 Elasticsearch
重新启动系统以使更改生效:
sudo reboot

系统重启后,启动elasticsearch服务:
sudo systemctl start elasticsearch

如果命令执行正确,则不会有任何输出。现在,将服务设置为在启动时启动:
sudo systemctl enable elasticsearch

如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
CentOS安装ELK栈教程:测试 Elasticsearch
测试软件以确保它响应连接:
curl -X GET "localhost:9200"

系统应显示完整的信息列表。在第二行,你应该看到cluster_name设置为elasticsearch。这证实了 Elasticsearch 正在运行,并且正在监听端口 9200。
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
第 4 步:安装和设置 KibanaCentOS如何安装ELK栈?Kibana 是用于解析和解释日志文件的图形界面。Kibana 使用与 Elasticsearch 相同的 GPG 密钥,因此你无需重新导入密钥。此外,Kibana 包与 Elasticsearch 位于同一个 ELK 栈存储库中。因此,无需创建另一个存储库配置文件。要安装 Kibanra,请打开终端窗口,输入以下内容:
sudo dnf install kibana

系统将扫描存储库,然后提示确认。键入y然后Enter并允许该过程完成。
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
配置 Kibana
如何在CentOS上安装ELK栈?与 Elasticsearch 一样,你需要为Kibana编辑.yml配置文件。打开kibana.yml文件进行编辑:
sudo vim /etc/kibana/kibana.yml

找到以下几行,并删除该行开头的#符号:
#server.port: 5601

#server.host: "localhost"

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

这些行现在应该如下所示:
server.port: 5601

server.host: "localhost"

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

有关更多详细信息,请参见下图。
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
要分配自定义名称,请编辑该server.name行。根据需要进行任何其他编辑。保存文件并退出(按Esc,键入:wq并按Enter)。注意:该elasticsearch.hosts行可能会elasticsearch.url在某些旧版本中列出。此外,你的系统可能会替代127.0.0.1:9200localhost:9200线路。它们都指的是你正在处理的系统。CentOS安装ELK栈教程:启动并启用 Kibana接下来,启动并启用 Kibana 服务:
sudo systemctl start kibana

sudo systemctl enable kibana

如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
允许端口 5601 上的流量
如果  你的 CentOS 系统上启用了firewalld,你需要  允许端口 5601 上的流量。在终端窗口中,运行以下命令:
firewall-cmd --add-port=5601/tcp --permanent

接下来,重新加载 firewalld 服务:
firewall-cmd --reload

如果你打算从外部机器访问 Kibana 仪表板,则上述操作是先决条件。CentOS如何安装ELK栈:测试 Kibana
打开 Web 浏览器,然后输入以下地址:
http:/ / localhost:5601

系统应该开始加载 Kibana 仪表板。
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
第 5 步:安装和设置 LogstashLogstash 是一种从不同来源收集数据的工具。它收集的数据由 Kibana 解析并存储在 Elasticsearch 中。与 ELK 栈的其他部分一样,Logstash 使用相同的 Elastic GPG 密钥和存储库。要在 CentOS 8 上安装 logstash,请在终端窗口中输入命令:
sudo dnf install logstash

如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
键入Y并按Enter以确认安装。配置 Logstash
将所有自定义配置文件存储在/etc/logstash/conf.d/目录中。配置很大程度上取决于你的用例和使用的插件。自定义配置示例请参考Logstash配置示例。启动 Logstash
启动并启用 Logstash 服务:
sudo systemctl start logstash

sudo systemctl enable logstash

如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
你现在应该已经安装了 Elasticsearch,以及 Kibana 仪表板和 Logstash 数据收集管道。第 6 步:安装 Filebeat如何在CentOS上安装ELK栈?为了简化日志记录,请安装一个名为Filebeat的轻量级模块。Filebeat 是集中数据流的日志传送器。要安装 Filebeat,请打开终端窗口并运行以下命令:
sudo yum install filebeat

如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
注意:确保 Kibana 服务在安装过程中启动并运行。接下来,添加  系统  模块,它将检查本地系统日志:
sudo filebeat modules enable system

接下来,运行 Filebeat 设置:
sudo filebeat setup

系统会做一些工作,扫描你的系统并连接到你的 Kibana 仪表板。CentOS如何安装ELK栈?启动 Filebeat 服务:
sudo service filebeat start

如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
通过访问以下地址在浏览器中启动 Kibana 仪表板:
http:/ / localhost:5601

在左列中,单击日志选项卡。找到并点击直播链接。你现在应该会看到本地日志文件的实时数据流。
如何在CentOS 8上安装ELK栈(Elasticsearch、Logstash和Kibana)

文章图片
CentOS如何安装ELK栈
注意:默认情况下,Filebeat 将文件直接记录到 Elasticsearch 中。要自定义 Filebeat,请编辑 /etc/filebeat/filebeat.yml 配置文件。自定义配置选项请参考Filebeat 的官方文档。CentOS安装ELK栈教程结论如何在CentOS上安装ELK栈?你现在应该在 CentOS 8 系统上安装了 ELK 栈。ELK 栈通常用于收集、搜索、分析和显示有关 IT 环境的信息。Elasticsearch 及其相关工具对于监控日志非常强大。你可以使用 Logstash 配置输入和输出、过滤数据和自定义数据流。使用 Kibana 轻松浏览日志文件。

    推荐阅读