1. 安全审计日志采集与分析
在Debian系统中,安全审计是运维的重要环节,Filebeat可通过监控/var/log/auth.log
(Ubuntu/Debian系统认证日志)或/var/log/secure
(CentOS系统认证日志)捕获用户登录、权限变更等安全事件。配置时,需在filebeat.yml
中指定日志路径,并添加fields
标签区分日志类型(如security
),便于后续在Kibana中筛选分析。为提升分析效率,可启用Filebeat的auditd
模块(针对Linux审计框架),自动解析审计日志中的关键字段(如用户ID、操作类型、资源路径),无需手动编写正则表达式。采集的日志可发送至Elasticsearch,通过Kibana创建“安全事件仪表板”,监控失败登录尝试、异常权限提升等安全事件,及时发现潜在威胁。
2. Nginx Web服务器日志分析
对于部署在Debian上的Nginx Web服务器,Filebeat可高效采集access.log
(访问日志)和error.log
(错误日志),并将日志数据发送至Elasticsearch进行存储。配置时,需在filebeat.inputs
中添加Nginx日志路径(如/var/log/nginx/access.log
、/var/log/nginx/error.log
),并启用dissect
处理器解析访问日志中的关键字段(如客户端IP、请求方法、响应状态码、请求URI、响应时间)。例如,dissect
配置可提取%{client_ip} - %{user_id} [%{timestamp}] "%{method} %{request} HTTP/%{http_version}" %{status_code} %{response_size}
,将原始日志转换为结构化数据。通过Kibana可视化,可分析网站流量趋势、热门页面、慢请求(响应时间超过1秒)、错误率(如5xx状态码占比),帮助优化Web应用性能和用户体验。
3. 系统日志集中化管理
Debian系统的系统日志(如/var/log/syslog
、/var/log/kern.log
)记录了系统运行状态、内核消息、服务启动/停止等信息,Filebeat可将其集中采集至Elasticsearch,替代传统的日志分散存储方式。配置时,需在filebeat.inputs
中添加系统日志路径(如/var/log/syslog
、/var/log/kern.log
),并启用add_host_metadata
和add_docker_metadata
处理器(若系统运行Docker容器),自动附加主机信息(如主机名、IP地址)和容器信息(如容器ID、镜像名称)到日志中,丰富日志上下文。采集的日志可通过Kibana创建“系统监控仪表板”,实时查看系统运行状态、内核错误、容器异常,快速定位系统故障。
4. 应用自定义日志采集
企业级应用(如Java Spring Boot、Python Flask/Django)通常会生成自定义日志(如/var/log/myapp.log
),Filebeat支持通过multiline
配置处理跨行日志(如Java异常堆栈),避免日志分割错误。配置时,需在filebeat.inputs
中指定应用日志路径(如/var/log/myapp.log
),并设置multiline
规则:pattern
匹配日志行开头的日期时间(如^\d{4}-\d{2}-\d{2}
),negate
设为true
(表示匹配行不是日期时间),match
设为after
(表示将后续行追加到上一行)。此外,可通过processors
添加应用名称(log_type: myapp
)和标签(environment: production
),便于在Kibana中区分不同应用的日志。采集的日志可发送至Logstash进行进一步解析(如提取JSON字段),或直接发送至Elasticsearch,通过Kibana分析应用错误率、请求延迟、业务指标。
5. 日志数据备份与恢复
为防止日志数据丢失,Filebeat可将采集的日志备份至本地或远程存储(如NFS、S3)。备份时,需定期打包/etc/filebeat
(配置文件目录)和/var/lib/filebeat
(数据缓存目录)中的文件,使用tar
命令创建压缩包(如filebeat-backup-$(date +%Y%m%d).tar.gz
),并存储至安全位置。若需恢复备份,只需解压压缩包至原目录,并重启Filebeat服务即可。此外,可通过配置Filebeat的output.file
将日志写入本地文件(如/var/log/filebeat/backup/
),作为Elasticsearch的备用存储,确保数据可靠性。