温馨提示×

Ubuntu MongoDB如何配置审计日志

小樊
45
2025-08-03 17:42:00
栏目: 云计算

在Ubuntu上配置MongoDB的审计日志,可以按照以下步骤进行:

1. 安装MongoDB

如果你还没有安装MongoDB,可以使用以下命令进行安装:

sudo apt update
sudo apt install -y mongodb

2. 启用审计日志

MongoDB的审计日志功能默认是关闭的。你需要手动启用它。

2.1 编辑MongoDB配置文件

打开MongoDB的配置文件 /etc/mongod.conf

sudo nano /etc/mongod.conf

2.2 添加审计日志配置

在配置文件中找到 security 部分,并添加或修改以下内容:

security:
  authorization: enabled
  auditLog:
    destination: file
    format: JSON
    path: /var/log/mongodb/audit.json
    filter: '{ "severity": { "$gte": 1 } }'  # 过滤条件,可以根据需要调整
  • destination: 审计日志的输出位置,可以是文件(file)或syslog。
  • format: 日志格式,可以是JSON或CSV。
  • path: 日志文件的路径。
  • filter: 过滤条件,用于指定哪些操作需要记录到审计日志中。

3. 重启MongoDB服务

保存并关闭配置文件后,重启MongoDB服务以应用更改:

sudo systemctl restart mongod

4. 验证审计日志配置

你可以通过以下命令查看审计日志文件,确保它正在正常工作:

tail -f /var/log/mongodb/audit.json

5. 配置审计日志轮转

为了防止审计日志文件过大,你可以配置日志轮转。Ubuntu使用 logrotate 工具来管理日志文件的轮转。

5.1 创建日志轮转配置文件

创建一个新的日志轮转配置文件 /etc/logrotate.d/mongodb-audit

sudo nano /etc/logrotate.d/mongodb-audit

5.2 添加轮转配置

在文件中添加以下内容:

/var/log/mongodb/audit.json {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 0640 mongodb adm
}
  • daily: 每天轮转一次日志文件。
  • missingok: 如果日志文件丢失,不会报错。
  • rotate 7: 保留7天的日志文件。
  • compress: 压缩旧的日志文件。
  • notifempty: 如果日志文件为空,不进行轮转。
  • create 0640 mongodb adm: 创建新的日志文件,权限为0640,属主为mongodb,属组为adm。

6. 测试日志轮转

你可以手动测试日志轮转是否正常工作:

sudo logrotate -f /etc/logrotate.d/mongodb-audit

然后检查日志文件是否被正确轮转和压缩。

通过以上步骤,你就可以在Ubuntu上成功配置MongoDB的审计日志,并确保日志文件的合理管理和维护。

0