zoukankan      html  css  js  c++  java
  • 关于MongoDB数据库的日志解析

    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")

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

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

  • 相关阅读:
    Sql中关于日期的格式化
    linq中存储过程返回集合存在的问题
    当页面请求数据是从静态页中获取的Post方法会报405的错误
    jquery中load方法在ie下会卡住
    jquery用div实现下拉列表的效果
    jquery获取服务器端控件的方法
    【转】jquery实现文本框有提示输入的信息
    toString()方法浅谈
    Object类与上下转型
    多态
  • 原文地址:https://www.cnblogs.com/xuliuzai/p/9630268.html
Copyright © 2011-2022 走看看