温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何搭建ELK日志管理系统

发布时间:2026-09-15 02:55:19 来源:亿速云 阅读:86 作者:小樊 栏目:系统运维

搭建 ELK 日志管理系统(Elasticsearch + Logstash + Kibana,现代常配合 Beats 使用,称为 Elastic Stack)一般遵循以下步骤。下面以 Linux(CentOS / Ubuntu) 环境为例,给出一个可落地的搭建方案


一、ELK 架构简介

典型架构:

应用/服务器
   ↓ (Filebeat)
Logstash(可选,做过滤/解析)
   ↓
Elasticsearch(存储 + 检索)
   ↓
Kibana(可视化)
  • Filebeat:轻量日志采集器(推荐)
  • Logstash:日志处理、过滤、格式化(可选)
  • Elasticsearch:分布式搜索引擎
  • Kibana:可视化界面

二、环境准备

1. 服务器建议

  • 内存:≥ 4GB(ES 很吃内存)
  • Java:Elasticsearch 8.x 自带 JDK,无需额外安装
  • 系统:CentOS 7+/Ubuntu 20.04+

2. 关闭防火墙或开放端口

# Elasticsearch
9200
# Kibana
5601
# Logstash(如启用)
5044

三、安装 Elasticsearch

1. 添加 Elastic 源(以 8.x 为例)

cat > /etc/yum.repos.d/elastic.repo <<EOF
[elastic-8.x]
name=Elastic repository for 8.x
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
EOF

2. 安装

yum install -y elasticsearch

3. 修改配置

vi /etc/elasticsearch/elasticsearch.yml

常用配置:

network.host: 0.0.0.0
discovery.type: single-node
xpack.security.enabled: false  # 测试环境可关闭

4. 启动

systemctl enable elasticsearch
systemctl start elasticsearch

5. 验证

curl http://localhost:9200

四、安装 Kibana

yum install -y kibana

修改配置:

vi /etc/kibana/kibana.yml
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

启动:

systemctl enable kibana
systemctl start kibana

访问:

http://服务器IP:5601

五、安装 Filebeat(日志采集)

需要收集日志的服务器上安装:

yum install -y filebeat

配置示例:

vi /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log

output.elasticsearch:
  hosts: ["http://ES_IP:9200"]

启动:

systemctl enable filebeat
systemctl start filebeat

六、(可选)安装 Logstash

适合需要复杂日志解析的场景(如 Nginx、Java 日志)。

yum install -y logstash

示例配置:

vi /etc/logstash/conf.d/logstash.conf
input {
  beats {
    port => 5044
  }
}

filter {
  grok {
    match => { "message" => "%{TIMESTAMP_ISO8601:time} %{LOGLEVEL:level} %{GREEDYDATA:msg}" }
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "logs-%{+YYYY.MM.dd}"
  }
}

启动:

systemctl enable logstash
systemctl start logstash

Filebeat 的 output 改为 logstash:5044


七、Kibana 中使用 ELK

  1. 打开 Kibana
  2. Stack Management → Index Patterns
  3. 创建索引(如 filebeat-*logs-*
  4. Discover 查看日志
  5. Dashboard 创建可视化

八、生产建议(重要)

  • 使用 Filebeat + Elasticsearch(轻量)
  • 开启 X-Pack 安全认证
  • 日志按 日期索引
  • 配置 ILM(索引生命周期管理)
  • 多节点 ES(避免单点)

九、简化方案(新手推荐)

如果你只是想快速用:

  • Docker Compose 一键部署 ELK
  • 或使用 Elastic Cloud(官方托管)

如果你需要,我可以: ✅ 给你一份 Docker ELK 配置 ✅ 按 Nginx / Spring Boot / Docker 日志 场景定制 ✅ 帮你做 日志格式解析规则

告诉我你的使用场景即可。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI