Disabling diagnostic data capture

Hi all,

Despite using diagnosticDataCollectionEnabled: false setting in my mongodb.conf, the server starts with capturing diagnostic data.

mongodb.conf
security:
  authorization: enabled
processManagement:
  fork: false
storage:
  dbPath: /data/dpdash/mongodb/dbs/
net:
  port: 27017
  bindIp: 127.0.0.1,/tmp/mongodb-27017.sock
  tls:
    mode: requireTLS
    certificateKeyFile: /data/ssl/mongo_server.pem
    CAFile: /data/ssl/ca/cacert.pem
systemLog:
   destination: file
   path: "/data/dpdash/mongodb/logs/mongodb.log"
   logAppend: true
setParameter:
   diagnosticDataCollectionEnabled: false

$ mongod --config /data/dpdash/configs/mongodb.conf --logpath /data/dpdash/mongodb/logs/mongod.log

The following log convinces me of mongod starting to capture diagnostic data:

{“t”:{“$date”:“2022-10-30T20:34:46.133-04:00”},“s”:“I”, “c”:“CONTROL”, “id”:21951, “ctx”:“initandlisten”,“msg”:“Options set by command line”,“attr”:{“options”:{“config”:“/data/dpdash/configs/mongodb.conf”,“net”:{“bindIp”:“127.0.0.1,/tmp/mongodb-27017.sock”,“port”:27017,“tls”:{“CAFile”:“/data/ssl/ca/cacert.pem”,“certificateKeyFile”:“/data/ssl/mongo_server.pem”,“mode”:“requireTLS”}},“processManagement”:{“fork”:false},“security”:{“authorization”:“enabled”},“setParameter”:{“diagnosticDataCollectionEnabled”:“false”},“storage”:{“dbPath”:“/data/dpdash/mongodb/dbs/”},“systemLog”:{“destination”:“file”,“logAppend”:true,“path”:“/data/dpdash/mongodb/logs/mongod.log”}}}}


{“t”:{“$date”:“2022-10-30T20:36:01.868-04:00”},“s”:“I”, “c”:“FTDC”, “id”:20625, “ctx”:“initandlisten”,“msg”:“Initializing full-time diagnostic data capture”,“attr”:{“dataDirectory”:“/data/dpdash/mongodb/dbs/diagnostic.data”}}

However, I see my /data/dpdash/mongodb/dbs/diagnostic.data/ directory empty. So is the above log a bug or does diagnosticDataCollectionEnabled: false has no effect at all?

Welcome to the MongoDB Community @Tashrif !

The startup message is a bit misleading, but technically correct. If collection of diagnostic data is disabled, the thread for diagnostic data capture still gets initialised but does not collect any data (as you have observed).

Per comments in the current codebase (MongoDB 6.0), this was an intentional choice with a future TODO to consider not starting the thread unless enabled:

Regards,
Stennie

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.