随着MongoDB愈来愈受欢迎,管理MongoDB服务器和客户端利用程序的日志文件管理已成为一项重要任务。了解MongoDB日志文件管理的技能可以帮助管理者有效地利用日志文件来监控和诊断MongoDB的状态,从而留下良好的运维痕迹。
MongoDB记录日志文件的日志记录类型有以下几种:
1. 连接层日志 – 包括了客户端连接MongoDB的IP,端口及其他连接信息;
2. 操作处理日志 – 记录了命令行参数和命令行结果返回信息;
3. 副本集复制日志 – 记录了从复制源拉取到副本集节点的复制记录,和副本集内部同步情况;
4. 索引前置管理器日志 – 记录了索引条件返回结果,和异常情况;
5. 审计日志 – 记录了特定字段(比方IP地址)、特定操作(比方update)或当前数据库的操作行动;
6. 毛病日志 – 记录了毛病信息和调试信息;
根据需要,可以在MongoDB配置文件中调剂日志文件的相关参数,比如配置日志文件所在路径和日志粒度:
//设置日志类型和路径
systemLog:
destination: file
path: “/tmp/mongodb.log” //设置日志文件路径
logAppend: true
logRotate: rename
//调剂日志粒度
processManagement:
fork: true
timeZoneInfo: “/usr/share/zoneinfo”
systemLog:
verbosity: 4
在MongoDB的日志管理中一样也需要重视日志的清算机制。由于MongoDB日志文件体积会变大,因此管理者可使用mLogRotate来定期清算MongoDB的日志文件:
#服务器端设置:
#安装mLogRotate
git clone https://github.com/bahn/mLogRotate
cd mLogRotate
#修改mLogRotate.conf.sample中MongoDB连接信息
python mLogRotate.py -c mLogRotate.conf.sample
#客户端设置:
db.getSiblingDB(“admin”).runCommand( { logRotate : 1 } )
另外,MongoDB日志文件中包括了大量与集群状态相关的信息,开发者可使用Logstash工具将日志文件内容导入到ElasticSearch数据库中,从而更方便地查看和分析MongoDB的日志信息:
input {
file {
path =>”/tmp/mongodb.log”
start_position => beginning
codec => json
}
}
output {
elasticsearch {
index => ‘mongodb’
hosts => [“localhost:9200”]
}
}
总之,理解MongoDB日志文件和日志管理技能对管理者了解MongoDB服务器和客户端利用程序状态有侧重要意义。能够从MongoDB日志文件中获得丰富的有用信息可以帮助管理者快速诊断MongoDB故障,从而到达保护系统安全、提高运维效力的目的。
本文来源:https://www.yuntue.com/post/150775.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏