首页 > 数据库 >MongoDB 的日志配置

MongoDB 的日志配置

时间:2024-03-16 21:57:11浏览次数:22  
标签:mongod log mongodb verbosity 配置 设置 MongoDB 日志

配置日志相关的参数

默认的配置文件是/etc/mongod.conf,可以在该文件中配置与日志相关的信息。比如:

more /etc/mongod.conf
# where to write logging data.
# Enable logging to a file
systemLog:
  quiet: false
  destination: file
  logAppend: true
  path: /data/log/mongod.log

这里:

·destination:定义日志存在哪里,可以设置为file、syslog

·path:日志文件的位置和名称。缺省是:/var/log/mongodb/mongod.log。如果设置了destination: file,就必须配置path

·verbosity:定义日志级别

·quiet:如果设置为true,mongodb会运行在quite模式,限制写入日志的量。生产环境通常建议设置为false

·traceAllExceptions:如果设置为true,会打印verbose信息,提供用于调试的额外信息

·syslogFacility:默认是user,与操作系统的syslog设置有关

·logAppend:如果设置为 true,重启后将日志条目追加到已经存在日志文件;如果设置为 false,重启后将创建新的日志文件,并将老的日志文件做备份。

·logRotate:设置日志文件rotation,可以设置成rename、reopen。rename会在老的日志文件后面加上时间戳,并打开新的日志文件;reopen会关闭原来的日志文件并重新打开它。

·timeStampFormat:设置时间戳格式

·component.<component>.verbosity:定义不同组件的日志级别,比如

  systemLog:
   component:
      accessControl:
         verbosity: <int>
      command:
         verbosity: <int>
      . . .

当然也可以登录mongodb后使用db.adminCommand()命令修改:

db.adminCommand( { setParameter: 1, <parameter>: <value> } )

查看日志内容

日志内容是json格式的,可以借助工具jq进行分析。比如:

sudo cat /var/log/mongodb/mongod.log | jq

输出结果:

. . .
{
  "t": {
    "$date": "2024-02-18T14:43:15.107-02:00"
  },
  "s": "I",
  "c": "NETWORK",
  "id": 24076,
  "ctx": "listener",
  "msg": "Waiting for connections",
  "attr": {
    "port": 27017,
    "ssl": "off"
  }
}

这里:

·t: 时间戳

·s: 日志严重级别

·c: 该条记录属于哪个组件

·id: 唯一标识符

·ctx: 上下文信息

·msg: 消息主体

·attr: 其它额外信息

·tags: 可选标签

·truncated: 截断信息

·size: 日志条目被截断之前的大小

日志的详细级别

配置:

. . .
systemLog:
  verbosity: 1
. . .

mongodb提供了以下的一些级别:

·F: Fatal messages.

·E: Error messages.

·W: Warning messages.

·I: Informational messages. Corresponds to numeric value 0.

·D1--D5: Debug messages, Corresponds to numeric value 1-5.

默认设置是 0。

 

查看当前的级别:

db.getLogComponents(){
        "verbosity" : 0,
        "accessControl" : {
                "verbosity" : -1
        },
        "command" : {
                "verbosity" : -1
        },
       ...
}

这里组件的级别是-1,表示继承父级别的设置。

日志内容分析

可以使用工具jq对mongodb的日志做分析。例如:

jq -r ".msg" /var/log/mongodb/mongod.log | sort | uniq -c | sort -rn | head -10

 

 

标签:mongod,log,mongodb,verbosity,配置,设置,MongoDB,日志
From: https://www.cnblogs.com/abclife/p/18077174

相关文章

  • STM32第九节(中级篇):RCC(第二节)——讲解系统时钟配置函数SetSysClockTo72
    目录前言STM32第九节(中级篇):RCC(第二节)——讲解系统时钟配置函数SetSysClockTo72代码内容位置及检索分析代码 代码展示时钟控制使能闪存控制寄存器配置AHP,APB1,APB2的总线时钟配置锁相环时钟 超频操作小结前言    上节课我们讲了理论部分,那么我们这节课......
  • 【Mongodb】Linux安装Mongodb
    目录:一、官网下载安装包二、安装配置Mongodb三、安装mongosh四、安全配置 一、官网下载安装包1、下载安装包(Mongodb官网地址:https://www.mongodb.com/zh-cn)二、安装配置Mongodb 1、上传到服务器后解压#解压tar-xvfmongodb-linux-x86_64-enter......
  • 2-使用Rabbit MQ配置mqtt服务
    安装RabbitMQ开放端口15672,5672,25672,61613,1883应该可以只开放15672,1883和5672#15672:web管理界面5672:消费者访问的端口61613、1883:内部通信5672:通信口#查看是否开放udolsof-i:XXX或者拉取并创建容器一起完成dockerrun-d--namerabbit-eRABBITMQ_DEFAU......
  • springboot配置https
    先提条件:一台服务器并配置了宝塔安装了openSSL一、生成ssl文件1.在java环境变量的bin目录下生成.p12的证书,在生成途中只需要记住生成时的密码,其余的可要可不要keytool-genkey-aliastomcat-storetypePKCS12-keyalgRSA-keysize2048-keystorekeystore.p12-v......
  • MongoDB 重新同步复制集成员
    测试的复制集因为磁盘空间的问题,落后主节点太多,数据不同步:{"t":{"$date":"2024-02-19T16:13:06.387+08:00"},"s":"I","c":"REPL","id":21799,"ctx":"ReplCoordExtern-0","msg&......
  • Python之Web开发中级教程----配置数据库
    Python之Web开发中级教程----配置数据库在settings.py中保存了数据库的连接配置信息,Django默认初始配置使用sqlite数据库。DATABASES={   'default':{       'ENGINE':'django.db.backends.sqlite3',       'NAME':os.path.join(BASE_DIR,'db.s......
  • Node.js配置(需要修改默认缓存路径的可看)
    Node.js配置针对想要移除默认node位置的配置设置安装node进入node中文网下载|Node.js中文网(nodejs.cn)一般选择左边的版本,为稳定版本这里也给出官网,中文网只是国内镜像官网的不是官方的源安装过程可以无脑下一步,注意修改存储位置就行在cmd面板分别输入以下内容,可......
  • 配置WindowsSSH免密登录Linux
    一、环境准备虚拟机里的Centos8一台Windows11二、Windows密钥和公钥生成win+R调出运行输入框输入cmd,回车-打开终端管理器输入:ssh-keygen-trsa回车ssh-keygen-trsa提示存放路径信息(记住这个路径,后面要找公钥),回车提示输入密码(不用设置,直接回车),提示确认再次回车,回车......
  • vite中配置less,vue3中配置less
    前言如果赶时间请直接使用目录跳到解决问题的部分。使用的项目使用vue脚手架生成。npminitvue@latest版本如下"@vitejs/plugin-vue":"^5.0.4","vue":"^3.4.21"由于近期在学less,心想如果不能将其应用到vue项目中,无异于纸上谈兵。于是立即用vue脚手架......
  • Android混淆后的bug日志通过mapping文件找对应行号
    背景由于项目中提测以及线上的apk都是经过混淆处理的,因此拿到日志后也无法正常查看崩溃日志的行号这个原因是因为混淆了文件,输出的日志是对应不上源文件的,为了正确找到行号需要用到mapping.txt文件配置开启保留行号和源文件要想利用mapping文件找到对应的行号,则还需要在混淆......