在 Ubuntu 上离线安装 ELK(Elasticsearch、Logstash、Kibana)的完整步骤如下:
一.安装验证
二.安装步骤
1. 在联网机器上准备离线包
(1) 安装依赖工具
#联网机器
sudo apt update
sudo apt install apt-rdepends wget
(2) 下载 ELK 的 .deb
安装包
#创建目录将安装包下载在此目录下
mkdir ~/elk-offline
cd ~/elk-offline
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.1-amd64.deb
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.10.1-amd64.deb
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.10.1-amd64.deb
(3)复制到离线机器并安装
#将ELK安装包复制到离线机器并安装
sudo dpkg -i elasticsearch-7.10.1-amd64.deb
sudo dpkg -i logstash-7.10.1-amd64.deb
sudo dpkg -i kibana-7.10.1-amd64.deb
3. 配置 Elasticsearch
(1) 调整内存限制
sudo vim /etc/elasticsearch/jvm.options
修改以下参数(根据机器配置调整):
-Xms1g
-Xmx1g
(2) 启动服务
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
sudo systemctl status elasticsearch
#关闭服务(可选)
sudo systemctl stop elasticsearch
4. 配置 Kibana
(1) 允许远程访问
sudo nano /etc/kibana/kibana.yml
#保存离开
ctrl+X
修改配置:
#允许远程访问,根据实际情况
server.host: "0.0.0.0"
#设置elasticsearch 地址
elasticsearch.hosts: ["http://localhost:9200"]
(2) 启动服务
sudo systemctl start kibana
sudo systemctl enable kibana
sudo systemctl status kibana
#停止服务(可选)
sudo systemctl stop kibana
5. 配置 Logstash
(1) 创建管道配置
sudo nano /etc/logstash/logstash.conf
添加示例配置:
input {
file {
path => "/var/log/*.log"
start_position => "beginning"
}
}
filter {
mutate {
add_tag => ["my_tag"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
(2) 启动服务
sudo systemctl start logstash
sudo systemctl enable logstash
sudo systemctl status logstash
#停止服务(可选)
sudo systemctl stop logstash
6. 验证安装
(1) 检查 Elasticsearch
curl -X GET "localhost:9200"
预期输出包含 "version"
字段。
(2) 访问 Kibana
浏览器打开 http://离线机器IP:5601
,应看到 Kibana 界面。
三.常见问题解决
1. 依赖缺失(如 libc6
版本不符)
- 解决:在联网机器下载对应版本的包:
将apt download libc6=2.35-0ubuntu3
.deb
文件加入离线包重新传输。
2. Elasticsearch 启动失败
- 查看日志:
journalctl -u elasticsearch
- 常见原因:内存不足或文件句柄数限制。
解决:# 修改系统限制 echo "elasticsearch - nofile 65535" | sudo tee -a /etc/security/limits.conf
3. Kibana 无法连接 Elasticsearch
- 检查配置:确认
elasticsearch.hosts
地址正确。 - 查看防火墙:开放端口 9200 和 5601:
sudo ufw allow 9200/tcp sudo ufw allow 5601/tcp
总结
- 核心步骤:优先保证 Java 环境正确安装。
- 安全建议:生产环境需配置 Elasticsearch 的 TLS 加密和 Kibana 的登录认证。
- 版本一致性:确保 Elasticsearch、Logstash、Kibana 版本严格匹配。
希望这篇文章对你有所帮助!如果觉得不错,别忘了点赞收藏哦!