在本页面
下一页描述了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