【2022】快速部署一个可用的EFK-7.17架构

简介: 【2022】快速部署一个可用的EFK-7.17架构

本文意为快速拉起一个可用的EFK开发测试环境,不会涉及高级配置。

0.环境准备

  • 架构图
    将/var/log下的所有日志归档为system.log后,通过filebeat收集后发送给elasticsearch,通过kibana展示

5ecf4c289cf144a39b5453f257a8d34c.png

服务器环境

c2ed00e43af24a138cfe5b5792dd5885.png

  • hosts本地解析
192.168.0.5 centos7.9
192.168.0.4 es-node01
192.168.0.3 kibana

1.部署Elasticsearch服务

如果你有多台es节点想组成集群,请参考步骤4内容
  • 下载及安装es服务
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.6-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.6-x86_64.rpm.sha512
yum install perl-Digest-SHA -y
shasum -a 512 -c elasticsearch-7.17.6-x86_64.rpm.sha512
sudo rpm --install elasticsearch-7.17.6-x86_64.rpm
  • 修改jvm.options配置
    注意:安装es服务会自带openjdk,也可以自行安装其他jdk
[root@es-node01 ~]# vim /etc/elasticsearch/jvm.options
-Xms1g
-Xmx1g
  • 修改es配置文件
[root@es-node01 ~]# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: my-es
node.name: es-node01
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 192.168.0.4
http.port: 9200
discovery.seed_hosts: ["192.168.0.4"]
cluster.initial_master_nodes: ["192.168.0.4"]
  • 启动服务并设置开机自启动
systemctl enable --now elasticsearch.service
  • 查看状态
[root@es-node01 ~]# curl 192.168.0.4:9200
{
  "name" : "es-node01",
  "cluster_name" : "my-es",
  "cluster_uuid" : "mQsAIA_aSrakIjU0nxMm7w",
  "version" : {
    "number" : "7.17.6",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "f65e9d338dc1d07b642e14a27f338990148ee5b6",
    "build_date" : "2022-08-23T11:08:48.893373482Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
[root@es-node01 ~]# curl 192.168.0.4:9200/_cat/nodes
192.168.0.4 45 96 8 0.07 0.20 0.13 cdfhilmrstw * es-node01

2.部署Kibana服务

  • 下载及安装Kibana服务
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.6-x86_64.rpm
sudo rpm --install kibana-7.17.6-x86_64.rpm
  • 修改kibana配置文件,修改以下几项基础配置,其他使用默认即可
[root@kibana ~]# vim /etc/kibana/kibana.yml
# 允许访问kibana的主机
server.host: "0.0.0.0"
# 如果有多个es节点,可以在后面加上:[“http://es1”“http://es2”]
elasticsearch.hosts: ["http://192.168.0.4:9200"]
# 设置语言
i18n.locale: "zh-CN"
  • 启动kibana服务
systemctl enable --now kibana.service 
  • 查看状态
[root@kibana ~]# netstat -utpln
tcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN      12185/node      

浏览器访问Kibana测试:IP:5601(我使用的阿里云的公网ip)

febc5bdf116243ae9d2fc0e15819267f.png

点击左侧菜单栏(三个横)找到堆栈监测可以看到添加的es节点

94f9ed123c934ac6876de2f0643e4b78.png

3.部署Filebeat服务

  • 下载及安装Filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.6-x86_64.rpm
sudo rpm -vi filebeat-7.17.6-x86_64.rpm
  • 配置Filebeat连接es集群
[root@centos7 ~]# vim /etc/filebeat/filebeat.yml 
# 配置kibana连接
setup.kibana:
  host: "192.168.0.3:5601"
# 配置es连接
output.elasticsearch:
  hosts: ["192.168.0.4:9200"]
  • 配置rsyslog把日志归档在一个文件,没有的话yum安装一下
[root@centos7 ~]# vim /etc/rsyslog.conf 
*.*     /var/log/system.log
[root@centos7 ~]# systemctl restart rsyslog.service 
  • 配置filebeat收集系统日志
# 开启系统模块
[root@centos7 ~]# filebeat modules enable system
# 配置系统模块
[root@centos7 ~]# vim /etc/filebeat/modules.d/system.yml 
    var.paths: ["/var/log/system.log"]
# 加载素材资源
[root@centos7 ~]# filebeat setup -e
Loaded Ingest pipelines #最后显示
  • 启动filebeat服务
[root@centos7 ~]# systemctl enable --now filebeat.service 

在kibana中查看是否有日志输出

点击菜单栏后点击日志:

53eb657d6476496ca259a207bd0d3e88.png

点击概览也能看到柱状图

afe68fba904c46cdad0cea1ca5ff4d99.png

  • 如果有多个数据源就可以循环步骤3来收集日志

4.相关链接

【2022】Elasticsearch-7.17.6集群部署

这部分内容就到这里,高级内容会在以后的内容中出现

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
6月前
|
存储 监控 安全
132_API部署:FastAPI与现代安全架构深度解析与LLM服务化最佳实践
在大语言模型(LLM)部署的最后一公里,API接口的设计与安全性直接决定了模型服务的可用性、稳定性与用户信任度。随着2025年LLM应用的爆炸式增长,如何构建高性能、高安全性的REST API成为开发者面临的核心挑战。FastAPI作为Python生态中最受青睐的Web框架之一,凭借其卓越的性能、强大的类型安全支持和完善的文档生成能力,已成为LLM服务化部署的首选方案。
1084 3
|
11月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3523 57
|
资源调度 前端开发 算法
鸿蒙OS架构设计探秘:从分层设计到多端部署
本文深入探讨了鸿蒙OS的架构设计,从独特的“1+8+N”分层架构到模块化设计,再到智慧分发和多端部署能力。分层架构让系统更灵活,模块化设计通过Ability机制实现跨设备一致性,智慧分发优化资源调度,多端部署提升开发效率。作者结合实际代码示例,分享了开发中的实践经验,并指出生态建设是未来的关键挑战。作为国产操作系统的代表,鸿蒙的发展值得每一位开发者关注与支持。
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
408 2
|
11月前
|
消息中间件 数据可视化 Kafka
docker arm架构部署kafka要点
本内容介绍了基于 Docker 的容器化解决方案,包含以下部分: 1. **Docker 容器管理**:通过 Portainer 可视化管理工具实现对主节点和代理节点的统一管理。 2. **Kafka 可视化工具**:部署 Kafka-UI 以图形化方式监控和管理 Kafka 集群,支持动态配置功能, 3. **Kafka 安装与配置**:基于 Bitnami Kafka 镜像,提供完整的 Kafka 集群配置示例,涵盖 KRaft 模式、性能调优参数及数据持久化设置,适用于高可用生产环境。 以上方案适合 ARM64 架构,为用户提供了一站式的容器化管理和消息队列解决方案。
968 10
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
727 0
|
供应链 监控 安全
网络安全中的零信任架构:从概念到部署
网络安全中的零信任架构:从概念到部署
1227 75
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
678 60
|
Serverless 决策智能 UED
构建全天候自动化智能导购助手:从部署者的视角审视Multi-Agent架构解决方案
在构建基于多代理系统(Multi-Agent System, MAS)的智能导购助手过程中,作为部署者,我体验到了从初步接触到深入理解再到实际应用的一系列步骤。整个部署过程得到了充分的引导和支持,文档详尽全面,使得部署顺利完成,未遇到明显的报错或异常情况。尽管初次尝试时对某些复杂配置环节需反复确认,但整体流程顺畅。
297 3