【Kubernetes 企业项目实战】04、基于 K8s 构建 EFK+logs( 三 )


3.2组件介绍
是 Beats中的一员 。Beats 是一个轻量级日志采集器,Beats 家族有 6 个成员,早期的 ELK 架构中使用收集、解析日志,但是对内存、cpu、io 等资源消耗比较高 。相比 ,Beats 所占系统的 CPU 和内存几乎可以忽略不计 。
目前 Beats 包含六种工具:
:网络数据(收集网络流量数据);:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据);:日志文件(收集文件数据);:事件日志(收集事件日志数据);:审计数据(收集审计日志);:运行时间监控(收集系统运行时的数据) 。
是用于转发和收集日志数据的轻量级传送工具 。监视你指定的日志文件或位置,收集日志事件,并将它们转发到或中 。
的工作方式如下:启动时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找 。对于所找到的每个日志, 都会启动收集器 。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到 , 将聚集事件,并将聚集的数据发送到为配置的输出 。
工作的流程图如下:
有两个主要组件:
:一个负责读取一个单个文件的内容 。逐行读取每个文件,并把这些内容发送到输出 。每个日志文件启动一个。
Input:一个 input 负责管理 ,并找到所有要读取的源 。如果 input 类型是 log,则inpu t查找驱动器上与已定义的 log 日志路径匹配的所有文件,并为每个文件启动一个。
在任何环境下,应用程序都有停机的可能性 。读取并转发日志行,如果中断,则会记住所有事件恢复联机状态时所在位置 。
带有内部模块(,,Nginx, 和 MySQL),可通过一个指定命令来简化通用日志格式的收集,解析和可视化 。
不会让你的管道超负荷 。如果是向传输数据,当忙于处理数据,会通知放慢读取速度 。一旦拥塞得到解决, 将恢复到原来的速度并继续传播 。
保持每个文件的状态,并经常刷新注册表文件中的磁盘状态 。状态用于记住 正在读取的最后偏移量,并确保发送所有日志行 。将每个事件的传递状态存储在注册表文件中 。所以它能保证事件至少传递一次到配置的输出,没有数据丢失 。
1、.
如果你希望使用直接向输出数据,需要配置 .:
output.elasticsearch:hosts: ["192.168.78.143:9200"]
2、.
如果使用t向输出数据,然后由再向输出数据,需要配置 . 。和一起工作时,如果忙于处理数据,会通知 放慢读取速度 。一旦拥塞得到解决, 将恢复到原来的速度并继续传播 。这样,可以减少管道超负荷的情况 。
output.logstash:hosts: ["192.168.78.143:5044"]
3、.kafka
如果使用向 kafka 输出数据,然后由作为消费者拉取 kafka 中的日志,并再向输出数据,需要配置 .:
output.kafka:enabled: truehosts: ["192.168.78.143:9092"]topic: elfk8stest
3.3组件介绍
是一个开源数据收集引擎,具有实时管道功能 。可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地 。是一个应用程序日志、事件的传输、处理、管理和搜索的平台 。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计 。
数据往往以各种各样的形式,或分散或集中地存在于很多系统中 。支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件 。能够以连续的流式传输方式,轻松地从你的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据 。
数据从源传输到存储库的过程中, 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值 。