Elastic Stack(四):filebeat介绍及安装

2024-08-31 05:36

本文主要是介绍Elastic Stack(四):filebeat介绍及安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1 filebeat介绍
    • 1.1 filebeat和beat的关系
    • 1.2 filebeat是什么
    • 1.3 filebeat工作原理
    • 1.4 传输方案
  • 2 安装
    • 2.1 filebeat-源码包安装8.1
      • 1、下载
      • 2、创建密钥库
      • 3、修改filebeat配置文件
        • 修改filebeat配置文件(使用模块的配置)
      • 4、配置快速启动文件
        • 注意
      • 5、在kibana中查看

1 filebeat介绍

1.1 filebeat和beat的关系

filebeat是Beats中的一员。
  Beats是一个轻量级日志采集器,Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。

目前Beats包含六种工具:
1、Packetbeat:网络数据(收集网络流量数据)
2、Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据)
3、Filebeat:日志文件(收集文件数据)
4、Winlogbeat:windows事件日志(收集Windows事件日志数据)
5、Auditbeat:审计数据(收集审计日志)
6、Heartbeat:运行时间监控(收集系统运行时的数据)

1.2 filebeat是什么

Filebeat是用于转发和收集日志数据的轻量级传送工具。Filebeat监视你指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash中。

Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。

工作的流程图如下:
在这里插入图片描述
Filebeat 有两个主要组件:

  • harvester:一个harvester负责读取一个单个文件的内容。harvester逐行读取每个文件,并把这些内容发送到输出。每个文件启动一个harvester。
  • Input:一个input负责管理harvesters,并找到所有要读取的源。如果input类型是log,则input查找驱动器上与已定义的log日志路径匹配的所有文件,并为每个文件启动一个harvester。

1.3 filebeat工作原理

在任何环境下,应用程序都有停机的可能性。 Filebeat 读取并转发日志行,如果中断,则会记住所有事件恢复联机状态时所在位置。

Filebeat带有内部模块(auditd,Apache,Nginx,System和MySQL),可通过一个指定命令来简化通用日志格式的收集,解析和可视化。

FileBeat 不会让你的管道超负荷。FileBeat 如果是向 Logstash 传输数据,当 Logstash 忙于处理数据,会通知 FileBeat 放慢读取速度。一旦拥塞得到解决,FileBeat将恢复到原来的速度并继续传播。

Filebeat保持每个文件的状态,并经常刷新注册表文件中的磁盘状态。状态用于记住harvester正在读取的最后偏移量,并确保发送所有日志行。Filebeat将每个事件的传递状态存储在注册表文件中。所以它能保证事件至少传递一次到配置的输出,没有数据丢失

1.4 传输方案

  • output.elasticsearch
    如果你希望使用 filebeat 直接向 elasticsearch 输出数据,需要配置 output.elasticsearch
output.elasticsearch:hosts: ["192.168.92.10:9200"]
  • output.logstash
    如果使用filebeat向 logstash输出数据,然后由 logstash 再向elasticsearch 输出数据,需要配置 output.logstash。 logstash 和 filebeat 一起工作时,如果 logstash 忙于处理数据,会通知FileBeat放慢读取速度。一旦拥塞得到解决,FileBeat 将恢复到原来的速度并继续传播。这样,可以减少管道超负荷的情况。
output.logstash:hosts: ["192.168.40.180:5044"]  
  • output.kafka
    如果使用filebeat向kafka输出数据,然后由 logstash 作为消费者拉取kafka中的日志,并再向elasticsearch 输出数据,需要配置 output.logstash
output.kafka:enabled: truehosts: ["192.168.40.180:9092"]topic: elfk8stest

2 安装

2.1 filebeat-源码包安装8.1

1、下载

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.1ls
.0-linux-x86_64.tar.gz
tar xzvf filebeat-8.1.0-linux-x86_64.tar.gz
ln -s filebeat-8.1.0-linux-x86_64 filebeat

2、创建密钥库

cd /usr/local/filebeat
# 创建密钥库
./filebeat keystore create
# 添加密钥
./filebeat keystore add ES_PWD
# 回车后输入elastic的密码
./filebeat keystore list
# 删除密钥
./filebeat keystore remove ES_PWD

3、修改filebeat配置文件

vim /usr/local/filebeat/filebeat.ymlcat filebeat.yml
filebeat.inputs:- type: filestreamenabled: truepaths:- /var/log/*.log
#filebeat.config.modules:
#  path: ${path.config}/modules.d/*.yml
#  reload.enabled: true
output.elasticsearch:hosts: "https://192.168.92.10:9200"username: "elastic"password: "${ES_PWD}"ssl.verification_mode: none
setup.kibana:host: "https://192.168.92.10:5601"username: "elastic"password: "${ES_PWD}"#username: "kibana"#password: "zsnuTKfb_dE18YCbhTCa"  
# 下面的数据先不配置
processors:- add_host_metadata:when.not.contains.tags: forwarded- add_cloud_metadata: ~- add_docker_metadata: ~- add_kubernetes_metadata: ~

添加参数的原因:ssl.verification_mode: none
解决报错:
在这里插入图片描述

修改filebeat配置文件(使用模块的配置)
# 因为默认是不可用的,所以需要手动开启
./filebeat modules list
# 从安装目录中,启用一个或多个模块
./filebeat modules enable mysql# 在配置文件filebeat.yml 中设置
- module: nginxaccess:enabled: truevar.paths: ["/var/log/nginx/access.log*"]

4、配置快速启动文件

vi /usr/lib/systemd/system/filebeat.service[Unit]
Description=filebeat
After=network.target
[Service]
Type=simple
#LimitNOFILE=100000
#LimitNPROC=100000
Restart=no
ExecStart=/usr/local/filebeat/filebeat -c /usr/local/filebeat/filebeat.yml
PrivateTmp=true
[Install]
WantedBy=multi-user.target
注意

如果是ubuntu系统,glibc版本为2.35,启动filebeat则会报错:Fatal glibc error: rseq registration failed

# ubuntu查看glibc版本
ldd --version 
# GLIBC 2.35 为glibc的版本,版本是2.35
ldd (Ubuntu GLIBC 2.35-0ubuntu3.4) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

解决:

# 在filebeat配置文件中添加如下内容:
vim filebeat.yml
# 
seccomp:default_action: allow
# 或者以下内容:
seccomp:default_action: errnosyscalls:- action: allownames:- accept- accept4- access- arch_prctl- bind- brk- chmod- chown- clock_gettime- clone- clone3- close- connect- dup- dup2- epoll_create- epoll_create1- epoll_ctl- epoll_pwait- epoll_wait- exit- exit_group- fchdir- fchmod- fchmodat- fchown- fchownat- fcntl- fdatasync- flock- fstat- fstatfs- fsync- ftruncate- futex- getcwd- getdents- getdents64- geteuid- getgid- getpeername- getpid- getppid- getrandom- getrlimit- getrusage- getsockname- getsockopt- gettid- gettimeofday- getuid- inotify_add_watch- inotify_init1- inotify_rm_watch- ioctl- kill- listen- lseek- lstat- madvise- mincore- mkdirat- mmap- mprotect- munmap- nanosleep- newfstatat- open- openat- pipe- pipe2- poll- ppoll- pread64- pselect6- pwrite64- read- readlink- readlinkat- recvfrom- recvmmsg- recvmsg- rename- renameat- rseq- rt_sigaction- rt_sigprocmask- rt_sigreturn- sched_getaffinity- sched_yield- sendfile- sendmmsg- sendmsg- sendto- set_robust_list- setitimer- setsockopt- shutdown- sigaltstack- socket- splice- stat- statfs- sysinfo- tgkill- time- tkill- uname- unlink- unlinkat- wait4- waitid- write- writev

5、在kibana中查看

添加
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看
在这里插入图片描述

这篇关于Elastic Stack(四):filebeat介绍及安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1123036

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能