1. 项目概述
最近在负责将一批Linux服务器接入机房的统一日志平台,主要目标是实现主机日志的集中收集和管理。这种日志上报的核心流程其实很简单:收集日志并上报。但在实际操作中,每个环节都有不少需要注意的技术细节和配置要点。
日志上报主要有两种常见方式:Rsyslog和FTP。本文重点介绍Rsyslog方式的实现,这也是目前最主流、最稳定的日志收集方案。相比FTP方式,Rsyslog具有实时性强、资源占用低、配置简单等优势,特别适合需要实时监控的场景。
提示:在实际操作前,建议先与日志平台管理员确认具体的技术要求和规范,包括日志格式、传输协议、目标地址等关键信息。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 实施前的准备工作
2.1 确认日志收集需求
在开始配置前,必须明确三个关键要素:
-
上报地址:日志服务器的IP和端口
- 示例:UDP 10.44.132.93:2514 和 UDP 10.44.132.94:2514
- 注意区分IPv4和IPv6地址格式
-
日志类型:需要收集的具体日志内容
- 登录/登出日志(auth/authpriv)
- 用户操作日志(user.info)
-
传输协议:UDP还是TCP
- UDP性能更好但不可靠
- TCP更可靠但资源消耗更大
2.2 网络连通性测试
在正式配置前,建议先测试网络连通性:
bash复制# IPv4测试
echo "test" > /dev/udp/10.44.132.93/2514
# IPv6测试
echo "test" > /dev/udp/[2409:8034:5aff:3200::5:94]/2514
让日志平台管理员确认是否收到测试数据,这一步可以避免后续很多网络层面的问题。
3. 操作日志收集配置
3.1 配置Bash操作日志
为了记录用户的所有操作命令,我们需要修改/etc/bashrc文件:
bash复制sudo vi /etc/bashrc
在文件末尾添加以下脚本:
bash复制# ===== 操作日志监控脚本开始 =====
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTSIZ
