当前位置: 首页 > 科技观察

EFK构建流程与ES生命周期管理详解

时间:2023-03-12 00:16:02 科技观察

概述今天主要介绍EFK构建流程与ES生命周期管理。该平台采用EFK(ElasticSearch-6.6.1+FileBeat-6.6.2+Kibana-6.6.1)架构。建议三个组件的主次版本保持一致。EFK概念EFK采用集中式日志管理架构elasticsearch:一个开源的分布式搜索引擎,提供收集、分析和存储数据三种功能。其特点是:分布式、零配置、自动发现、索引自动分片、索引复制机制、restful风格接口、多数据源、自动搜索加载等。kibana:可以为Logstash、Beats和ElasticSearch,可以帮助汇总、分析和搜索重要的数据日志。filebeat:轻量级日志收集器。需要在每个应用服务器上配置filebeat,收集日志输出到elasticsearch1.ElasticSearch#rpm--importhttps://artifacts.elastic.co/GPG-KEY-elasticsearch#vi/etc/yum.repos.d/elasticsearch.repo========================================================[elasticsearch-6.x]name=Elasticsearchrepositoryfor6.xpackagesbaseurl=https://artifacts.elastic.co/packages/6.x/yumgpgcheck=1gpgkey=https://artifacts.elastic。co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md=========================================================#yuminstallelasticsearch#vim/etc/elasticsearch/elasticsearch.yml========================================================network.host:0.0.0.0=========================================================#serviceelasticsearchrestart2.Kibana1,部署#rpm--importhttps://artifacts.elastic.co/GPG-KEY-elasticsearch#vim/etc/yum.repos.d/kibana.repo=======================================================snippet.bash[kibana-6.x]name=Elasticsearchrepositoryfor6.xpackagesbaseurl=https://artifacts.elastic.co/packages/6.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md==============================================================#yuminstallkibana#vim/etc/kibana/kibana.yml=======================================================server.host:"kibanaserverip"elasticsearch.hosts:["http://ESserverIP:9200"]#如果通过反向代理访问,还需要添加如下内容配置路径,具体取值视服务器情况而定。basePath:"/kibana"2.下载中文包并复制到指定目录wgethttps://codeload.github.com/anbai-inc/Kibana_Hanization/zip/masterunzipmastercp-rKibana_Hanization-master/translations//usr/share/kibana/src/legacy/core_plugins/kibana/#修改语言配置#vim/etc/kibana/kibana.yml===========================================i18n.locale:"zh_CN"=========================================3。重启服务servicekibanarestart3.FileBeatFilebeat属于Beats家族。目前Beats家族包括六个工具:Packetbeat(收集网络流量数据)Metricbeat(收集系统、进程和文件系统级别的CPU和内存使用数据)Filebeat(收集文件数据)Winlogbeat(收集Windows事件日志数据)Auditbeat(轻量级审计日志收集器)心跳(轻量级服务器健康收集器)1.部署#rpm--importhttps://artifacts.elastic.co/GPG-KEY-elasticsearch#vim/etc/yum.repos.d/filebeat.repo=====================================================片段.bash[filebeat-6.x]name=Elasticsearchrepositoryfor6.xpackagesbaseurl=https://artifacts.elastic.co/packages/6.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md===================================================#yuminstallfilebeat2,配置/etc/filebeat/filebeat.ymlfilebeat.inputs:#Each-isaninput.Mostoptionscanbesetattheinputlevel,so#youcanusedifferentinputsforvariousconfigurations.#Belowaretheinputspecificconfigurations.-type:log#Changetotruetoenablethisinputconfiguration.enable:true#Pathsthatshouldbecrawledandfetched.Globbasedpaths.paths:-d:/ams_logs/*.logencoding:gbk#Output配置输出。elasticsearch:#Arrayofhoststoconnectto.hosts:["ESserverIP:9200"]3.重启serviceservicefilebeatrestart效果图如下:4.ES生命周期管理对于日志数据,由于存储容量的瓶颈单个索引,ES一般推荐使用Time作为后缀为同一份日志数据创建多个索引,用户使用timer定期删除过期索引。在ES6.6之后,x-pack中引入了索引生命周期管理相关的API,以简化和增强类似日志数据索引的管理。该方案将索引数据按照时间划分为四个阶段:Hot、Warm、Cold、Delete。针对这四个不同的数据阶段,ES也提供了不同的数据处理方式,最终实现日志的生命周期管理。1.Policy配置管??理→IndexLifecyclePolicies,CreatePolicy,2.日志生成filebeat提供了两种日志生成方式。一般来说,推荐使用默认生成策略2.1,默认生成策略打开filebeat配置文件,添加如下内容。该方案对应的policy配置名称必须是beats-default-policyoutput.elasticsearch:hosts:["ESserverIP:9200"]ilm.enabled:trueilm.rollover_alias:"fsl.ams"ilm.pattern:"{now/d}-000001"2.2。高级生成策略打开filebeat配置文件,添加如下内容。6.6.1版本,使用本方案前,请提前在es上创建合适的索引模板。否则直接生成的索引不会有别名(疑似bug),最终无法使用生命周期策略。output.elasticesarch:hosts:["ES服务器IP:9200"]index:fsl.ams-%{+yyyy.MM.dd}setup.template.name:"fsl.ams"setup.template.pattern:"fsl.ams-*"setup.template.settings.index.lifecycle.rollover_alias:"fsl.ams"setup.template.settings.index.lifecycle.name:"beats-default-policy"