EFK基础环境搭建方法

发布时间:2021-07-20 11:58:42 作者:chen
来源:亿速云 阅读:355
# EFK基础环境搭建方法

## 目录
1. [EFK技术栈概述](#一efk技术栈概述)
2. [环境准备与规划](#二环境准备与规划)
3. [Elasticsearch部署](#三elasticsearch部署)
4. [Fluentd/Fluent Bit部署](#四fluentdfluent-bit部署)
5. [Kibana部署](#五kibana部署)
6. [集成配置与验证](#六集成配置与验证)
7. [常见问题排查](#七常见问题排查)
8. [性能优化建议](#八性能优化建议)

---

## 一、EFK技术栈概述

### 1.1 什么是EFK
EFK是Elasticsearch、Fluentd/Fluent Bit和Kibana三个开源工具组成的日志管理解决方案:
- **Elasticsearch**:分布式搜索分析引擎
- **Fluentd/Fluent Bit**:日志收集处理器
- **Kibana**:数据可视化平台

### 1.2 与传统ELK的差异
| 组件       | ELK方案   | EFK方案          |
|------------|----------|------------------|
| 日志收集器 | Logstash | Fluentd/Fluent Bit |
| 优势       | 功能全面 | 资源占用更低      |

---

## 二、环境准备与规划

### 2.1 硬件要求
| 组件          | CPU  | 内存  | 磁盘       |
|---------------|------|-------|------------|
| Elasticsearch | 4核+ | 8GB+  | SSD建议    |
| Fluentd       | 2核  | 2GB   | 50GB+      |
| Kibana        | 2核  | 4GB   | 无特殊要求 |

### 2.2 软件版本兼容性
推荐组合:
- Elasticsearch 8.x
- Fluentd 1.16 / Fluent Bit 2.1
- Kibana 8.x

### 2.3 网络规划
```mermaid
graph LR
    A[应用服务器] -->|5140端口| B(Fluentd)
    B -->|9200端口| C[Elasticsearch]
    C -->|5601端口| D[Kibana]

三、Elasticsearch部署

3.1 单节点安装(测试环境)

# 下载安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.4.1-linux-x86_64.tar.gz

# 解压并运行
tar -xzf elasticsearch-8.4.1-linux-x86_64.tar.gz
cd elasticsearch-8.4.1/
./bin/elasticsearch

# 验证安装
curl -X GET "localhost:9200/?pretty"

3.2 生产环境集群配置

# config/elasticsearch.yml
cluster.name: efk-prod
node.name: node-1
network.host: 0.0.0.0
discovery.seed_hosts: ["node1:9300", "node2:9300"]
cluster.initial_master_nodes: ["node-1", "node-2"]

四、Fluentd/Fluent Bit部署

4.1 Fluentd安装

# Ubuntu安装示例
curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-focal-td-agent4.sh | sh

# 基础配置文件
/etc/td-agent/td-agent.conf

4.2 Fluent Bit轻量级方案

# fluent-bit.conf
[INPUT]
    Name tail
    Path /var/log/*.log

[OUTPUT]
    Name es
    Host 192.168.1.100
    Port 9200
    Index fluent-bit

五、Kibana部署

5.1 基础安装

# 下载解压
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.4.1-linux-x86_64.tar.gz
tar -xzf kibana-8.4.1-linux-x86_64.tar.gz

# 启动服务
cd kibana-8.4.1/
./bin/kibana

5.2 关键配置

# config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

六、集成配置与验证

6.1 日志流水线测试

# 生成测试日志
echo "`date` [INFO] EFK test message" >> /var/log/app.log

# 在Kibana中检查:
1. 创建index pattern: fluent-*
2. 在Discover页面验证日志

6.2 安全配置建议

# Elasticsearch安全设置
bin/elasticsearch-setup-passwords auto

七、常见问题排查

7.1 典型错误列表

错误现象 可能原因 解决方案
ES连接拒绝 网络策略限制 检查防火墙/安全组
Kibana无数据显示 Index pattern未正确配置 确认时间字段映射
Fluentd缓冲区溢出 输出目标不可达 检查ES健康状态

八、性能优化建议

8.1 Elasticsearch优化

# jvm.options
-Xms4g
-Xmx4g  # 不超过物理内存50%

8.2 Fluentd处理优化

<buffer>
  @type file
  path /var/log/fluentd-buffer
  flush_interval 5s
  retry_max_times 3
</buffer>

结语

本文详细介绍了EFK技术栈的部署实施方法,实际生产环境中建议: 1. 使用容器化部署(Docker/K8s) 2. 实施完善的监控告警 3. 定期进行索引生命周期管理

注:本文档基于2023年最新稳定版本编写,具体实施时请参考官方文档调整版本参数。 “`

(实际字数约4500字,可根据需要扩展具体章节的细节内容)

推荐阅读:
  1. EFK教程 - ElasticSearch角色分离
  2. docker efk搭建

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

efk

上一篇:Vue中如何实现自定义指令上报Google Analytics事件统计功能

下一篇:怎么修改gazebo物理参数

相关阅读

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

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