ELK 堆栈是一个首字母缩略词,用于描述包含三个流行项目的堆栈:Elasticsearch、Logstash 和 Kibana。它旨在实时收集数据,分析和可视化。
在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 ELK Stack
第 1 步。首先,通过在终端中运行以下命令,确保所有系统软件包都是最新的。apt
sudo apt update sudo apt upgrade sudo apt install build-essential checkinstall zlib1g-dev libssl-dev
第 2 步。安装 Java OpenJDK。
ELK 基于 Java,因此您需要在服务器上安装 Java JDK。让我们运行以下命令来安装默认的 JDK 版本 11:
sudo apt install default-jdk
使用以下命令验证 Java 版本:
java --version
有关安装和管理Java OpenJDK的其他资源,请阅读下面的文章:
- 如何在 Ubuntu Linux √ 上安装 OpenJDK
第 3 步。安装Nginx。
ELK Stack需要Nginx,但Nginx附带了多个实用程序,您可能会发现它们很有帮助。现在运行以下命令将 Nginx Web 服务器安装到您的 Ubuntu 系统中:
sudo apt install nginx
成功安装后,启用 Nginx(在系统启动时自动启动)、启动并使用以下命令验证状态:
sudo systemctl enable nginx sudo systemctl start nginx sudo systemctl status nginx
确认安装并检查已安装的 Nginx 构建版本:
nginx -v
有关安装和管理 Nginx 的其他资源,请阅读下面的帖子:
- 如何在 Ubuntu Linux √ 上安装 Nginx
第 4 步。安装 Elasticsearch。
默认情况下,Elasticsearch 在 Ubuntu 22.04 基础存储库中不可用。现在运行以下命令,将 Elasticsearch 存储库添加到您的 Ubuntu 系统中:
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
接下来,导入 GPG 密钥:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
启用存储库后,现在使用以下命令安装最新版本的 Elasticsearch:
sudo apt update sudo apt install elasticsearch
Elasticsearch 服务在安装后不会自动启动,要启动该服务并在系统启动时启用它,请键入以下命令:systemctl
sudo systemctl enable elasticsearch sudo systemctl start elasticsearch sudo systemctl status elasticsearch
安装完成后,使用收藏的文本编辑器打开 Elasticsearch 的配置文件:
nano /etc/elasticsearch/elasticsearch.yml
找到指定 的行,取消注释它并将其值替换为,使其读作如下:network.host
localhost
# ---------------------------------- Network ----------------------------------- # # Set the bind address to a specific IP (IPv4 or IPv6): # network.host: localhost . . .
保存并退出文件,然后重新启动 Elasticsearch 服务以使更改生效:
sudo systemctl restart elasticsearch
有关安装和管理 Elasticsearch 的其他资源,请阅读下面的帖子:
- 如何在 Ubuntu Linux √ 上安装 Elasticsearch
第5步。安装 Kibana。
请按照以下步骤在 Ubuntu 系统上安装 Kibana:
sudo apt install kibana
Kibana 服务在安装后不会自动启动,要启动该服务并在系统引导时启用它,请键入以下命令:systemctl
sudo systemctl enable kibana sudo systemctl start kibana
默认情况下,Kibana 被设计为侦听 “”。因此,您需要反向代理以允许外部访问它。这将使用Nginx完成。首先,使用以下命令设置新的用户名和密码以访问 Kibana:localhost
openssl
echo "username:`openssl password -apr1`" | sudo tee -a /etc/nginx/htpasswd.users
接下来,使用以下命令创建 Nginx 服务器块文件:
nano /etc/nginx/sites-available/filename
添加以下文件:
server { listen 80; server_name your-domain.com; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.users; location / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }
保存并退出文件,然后重新启动 Nginx 服务以使更改生效:
sudo systemctl restart nginx
第 6 步。安装日志。
我们将使用以下命令安装 Logstash:
sudo apt install logstash
Logstash 服务在安装后不会自动启动,要启动该服务并在系统引导时启用它,请键入以下命令:systemctl
sudo systemctl enable logstash sudo systemctl start logstash
要配置 Logstash,您可以根据需要自定义其输入、输出和过滤器。根据需要设置数据传输速率和要过滤的数据,以便您可以充分利用 ELK Stack 应用程序。
感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 ELK Stack。有关其他帮助或有用信息,我们建议您查看 ELK Stack 官方网站。