在本页面
下一页描述了MongoDB 4.2中可用的配置选项。有关其他版本的MongoDB的配置文件选项,请参阅《 MongoDB手册》的相应版本。
您可以在启动时使用配置文件进行配置mongod
和mongos
实例。配置文件包含与mongod
和
mongos
命令行选项等效的设置。请参阅配置文件设置和命令行选项映射。
使用配置文件使管理mongod
和
mongos
选项更加容易,尤其是对于大规模部署而言。您还可以在配置文件中添加注释,以解释服务器的设置。
默认配置文件
/etc/mongod.conf
使用程序包管理器安装MongoDB时会包含默认配置文件。<install directory>/bin/mongod.cfg
/usr/local/etc/mongod.conf
从MongoDB的官方Homebrew分接头安装时会包含一个默认配置文件。以下样本配置文件包含一些mongod
您可以适应本地配置的设置:
注意
YAML不支持使用制表符进行缩进:请使用空格。
包括在官方的MongoDB包的Linux软件包init脚本依赖于特定的值systemLog.path
,storage.dbPath
和
processManagement.fork
。如果您在默认配置文件中修改这些设置,则mongod
可能无法启动。
[1] | YAML是JSON的超集。 |
要配置mongod
或mongos
使用配置文件,请使用--config
或下的
-f
选项指定配置文件,如以下示例所示:
例如,以下用途:mongod --config
<configuration file>
mongos --config
<configuration file>
您还可以使用-f
别名来指定配置文件,如下所示:
如果您是从软件包安装的,并且已经使用系统的init脚本启动了MongoDB ,那么您已经在使用配置文件。
systemLog
选项¶systemLog.
verbosity
¶类型:整数
默认值:0
默认的日志信息 冗长级别的组件。详细程度决定了MongoDB输出的Informational和Debug消息的数量。[2]
详细程度的范围为0
到5
:
要对命名组件使用不同的详细级别,请使用组件的详细设置。例如,使用
systemLog.component.accessControl.verbosity
来专门为ACCESS
组件设置详细级别。
请参阅有关systemLog.component.<name>.verbosity
特定组件详细程度设置的设置。
有关设置日志详细级别的各种方法,请参阅“ 配置日志详细级别”。
[2] | 从4.2版开始,MongoDB在日志消息中包括Debug冗长级别(1-5)。例如,如果详细级别为2,则MongoDB logs D2 。在以前的版本中,MongoDB日志消息仅为D 调试级别指定。 |
systemLog.
quiet
¶类型:布尔值
以尝试限制输出量的方式运行mongos
或mongod
在安静模式下运行。
systemLog.quiet
是不建议用于生产系统,因为它可以使在特定的连接变得更加困难跟踪问题。
systemLog.
traceAllExceptions
¶类型:布尔值
打印详细信息以进行调试。用于与支持相关的故障排除的其他日志记录。
systemLog.
syslogFacility
¶类型:字符串
默认值:用户
将消息记录到syslog时使用的工具级别。操作系统的syslog实现必须支持您指定的值。要使用此选项,您必须设置systemLog.destination
为syslog
。
systemLog.
path
¶类型:字符串
mongod
或mongos
应将所有诊断日志记录信息发送到的日志文件的路径,而不是标准输出或主机的
syslog。MongoDB在指定路径创建日志文件。
Linux软件包的初始化脚本不希望systemLog.path
更改默认值。如果您使用Linux软件包并进行更改systemLog.path
,则必须使用自己的初始化脚本并禁用内置脚本。
systemLog.
logAppend
¶类型:布尔值
默认值:false
当true
,mongos
或mongod
追加新的条目到现有的日志文件时,结束mongos
或mongod
实例重新启动。如果没有此选项,mongod
将备份现有日志并创建一个新文件。
systemLog.
logRotate
¶类型:字符串
默认值:重命名
logRotate
命令的行为。指定rename
或reopen
:
rename
重命名日志文件。
reopen
按照典型的Linux / Unix日志轮换行为,关闭并重新打开日志文件。使用reopen
使用的Linux / Unix logrotate的工具,以避免日志丢失时。
如果指定reopen
,则还必须设置systemLog.logAppend
为true
。
systemLog.
destination
¶类型:字符串
MongoDB将所有日志输出发送到的目标。指定
file
或syslog
。如果指定file
,则还必须指定
systemLog.path
。
如果未指定systemLog.destination
,则MongoDB将所有日志输出发送到标准输出。
警告
在syslog
当它将消息记录,还不时的MongoDB发出消息后台生成时间戳。这会导致误导日志条目的时间戳,尤其是在系统负载沉重的情况下。我们建议file
对生产系统使用该选件,以确保准确的时间戳。
systemLog.
timeStampFormat
¶类型:字符串
缺省值:iso8601-local
日志消息中时间戳的时间格式。指定以下值之一:
值 | 描述 |
---|---|
ctime |
将时间戳显示为。Wed Dec 31
18:17:54.811 |
iso8601-utc |
以国际标准时间(UTC)以ISO-8601格式显示时间戳。例如,对于时代开始时的纽约:1970-01-01T00:00:00.000Z |
iso8601-local |
以ISO-8601格式显示本地时间的时间戳。例如,对于时代开始时的纽约:
1969-12-31T19:00:00.000-0500 |
systemLog.component
选项¶注意
从4.2版开始,MongoDB在日志消息中包括Debug冗长级别(1-5)。例如,如果详细级别为2,则MongoDB logs D2
。在以前的版本中,MongoDB日志消息仅为D
调试级别指定。
systemLog.component.accessControl.
verbosity
¶类型:整数
默认值:0
与访问控制相关的组件的日志消息详细级别。查看ACCESS
组件。
详细程度的范围为0
到5
:
systemLog.component.ftdc.
verbosity
¶类型:整数
默认值:0
3.2版中的新功能。
与诊断数据收集操作相关的组件的日志消息详细级别。查看FTDC
组件。
详细程度的范围为0
到5
:
systemLog.component.replication.election.
verbosity
¶类型:整数
默认值:0
4.2版中的新功能。
与选举相关的组件的日志消息详细级别。查看ELECTION
组件。
如果systemLog.component.replication.election.verbosity
未设置,则
systemLog.component.replication.verbosity
级别也适用于选择组件。
详细程度的范围为0
到5
:
systemLog.component.replication.heartbeats.
verbosity
¶类型:整数
默认值:0
3.6版的新功能。
与心跳相关的组件的日志消息详细级别。查看REPL_HB
组件。
如果systemLog.component.replication.heartbeats.verbosity
未设置,则
systemLog.component.replication.verbosity
级别也适用于心跳组件。
详细程度的范围为0
到5
:
systemLog.component.replication.initialSync.
verbosity
¶类型:整数
默认值:0
4.2版中的新功能。
与initialSync相关的组件的日志消息详细级别。查看INITSYNC
组件。
如果systemLog.component.replication.initialSync.verbosity
未设置,则
systemLog.component.replication.verbosity
级别也适用于initialSync组件。
详细程度的范围为0
到5
:
systemLog.component.replication.rollback.
verbosity
¶类型:整数
默认值:0
3.6版的新功能。
与回滚相关的组件的日志消息详细级别。查看ROLLBACK
组件。
如果systemLog.component.replication.rollback.verbosity
未设置,则
systemLog.component.replication.verbosity
级别也适用于回滚组件。
详细程度的范围为0
到5
:
systemLog.component.storage.
verbosity
¶类型:整数
默认值:0
与存储相关的组件的日志消息详细级别。查看STORAGE
组件。
如果systemLog.component.storage.journal.verbosity
未设置,则
systemLog.component.storage.verbosity
级别也适用于日记组件。
详细程度的范围为0
到5
:
systemLog.component.storage.journal.
verbosity
¶类型:整数
默认值:0
与日记相关的组件的日志消息详细级别。查看JOURNAL
组件。
如果systemLog.component.storage.journal.verbosity
未设置,则日记组件与父存储组件具有相同的详细级别:即,
systemLog.component.storage.verbosity
如果已设置,则为默认级别。
详细程度的范围为0
到5
:
0
是MongoDB的默认日志详细级别,包括
Informational messag