ELK集群部署---LogStash,Filebeat的部署

news2024/11/20 8:24:13

1.  环境规划:

主机名IP地址角色
node1192.168.56.111

ElasticSearch(master)

Zookeeper

Kafka

node2192.168.56.112

ElasticSearch(slave)

Kibana

Zookeeper

Kafka

node3192.168.56.113

ElasticSearch(slave)

Zookeeper

Kafka

node4192.168.56.114

Logstash

Filebeat

2.  node4节点已经安装jdk:

[root@node4 ~]# java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

3.  安装LogStash和Filebeat:

[root@node4 ~]# yum localinstall -y logstash-7.2.0.rpm

[root@node4 ~]# yum localinstall -y filebeat-7.2.0-x86_64.rpm

4.  配置Filebeat:

[root@node4 ~]# cd /etc/filebeat/

[root@node4 filebeat]# cp filebeat.yml{,.bak}

##配置filebeat,从日志文件输入,输出到kafka
[root@node4 filebeat]# vim filebeat.yml

filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - /var/log/httpd/access_log
    fields:
      type: httpd-access
    multiline.pattern: ^\[
    multiline.negate: true
    multiline.match: after

  - type: log
    enabled: true
    paths:
      - /var/log/httpd/error_log
    fields:
      type: httpd-error
    multiline.pattern: ^\[
    multiline.negate: true
    multiline.match: after

  - type: log
    enabled: true
    paths:
      - /var/log/mariadb/mariadb.log
    fields:
      type: mariadb
    multiline.pattern: ^\[
    multiline.negate: true
    multiline.match: after

output.kafka:
  hosts: ["192.168.56.111:9092","192.168.56.112:9092","192.168.56.113:9092"]  ##kafka集群节点
  topic: "%{[fields][type]}"  ##kafka的标题

multiline参数解析:1.  " multiline.type ":默认值是pattern。

                                2. " multiline.pattern ":匹配日志的正则,一般情况下会配置为从行首开始匹配。

                                3. " multiline.match,multiline.negate ":multiline.match追加的位置, multiline.negate是否为否定模式。

multiline.match为after,multiline.negate为true的意思就是从匹配的位置开始,只要是不满足匹配条件的,全部追加到匹配的那一行,直到再次遇到匹配条件的位置。

5.  配置logstash:

[root@node4 ~]# cd /etc/logstash/conf.d

##配置logstash:输入为kafka,输出为elasticsearch。
[root@node4 conf.d]# vim all.conf

input{
  kafka {
    bootstrap_servers => "192.168.56.111:9092,192.168.56.112:9092,192.168.56.113:9092"
    codec => json
    topics => "httpd-access"  ##匹配kafka中的主题
    consumer_threads => 1
    decorate_events => true
    type => "httpd-access"  ##用于输出时条件判断
  }

  kafka {
    bootstrap_servers => "192.168.56.111:9092,192.168.56.112:9092,192.168.56.113:9092"
    codec => json
    topics => "httpd-error"  ##匹配kafka中的主题
    consumer_threads => 1
    decorate_events => true
    type => "httpd-error"  ##用于输出时条件判断
  }

  kafka {
    bootstrap_servers => "192.168.56.111:9092,192.168.56.112:9092,192.168.56.113:9092"
    codec => json
    topics => "mariadb"  ##匹配kafka中的主题
    consumer_threads => 1
    decorate_events => true
    type => "mariadb"  ##用于输出时条件判断
  }

}

##输出时如果满足type的判断条件,就按照指定索引输出到elasticsearch上。
output {
  if [type] == "httpd-access" {
    elasticsearch {
      hosts => ["192.168.56.111:9200","192.168.56.112:9200","192.168.56.113:9200"]
      index => "httpd-accesslog-%{+yyyy.MM.dd}"
    }
  }

  if [type] == "httpd-error" {
    elasticsearch {
      hosts => ["192.168.56.111:9200","192.168.56.112:9200","192.168.56.113:9200"]
      index => "httpd-errorlog-%{+yyyy.MM.dd}"
    }
  }

  if [type] == "mariadb" {
    elasticsearch {
      hosts => ["192.168.56.111:9200","192.168.56.112:9200","192.168.56.113:9200"]
      index => "mariadblog-%{+yyyy.MM.dd}"
    }
  }
}

6.  测试Filebeat和LogStash是否可以成功采集到日志。

[root@node4 ~]# cd /etc/filebeat

[root@node4 filebeat]# filebeat -e -c filebeat.yml

另起一个终端启动logstash:
[root@node4 ~]# cd /etc/logstash/conf.d

[root@node4 conf.d]# logstash -f all.conf

访问apache http和登录mariadb,查看elasticsearch上是否采集到指定索引的日志。

如果想以服务方式启动filebeat和logstash,filebeat配置文件名就要是filebeat.yml;logstash配置文件必须要在/etc/filebeat/conf.d目录下,并且后缀为".conf"。 

[root@node4 ~]# systemctl start filebeat.service

[root@node4 ~]# systemctl start logstash.service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue 实现类似甘特图大屏效果

最近在做大屏展示,其中一个需求是展示生产过程中投料情况,效果类似甘特图。 思路:1.先得到整个过程的开始时间startTime和结束时间endTime。计算出整个过长经历的时长。 2.计算横向坐标的开始时间start和结束时间end,坐标的开始时…

五分钟了解GRE是什么,四信GRE相关应用推荐

随着互联网新技术的发展以及智能化水平的提高,各企业对实时数据传输的需求也在不断提升,企业愈发重视数据中心的建设,各类虚拟网络技术相继被引入。今天,我们重点了解下云端“借道”鼻祖,善于“包装”的GRE&#xff0c…

新品上市|四信LTE Cat.1无线数传终端 推进中低速蜂窝典型应用

当前,物联网作为新型信息基础设施,已成为推动制造业、零售业、金融业、服务业等行业数字转型、智能升级、融合创新的重要支撑。《“十四五”信息通信行业发展规划》提出,要推进移动物联网全面发展,推动存量2G/3G物联网业务向NB-Io…

SSM医院病历

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字):

CentOS7安装git

CentOS7安装git前言一、git介绍二、使用yum安装git1.安装git2.查看git版本3.移除git三、源码包安装git1.安装依赖2.下载源码包3.解压4.git安装5.查看git版本总结前言 CentOS7安装git,刚开始使用yum安装git,发现安装的版本默认是1.8.3.1,如果…

yaml 资源配置清单使用详解——k8s声明式资源管理

目录 一、kubectl 操作 yaml 文件 1.应用yaml文件指定的资源 2.删除yaml文件指定的资源 3.查看资源的yaml格式信息 4.查看yaml文件字段说明 5.修改yaml文件指定的资源 (1)离线修改 (2)在线修改 二、编辑yaml配置清单生成…

Java开发如何通过IoT边缘ModuleSDK进行进程应用的开发?

摘要:为解决用户自定义处理设备数据以及自定义协议设备快速接入IOT平台的诉求,华为IoT边缘提供ModuleSDK,用户可通过集成SDK让设备以及设备数据快速上云。本文分享自华为云社区《【华为云IoTEdge开发实战】Java开发如何通过IoT边缘ModuleSDK进…

字符串函数剖析(2)

最慢的步伐不是跬步,而是徘徊;最快的脚步不是冲刺,而是坚持。——《人民日报》 字符串函数的重点: 文章不长,是为了让你一点点消化所有内容: 1.strncpy函数的脾气 1.1模拟实现strncpy函数 2.strncmp函数…

马化腾说视频号是全公司希望

我是卢松松,点点上面的头像,欢迎关注我哦! 这应该是,腾讯这家公司创办以来,马化腾最焦虑也最外露的一次讲话了,对于腾讯内部的大会,马化腾先生作了重要发言,因其在内部员工大会的讲…

边界网关协议BGP(计算机网络-网络层)

目录 因特网分层路由 分层路由和自治系统 边界网关协议 BGP BGP 的设计目标 BGP 发言人 路径向量算法 BGP 协议的要点 因特网分层路由 规模问题 路由选择算法将很难收敛 交换的路由信息会占用大量的带宽 管理问题 许多单位不愿意外界了解自己单位网络的具体细节 希望采用…

新能源汽车补贴即将取消,汽车金融的促进作用逐渐显现

中国新能源汽车产业发展强劲。自2015年起,新能源汽车销量连续7年位居世界第一。特别是2021年以来,在政策支持、技术驱动、消费者接受度提升等多重因素共同影响下,中国新能源汽车市场实现了超越式的发展。2022年1-10月,新能源汽车批…

这份京东T8级程序员整理的新版Spring Cloud手抄本,把微服务讲透了

近几年,微服务可谓是红的发紫,仿佛一时间所有系统无不以拆分为荣,以构建烟囱型应用为耻。最近,一位朋友刚好赶上公司基础服务的微服务化项目,加上之前又主动学习了不少微服务的内容,便主动请缨参与到项目里…

前端实现网站悼念【灰色效果】几行代码轻松解决

博主介绍 📢点击下列内容可跳转对应的界面,查看更多精彩内容! 🍎主页:水香木鱼 🍍专栏:CSS3 文章目录 简介:这是一篇有关【前端实现网站悼念【灰色效果】几行代码轻松搞定】的文章&…

遗传编程(Genetic Programming, GP)

1. 绪言 1.1 遗传编程概述 \quad\quad自计算机出现以来,计算机科学的一个重要目标是让计算机自动进行程序设计,即只要明确地告诉计算机要解决的问题,而不需要告诉它如何去做,遗传规划便是在该领域内的一种尝试。它采用遗传算法的…

IDEA反编译Jar包

一.安装Java Bytecode Decomplier插件 (1) File–>Settings–>Plugins ,搜索 Java Bytecode Decomplier 插件 (2) 查看安装插件的路径 File->Import Setting 注意:如果你的插件里面搜不到 Java Bytecode Decomplier,但是能搜到…

spring之Bean的生命周期

文章目录一、Bean的生命周期之五步1、准备User类2、spring配置文件3、测试类4、运行结果二、Bean的生命周期之七步1、实现BeanPostProcessor类2、配置文件3、运行结果:三、Bean的生命周期之十步1、点位12、点位23、点位3四、Bean的作用域一、Bean的生命周期之五步 …

Coinbase或在不久使用Zebec发放工资,并对Web3支付赛道发展寄予厚望

流支付协议Zebec Protocol目前已经完成了生态向BNB Chian上的迁移,目前得到了以PancakeSwap为代表的头部生态的支持。在12月20日Zebec生态在PancakeSwap官方的支持下,经过社区投票,ZBC通证上线了糖浆池,并有望继续上线Binance。而…

ELK集群部署---Kibana的部署

1. 环境规划: 主机名IP地址角色node1192.168.56.111 ElasticSearch(master) Zookeeper Kafka node2192.168.56.112 ElasticSearch(slave) Kibana Zookeeper Kafka node3192.168.56.113 ElasticSearch(slave) Zookeeper Kafka node4192.168.56.114 Logstash Filebe…

优雅数据同步--canal实现mysql同步demo

当需要两张表数据同步的时候,我们会想到几种方案? 最简单的一种方式就是触发器的方式。例如A同步到B,可以通过下面的sql来添加触发器 create trigger tri_trade_update after UPDATE on A for each row begin update B set company_id new.compan…

数据结构和算法学习——稀疏数组

目录 一、数据结构和算法的关系 二、数据结构的分类 (一)线性结构 (二)非线性结构 三、稀疏数组(sparsearray) (一)稀疏数组的基本介绍 (二)稀疏数组的处理方法 一、数据结构和算法的关系 数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言…