Debian环境下Filebeat支持的日志类型及说明
这是Filebeat最基础的日志采集类型,通过log输入类型实现。支持监控单个文件(如/var/log/syslog)或目录下所有匹配的日志文件(如/var/log/apache2/*.log),并能自动跟踪文件新增内容(tail机制)。适用于大多数文本格式的日志,如系统日志、应用日志、Web服务器日志等。
Filebeat可通过syslog输入类型采集通过Syslog协议传输的日志数据(默认端口514),涵盖系统日志(如/var/log/auth.log中的认证日志)、网络设备日志(路由器、交换机的Syslog输出)等。需在配置中指定Syslog监听端口或输入源。
通过http输入类型,Filebeat可作为HTTP服务器接收远程服务器或服务发送的日志数据(如应用通过HTTP POST请求上报的日志)。适用于分布式系统中,日志源无法直接写入文件系统的场景。
Filebeat提供针对常见应用/服务的预构建模块(如Nginx、Apache、MySQL、Redis等),简化了特定日志的采集与解析流程。例如:
access.log(访问日志)和error.log(错误日志),并解析为结构化字段(如请求方法、响应状态码、客户端IP等);access.log和error.log的结构化采集。/etc/filebeat/modules.d/目录)。通过paths参数指定文件系统中的路径(如/var/log/*.log、/data/logs/**/*.log),Filebeat会递归扫描该路径下的所有匹配文件(支持通配符*、**)。适用于集中采集某个目录下所有日志文件的场景,无需逐一指定文件名。
针对跨多行的日志(如Java应用异常堆栈、Python错误跟踪),可通过multiline配置将多行合并为一条日志记录。例如,设置pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}$'(匹配日期行)和negate: true(取反),则会将非日期行合并到前一条日期行之后,避免异常堆栈被拆分为多条日志。