# Get database collection document metrics using percona/mongodb\_exporter:0.36

**URL:** <https://forums.percona.com/t/get-database-collection-document-metrics-using-percona-mongodb-exporter-0-36/28657>\
**Category:** MongoDB\
**Created:** [February 22, 2024, 3:33pm UTC](https://forums.percona.com/t/get-database-collection-document-metrics-using-percona-mongodb-exporter-0-36/28657 "2024-02-22T15:33:40Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![Kay\_Khan](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/kay_khan/32/17023_2.png) [@Kay\_Khan](https://forums.percona.com/u/Kay_Khan)\
**Post date:** [February 26, 2024, 2:32pm UTC](https://forums.percona.com/t/get-database-collection-document-metrics-using-percona-mongodb-exporter-0-36/28657/4 "2024-02-26T14:32:59Z")

</div>

I realised this could be related to the permissions we are seeing in our logs

[https://perconadev.atlassian.net/browse/PMM-11184](https://perconadev.atlassian.net/browse/PMM-11184)

> [@Cannot auto discover databases and collections: cannot list the collections & Checking authorization failed](https://forums.percona.com/t/cannot-auto-discover-databases-and-collections-cannot-list-the-collections-checking-authorization-failed/24172/3):
>
> I believe this user is automatically created by the percona operator? We did not create this user or define its roles. { "\_id" : "admin.clusterMonitor", "userId" : UUID("d4f1e927-6838-4f2b-b7c6-6ad02431e319"), "user" : "clusterMonitor", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { ... }, "SCRAM-SHA-256" : { ... } }, "roles" : [ { "role" : "explainRole", "db" : "admin" }…

```auto
time="2023-08-01T00:53:04Z" level=error msg="cannot auto discover databases and collections: cannot list the collections for \"avatar-store\": cannot get the list of collections for discovery: (Unauthorized) not authorized on avatar-store to execute command { listCollections: 1, filter: {}, nameOnly: true, cursor: {}, lsid: { id: UUID(\"87045589-a8c0-4fd7-800f-3680a205feaa\") }, $clusterTime: { clusterTime: Timestamp(1690851181, 2), signature: { hash: BinData(0, 3AEFD3A070F0C63D712A1CD4CF1AB119BAF0495D), keyId: 7235977075700531206 } }, $db: \"avatar-store\", $readPreference: { mode: \"primaryPreferred\" } }"

{"t":{"$date":"2023-08-01T00:53:04.387+00:00"},"s":"I", "c":"ACCESS", "id":20436, "ctx":"conn27024609","msg":"Checking authorization failed","attr":{"error":{"code":13,"codeName":"Unauthorized","errmsg":"not authorized on avatar-store to execute command { listCollections: 1, filter: {}, nameOnly: true, cursor: {}, lsid: { id: UUID(\"87045589-a8c0-4fd7-800f-3680a205feaa\") }, $clusterTime: { clusterTime: Timestamp(1690851181, 2), signature: { hash: BinData(0, 3AEFD3A070F0C63D712A1CD4CF1AB119BAF0495D), keyId: 7235977075700531206 } }, $db: \"avatar-store\", $readPreference: { mode: \"primaryPreferred\" } }"}}}

```

If i try to update the permissions it reverts back instantly

```auto
rs0 [direct: primary] admin> db.getSiblingDB("admin").updateUser("clusterMonitor", { roles: [{ role: "explainRole", db: "admin" }, { role: "clusterMonitor", db: "admin" }, { role: "read", db: "local" }, { db: "admin", role: "readWrite", collection: "" }, { db: "admin", role: "backup" }, { db: "admin", role: "clusterMonitor" }, { db: "admin", role: "restore" }, { db: "admin", role: "pbmAnyAction" }] });
{
  ok: 1,
  '$clusterTime': {
    clusterTime: Timestamp({ t: 1708958831, i: 1 }),
    signature: {
      hash: Binary(Buffer.from("683443a3f3749cc3da1c7ae0f485281dc43ad61e", "hex"), 0),
      keyId: Long("7286379826884116487")
    }
  },
  operationTime: Timestamp({ t: 1708958831, i: 1 })
}
rs0 [direct: primary] admin> db.getUser("clusterMonitor")
{
  _id: 'admin.clusterMonitor',
  userId: UUID("2d15ad6c-b2b1-4a51-a50e-ac1c08109e4d"),
  user: 'clusterMonitor',
  db: 'admin',
  roles: [
    { role: 'read', db: 'local' },
    { role: 'explainRole', db: 'admin' },
    { role: 'pbmAnyAction', db: 'admin' },
    { role: 'restore', db: 'admin' },
    { role: 'readWrite', db: 'admin' },
    { role: 'clusterMonitor', db: 'admin' },
    { role: 'backup', db: 'admin' }
  ],
  mechanisms: ['SCRAM-SHA-1', 'SCRAM-SHA-256']
}
rs0 [direct: primary] admin> db.getUser("clusterMonitor")
{
  _id: 'admin.clusterMonitor',
  userId: UUID("2d15ad6c-b2b1-4a51-a50e-ac1c08109e4d"),
  user: 'clusterMonitor',
  db: 'admin',
  roles: [
    { role: 'explainRole', db: 'admin' },
    { role: 'read', db: 'local' },
    { role: 'clusterMonitor', db: 'admin' }
  ],
  mechanisms: ['SCRAM-SHA-1', 'SCRAM-SHA-256']
}

```

---

_[View the full topic](https://forums.percona.com/t/get-database-collection-document-metrics-using-percona-mongodb-exporter-0-36/28657)._
