Configure Auditing¶
On this page
New in version 2.6.
MongoDB Enterprise
supports auditing of various operations. A complete
auditing solution must involve all mongod
server and
mongos
router processes.
The audit facility can write audit events to the console, the syslog (option is unavailable on Windows), a JSON file, or a BSON file. For details on the audited operations and the audit log messages, see System Event Audit Messages.
Enable and Configure Audit Output¶
Use the --auditDestination
option to enable
auditing and specify where to output the audit events.
Warning
For sharded clusters, if you enable auditing on mongos
instances, you must enable auditing on all mongod
instances in the cluster, i.e. shards and config servers.
Output to Syslog¶
To enable auditing and print audit events to the syslog (option
is unavailable on Windows) in JSON format, specify syslog
for the
--auditDestination
setting. For example:
mongod --dbpath data/db --auditDestination syslog
Warning
The syslog message limit can result in the truncation of the audit messages. The auditing system will neither detect the truncation nor error upon its occurrence.
You may also specify these options in the configuration file:
storage:
dbPath: data/db
auditLog:
destination: syslog
Output to Console¶
To enable auditing and print the audit events to standard
output (i.e. stdout
), specify console
for the
--auditDestination
setting. For example:
mongod --dbpath data/db --auditDestination console
You may also specify these options in the configuration file:
storage:
dbPath: data/db
auditLog:
destination: console
Output to JSON File¶
To enable auditing and print audit events to a file in JSON
format, specify file
for the --auditDestination
setting,
JSON
for the --auditFormat
setting, and
the output filename for the --auditPath
. The
--auditPath
option accepts either full path name or relative
path name. For example, the following enables auditing and records
audit events to a file with the relative path name of
data/db/auditLog.json
:
mongod --dbpath data/db --auditDestination file --auditFormat JSON --auditPath data/db/auditLog.json
The audit file rotates at the same time as the server log file.
You may also specify these options in the configuration file:
storage:
dbPath: data/db
auditLog:
destination: file
format: JSON
path: data/db/auditLog.json
Note
Printing audit events to a file in JSON format degrades server performance more than printing to a file in BSON format.
Output to BSON File¶
To enable auditing and print audit events to a file in BSON binary
format, specify file
for the --auditDestination
setting,
BSON
for the --auditFormat
setting, and the output
filename for the --auditPath
. The --auditPath
option accepts either full path name or relative path name. For
example, the following enables auditing and records audit events to a
BSON file with the relative path name of data/db/auditLog.bson
:
mongod --dbpath data/db --auditDestination file --auditFormat BSON --auditPath data/db/auditLog.bson
The audit file rotates at the same time as the server log file.
You may also specify these options in the configuration file:
storage:
dbPath: data/db
auditLog:
destination: file
format: BSON
path: data/db/auditLog.bson
To view the contents of the file, pass the file to the MongoDB utility
bsondump
. For example, the following converts the audit log
into a human-readable form and output to the terminal:
bsondump data/db/auditLog.bson