温馨提示×

centos mongodb日志管理技巧

小樊
58
2025-08-10 12:30:36
栏目: 云计算

一、日志配置

  • 配置文件:修改 /etc/mongod.conf,设置 systemLog 参数,如 destination(文件/syslog)、path(日志路径,默认 /var/log/mongodb/mongod.log)、logAppend(是否追加,默认 true)、verbosity(日志详细程度,0-5,默认1)。
  • 日志级别:通过 logLevel 参数设置(0-5),控制日志输出量,生产环境建议保持默认或设为1。

二、日志轮转

  • 使用 logrotate
    编辑 /etc/logrotate.d/mongodb,配置如:
    /var/log/mongodb/mongod.log { daily rotate 7 compress missingok notifempty create 0640 mongodb mongodb postrotate kill -SIGUSR1 $(cat /var/run/mongodb.pid) endscript } 
    启用后自动按天轮转,保留7天日志并压缩。
  • 手动轮转:通过 mongo --eval "db.adminCommand({ logRotate: 1 })" 命令触发。

三、日志监控与分析

  • 实时查看:用 tail -f /var/log/mongodb/mongod.log 监控日志更新。
  • 分析工具
    • jq 解析JSON格式日志,提取关键信息(如错误、慢查询)。
    • 集成ELK Stack(Elasticsearch+Logstash+Kibana)实现可视化分析。

四、日志清理与归档

  • 自动清理:通过 logrotaterotatecompress 参数控制保留天数及压缩。
  • 手动清理:用 find /var/log/mongodb/ -mtime +30 -delete 删除30天前日志。
  • 归档策略:定期将日志压缩备份至指定目录,例如按日期归档。

五、安全与权限

  • 权限控制:用 chownchmod 限制日志文件访问权限,确保仅授权用户可读。
  • 敏感信息过滤:避免在日志中记录敏感数据(如密码),可通过配置过滤或脱敏。

六、高级管理

  • 慢查询日志:通过 db.setProfilingLevel(1) 开启慢查询记录,分析性能瓶颈。
  • 集中式日志管理:使用Graylog等工具聚合多节点日志,实现统一监控与审计。

0