使用说明
- 安装依赖:
pip install jinja2 paramiko - 使用 OpenSSL 为 rsyslog 服务端和客户端生成 TLS 证书。
- 运行 Agent 生成 rsyslog 服务端和客户端配置:
- 服务端:在 6514 端口监听 TLS,按主机目录输出,JSON 格式模板
- 客户端:使用磁盘辅助队列进行可靠的 TLS 转发
- 通过 SSH(paramiko)将配置部署到服务器。
- 验证 TLS 连接和日志投递。
python scripts/agent.py --server-ip 10.0.0.1 --clients 10.0.0.10,10.0.0.11 --ca-cert ca.pem --output syslog_report.json
示例
服务端配置(TLS)
module(load="imtcp" StreamDriver.Name="gtls" StreamDriver.Mode="1"
StreamDriver.Authmode="x509/name")
input(type="imtcp" port="6514")
template(name="PerHostLog" type="string" string="/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log")
*.* ?PerHostLog
客户端配置(可靠转发)
action(type="omfwd" target="10.0.0.1" port="6514" protocol="tcp"
StreamDriver="gtls" StreamDriverMode="1"
StreamDriverAuthMode="x509/name"
queue.type="LinkedList" queue.filename="fwdRule1"
queue.maxdiskspace="1g" queue.saveonshutdown="on"
action.resumeRetryCount="-1")