EFK教程 - 基于多节点ES的EFK安装部署配置

发布时间:2025-11-16 点击:4
系统运维
通过部署elasticsearch(三节点) filebeat kibana快速入门efk,并搭建起可用的demo环境测试效果
作者:“发颠的小狼”,欢迎转载与投稿
目录
? 用途
? 实验架构
? efk软件安装
? elasticsearch配置
? filebeat配置
? kibana配置
? 启动服务
? kibana界面配置
? 测试
? 后续文章
用途
? 通过filebeat实时收集nginx访问日志、传输至elasticsearch集群
? filebeat将收集的日志传输至elasticsearch集群
? 通过kibana展示日志
实验架构
? 服务器配置
? 架构图
efk软件安装
版本说明
? elasticsearch 7.3.2
? filebeat 7.3.2
? kibana 7.3.2
注意事项
? 三个组件版本必须一致
? elasticsearch必须3台以上且总数量为单数
安装路径
? /opt/elasticsearch
? /opt/filebeat
? /opt/kibana
elasticsearch安装:3台es均执行相同的安装步骤
mkdir -p /opt/software && cd /opt/softwarewget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-linux-x86_64.tar.gztar -zxvf elasticsearch-7.3.2-linux-x86_64.tar.gzmv elasticsearch-7.3.2 /opt/elasticsearchuseradd elasticsearch -d /opt/elasticsearch -s /sbin/nologinmkdir -p /opt/logs/elasticsearchchown elasticsearch.elasticsearch /opt/elasticsearch -rchown elasticsearch.elasticsearch /opt/logs/elasticsearch -r# 限制一个进程可以拥有的vma(虚拟内存区域)的数量要超过262144,不然elasticsearch会报max virtual memory areas vm.max_map_count [65535] is too low, increase to at least [262144]echo vm.max_map_count = 655350 >> /etc/sysctl.confsysctl -pfilebeat安装
mkdir -p /opt/software && cd /opt/softwarewget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.2-linux-x86_64.tar.gzmkdir -p /opt/logs/filebeat/tar -zxvf filebeat-7.3.2-linux-x86_64.tar.gzmv filebeat-7.3.2-linux-x86_64 /opt/filebeatkibana安装
mkdir -p /opt/software && cd /opt/softwarewget https://artifacts.elastic.co/downloads/kibana/kibana-7.3.2-linux-x86_64.tar.gztar -zxvf kibana-7.3.2-linux-x86_64.tar.gzmv kibana-7.3.2-linux-x86_64 /opt/kibanauseradd kibana -d /opt/kibana -s /sbin/nologinchown kibana.kibana /opt/kibana -rnginx安装(用于生成日志,被filebeat收集)
# 只在192.168.1.11安装yum install -y nginx/usr/sbin/nginx -c /etc/nginx/nginx.confelasticsearch配置
? 192.168.1.31 /opt/elasticsearch/config/elasticsearch.yml
# 集群名字cluster.name: my-application# 节点名字node.name: 192.168.1.31# 日志位置path.logs: /opt/logs/elasticsearch# 本节点访问ipnetwork.host: 192.168.1.31# 本节点访问http.port: 9200# 节点运输端口transport.port: 9300# 集群中其他主机的列表discovery.seed_hosts: [192.168.1.31, 192.168.1.32, 192.168.1.33]# 首次启动全新的elasticsearch集群时,在第一次选举中便对其票数进行计数的master节点的集合cluster.initial_master_nodes: [192.168.1.31, 192.168.1.32, 192.168.1.33]# 启用跨域资源共享http.cors.enabled: truehttp.cors.allow-origin: *# 只要有2台数据或主节点已加入集群,就可以恢复gateway.recover_after_nodes: 2? 192.168.1.32 /opt/elasticsearch/config/elasticsearch.yml
# 集群名字cluster.name: my-application# 节点名字node.name: 192.168.1.32# 日志位置path.logs: /opt/logs/elasticsearch# 本节点访问ipnetwork.host: 192.168.1.32# 本节点访问http.port: 9200# 节点运输端口transport.port: 9300# 集群中其他主机的列表discovery.seed_hosts: [192.168.1.31, 192.168.1.32, 192.168.1.33]# 首次启动全新的elasticsearch集群时,在第一次选举中便对其票数进行计数的master节点的集合cluster.initial_master_nodes: [192.168.1.31, 192.168.1.32, 192.168.1.33]# 启用跨域资源共享http.cors.enabled: truehttp.cors.allow-origin: *# 只要有2台数据或主节点已加入集群,就可以恢复gateway.recover_after_nodes: 2? 192.168.1.33 /opt/elasticsearch/config/elasticsearch.yml
# 集群名字cluster.name: my-application# 节点名字node.name: 192.168.1.33# 日志位置path.logs: /opt/logs/elasticsearch# 本节点访问ipnetwork.host: 192.168.1.33# 本节点访问http.port: 9200# 节点运输端口transport.port: 9300# 集群中其他主机的列表discovery.seed_hosts: [192.168.1.31, 192.168.1.32, 192.168.1.33]# 首次启动全新的elasticsearch集群时,在第一次选举中便对其票数进行计数的master节点的集合cluster.initial_master_nodes: [192.168.1.31, 192.168.1.32, 192.168.1.33]# 启用跨域资源共享http.cors.enabled: truehttp.cors.allow-origin: *# 只要有2台数据或主节点已加入集群,就可以恢复gateway.recover_after_nodes: 2filebeat配置
192.168.1.11 /opt/filebeat/filebeat.yml
# 文件输入filebeat.inputs: # 文件输入类型 - type: log # 开启加载 enabled: true # 文件位置 paths: - /var/log/nginx/access.log # 自定义参数 fields: type: nginx_access # 类型是nginx_access,和上面fields.type是一致的# 输出至elasticsearchoutput.elasticsearch: # elasticsearch集群 hosts: [http:

腾讯企业邮箱有免费版,为什么还有很多企业愿意去购买收费版?
服务器转移-其他问题
网站图片连接问题-虚拟主机/数据库问题
传统服务器和云产品有什么区别
域名如何续费?域名购买之后每年要交多少?
云主机怎么买
连接服务器失败-其他问题
华东公司云服务器最低价