ELK服务器搭建核心是Elasticsearch、Logstash、Kibana协同实现“采集→处理→存储→展示”闭环,需注意版本匹配、端口开放(9200/5601/5044)、Java环境(OpenJDK 11)、防火墙与SELinux配置、hosts解析,并依次安装配置ES(单节点或集群)、Logstash(input/filter/output)和Kibana(远程访问及索引模式)。

ELK 服务器搭建核心是让 Elasticsearch、Logstash、Kibana 三个组件协同工作,形成“采集→处理→存储→展示”的闭环。整个过程不复杂,但细节决定成败,尤其在版本匹配、端口开放和配置路径上容易出错。
确保基础环境就绪
Elasticsearch 依赖 Java 运行,必须先装好 OpenJDK 11(官方推荐)或 JDK 8(旧版兼容)。CentOS 上执行:
yum install -y java-11-openjdk-devel java -version # 应输出 11.x.x
关闭防火墙或放行关键端口:9200(ES)、5601(Kibana)、5044(Logstash 输入端口)。SELinux 建议设为 disabled。
所有节点统一配置 /etc/hosts,例如:
192.168.150.129 elk-node1 192.168.150.130 elk-node2 192.168.150.131 elk-node3
安装并配置 Elasticsearch
使用官方仓库安装(以 7.17.3 为例):
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch echo "[elasticsearch-7.x] ... " > /etc/yum.repos.d/elasticsearch.repo yum install -y elasticsearch
修改 /etc/elasticsearch/elasticsearch.yml:
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
- 单机测试:
discovery.type: single-node - 集群部署:设置
cluster.name、node.name、network.host: 0.0.0.0、http.port: 9200,并配置discovery.seed_hosts和cluster.initial_master_nodes
启动服务:systemctl daemon-reload && systemctl enable elasticsearch && systemctl start elasticsearch
验证:curl http://localhost:9200返回 JSON 响应即成功。
安装并配置 Logstash
Logstash 负责日志“搬运+清洗”,配置文件(如 /etc/logstash/conf.d/nginx.conf)需明确三段:
-
input:指定来源,如 file 插件读取 Nginx access.log,或 beats 插件接收 Filebeat 数据 -
filter:用 grok 解析非结构化日志(如%{COMBINEDAPACHELOG}),用 mutate 重命名字段、删除无用字段 -
output:指向 Elasticsearch,如hosts => ["http://elk-node1:9200"]
启动前用logstash -t -f /etc/logstash/conf.d/nginx.conf检查语法。启动命令:systemctl start logstash。
安装并配置 Kibana
安装方式与 ES 类似,修改 /etc/kibana/kibana.yml:
-
server.host: "0.0.0.0"(允许远程访问) -
server.port: 5601 -
elasticsearch.hosts: ["http://elk-node1:9200"](指向任意一个 ES 节点)
启动:systemctl enable kibana && systemctl start kibana
浏览器访问http://<服务器IP>:5601,首次进入需在 Management → Index Patterns 中创建索引模式(如nginx-*),才能查看数据。
不复杂但容易忽略。

















