MongoDB日志记录了数据库实例的健康状态、语句的执行状况、资源的消耗情况,所以日志对于分析数据库服务和性能优化很有帮助。

因此,很有必要花费一些时间来学习解析一下MongoDB的日志文件。

日志信息的格式

<日志时间> <严重级别> <信息所属分类> [<内容>] <消息>

例如 :

2014-11-03T18:28:32.450-0500 I NETWORK [initandlisten] waiting for connections on port 27017

日志信息严重级别

级别

级别描述

F

Fatal

E

Error

W

Warning

I

Informational, for Verbosity Level of 0

D

Debug, for All Verbosity Levels > 0

信息所属分类

日志分类

英文

分类描述

登入信息

ACCESS

登入访问相关的信息,例如登录验证情况。

命令信息

COMMAND

数据库执行命令相关信息,例如,查询。

控制管理信息

CONTROL

记录控制管理相关的信息,例如数据库初始化。

FTDC信息

FTDC(full-time diagnostic data )

全程检测数据信息,例如Server的状态统计信息。

索引信息

INDEX

索引相关信息,例如索引的创建过程信息。

网络信息

NETWORK

网络相关信息,例如网络连接信息。

查询信息

QUERY

查询相关信息,例如查询计划信息。

副本集信息

REPL

副本集相关信息,例如副本集初始过程、心跳、回滚等信息

分片信息

SHARDING

分片相关信息,例如mongos的启动信息

存储信息

STORAGE

存储相关信息,例如将 storage 层的数据刷入磁盘的信息。

还原信息

RECOVERY

还原活动相关的信息

日志信息

JOURNAL

日志相关的信息

写操作信息

WRITE

写操作相关的信息,例如更新(update)的命令。

查询日志详细等级

MongoDB将日志详细等级划分为0~5

1.  0 是MongoDB日志的的默认级别,会包含 Informational  类信息。

2.  1~5 是调试级别,会记录客户端所有的完整请求

查询日志详细等级的命令。

db.getLogComponents()

修改日志详细等级

修改日志详细等级的途径有两种。

第一种 设置logComponentVerbosity 参数来进行修改。

另外还需说明的一点是日志分类还可以进一步细化,

例如:将systemLog 整体设置为1,其中 query 子项 和storage子项 设置为2,而子项storage的子项设置journal再设置为1。

修改的具体命令为:

db.adminCommand( {

   setParameter: 1,

   logComponentVerbosity: {

      verbosity: 1,

      query: {

         verbosity: 2

      },

      storage: {

         verbosity: 2,

         journal: {

            verbosity: 1

         }

      }

   }

} )

第二种方法,通过 db.setLogLevel()进行修改。

此种方法多是针对单一的日志类别进行修改。另外还有一点需要特别指出,我们有时候会通过db.getLogComponents() 看到级别日志级别为-1,其实-1,代表和其父类别的等级一样。

例如,我们将query类别的日志的详细级别设置为父类( systemLog)的日志详细级别,可以执行以下命令:


db.setLogLevel(-1, "query")

上面的两种方法都是修改,那么能否初始化是就配置呢?其实是可以的,我们只需要在初始配置文件中加入相应的参数就可以了,在此不再展开。

本文版权归作者所有,未经作者同意不得转载,谢谢配合!!!

关于MongoDB数据库的日志解析的更多相关文章

  1. canal 基于Mysql数据库增量日志解析

    canal 基于Mysql数据库增量日志解析  1.前言  最近太多事情 工作的事情,以及终身大事等等 耽误更新,由于最近做项目需要同步监听 未来电视 mysql的变更了解到公司会用canal做增量监 ...

  2. 转载:阿里canal实现mysql binlog日志解析同步redis

    from: http://www.cnblogs.com/duanxz/p/5062833.html 背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求.不过早期的数 ...

  3. 数据库增量日志监听canal

    概述 canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB). 起源:早期,阿里巴巴B2B公司 ...

  4. Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

    此为在网络上找来的,觉得很好! 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令来切割日志 ps -def | grep ...

  5. CentOS 6.5_X64下安装MongoDB数据库

    1.下载MongoDB 官网下载地址:https://www.mongodb.org/downloads 具体链接:https://fastdl.mongodb.org/linux/mongodb-l ...

  6. MongoDB数据库安装及配置环境终极教程(windows10系统)

    本文是笔者花时间踩坑踩生气了写出来的!转载请注明出处@http://www.cnblogs.com/tim100/!请尊重我的劳动成果!谢谢! 今天,给大家说说在windows10系统下MongoDB ...

  7. Mongodb数据库学习

    数据库 MongoDB (芒果数据库) 数据存储阶段 文件管理阶段 (.txt .doc .xls)优点 : 数据可以长期保存 可以存储大量的数据 使用简单 缺点 : 数据一致性差 数据查找修改不方便 ...

  8. MongoDB数据库安装及配置环境(windows10系统)

    windows10系统下MongoDB的安装及环境配置: MongoDB的安装 下载地址: https://www.mongodb.com/download-center (这是windows10环境 ...

  9. python学习笔记——mongodb数据库

    1 概述 1.1 文件管理阶段 优点:可以长期保存 能存储大量数据 缺点:没有结构化的组织 查找不方便 数据容易冗余 1.2 数据库管理阶段 有文件存储的优点,同时解决了文件存储的问题 缺点 : 操作 ...

随机推荐

  1. TCP/IP 详解常用术语

    业务需要,最近看TCP/IP 这本书,专业名词太多了,总结一下,给后来着参考,直接使用. 后续会在读书时慢慢添加. ACK:(ACKnowledgment)TCP首部中的确认标志. ARP:地址解析协 ...

  2. Java中构造方法、实例方法、类方法的区别

    1. 构造方法 构造方法负责对象的初始化工作,为实例变量赋予合适的初始值.必须满足以下的语法规则: 方法名与类名相同: 不要返回类型(例如return.void等): 不能被static.final. ...

  3. Saiku嵌入系统使用时传参数访问saiku(十六)

    Saiku嵌入系统使用时传参数访问saiku Saiku通过iframe嵌入其他系统使用时,我们可以设定参数信息,然后根据url中参数对结果进行筛选哦. 这里我们实现的是根据日期字段进行范围查询,UR ...

  4. javascript ES6 新特性之 Promise,ES7 async / await

    es6 一经推出,Promise 就一直被大家所关注.那么,为什么 Promise 会被大家这样关注呢?答案很简单,Promise 优化了回调函数的用法,让原本需要纵向一层一层嵌套的回调函数实现了横向 ...

  5. Qt之QComboBox定制

    说起下拉框,想必大家都比较熟悉,在我们注册一些网站的时候,会出现大量的地区数据供我们选择,这个时候出现的就是下拉框列表,再比如字体选择的时候也是使用的下拉框,如图1所示.下拉框到处可见,作为一个图形库 ...

  6. EF架构~FluentValidation实体检验与实体分离了

    回到目录 在MVC,EF,LINQ环境里,我们经常会用到DataModel(DO)和ViewModel(VO),可能对于它们的属性校验我们会采用特性的方式,当然这很直观,就连微软的DEMO也是如些,一 ...

  7. WebAssembly完全入门——了解wasm的前世今身

    前言 接触WebAssembly之后,在google上看了很多资料.感觉对WebAssembly的使用.介绍.意义都说的比较模糊和笼统.感觉看了之后收获没有达到预期,要么是文章中的例子自己去实操不能成 ...

  8. 用tensorflow学习贝叶斯个性化排序(BPR)

    在贝叶斯个性化排序(BPR)算法小结中,我们对贝叶斯个性化排序(Bayesian Personalized Ranking, 以下简称BPR)的原理做了讨论,本文我们将从实践的角度来使用BPR做一个简 ...

  9. 【ASP.NET Core快速入门】(十五)MVC开发:ReturnUrl实现、Model后端验证 、Model前端验证

    ReturnUrl实现 我们要实现returnUrl,我们需要在注册(Register)方法中接收传进的returnUrl并给它默认值null,然后将它保存在ViewData里面 然后我们定义一个内部 ...

  10. PE知识复习之PE的各种头属性解析

    PE知识复习之PE的各种头属性解析 一丶DOS头结构体 typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_magic; // M ...