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

2021年11月20日20:02:13 发表评论 1,421 次浏览

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 步:安装和设置 Kibana

CentOS如何安装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 步:安装和设置 Logstash

Logstash 是一种从不同来源收集数据的工具。它收集的数据由 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 轻松浏览日志文件。
木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: