centos mongodb日志管理技巧
一、日志配置
- 配置文件:修改
/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
,配置如:
启用后自动按天轮转,保留7天日志并压缩。/var/log/mongodb/mongod.log { daily rotate 7 compress missingok notifempty create 0640 mongodb mongodb postrotate kill -SIGUSR1 $(cat /var/run/mongodb.pid) endscript }
- 手动轮转:通过
mongo --eval "db.adminCommand({ logRotate: 1 })"
命令触发。
三、日志监控与分析
- 实时查看:用
tail -f /var/log/mongodb/mongod.log
监控日志更新。 - 分析工具:
- 用
jq
解析JSON格式日志,提取关键信息(如错误、慢查询)。 - 集成ELK Stack(Elasticsearch+Logstash+Kibana)实现可视化分析。
- 用
四、日志清理与归档
- 自动清理:通过
logrotate
的rotate
和compress
参数控制保留天数及压缩。 - 手动清理:用
find /var/log/mongodb/ -mtime +30 -delete
删除30天前日志。 - 归档策略:定期将日志压缩备份至指定目录,例如按日期归档。
五、安全与权限
- 权限控制:用
chown
和chmod
限制日志文件访问权限,确保仅授权用户可读。 - 敏感信息过滤:避免在日志中记录敏感数据(如密码),可通过配置过滤或脱敏。
六、高级管理
- 慢查询日志:通过
db.setProfilingLevel(1)
开启慢查询记录,分析性能瓶颈。 - 集中式日志管理:使用Graylog等工具聚合多节点日志,实现统一监控与审计。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!