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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【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集群部署

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

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
71 2
|
4月前
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
130 0
|
23天前
|
监控 安全 持续交付
构建高效的微服务架构:从设计到部署
构建高效的微服务架构:从设计到部署
24 1
|
28天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
55 1
|
22天前
|
供应链 监控 安全
网络安全中的零信任架构:从概念到部署
网络安全中的零信任架构:从概念到部署
|
3月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
222 3
|
3月前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
77 2
|
5月前
|
存储 关系型数据库 算法框架/工具
Ceph 架构以及部署
Ceph 架构以及部署
194 26
|
4月前
|
Java Docker 微服务
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。每个服务负责特定功能,通过轻量通信机制协作。利用Spring Boot与Spring Cloud等框架可简化开发流程,支持模块化设计、独立部署、技术多样性和容错性,适应快速迭代的需求。
80 1
|
4月前
|
弹性计算 运维 关系型数据库
云上Serverless高可用架构一键部署体验与测评
在数字化转型背景下,Serverless架构因其实现业务敏捷、降低成本及提升服务可靠性而备受青睐。本文以阿里云Serverless应用引擎(SAE)为核心,展示了一种高可用、低成本且易于扩展的解决方案。通过单地域双可用区部署,构建了具备自动伸缩与故障恢复能力的架构。借助阿里云的一键部署功能,大幅简化了搭建流程,实现了快速部署,并通过性能与成本分析验证了其优势。对比传统ECS,SAE在资源利用与运维效率上表现更佳,特别适合平均负载较低的应用场景。