千家信息网

Centos7下如何快速部署EFK服务

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇"Centos7下如何快速部署EFK服务"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2025年01月20日Centos7下如何快速部署EFK服务

这篇"Centos7下如何快速部署EFK服务"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Centos7下如何快速部署EFK服务"文章吧。

EFK是一套分布式日志服务解决方案,由各个组件构成。EFK分别是指:elasticsearch、filebeat、kibana。不过在真实的生产环境中,搭建日志服务可能还需要logstash来进行规制解析,使用kafka进行削峰填谷作为缓冲。

架构

EFK采用集中式的日志管理架构

elasticsearch:一个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

kibana:可以为Logstash 、Beats和ElasticSearch提供友好的日志分析Web 界面,可以帮助汇总、分析和搜索重要数据日志。

filebeat:轻量级日志采集器。需要在每个应用服务器配置filebeat,来采集日志,并输出到elasticsearch。

一键部署KIBANA脚本

function install_es7_el7()  {   echo "" echo -e "\033[33m****************************************************安装ElasticSearch 7.6.2*****************************************************\033[0m"   #action "********初始化JAVA环境********" /bin/true #install_jdk #下载包   if [ -f /opt/elasticsearch-7.6.2-x86_64.rpm ] && [ -f /opt/elasticsearch-analysis-ik-7.6.2.zip ] ;then       echo "*****存在ElasticSearch 7.6.2安装包,无需下载*****"   else     ping -c 4 artifacts.elastic.co >/dev/null 2>&1     if [ $? -eq 0 ];then       wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-x86_64.rpm -O /opt/elasticsearch-7.6.2-x86_64.rpm       wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip  -O /opt/elasticsearch-analysis-ik-7.6.2.zip         else       echo "please download ES7 package manual !"       exit $?     fi   fi #安装es7.6   action "********安装ElasticSearch 7.6.2服务********" /bin/true chmod u+x /opt/elasticsearch-7.6.2-x86_64.rpm && rpm -ivh /opt/elasticsearch-7.6.2-x86_64.rpm  #建目录及授权 mkdir -p $ES_HOME/data &&  mkdir -p $ES_HOME/log chown -R elasticsearch:elasticsearch $ES_HOME && chmod -R 755 $ES_HOME  #修改ES配置文件 cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml_bak &>/dev/null  cat > /etc/elasticsearch/elasticsearch.yml # 设定本机节点名 node.name: es_node # 设定集群主节点清单 cluster.initial_master_nodes: ["es_node"] path.data: ${ES_HOME}/data path.logs: ${ES_HOME}/log bootstrap.memory_lock: false bootstrap.system_call_filter: false # 允许从其它机器访问 network.host: 0.0.0.0 http.port: ${ES_PORT} discovery.zen.ping.unicast.hosts: ["${ES_IP}:${ES_PORT}"] EOF #安装分词器:ik-analyzer插件 #默认情况下,ES使用内置的标准分词器,对文本进行解析。但是对于中文,其会拆解为一个一个的汉字,最终失去了分词的意义,所以安装分词器:ik-analyzer插件 action "********安装ik-analyzer插件********" /bin/true mkdir -p /usr/share/elasticsearch/plugins/ik unzip /opt/elasticsearch-analysis-ik-7.6.2.zip -d /usr/share/elasticsearch/plugins/ik/ &>/dev/null   chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/ &&  chmod -R 755  /usr/share/elasticsearch/plugins/ sleep 2#在filebeat配置文件中为索引模板添加默认分词器属性。未来新创建的索引均引用此属性:#setup.template.settings:#  index.analysis.analyzer.default.type: "ik_max_word"#  index.analysis.analyzer.default_search.type: "ik_max_word"#setup.template.overwrite: true#在Linux终端中执行如下命令,为现有所有索引,设置默认分词器属性:#curl -X POST "172.16.20.143:9200/_all/_close"#curl -X PUT  -H'Content-Type: application/json' 'http://172.16.20.143:9200/_all/_settings?preserve_existing=true' -d '{#  "index.analysis.analyzer.default.type" : "ik_max_word",#  "index.analysis.analyzer.default_search.type" : "ik_max_word"#}'#curl -X POST "172.16.20.143:9200/_all/_open" #启动ES并初始化数据 action "********启动es并初始化数据********" /bin/true systemctl daemon-reload && systemctl enable elasticsearch.service   systemctl restart elasticsearch.service es_version=`curl -XGET ${ES_IP}:${ES_PORT}` echo -e "\033[33m**************************************************完成ElasticSearch 7.6.2安装***************************************************\033[0m"cat > /tmp/es7.log  ${ES_IP}ES服务器端口:${ES_PORT}ES数据目录: ${ES_HOME}/dataES日志目录: ${ES_HOME}/logES详细信息: ${es_version}EOF cat /tmp/es7.log echo -e "\e[1;31m 以上信息10秒后消失,保存在/tmp/es7.log文件下 \e[0m" echo -e "\033[33m************************************************************************************************************************\033[0m" echo "" sleep 10}

一键部署Elasticsearch脚本

function install_es7_el7()  {   echo "" echo -e "\033[33m****************************************************安装ElasticSearch 7.6.2*****************************************************\033[0m"   #action "********初始化JAVA环境********" /bin/true #install_jdk #下载包   if [ -f /opt/elasticsearch-7.6.2-x86_64.rpm ] && [ -f /opt/elasticsearch-analysis-ik-7.6.2.zip ] ;then       echo "*****存在ElasticSearch 7.6.2安装包,无需下载*****"   else     ping -c 4 artifacts.elastic.co >/dev/null 2>&1     if [ $? -eq 0 ];then       wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-x86_64.rpm -O /opt/elasticsearch-7.6.2-x86_64.rpm       wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip  -O /opt/elasticsearch-analysis-ik-7.6.2.zip         else       echo "please download ES7 package manual !"       exit $?     fi   fi #安装es7.6   action "********安装ElasticSearch 7.6.2服务********" /bin/true chmod u+x /opt/elasticsearch-7.6.2-x86_64.rpm && rpm -ivh /opt/elasticsearch-7.6.2-x86_64.rpm  #建目录及授权 mkdir -p $ES_HOME/data &&  mkdir -p $ES_HOME/log chown -R elasticsearch:elasticsearch $ES_HOME && chmod -R 755 $ES_HOME  #修改ES配置文件 cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml_bak &>/dev/null  cat > /etc/elasticsearch/elasticsearch.yml # 设定本机节点名 node.name: es_node # 设定集群主节点清单 cluster.initial_master_nodes: ["es_node"] path.data: ${ES_HOME}/data path.logs: ${ES_HOME}/log bootstrap.memory_lock: false bootstrap.system_call_filter: false # 允许从其它机器访问 network.host: 0.0.0.0 http.port: ${ES_PORT} discovery.zen.ping.unicast.hosts: ["${ES_IP}:${ES_PORT}"] EOF #安装分词器:ik-analyzer插件 #默认情况下,ES使用内置的标准分词器,对文本进行解析。但是对于中文,其会拆解为一个一个的汉字,最终失去了分词的意义,所以安装分词器:ik-analyzer插件 action "********安装ik-analyzer插件********" /bin/true mkdir -p /usr/share/elasticsearch/plugins/ik unzip /opt/elasticsearch-analysis-ik-7.6.2.zip -d /usr/share/elasticsearch/plugins/ik/ &>/dev/null   chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/ &&  chmod -R 755  /usr/share/elasticsearch/plugins/ sleep 2#在filebeat配置文件中为索引模板添加默认分词器属性。未来新创建的索引均引用此属性:#setup.template.settings:#  index.analysis.analyzer.default.type: "ik_max_word"#  index.analysis.analyzer.default_search.type: "ik_max_word"#setup.template.overwrite: true#在Linux终端中执行如下命令,为现有所有索引,设置默认分词器属性:#curl -X POST "172.16.20.143:9200/_all/_close"#curl -X PUT  -H'Content-Type: application/json' 'http://172.16.20.143:9200/_all/_settings?preserve_existing=true' -d '{#  "index.analysis.analyzer.default.type" : "ik_max_word",#  "index.analysis.analyzer.default_search.type" : "ik_max_word"#}'#curl -X POST "172.16.20.143:9200/_all/_open" #启动ES并初始化数据 action "********启动es并初始化数据********" /bin/true systemctl daemon-reload && systemctl enable elasticsearch.service   systemctl restart elasticsearch.service es_version=`curl -XGET ${ES_IP}:${ES_PORT}` echo -e "\033[33m**************************************************完成ElasticSearch 7.6.2安装***************************************************\033[0m"cat > /tmp/es7.log  ${ES_IP}ES服务器端口:${ES_PORT}ES数据目录: ${ES_HOME}/dataES日志目录: ${ES_HOME}/logES详细信息: ${es_version}EOF cat /tmp/es7.log echo -e "\e[1;31m 以上信息10秒后消失,保存在/tmp/es7.log文件下 \e[0m" echo -e "\033[33m************************************************************************************************************************\033[0m" echo "" sleep 10}

一键部署filebeat脚本

function install_filebeat7_el7()  {   echo "" echo -e "\033[33m****************************************************安装Filebeat 7.6.2*****************************************************\033[0m"   #下载包   if [ -f /opt/filebeat-7.6.2-x86_64.rpm ] ;then       echo "*****存在Filebeat 7.6.2安装包,无需下载*****"   else     ping -c 4 artifacts.elastic.co >/dev/null 2>&1     if [ $? -eq 0 ];then       wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.2-x86_64.rpm -O /opt/filebeat-7.6.2-x86_64.rpm     else       echo "please download Filebeat7.6 package manual !"       exit $?     fi   fi #安装filebeat7.6   action "********安装filebeat 7.6.2服务********" /bin/true chmod u+x /opt/filebeat-7.6.2-x86_64.rpm && rpm -ivh /opt/filebeat-7.6.2-x86_64.rpm  #修改kibana配置文件 cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml_bak  cat > /etc/filebeat/filebeat.yml type: log enabled: true paths: - /lcp_logs/*.log filebeat.config.modules: path: /etc/filebeat/modules.d/*.yml reload.enabled: false setup.template.settings: #number_of_shards 是数据分片数,默认为5,有时候设置为3 index.number_of_shards: 3 index.analysis.analyzer.default.type: "ik_max_word" index.analysis.analyzer.default_search.type: "ik_max_word" setup.template.overwrite: true setup.kibana: host: "${KIBANA_IP}:${KIBANA_PORT}" output.elasticsearch: hosts: ["${ES_IP}:${ES_PORT}"] ilm.enabled: true ilm.rollover_alias: "fsl_uat.prod1" ilm.pattern: "{now/d}-000001" processors: - add_host_metadata: ~ - add_cloud_metadata: ~ EOF #启动filebeat并初始化数据 action "********启动filebeat并初始化数据********" /bin/true systemctl daemon-reload && systemctl enable filebeat.service systemctl restart filebeat.service #nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &  echo -e "\033[33m**************************************************完成Filebeat 7.6.2安装***************************************************\033[0m"cat > /tmp/filebeat7.log ${KIBANA_IP}:${KIBANA_PORT}filebeat配置elasticsearch: ${ES_IP}:${ES_PORT}EOF cat /tmp/filebeat7.log echo -e "\e[1;31m 以上信息10秒后消失,保存在/tmp/filebeat7.log文件下 \e[0m" echo -e "\033[33m************************************************************************************************************************\033[0m" echo "" sleep 10}

以上就是关于"Centos7下如何快速部署EFK服务"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

数据 服务 日志 文件 索引 配置 属性 插件 目录 信息 内容 分布式 服务器 环境 脚本 一键 分析 搜索 命令 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 鱼体重金属含量数据库 虚拟机中找不到服务器 服务器打开网页卡顿 2018年网络安全线上答题 软件开发培训选哪个 excel表格服务器异常 网络安全一年检查几次 系统换数据库 计算机网络技术有多难 江苏绿色软件开发销售方法 魔兽裁缝数据库 新能源网络安全渗透是什么意思 知网数据库能搜到的文章查重 电气大类可以去软件开发吗 美国的软件开发发达吗 教资支付时显示内部服务器有误 小型企业网站用什么服务器好 怎么登入ftp服务器 人员数据库软件 数据库压缩修复的原因是什么 网络安全 软件工程就业前景 国际棋联fide的数据库 宏碁服务器管理账号密码 太仓中高端服务器厂家直销价格 液冷服务器发布 信息网络安全服务资质 技术好的手机app软件开发定制 宝山区防水网络技术哪家好 上海常规软件开发定制哪个好 在网吧5e连接不了服务器怎么办
0