入门快速指南教程EFK(节点集群入门教程快速)「节点 集群」

通过部署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/kibanaelasticsearch安装: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://192.168.1.31:9200\", \"http://192.168.1.32:9200\", \"http://192.168.1.33:9200\"] # 索引配置 indices: # 索引名 - index: \"nginx_access_%{+yyy.MM}\" # 当类型是nginx_access时使用此索引 when.equals: fields.type: \"nginx_access\"# 关闭自带模板setup.template.enabled: false# 开启日志记录logging.to_files: true# 日志等级logging.level: info# 日志文件logging.files: # 日志位置 path: /opt/logs/filebeat/ # 日志名字 name: filebeat # 日志轮转期限,必须要2~1024 keepfiles: 7 # 日志轮转权限 permissions: 0600kibana配置192.168.1.21 /opt/kibana/config/kibana.yml# 本节点访问端口server.port: 5601# 本节点IPserver.host: \"192.168.1.21\"# 本节点名字server.name: \"192.168.1.21\"# elasticsearch集群IPelasticsearch.hosts: [\"http://192.168.1.31:9200\", \"http://192.168.1.32:9200\", \"http://192.168.1.33:9200\"]启动服务# elasticsearch启动(3台es均启动)sudo -u elasticsearch /opt/elasticsearch/bin/elasticsearch# filebeat启动/opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d \"publish\"# kibana启动sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml上面的启动方法是位于前台运行
systemd配置方法,会在《EFK教程》系列后续文章中提供,敬请关注
kibana界面配置1️⃣ 使用浏览器访问192.168.1.21:5601,看到以下界面表示启动成功2️⃣ 点\"Try our sample data\"3️⃣ \"Help us improve the Elastic Stack by providing usage statistics for basic features. We will not share this data outside of Elastic\"点\"no”4️⃣ \"Add Data to kibana\"点\"Add data\"5️⃣ 进入视图测试访问nginx,生成日志curl -I \"http://192.168.1.11\"在kibana上查看数据1️⃣ 创建索引模板2️⃣ 输入你要创建的索引模板的名字3️⃣ 查看之前CURL的数据后续文章本文是《EFK教程》系列文章的第一篇,后续EFK文章将逐步发布,包含角色分离、性能优化等许多干货,敬请关注
入门快速指南教程EFK(节点集群入门教程快速)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息