ELK安装、部署、调试(五)filebeat的安装与配置

1.介绍

logstash 也可以收集日志,但是数据量大时太消耗系统新能。而filebeat是轻量级的,占用系统资源极少。

Filebeat 由两个主要组件组成:harvester 和 prospector。

采集器 harvester 的主要职责是读取单个文件的内容。读取每个文件,并将内容发送到 the output。 每个文件启动一个 harvester,harvester 负责打开和关闭文件,这意味着在运行时文件描述符保持打开状态。如果文件在读取时被删除或重命名,Filebeat 将继续读取文件。

查找器 prospector 的主要职责是管理 harvester 并找到所有要读取的文件来源。如果输入类型为日志,则查找器将查找路径匹配的所有文件,并为每个文件启动一个 harvester。每个 prospector 都在自己的 Go 协程中运行。

2.下载

下载地址:www.elastic.co/downloads/beats/filebeat

百度云elk

3.安装

tar -zxvf filebeat-7.9.3-linux-x86_64.tar.gz -C /usr/local
cd /usr/local/
mv filebeat-7.9.3-linux-x86_64 filebeat
cd filebeat/
[root@node1 filebeat]# ls -l
fields.yml     filebeat      filebeat.reference.yml         filebeat.yml         kibana
LICENSE.txt        module         modules.d      NOTICE.txt         README.md

filebeat为应用程序
cd /usr/local/filebeat/filebeat.yml 是配置文件
modules.d的目录下放置的日志收集模板,实现了模块化的日志收集

[root@node1 modules.d]# ls
activemq.yml.disabled    coredns.yml.disabled        ibmmq.yml.disabled     microsoft.yml.disabled 
okta.yml.disabled        squid.yml.disabled    apache.yml.disabled      crowdstrike.yml.disabled    icinga.yml.disabled    misp.yml.disabled       osquery.yml.disabled     suricata.yml.disabled
auditd.yml.disabled      cylance.yml.disabled        iis.yml.disabled       mongodb.yml.disabled    
panw.yml.disabled        system.yml.disabled   aws.yml.disabled         elasticsearch.yml.disabled  imperva.yml.disabled   mssql.yml.disabled      postgresql.yml.disabled  tomcat.yml.disabled
azure.yml.disabled       envoyproxy.yml.disabled     infoblox.yml.disabled  mysql.yml.disabled      
rabbitmq.yml.disabled    traefik.yml.disabled   barracuda.yml.disabled   f5.yml.disabled             iptables.yml.disabled  nats.yml.disabled        radware.yml.disabled     zeek.yml.disabled
bluecoat.yml.disabled    fortinet.yml.disabled       juniper.yml.disabled   netflow.yml.disabled    
redis.yml.disabled       zscaler.yml.disabled   cef.yml.disabled         googlecloud.yml.disabled    kafka.yml.disabled     netscout.yml.disabled     santa.yml.disabled
checkpoint.yml.disabled  gsuite.yml.disabled         kibana.yml.disabled    nginx.yml.disabled      
sonicwall.yml.disabled  cisco.yml.disabled       haproxy.yml.disabled        logstash.yml.disabled  o365.yml.disabled      
sophos.yml.disabled

4.配置

配置filebeat.yml
注意 以下使用“-” 为首字母的,要求前面不能使用tab做缩进,

filebeat.inputs:                      #定义日志输入的开始
- type: log        #注意格式,收集日志类型为日志,还可以是redis,UDP,TCP,docker,syslog,stdin等enabled: true                       #使用手动模式,如果false将使用modules.d目录下的模块方式paths:                              #要收集的日志的路径- /var/log/messages- /var/log/secure#如果日志较多,可以模糊的填写,如 - /data/nginx/logs/ngix_*.log# - /var/log/*.log 的配置会获取/var/log下所有子目录中以.log结尾的日志,而不会查找/var/log/目录下的.log文件。fields:log_topic:osmessages              #osmessages是自己定义主体的名字
name: "10.10.10.56"                  #指定名字,不配置时默认使用主机名
output.kafka:eanbled: truehosts: ["10.10.10.71:9092","10.10.10.72:9092","10.10.10.73:9092"]   #kafka集群的地址和端口号version: 2.0.1                     #kafka的版本号topic: '%{[fields][log_topic]}'    #也可以fields.log_topic的写法partition.round_robin:             #采用轮询的方式reachable_only: trueworker: 2required_acks: 1                    #有1,2,3等可写,1最大限度保证compression: gzipmax_message_bytes: 10000000logging.level: debug                 #info,warming,error等可写,定义  日志级别配置里还包含一些过滤条件,如行排除,行包含,文件排除等
exclude_lines: ['^DBG']
include_lines: ['^ERR', '^WARN']
exclude_files: ['.gz$']

以上配置使用了kafka作为filebeat的输出,

配置

# ============================== Filebeat modules ==============================filebeat.config.modules:# Glob pattern for configuration loadingpath: ${path.config}/modules.d/*.yml# Set to true to enable config reloadingreload.enabled: false# Period on which files under path should be checked for changes#reload.period: 10s# ======================= Elasticsearch template setting =======================文档中还有一些模块的配置,如上
由于我们在
filebeat.inputs: 
- type: log        enabled: true      这里我们设置为了true,使用了手动配置的方式,屏蔽了快速模块,这里配置为false时,才使用模块配
置


使用./filebeat test config 或者./filebeat -c filebeat.yml -configtest 对配置文件进行格式测试。检查启动filebeat

more filebeat.ymlnohup /usr/local/filebeat/filebeat -e -c /usr/local/filebeat/filebeat.yml &

测试
tail -f nohup.out 查看收集的日志

"@timestamp": "2023-08-28T07:56:14.266Z",  时间戳"@metadata": {"beat": "filebeat",                       "type": "_doc","version": "7.9.3"},"log": {                                   类型"file": {"path": "/var/log/secure"},"offset": 508431                         位置,偏移量},"message": "Aug 28 15:56:12 node1 sshd[31513]: pam_limits(sshd:session): invalid line 'End of file' -
skipped","fields": {                                 自定义的域"log_topic": "osmessages"},"input": {                                  类型"type": "log"},"agent": {"id": "a5a5cdf5-42f5-40a8-8c4c-068b76a2b22c","name": "10.10.10.56","type": "filebeat","version": "7.9.3","hostname": "node1","ephemeral_id": "826d8757-65f0-4838-b915-409eba0cd6bf"},"ecs": {"version": "1.5.0"},"host": {"name": "10.10.10.56"}
}

我们看到,很多信息都是filebeat附带的一些信息。    我们可以通过配置参数的过滤掉一些信息。

# ================================= Processors =================================
processors:
#  - add_host_metadata:
#      when.not.contains.tags: forwarded
#  - add_cloud_metadata: ~
#  - add_docker_metadata: ~
#  - add_kubernetes_metadata: ~- drop_fields:fields: ["host","input","offset","ecs","log","agent.id"]

drop_fields:所定义的就是不需要在日志中显示的filebeat自带的一些信息。
上面的配置信息agent.id ,因为agent下有很多个属性,仅过滤掉id这个属性

 "agent": {"id": "a5a5cdf5-42f5-40a8-8c4c-068b76a2b22c","name": "10.10.10.56","type": "filebeat","version": "7.9.3","hostname": "node1","ephemeral_id": 

这样配置后,将在日志文件中过滤掉 以上属性的内容,仅显示留下的内容。


通过tail -f nohup.out查看本机产生的日志
通过在kafka机器上用过消费来开传到kafka上的日志
cd /usr/local/kafka/bin
./kafka-console-consumer.sh  --bootstrap-server 10.10.10.71:9092,10.10.10.72:9092,10.10.10.73:9092 --topic
osmessages
 

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

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

相关文章

机器学习技术(六)——有监督学习算法之线性回归算法实操

机器学习技术(五)——有监督学习之线性回归算法实操 引言: 机器学习监督算法是一种基于已有标记数据的学习方法,通过对已知输入和输出数据的学习,建立一个模型来预测新的输入数据的输出。这种算法模仿人类的学习过程&a…

安防监控/视频汇聚平台EasyCVR调用rtsp地址返回的IP不正确是什么原因?

安防监控/云存储/磁盘阵列存储/视频汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RT…

docker 笔记2 Docker镜像和数据卷

参考: 1.镜像是什么?(面试题) 是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文…

算法笔记——路径问题

在引入介绍如何写一个算法的时候,我们先引入一个题作为例子 1137. 第 N 个泰波那契数 - 力扣(LeetCode) 作为刚开始学习算法的我们,看到这个题目的时候,应该想好以下的问题: 1.状态表示 我们要用什么来表…

Windows7安装SSH客户端的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

SQL sever中库管理

目录 一、创建数据库 1.1库界面方式 1.2SQL命令方式 二、修改数据库 2.1库界面方式 2.2SQL命令方式 三、删除数据库 3.1库界面方式 3.2SQL命令方式 四、附加和分离数据库 4.1附加和分离数据库概述 4.2作用 4.3附加和分离数据库方法 4.4示例 一、创建数据库 1.1库…

第 3 章 栈和队列 (循环队列)

1. 背景说明 和顺序栈相类似,在队列的顺序存储结构中,除了用一组地址连续的存储单元依次存放从队列头到队列尾的元素之外, 尚需附设两个指针 front 和 rear 分别指示队列头元素及队列尾元素的位置。约定:初始化建空队列时&#x…

XmlDocument.SelectNodes 不起作用

今天采用Xpath读取Xml节点,怎么都读不出。 问题分析: 错误代码如下: XmlDocument xmlD new XmlDocument();xmlD.PreserveWhitespace true;xmlD.LoadXml(xStr);xmlD.SelectNodes("job-scheduling-data/schedule/job");经排查 do…

Python学习笔记——从面试题出发学习Python

Python学习笔记——从面试题出发学习Python Python学习笔记——从面试题出发学习Python1. 可变数据类型与不可变数据类型,深拷贝与浅拷贝,函数参数的传递机制1.1 变量与对象1.2 可变数据类型与不可变数据类型1.3 深拷贝与浅拷贝1.4 函数参数的传递机制1.…

Matlab(画图初阶)

目录 1.plot()函数 2. hold(添加新绘图是否保留旧绘图) 3. Plot Style 3.1 线型 3.2 标记 3.3 颜色 ​编辑 4. legend() 5.X 、Y and Title? 6. Text()和annotation() 7.line(创建基本线条) 7.1 基本语法 7.2 指定线条属性 7.3 更改线条属性 8.图像属性 8.1 …

c++入门一

参考:https://www.learncpp.com/cpp-tutorial/ When you finish, you will not only know how to program in C, you will know how NOT to program in C, which is arguably as important. Tired or unhappy programmers make mistakes, and debugging code tends…

软考高级架构师——6、软件架构设计

像学写文章一样,在学会字、词、句之后,就应上升到段落,就应追求文章的“布局谋 篇”,这就是架构。通俗地讲,软件架构设计就是软件系统的“布局谋篇”。 人们在软件工程实践中,逐步认识到了软件架构的重要性…

HarmonyOS Codelab 优秀样例——购物应用,体验一次开发多端部署魅力

一. 样例介绍 本篇Codelab基于自适应布局和响应式布局,实现购物应用在手机、折叠屏、平板不同屏幕尺寸设备上按不同设计显示。通过三层工程结构组织代码,实现一次开发,多端部署 。 手机运行效果如图所示: 折叠屏运行效果图&#x…

C语言:大小端字节序存储

一、大小端字节序存储介绍 大端字节序存储模式:把一个数据低位字节处的数据存放在高地址处,数据高位字节处的数据存放在低地址处 小端字节序存储模式:把一个数据低位字节处的数据存放在低地址处,数据高位字节处的数据存放在高地址…

MATLAB中isequal函数转化为C语言

背景 有项目算法使用matlab中isequal函数进行运算,这里需要将转化为C语言,从而模拟算法运行,将算法移植到qt。 MATLAB中isequal简单介绍 语法 tf isequal(A,B) tf isequal(A1,A2,...,An) 说明 如果 A 和 B 等效,则 tf is…

【Python】PySpark 数据计算 ⑤ ( RDD#sortBy方法 - 排序 RDD 中的元素 )

文章目录 一、RDD#sortBy 方法1、RDD#sortBy 语法简介2、RDD#sortBy 传入的函数参数分析 二、代码示例 - RDD#sortBy 示例1、需求分析2、代码示例3、执行结果 一、RDD#sortBy 方法 1、RDD#sortBy 语法简介 RDD#sortBy 方法 用于 按照 指定的 键 对 RDD 中的元素进行排序 , 该方…

用 ChatGPT 写代码太省时间了

几个月前,我们聊过陶哲轩使用 ChatGPT 辅助解决数学问题。当时,他觉得虽然测试结果不太令人满意,但也并没有对 ChatGPT 持完全否定的态度。他觉得,像 ChatGPT 这类大型语言模型在数学中可以用来做一些半成品的语义搜索工作&#x…

(超简单)将图片转换为ASCII字符图像

将一张图片转换为ASCII字符图像 原图: 效果图: import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileWriter; import java.io.IOException;public class ImageToASCII {/*** 将图片转换为A…

保姆级教程之SABO-VMD-SVM的西储大学轴承诊断

之前写过一篇优化核极限学习机的轴承诊断,今天再出一期基于SVM的轴承诊断。 依旧是包含了从数据处理,到减法优化器SABO算法优化VMD参数,再到支持向量机的故障诊断,实现故障诊断的全流程,其他类型的故障诊断均可参考此流…

阿里云对象存储oss-文件上传过程详解(两种方式)

阿里云对象存储oss-文件上传过程详解{两种方式} 方式一(最新代码,时间:2023/8/27)(1)如何配置系统变量(2)完整代码 方式二(跟黑马最新教程同代码)(1)在复制下来的代码中(2)完整代码 方式一(最新代码,时间:2023/8/27) 问题:需要配置系统变量才能够使用 (1)如何配置系统变量 以wi…