ELK Stack 是三个广泛使用的开源项目组合的首字母缩写词:E=Elasticsearch、L =Logstash,K=Kibana。随着 Beats 的加入,ELK Stack 现在被称为 Elastic Stack。ELK 平台允许您以快速、可扩展和可靠的方式对从多个来源生成的数据进行整合、处理、监控和执行分析。elk-stack-logoelk-stack-logo

在 AlmaLinux 8 上安装 ELK 堆栈

第 1 步。首先,让我们首先确保您的系统是最新的。

sudo dnf update
sudo dnf install epel-release
sudo dnf --enablerepo=epel group

步骤 2. 安装 Java。

Elasticsearch 依赖于 Java,必须使用以下命令将其安装在系统上:

sudo dnf install java-11-openjdk-devel

安装完成后检查 Java 版本:

java -version

步骤 3. 在 AlmaLinux 8 上安装 Elasticsearch。

默认情况下,Elasticsearch 在 AlmaLinux 8 基础存储库中不可用。现在为 Elasticsearch rpm 包安装 GPG 密钥:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

然后,为 Elasticsearch 创建一个 yum 存储库文件:

nano /etc/yum.repos.d/elasticsearch.repo

添加以下行:

[elasticsearch-7.x]
name=Elasticsearch 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

完成后,使用以下命令安装 Elasticsearch 包:

sudo dnf update
sudo dnf install elasticsearch

安装完成后我们需要启动 Elasticsearch 服务器才能开始运行。我们使用以下命令执行此操作:

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
sudo systemctl status elasticsearch

验证 Elasticsearch 是否按预期运行:

curl -X GET \"localhost:9200\"

输出:

[root@idroot ~]# curl -X GET \"localhost:9200/\"
{
  \"name\" : \"idroot\",
  \"cluster_name\" : \"elasticsearch\",
  \"cluster_uuid\" : \"5umeiTVNkimpo1eiUw\",
  \"version\" : {
    \"number\" : \"7.14.0\",
    \"build_flavor\" : \"default\",
    \"build_type\" : \"rpm\",
    \"build_hash\" : \"5ca8591c6fcdbgodet95b08a8e023559635c6f3\",
    \"build_date\" : \"2022-01-04T12:11:25.0817410060Z\",
    \"build_snapshot\" : false,
    \"lucene_version\" : \"8.8.8\",
    \"minimum_wire_compatibility_version\" : \"6.8.0\",
    \"minimum_index_compatibility_version\" : \"6.0.0-beta1\"
  },
  \"tagline\" : \"You Know, for Search\"
}

步骤 4. 安装 Kibana。

Kibana 是 Elasticsearch 的可视化界面,它允许我们搜索和可视化我们的数据。现在运行以下命令来安装它:

sudo dnf install kibana

安装完成后,我们需要配置 Kibana 允许远程访问,我将配置 Kibana 监听任意 IP:

sudo nano /etc/kibana/kibana.yml

添加以下文件:

server.host: \"0.0.0.0\"
server.name: \"idroot-almalinux\"
elasticsearch.url: \"http://localhost:9200\"

接下来,启动 Kibana 服务器开始运行。我们使用以下命令执行此操作:

sudo systemctl enable --now kibana

步骤 5. 安装 Logstash。

现在我们运行以下命令将 Logstash 安装到您的 AlmaLinux 系统:

sudo dnf install logstash

接下来,我们需要自定义配置,将 Logstash 应用程序指向在端口 9200 上运行在同一主机上的 Elasticsearch 应用程序:

sudo nano /etc/logstash/conf.d/logstash.conf

添加以下文件:

input {
  beats {
    port => 5044
  }
}
output {
  elasticsearch {
    hosts => [\"localhost:9200\"]
    manage_template => false
    index => \"%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}\"
  }
}

最后,启动 Logstash 服务,让它随系统自动启动:

sudo systemctl start logstash
sudo systemctl enable logstash

步骤 6. 安装和配置 Filebeat。

Filebeat 是 ELK stack 用户中最受欢迎的 Beats 之一,旨在读取大量文件。要在 AlmaLinux 8 上安装 Filebeat,请运行以下命令:

sudo dnf install filebeat

Filebeat 包含用于在 Linux 系统上传送不同类型日志的模块。您可以列出可用模块并根据您希望启用的内容启用它们:

sudo filebeat modules list

要启用模块,请运行以下命令,指定要启用的模块:

sudo filebeat modules enable [module]

接下来,启动 Filebeat 服务并使其随系统自动启动:

sudo systemctl start filebeat
sudo systemctl enable filebeat

步骤 7. 访问 ELK 仪表板界面。

成功安装后,打开您的 Web 浏览器并输入 URL以访问 YetiForce Web UI。您应该看到以下屏幕:https://your-IP-address:5601

ELK-stack-interfaceELK-stack-interface

感谢您使用本教程在您的 AlmaLinux 8 系统上安装 ELK 堆栈。如需其他帮助或有用信息,我们建议您查看官方 ELK Stack 网站。