zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 748ad4d098d447d492bb935c907f652f
      name: Templates/Databases
  templates:
    - uuid: 81aa8c5ab5594f77a2b26fb7f5094048
      template: 'MongoDB node by Zabbix agent 2'
      name: 'MongoDB node by Zabbix agent 2'
      description: |
        Get MongoDB metrics from plugin for the zabbix-agent2.
          1. Setup and configure zabbix-agent2 compiled with the MongoDB monitoring plugin.
          2. Set the {$MONGODB.CONNSTRING} such as <protocol(host:port)> or named session.
          3. Set the user name and password in host macros ({$MONGODB.USER}, {$MONGODB.PASSWORD}) if you want to override parameters from the Zabbix agent configuration file.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420659-discussion-thread-for-official-zabbix-template-db-mongodb
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.0-0
      groups:
        - name: Templates/Databases
      items:
        - uuid: bfd58d9efaf54e038f96458f68fd48af
          name: 'Document: deleted, rate'
          type: DEPENDENT
          key: mongod.document.deleted.rate
          value_type: FLOAT
          description: 'Number of documents deleted per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.document.deleted
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: documents
        - uuid: 5ecc078aeda04e3ca34ed42d966cdf40
          name: 'Document: inserted, rate'
          type: DEPENDENT
          key: mongod.document.inserted.rate
          value_type: FLOAT
          description: 'Number of documents inserted per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.document.inserted
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: documents
        - uuid: 56fc9870503645069a9d937ac21ab7c2
          name: 'Document: returned, rate'
          type: DEPENDENT
          key: mongod.document.returned.rate
          value_type: FLOAT
          description: 'Number of documents returned by queries per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.document.returned
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: documents
        - uuid: d21a95f1862b4c17b5a4ed83a67ffb1b
          name: 'Document: updated, rate'
          type: DEPENDENT
          key: mongod.document.updated.rate
          value_type: FLOAT
          description: 'Number of documents updated per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.document.updated
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: documents
        - uuid: d5ec0427c5ca49119f6e94211b0297bf
          name: 'Active clients: readers'
          type: DEPENDENT
          key: mongodb.active_clients.readers
          description: 'The number of the active client connections performing read operations.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.globalLock.activeClients.readers
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: clients
        - uuid: 1c2dc0b60eb44d259e02accf2531b389
          name: 'Active clients: total'
          type: DEPENDENT
          key: mongodb.active_clients.total
          description: 'The total number of internal client connections to the database including system threads as well as queued readers and writers.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.globalLock.activeClients.total
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: clients
        - uuid: 9c5512c83e1844c5b4fdb675336edbf6
          name: 'Active clients: writers'
          type: DEPENDENT
          key: mongodb.active_clients.writers
          description: 'The number of active client connections performing write operations.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.globalLock.activeClients.writers
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: clients
        - uuid: 5e6fa5d1c9fc48ada6c0bc5c8d1d3ec4
          name: 'Asserts: message, rate'
          type: DEPENDENT
          key: mongodb.asserts.msg.rate
          value_type: FLOAT
          description: |
            The number of message assertions raised per second.
            Check the log file for more information about these messages.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.asserts.msg
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: asserts
        - uuid: 32d5177badac49eda8ce1f47c851ebf2
          name: 'Asserts: regular, rate'
          type: DEPENDENT
          key: mongodb.asserts.regular.rate
          value_type: FLOAT
          description: |
            The number of regular assertions raised per second.
            Check the log file for more information about these messages.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.asserts.regular
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: asserts
        - uuid: 67f2ef15386a47b6b88fc95dd7fe1be6
          name: 'Asserts: rollovers, rate'
          type: DEPENDENT
          key: mongodb.asserts.rollovers.rate
          value_type: FLOAT
          description: |
            Number of times that the rollover counters roll over per second.
            The counters rollover to zero every 2^30 assertions.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.asserts.rollovers
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: asserts
        - uuid: a7dfd56310d44d7dac1f3c02fa5fbc79
          name: 'Asserts: user, rate'
          type: DEPENDENT
          key: mongodb.asserts.user.rate
          value_type: FLOAT
          description: |
            The number of "user asserts" that have occurred per second.
            These are errors that user may generate, such as out of disk space or duplicate key.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.asserts.user
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: asserts
        - uuid: 41638aa2b3374e56ad00ef9113e1ea61
          name: 'Asserts: warning, rate'
          type: DEPENDENT
          key: mongodb.asserts.warning.rate
          value_type: FLOAT
          description: 'The number of warnings raised per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.asserts.warning
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: asserts
        - uuid: 46f0a53612de4448ab8e98098375656b
          name: 'Get collections usage stats'
          key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          history: '0'
          value_type: TEXT
          description: 'Returns usage statistics for each collection.'
          tags:
            - tag: component
              value: collections
            - tag: component
              value: raw
        - uuid: 6ce4b63c962646ef91e4a705a42f36de
          name: 'Connections, active'
          type: DEPENDENT
          key: mongodb.connections.active
          description: |
            The number of active client connections to the server.
            Active client connections refers to client connections that currently have operations in progress.
            Available starting in  4.0.7, 0 for older versions.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.connections.active
              error_handler: DISCARD_VALUE
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 3b53fa8cf9cb4d1a9ff364cd5d8ae724
          name: 'Connections, available'
          type: DEPENDENT
          key: mongodb.connections.available
          description: 'The number of unused incoming connections available.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.connections.available
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: connections
        - uuid: c4d86707cd124d9db195ca6afd636e71
          name: 'Connections, current'
          type: DEPENDENT
          key: mongodb.connections.current
          description: |
            The number of incoming connections from clients to the database server.
            This number includes the current shell session.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.connections.current
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 37fd836b53fa4db88aeb0faeeccc2856
          name: 'New connections, rate'
          type: DEPENDENT
          key: mongodb.connections.rate
          value_type: FLOAT
          units: Rps
          description: 'Rate of all incoming connections created to the server.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.connections.totalCreated
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 0f04a5b3b0e5415185e01ecf75f426ec
          name: 'Current queue: readers'
          type: DEPENDENT
          key: mongodb.current_queue.readers
          description: |
            The number of operations that are currently queued and waiting for the read lock.
            A consistently small read-queue, particularly of shorter operations, should cause no concern.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.globalLock.currentQueue.readers
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: global-lock
        - uuid: 47ecaffb9638429eb308572b7d7beb5a
          name: 'Current queue: total'
          type: DEPENDENT
          key: mongodb.current_queue.total
          description: 'The total number of operations queued waiting for the lock.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.globalLock.currentQueue.total
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: global-lock
        - uuid: e68ff1592a5648fc8b5475054c327ac6
          name: 'Current queue: writers'
          type: DEPENDENT
          key: mongodb.current_queue.writers
          description: |
            The number of operations that are currently queued and waiting for the write lock.
             A consistently small write-queue, particularly of shorter operations, is no cause for concern.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.globalLock.currentQueue.writers
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: global-lock
        - uuid: 1d2c068feba240d6b934b65249d1b5ea
          name: 'Cursor: open pinned'
          type: DEPENDENT
          key: mongodb.cursor.open.pinned
          description: 'Number of pinned open cursors.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.cursor.open.pinned
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: cursors
        - uuid: f23bf716eced4ba5948b06c24c780904
          name: 'Cursor: open total'
          type: DEPENDENT
          key: mongodb.cursor.open.total
          description: 'Number of cursors that MongoDB is maintaining for clients.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.cursor.open.total
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: cursors
          triggers:
            - uuid: ed4a0c66c76d4ca699d0f2188cc8e71f
              expression: 'min(/MongoDB node by Zabbix agent 2/mongodb.cursor.open.total,5m)>{$MONGODB.CURSOR.OPEN.MAX.WARN}'
              name: 'Too many cursors opened by MongoDB for clients'
              event_name: 'Too many cursors opened by MongoDB for clients (over {$MONGODB.CURSOR.OPEN.MAX.WARN} in 5m)'
              priority: WARNING
              tags:
                - tag: scope
                  value: capacity
        - uuid: b30b4c7b6d88467bbde22db411660d6b
          name: 'Cursor: timed out, rate'
          type: DEPENDENT
          key: mongodb.cursor.timed_out.rate
          value_type: FLOAT
          description: 'Number of cursors that time out, per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.cursor.timedOut
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: cursors
          triggers:
            - uuid: 41d37791111b461d94da779e4b2c7e46
              expression: 'min(/MongoDB node by Zabbix agent 2/mongodb.cursor.timed_out.rate,5m)>{$MONGODB.CURSOR.TIMEOUT.MAX.WARN}'
              name: 'Too many cursors are timing out'
              event_name: 'Too many cursors are timing out (over {$MONGODB.CURSOR.TIMEOUT.MAX.WARN} per second in 5m)'
              priority: WARNING
              tags:
                - tag: scope
                  value: performance
        - uuid: 4d0b20f4eeca4418bb08e7e2905cc68c
          name: Architecture
          type: DEPENDENT
          key: mongodb.mem.bits
          units: bit
          description: 'A number, either 64 or 32, that indicates whether the MongoDB instance is compiled for 64-bit or 32-bit architecture.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.mem.bits
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 3h
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: application
        - uuid: c88392536a334f9a9c907be28090424c
          name: 'Memory: mapped'
          type: DEPENDENT
          key: mongodb.mem.mapped
          units: B
          description: 'Amount of mapped memory by the database.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.mem.mapped
              error_handler: DISCARD_VALUE
            - type: MULTIPLIER
              parameters:
                - '1048576'
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: memory
        - uuid: 7a10ad84604246679104111e83fa762e
          name: 'Memory: mapped with journal'
          type: DEPENDENT
          key: mongodb.mem.mapped_with_journal
          units: B
          description: 'The amount of mapped memory, including the memory used for journaling.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.mem.mappedWithJournal
              error_handler: DISCARD_VALUE
            - type: MULTIPLIER
              parameters:
                - '1048576'
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: memory
        - uuid: 2248b869cfca42bd95140451c0974f8c
          name: 'Memory: resident'
          type: DEPENDENT
          key: mongodb.mem.resident
          units: B
          description: 'Amount of memory currently used by the database process.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.mem.resident
            - type: MULTIPLIER
              parameters:
                - '1048576'
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: memory
        - uuid: 561ea7508e44443cb692b7dfe8ed3bdc
          name: 'Memory: virtual'
          type: DEPENDENT
          key: mongodb.mem.virtual
          units: B
          description: 'Amount of virtual memory used by the mongod process.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.mem.virtual
            - type: MULTIPLIER
              parameters:
                - '1048576'
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: memory
        - uuid: 9c79163da0b44e39a704969ab1d6280b
          name: 'Cursor: open no timeout'
          type: DEPENDENT
          key: mongodb.metrics.cursor.open.no_timeout
          description: 'Number of open cursors with the option DBQuery.Option.noTimeout set to prevent timeout after a period of inactivity.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.metrics.cursor.open.noTimeout
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: cursors
        - uuid: ba0502f80a044670993bdb63587cd282
          name: 'Bytes in, rate'
          type: DEPENDENT
          key: mongodb.network.bytes_in.rate
          value_type: FLOAT
          units: Bps
          description: 'The total number of bytes that the server has received over network connections initiated by clients or other mongod/mongos instances per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.network.bytesIn
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: network
        - uuid: 0545114b39a649ef9a4b75da500031fb
          name: 'Bytes out, rate'
          type: DEPENDENT
          key: mongodb.network.bytes_out.rate
          value_type: FLOAT
          units: Bps
          description: 'The total number of bytes that the server has sent over network connections initiated by clients or other mongod/mongos instances per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.network.bytesOut
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: network
        - uuid: 73aba89f9012437eb3ed843ccbe63c06
          name: 'Requests, rate'
          type: DEPENDENT
          key: mongodb.network.numRequests.rate
          value_type: FLOAT
          units: '!Rps'
          description: 'Number of distinct requests that the server has received per second'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.network.numRequests
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: network
        - uuid: 532a1f4a64624434986f54b9ac2d2e3a
          name: 'Operations: command, rate'
          type: DEPENDENT
          key: mongodb.opcounters.command.rate
          value_type: FLOAT
          description: |
            The number of commands issued to the database the mongod instance per second.
            Counts all commands except the write commands: insert, update, and delete.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.opcounters.command
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: operations
        - uuid: 540f30705ced49da89a16f80828e8775
          name: 'Operations: delete, rate'
          type: DEPENDENT
          key: mongodb.opcounters.delete.rate
          value_type: FLOAT
          description: 'The number of delete operations the mongod instance per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.opcounters.delete
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: operations
        - uuid: 229345df70c240b5ab113b358fb738d9
          name: 'Operations: getmore, rate'
          type: DEPENDENT
          key: mongodb.opcounters.getmore.rate
          value_type: FLOAT
          description: |
            The number of "getmore" operations since the mongod instance per second. This counter can be high even if the query count is low.
            Secondary nodes send getMore operations as part of the replication process.
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.opcounters.getmore
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: operations
        - uuid: 4236ad60fcef48f793ac6da4cccdb029
          name: 'Operations: insert, rate'
          type: DEPENDENT
          key: mongodb.opcounters.insert.rate
          value_type: FLOAT
          description: 'The number of insert operations received since the mongod instance per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.opcounters.insert
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: operations
        - uuid: b0f7def2c62047bba0db77d18f1df920
          name: 'Operations: query, rate'
          type: DEPENDENT
          key: mongodb.opcounters.query.rate
          value_type: FLOAT
          description: 'The number of queries received the mongod instance per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.opcounters.query
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: operations
        - uuid: 019ed179e4e1407db799e01920280e02
          name: 'Operations: update, rate'
          type: DEPENDENT
          key: mongodb.opcounters.update.rate
          value_type: FLOAT
          description: 'The number of update operations the mongod instance per second.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.opcounters.update
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: operations
        - uuid: 8e7406e64edd4fe5ba87d4018011c958
          name: 'Get oplog stats'
          key: 'mongodb.oplog.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          history: '0'
          value_type: TEXT
          description: 'Returns status of the replica set, using data polled from the oplog.'
          tags:
            - tag: component
              value: oplog
            - tag: component
              value: replicaset
        - uuid: 350da28ce7ab42f9b96728ec730d4bd6
          name: Ping
          key: 'mongodb.ping["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          delay: 30s
          description: 'Test if a connection is alive or not.'
          valuemap:
            name: 'Service state'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 30m
          tags:
            - tag: component
              value: health
          triggers:
            - uuid: c4ab9bfdd6d14634870f8ebb44081655
              expression: 'last(/MongoDB node by Zabbix agent 2/mongodb.ping["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"])=0'
              name: 'Connection to MongoDB is unavailable'
              priority: HIGH
              description: 'Connection to MongoDB instance is currently unavailable.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 3b448eff509240faba344f7b325f3e28
          name: 'Get Replica Set status'
          key: 'mongodb.rs.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          history: '0'
          value_type: TEXT
          description: 'Returns the replica set status from the point of view of the member where the method is run.'
          tags:
            - tag: component
              value: raw
            - tag: component
              value: replicaset
        - uuid: fb0cc7d44559406cada9d90a51bc999c
          name: 'Get server status'
          key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          history: '0'
          value_type: TEXT
          description: 'Returns a database''s state.'
          tags:
            - tag: component
              value: raw
        - uuid: 2d1bf92792014ed8a3f8d8b13907fc7d
          name: Uptime
          type: DEPENDENT
          key: mongodb.uptime
          value_type: FLOAT
          units: s
          description: 'Number of seconds that the mongod process has been active.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.uptime
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: 166444342def4adc954aa35f3dc22dba
              expression: 'nodata(/MongoDB node by Zabbix agent 2/mongodb.uptime,10m)=1'
              name: 'Failed to fetch info data'
              event_name: 'Failed to fetch info data (or no data for 10m)'
              priority: WARNING
              description: 'Zabbix has not received data for items for the last 10 minutes'
              manual_close: 'YES'
              dependencies:
                - name: 'Connection to MongoDB is unavailable'
                  expression: 'last(/MongoDB node by Zabbix agent 2/mongodb.ping["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"])=0'
              tags:
                - tag: scope
                  value: availability
            - uuid: 992590e47a7f42dda0e074c2f7a3e5ba
              expression: 'last(/MongoDB node by Zabbix agent 2/mongodb.uptime)<10m'
              name: 'mongod process has been restarted'
              event_name: 'mongod process has been restarted (uptime < 10m)'
              priority: INFO
              description: 'Uptime is less than 10 minutes.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: c5679875dc254ddd833ee40ef4a2b3cf
          name: 'MongoDB version'
          key: 'mongodb.version["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          delay: 15m
          value_type: CHAR
          description: 'Version of the MongoDB server.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: 0856e13b7e7644c5b353fcfa577acb51
              expression: 'last(/MongoDB node by Zabbix agent 2/mongodb.version["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"],#1)<>last(/MongoDB node by Zabbix agent 2/mongodb.version["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"],#2) and length(last(/MongoDB node by Zabbix agent 2/mongodb.version["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]))>0'
              name: 'Version has changed'
              event_name: 'Version has changed (new version: {ITEM.VALUE})'
              priority: INFO
              description: 'MongoDB version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
      discovery_rules:
        - uuid: a6398a8ae4fe4891a03bb6041bf71f53
          name: 'Collection discovery'
          key: 'mongodb.collections.discovery["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          delay: 30m
          filter:
            evaltype: AND
            conditions:
              - macro: '{#COLLECTION}'
                value: '{$MONGODB.LLD.FILTER.COLLECTION.MATCHES}'
              - macro: '{#COLLECTION}'
                value: '{$MONGODB.LLD.FILTER.COLLECTION.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#DBNAME}'
                value: '{$MONGODB.LLD.FILTER.DB.MATCHES}'
              - macro: '{#DBNAME}'
                value: '{$MONGODB.LLD.FILTER.DB.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: |
            Collect collections metrics.
            Note, depending on the number of DBs and collections this discovery operation may be expensive. Use filters with macros {$MONGODB.LLD.FILTER.DB.MATCHES}, {$MONGODB.LLD.FILTER.DB.NOT_MATCHES}, {$MONGODB.LLD.FILTER.COLLECTION.MATCHES}, {$MONGODB.LLD.FILTER.COLLECTION.NOT_MATCHES}.
          item_prototypes:
            - uuid: fbcfeba93bce4f3fa965176b9b3208b0
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Objects, avg size'
              type: DEPENDENT
              key: 'mongodb.collection.avg_obj_size["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: B
              description: 'The size of the average object in the collection in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.avgObjSize
                  error_handler: DISCARD_VALUE
              master_item:
                key: 'mongodb.collection.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}","{#COLLECTION}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: objects
                - tag: database
                  value: '{#DBNAME}'
            - uuid: ee5d3cefe6584900b400a4f598c84c1b
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Capped'
              type: DEPENDENT
              key: 'mongodb.collection.capped["{#DBNAME}","{#COLLECTION}"]'
              description: 'Whether or not the collection is capped.'
              valuemap:
                name: 'MongoDB flag'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.capped
                - type: BOOL_TO_DECIMAL
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3h
              master_item:
                key: 'mongodb.collection.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}","{#COLLECTION}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: application
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 5fc5b90792054b09a651b5d41328ca56
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Objects, count'
              type: DEPENDENT
              key: 'mongodb.collection.count["{#DBNAME}","{#COLLECTION}"]'
              description: 'Total number of objects in the collection.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.count
              master_item:
                key: 'mongodb.collection.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}","{#COLLECTION}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: objects
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 0ab52dbdcb424d759f6f717d8197cb30
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Capped: max number'
              type: DEPENDENT
              key: 'mongodb.collection.max_number["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'Maximum number of documents that may be present in a capped collection.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.max
                  error_handler: DISCARD_VALUE
              master_item:
                key: 'mongodb.collection.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}","{#COLLECTION}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: application
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 8c0fe89cfa9f40e3bb04c92c417757df
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Capped: max size'
              type: DEPENDENT
              key: 'mongodb.collection.max_size["{#DBNAME}","{#COLLECTION}"]'
              units: B
              description: 'Maximum size of a capped collection in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.maxSize
                  error_handler: DISCARD_VALUE
              master_item:
                key: 'mongodb.collection.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}","{#COLLECTION}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: disk
                - tag: database
                  value: '{#DBNAME}'
            - uuid: b8ebe075b01248179d93c5d174286d2f
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Indexes'
              type: DEPENDENT
              key: 'mongodb.collection.nindexes["{#DBNAME}","{#COLLECTION}"]'
              description: 'Total number of indices on the collection.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.nindexes
              master_item:
                key: 'mongodb.collection.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}","{#COLLECTION}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: application
                - tag: database
                  value: '{#DBNAME}'
            - uuid: a4d05a4ee48b4ce2aa4fbebd240b8c4c
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: commands, ms/s'
              type: DEPENDENT
              key: 'mongodb.collection.ops.commands.ms["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent to operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].commands.time'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: b6d89c096fec4194bbe834e026f33178
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: commands, rate'
              type: DEPENDENT
              key: 'mongodb.collection.ops.commands.rate["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'The number of operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].commands.count'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 6375b055efe84cdaa0a42c4b9981dde7
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: getmore, ms/s'
              type: DEPENDENT
              key: 'mongodb.collection.ops.getmore.ms["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent to operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].getmore.time'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 760a0a70a2674ad7acd9d551865693ef
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: getmore, rate'
              type: DEPENDENT
              key: 'mongodb.collection.ops.getmore.rate["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'The number of operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].getmore.count'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 812f76c720fe47ba9fd8764c349c4a36
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: insert, ms/s'
              type: DEPENDENT
              key: 'mongodb.collection.ops.insert.ms["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent to operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].insert.time'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: c824a6a997ef4308b47cdc4118799f33
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: insert, rate'
              type: DEPENDENT
              key: 'mongodb.collection.ops.insert.rate["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'The number of operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].insert.count'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 77de05da93b34432a7c2442fc01ca624
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: queries, ms/s'
              type: DEPENDENT
              key: 'mongodb.collection.ops.queries.ms["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent to operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].queries.time'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 41b1f661ceab494f81e7a4b943a07020
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: queries, rate'
              type: DEPENDENT
              key: 'mongodb.collection.ops.queries.rate["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'The number of operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].queries.count'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: a46f2c1c973d4eef8d9a7b1150702c74
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: remove, ms/s'
              type: DEPENDENT
              key: 'mongodb.collection.ops.remove.ms["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent to operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].remove.time'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 89b74a8511b84f4bb8cab94fc5471632
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: remove, rate'
              type: DEPENDENT
              key: 'mongodb.collection.ops.remove.rate["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'The number of operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].remove.count'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 67eaf64e851a45afbd69303ad0256077
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: total, ms/s'
              type: DEPENDENT
              key: 'mongodb.collection.ops.total.ms["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent to operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].total.time'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 1ca4ae9dcf494efdbf85d635d49d4de8
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: total, rate'
              type: DEPENDENT
              key: 'mongodb.collection.ops.total.rate["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'The number of operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].total.count'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 89b6f13894d64bdcbe0d0ec41568051a
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: update, ms/s'
              type: DEPENDENT
              key: 'mongodb.collection.ops.update.ms["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent to operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].update.time'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 8d75aa686d0d4f3f93089b8b089f1d3c
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations: update, rate'
              type: DEPENDENT
              key: 'mongodb.collection.ops.update.rate["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'The number of operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].update.count'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 4d575525f749436ea4ea9098c3b164ba
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Read lock, ms/s'
              type: DEPENDENT
              key: 'mongodb.collection.read_lock.ms["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent to operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].readLock.time'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 9d2d62a252054e428d9b8863a2128ad8
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Read lock, rate'
              type: DEPENDENT
              key: 'mongodb.collection.read_lock.rate["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'The number of operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].readLock.count'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: e5e471e100834da5a2e9dddaaa453227
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Size'
              type: DEPENDENT
              key: 'mongodb.collection.size["{#DBNAME}","{#COLLECTION}"]'
              units: B
              description: 'The total size in bytes of the data in the collection plus the size of every indexes on the mongodb.collection.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.size
              master_item:
                key: 'mongodb.collection.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}","{#COLLECTION}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: disk
                - tag: database
                  value: '{#DBNAME}'
            - uuid: d43709c548b84ea9b2c3c1b159bf28a3
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Get collection stats {#DBNAME}.{#COLLECTION}'
              key: 'mongodb.collection.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}","{#COLLECTION}"]'
              history: '0'
              value_type: TEXT
              description: 'Returns a variety of storage statistics for a given collection.'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: raw
                - tag: database
                  value: '{#DBNAME}'
            - uuid: a2f095952fa44ed3a199b098c5fbee7a
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Storage size'
              type: DEPENDENT
              key: 'mongodb.collection.storage_size["{#DBNAME}","{#COLLECTION}"]'
              units: B
              description: 'Total storage space allocated to this collection for document storage.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.storageSize
              master_item:
                key: 'mongodb.collection.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}","{#COLLECTION}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: disk
                - tag: database
                  value: '{#DBNAME}'
            - uuid: a4c46912b5e643be8565f2b0d32c62a9
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Write lock, ms/s'
              type: DEPENDENT
              key: 'mongodb.collection.write_lock.ms["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent to operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].writeLock.time'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
            - uuid: ef83d379681241eaadd8be8de755a2bd
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Write lock, rate'
              type: DEPENDENT
              key: 'mongodb.collection.write_lock.rate["{#DBNAME}","{#COLLECTION}"]'
              value_type: FLOAT
              description: 'The number of operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.totals["{#DBNAME}.{#COLLECTION}"].writeLock.count'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.collections.usage["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: collection
                  value: '{#COLLECTION}'
                - tag: component
                  value: operations
                - tag: database
                  value: '{#DBNAME}'
          graph_prototypes:
            - uuid: 76e921eae63a49b99102d880d5844a46
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Locks'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.read_lock.rate["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.write_lock.rate["{#DBNAME}","{#COLLECTION}"]'
            - uuid: ab97504abcc844d5a408d4b7cf85e5a5
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Locks time'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.read_lock.ms["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.write_lock.ms["{#DBNAME}","{#COLLECTION}"]'
            - uuid: dcfc8fcc0b484c8baea14525aa212dc2
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.queries.rate["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.getmore.rate["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.insert.rate["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.update.rate["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '4'
                  color: FC6EA3
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.remove.rate["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '5'
                  color: 6C59DC
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.commands.rate["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '6'
                  drawtype: BOLD_LINE
                  color: C7A72D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.total.rate["{#DBNAME}","{#COLLECTION}"]'
            - uuid: 554ac3ac477c47cfbaaba3d6419109f0
              name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations time'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.queries.ms["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.getmore.ms["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.insert.ms["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.update.ms["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '4'
                  color: FC6EA3
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.remove.ms["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '5'
                  color: 6C59DC
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.commands.ms["{#DBNAME}","{#COLLECTION}"]'
                - sortorder: '6'
                  drawtype: BOLD_LINE
                  color: C7A72D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.collection.ops.total.ms["{#DBNAME}","{#COLLECTION}"]'
        - uuid: a2a57b40d12944ae8ee21c166706b132
          name: 'Database discovery'
          key: 'mongodb.db.discovery["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          delay: 30m
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DBNAME}'
                value: '{$MONGODB.LLD.FILTER.DB.MATCHES}'
              - macro: '{#DBNAME}'
                value: '{$MONGODB.LLD.FILTER.DB.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: |
            Collect database metrics.
            Note, depending on the number of DBs this discovery operation may be expensive. Use filters with macros {$MONGODB.LLD.FILTER.DB.MATCHES}, {$MONGODB.LLD.FILTER.DB.NOT_MATCHES}.
          item_prototypes:
            - uuid: cbb85c1a212a49a1bbdd9336f4a8fe68
              name: 'MongoDB {#DBNAME}: Collections'
              type: DEPENDENT
              key: 'mongodb.db.collections["{#DBNAME}"]'
              description: 'Contains a count of the number of collections in that database.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.collections
              master_item:
                key: 'mongodb.db.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: collections
                - tag: database
                  value: '{#DBNAME}'
            - uuid: a9d502096d664f6da44a6ab82f8b7d36
              name: 'MongoDB {#DBNAME}: Size, data'
              type: DEPENDENT
              key: 'mongodb.db.data_size["{#DBNAME}"]'
              units: B
              description: 'Total size of the data held in this database including the padding factor.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.dataSize
              master_item:
                key: 'mongodb.db.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: disk
                - tag: database
                  value: '{#DBNAME}'
            - uuid: c5f4ae6a260e4c10aae0d51441fcbbf7
              name: 'MongoDB {#DBNAME}: Extents'
              type: DEPENDENT
              key: 'mongodb.db.extents["{#DBNAME}"]'
              description: 'Contains a count of the number of extents in the database across all collections.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.numExtents
                  error_handler: DISCARD_VALUE
              master_item:
                key: 'mongodb.db.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: collections
                - tag: database
                  value: '{#DBNAME}'
            - uuid: cecffb75221440ac957fda5d676d7714
              name: 'MongoDB {#DBNAME}: Size, file'
              type: DEPENDENT
              key: 'mongodb.db.file_size["{#DBNAME}"]'
              units: B
              description: 'Total size of the data held in this database including the padding factor (only available with the mmapv1 storage engine).'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.fileSize
                  error_handler: DISCARD_VALUE
              master_item:
                key: 'mongodb.db.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: disk
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 9567515baf7b46a0a685717839f4a48f
              name: 'MongoDB {#DBNAME}: Size, index'
              type: DEPENDENT
              key: 'mongodb.db.index_size["{#DBNAME}"]'
              units: B
              description: 'Total size of all indexes created on this database.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.indexSize
              master_item:
                key: 'mongodb.db.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: disk
                - tag: database
                  value: '{#DBNAME}'
            - uuid: cd5ecd2eafc640319aa2f049db2cf582
              name: 'MongoDB {#DBNAME}: Objects, count'
              type: DEPENDENT
              key: 'mongodb.db.objects["{#DBNAME}"]'
              description: 'Number of objects (documents) in the database across all collections.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.objects
              master_item:
                key: 'mongodb.db.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: objects
                - tag: database
                  value: '{#DBNAME}'
            - uuid: cadce6df66ec4872bd6b517233f77bfc
              name: 'MongoDB {#DBNAME}: Objects, avg size'
              type: DEPENDENT
              key: 'mongodb.db.size["{#DBNAME}"]'
              value_type: FLOAT
              units: B
              description: 'The average size of each document in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.avgObjSize
              master_item:
                key: 'mongodb.db.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: objects
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 829536cb5dd448d8a05a30cf6eff8599
              name: 'MongoDB {#DBNAME}: Get db stats {#DBNAME}'
              key: 'mongodb.db.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}"]'
              history: '0'
              value_type: TEXT
              description: 'Returns statistics reflecting the database system''s state.'
              tags:
                - tag: component
                  value: database
                - tag: component
                  value: raw
                - tag: database
                  value: '{#DBNAME}'
            - uuid: 197a1d1f5d14413da8fe6c93bfdcf4f3
              name: 'MongoDB {#DBNAME}: Size, storage'
              type: DEPENDENT
              key: 'mongodb.db.storage_size["{#DBNAME}"]'
              units: B
              description: 'Total amount of space allocated to collections in this database for document storage.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.storageSize
              master_item:
                key: 'mongodb.db.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}","{#DBNAME}"]'
              tags:
                - tag: component
                  value: disk
                - tag: database
                  value: '{#DBNAME}'
          graph_prototypes:
            - uuid: e65fcfed4eca4d518b5e6b5b6085ede8
              name: 'MongoDB {#DBNAME}: Collections stats'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.db.collections["{#DBNAME}"]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.db.objects["{#DBNAME}"]'
            - uuid: 5dc13b4aebf24a1b8448c26d93b42d7a
              name: 'MongoDB {#DBNAME}: Disk usage'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.db.index_size["{#DBNAME}"]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.db.storage_size["{#DBNAME}"]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.db.file_size["{#DBNAME}"]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.db.data_size["{#DBNAME}"]'
        - uuid: eaa4b8fc535143f887673834987ce7be
          name: 'Replication discovery'
          type: DEPENDENT
          key: mongodb.rs.discovery
          description: 'Collect metrics by Zabbix agent if it exists.'
          item_prototypes:
            - uuid: aed5de1374ea427185d478e87b7f1449
              name: 'Apply batches, ms/s'
              type: DEPENDENT
              key: 'mongodb.rs.apply.batches.ms.rate[{#RS_NAME}]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) the mongod has spent applying operations from the oplog.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.apply.batches.totalMillis
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: a460d4356895439d9cf9143b38a18213
              name: 'Apply batches, rate'
              type: DEPENDENT
              key: 'mongodb.rs.apply.batches.rate[{#RS_NAME}]'
              value_type: FLOAT
              description: 'Number of batches applied across all databases per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.apply.batches.num
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 48970eb366f144b4b9ed3f72fbd983a7
              name: 'Apply ops, rate'
              type: DEPENDENT
              key: 'mongodb.rs.apply.rate[{#RS_NAME}]'
              value_type: FLOAT
              description: 'Number of oplog operations applied per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.apply.ops
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 8d8b0046f9fd409891d3d225f8a462ff
              name: Buffer
              type: DEPENDENT
              key: 'mongodb.rs.buffer.count[{#RS_NAME}]'
              description: 'Number of operations in the oplog buffer.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.buffer.count
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 0a7522edb2a647989627de85f7e61319
              name: 'Buffer, max size'
              type: DEPENDENT
              key: 'mongodb.rs.buffer.max_size[{#RS_NAME}]'
              units: B
              description: 'Maximum size of the buffer.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.buffer.maxSizeBytes
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: fd9b7ea20e1e4e91b7a3c75d5416efe8
              name: 'Buffer, size'
              type: DEPENDENT
              key: 'mongodb.rs.buffer.size[{#RS_NAME}]'
              units: B
              description: 'Current size of the contents of the oplog buffer.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.buffer.sizeBytes
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 6f07d080d01d45dfa5383640c76175c5
              name: 'Replication lag'
              type: DEPENDENT
              key: 'mongodb.rs.lag[{#RS_NAME}]'
              value_type: FLOAT
              units: s
              description: 'Delay between a write operation on the primary and its copy to a secondary.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.members[?(@.self == "true")].lag.first()'
              master_item:
                key: 'mongodb.rs.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
              trigger_prototypes:
                - uuid: 778d0b15affe4867b3e7f3e396c2a700
                  expression: 'min(/MongoDB node by Zabbix agent 2/mongodb.rs.lag[{#RS_NAME}],5m)>{$MONGODB.REPL.LAG.MAX.WARN}'
                  name: 'Replication lag with primary is too high'
                  event_name: 'Replication lag with primary is too high (over {$MONGODB.REPL.LAG.MAX.WARN} in 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: performance
            - uuid: be060c8d3fec46d5832f8047d3512903
              name: 'Network bytes, rate'
              type: DEPENDENT
              key: 'mongodb.rs.network.bytes.rate[{#RS_NAME}]'
              value_type: FLOAT
              units: Bps
              description: 'Amount of data read from the replication sync source per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.network.bytes
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: network
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 68b7ac3fee984352bab02b07e0823f51
              name: 'Network getmores, ms/s'
              type: DEPENDENT
              key: 'mongodb.rs.network.getmores.ms.rate[{#RS_NAME}]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) required to collect data from getmore operations.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.network.getmores.totalMillis
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: operations
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 86d9ddbfc35447c7889bef826bab016f
              name: 'Network getmores, rate'
              type: DEPENDENT
              key: 'mongodb.rs.network.getmores.rate[{#RS_NAME}]'
              value_type: FLOAT
              description: 'Number of getmore operations per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.network.getmores.num
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: operations
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: d2b3075c9728473a9dc8a0585ce43cfd
              name: 'Network ops, rate'
              type: DEPENDENT
              key: 'mongodb.rs.network.ops.rate[{#RS_NAME}]'
              value_type: FLOAT
              description: 'Number of operations read from the replication source per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.network.ops
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: operations
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 7f9d03a683764e32a35b9c1d4da5ddab
              name: 'Network readers created, rate'
              type: DEPENDENT
              key: 'mongodb.rs.network.readers.rate[{#RS_NAME}]'
              value_type: FLOAT
              description: 'Number of oplog query processes created per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.network.readersCreated
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: network
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 341410549bfd46058a9cb289b3254639
              name: 'MongoDB {#RS_NAME}: Oplog time diff'
              type: DEPENDENT
              key: 'mongodb.rs.oplog.timediff[{#RS_NAME}]'
              units: s
              description: 'Oplog window: difference between the first and last operation in the oplog. Only present if there are entries in the oplog.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.timediff
              master_item:
                key: 'mongodb.oplog.stats["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: f759273556f5427196c86e822dc7aa95
              name: 'Preload docs, ms/s'
              type: DEPENDENT
              key: 'mongodb.rs.preload.docs.ms.rate[{#RS_NAME}]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) spent loading documents as part of the pre-fetch stage of replication.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.preload.docs.totalMillis
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: a364941cb8da416a84c0ca897a04c8f9
              name: 'Preload docs, rate'
              type: DEPENDENT
              key: 'mongodb.rs.preload.docs.rate[{#RS_NAME}]'
              value_type: FLOAT
              description: 'Number of documents loaded per second during the pre-fetch stage of replication.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.preload.docs.num
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: c78b8e62a12b466ea6f1de84d0e9080a
              name: 'Preload indexes, ms/s'
              type: DEPENDENT
              key: 'mongodb.rs.preload.indexes.ms.rate[{#RS_NAME}]'
              value_type: FLOAT
              units: ms/s
              description: 'Fraction of time (ms/s) spent loading documents as part of the pre-fetch stage of replication.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.preload.indexes.totalMillis
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: ce37bf73939041ab869e4b2faaaedae3
              name: 'Preload indexes, rate'
              type: DEPENDENT
              key: 'mongodb.rs.preload.indexes.rate[{#RS_NAME}]'
              value_type: FLOAT
              description: 'Number of index entries loaded by members before updating documents as part of the pre-fetch stage of replication.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.metrics.repl.preload.indexes.num
                  error_handler: DISCARD_VALUE
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 49e786da687a4b36a17bf617026e3c83
              name: 'Node state'
              type: DEPENDENT
              key: 'mongodb.rs.state[{#RS_NAME}]'
              description: 'An integer between 0 and 10 that represents the replica state of the current member.'
              valuemap:
                name: 'ReplicaSet node state'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.myState
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'mongodb.rs.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
              trigger_prototypes:
                - uuid: f9f29647a3db426c9c303fc47cfc48eb
                  expression: 'last(/MongoDB node by Zabbix agent 2/mongodb.rs.state[{#RS_NAME}],#1)<>last(/MongoDB node by Zabbix agent 2/mongodb.rs.state[{#RS_NAME}],#2)'
                  recovery_mode: NONE
                  name: 'Node in ReplicaSet changed the state'
                  event_name: 'Node in ReplicaSet changed the state (new state: {ITEM.VALUE})'
                  priority: WARNING
                  description: 'Node in ReplicaSet  changed the state. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 211d5f6768c044f8ac959724160d3ddc
              name: 'Number of replicas'
              type: DEPENDENT
              key: 'mongodb.rs.total_nodes[{#RS_NAME}]'
              discover: NO_DISCOVER
              description: 'The number of replicated nodes in current ReplicaSet.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.members[?(@.self == "true")].totalNodes.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'mongodb.rs.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: 4b81b6e4ce1644689e5d8a4490650e6b
              name: 'Unhealthy replicas'
              type: DEPENDENT
              key: 'mongodb.rs.unhealthy[{#RS_NAME}]'
              value_type: CHAR
              discover: NO_DISCOVER
              description: 'The replicated nodes in current ReplicaSet with member health value  = 0.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.members[?(@.self == "true")].unhealthyNodes.first()'
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var value = JSON.parse(value);
                      return value.length ? JSON.stringify(value) : '';
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'mongodb.rs.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
            - uuid: b8d4a32cfa9f4b4fb5177e3389d15a5a
              name: 'Number of unhealthy replicas'
              type: DEPENDENT
              key: 'mongodb.rs.unhealthy_count[{#RS_NAME}]'
              discover: NO_DISCOVER
              description: 'The number of replicated nodes with member health value  = 0.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.members[?(@.self == "true")].unhealthyCount.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'mongodb.rs.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: replication
                - tag: replicaset
                  value: '{#RS_NAME}'
          trigger_prototypes:
            - uuid: 975c5e5817b148ba8a8d551ac42053d0
              expression: 'last(/MongoDB node by Zabbix agent 2/mongodb.rs.unhealthy_count[{#RS_NAME}])>0 and length(last(/MongoDB node by Zabbix agent 2/mongodb.rs.unhealthy[{#RS_NAME}]))>0'
              name: 'There are unhealthy replicas in ReplicaSet'
              priority: AVERAGE
              tags:
                - tag: scope
                  value: availability
          graph_prototypes:
            - uuid: 52724c49dd544470916eab1301be30da
              name: 'MongoDB: Replication lag time [{#RS_NAME}]'
              graph_items:
                - drawtype: BOLD_LINE
                  color: 199C0D
                  item:
                    host: 'MongoDB node by Zabbix agent 2'
                    key: 'mongodb.rs.lag[{#RS_NAME}]'
          master_item:
            key: 'mongodb.rs.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var status = JSON.parse(value)
                  return JSON.stringify(status.set
                  ? [{'{#RS_NAME}': status.set, '{#NODE_STATE}': status.myState}]
                  : []);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          overrides:
            - name: 'Primary metrics'
              step: '1'
              filter:
                conditions:
                  - macro: '{#NODE_STATE}'
                    value: '1'
              operations:
                - operator: LIKE
                  value: 'Number of replicas'
                  discover: DISCOVER
                  status: ENABLED
                - operator: LIKE
                  value: 'Number of unhealthy replicas'
                  discover: DISCOVER
                  status: ENABLED
                - operator: LIKE
                  value: 'Replication lag'
                  discover: NO_DISCOVER
                - operator: LIKE
                  value: 'Unhealthy replicas'
                  discover: DISCOVER
                  status: ENABLED
            - name: 'Arbiter metrics'
              step: '2'
              filter:
                conditions:
                  - macro: '{#NODE_STATE}'
                    value: '7'
              operations:
                - operator: LIKE
                  value: 'Replication lag'
                  discover: NO_DISCOVER
        - uuid: 9b37bb1d3e244a95ac5702bcf3ab19a9
          name: 'WiredTiger metrics'
          type: DEPENDENT
          key: mongodb.wired_tiger.discovery
          description: 'Collect metrics of WiredTiger Storage Engine if it exists.'
          item_prototypes:
            - uuid: 918e705019734ca7a200a7c4422c6bab
              name: 'WiredTiger cache: bytes'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.bytes_in_cache[{#SINGLETON}]'
              units: B
              description: 'Size of the data currently in cache.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache[''bytes currently in the cache'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: 20edd994c8b04e35bea96e6eacd33611
              name: 'WiredTiger cache: bytes, max'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.maximum_bytes_configured[{#SINGLETON}]'
              units: B
              description: 'Maximum cache size.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache[''maximum bytes configured'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: 4e07f3e517bf41c1b42661d3bbd5237e
              name: 'WiredTiger cache: max page size at eviction'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.max_page_size_eviction[{#SINGLETON}]'
              units: B
              description: 'Maximum page size at eviction.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache[''maximum page size at eviction'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: 692685a9f3d9461daa88fdfcb0771e05
              name: 'WiredTiger cache: modified pages evicted'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.modified_pages_evicted[{#SINGLETON}]'
              description: 'Number of pages, that have been modified, evicted from the cache.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache[''modified pages evicted'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: 634060250f474f269aed1df61f709ca7
              name: 'WiredTiger cache: pages evicted by application threads, rate'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.pages_evicted_threads.rate[{#SINGLETON}]'
              value_type: FLOAT
              description: 'Number of page evicted by application threads per second.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache.[''pages evicted by application threads'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: 547ccf6f4c7f4629831e39f72cbcfb70
              name: 'WiredTiger cache: pages held in cache'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.pages_in_cache[{#SINGLETON}]'
              description: 'Number of pages currently held in the cache.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache[''pages currently held in the cache'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: c01890f434b14e998e2aea7d61d600e5
              name: 'WiredTiger cache: pages read into cache'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.pages_read[{#SINGLETON}]'
              description: 'Number of pages read into the cache.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache[''pages read into cache'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: 0aa52db6d7684a2496fb0599139cd142
              name: 'WiredTiger cache: pages written from cache'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.pages_written[{#SINGLETON}]'
              description: 'Number of pages written from the cache.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache[''pages written from cache'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: 851100dc722b4e74883fa469e062a2e2
              name: 'WiredTiger cache: in-memory page splits'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.splits[{#SINGLETON}]'
              description: 'In-memory page splits.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache[''in-memory page splits'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: 85706ecdaa0e4c789a6542cbde35e80a
              name: 'WiredTiger cache: tracked dirty bytes in the cache'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.tracked_dirty_bytes[{#SINGLETON}]'
              units: B
              description: 'Size of the dirty data in the cache.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache.[''tracked dirty bytes in the cache'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: 7993e04be54b4dc0b663a105b7b9a3c4
              name: 'WiredTiger cache: unmodified pages evicted'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.cache.unmodified_pages_evicted[{#SINGLETON}]'
              description: 'Number of pages, that were not modified, evicted from the cache.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.wiredTiger.cache.[''unmodified pages evicted'']'
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: cache
                - tag: component
                  value: wired-tiger
            - uuid: b1a9800865db4ac8959bbdc4b2ab39ee
              name: 'WiredTiger concurrent transactions: read, available'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.concurrent_transactions.read.available[{#SINGLETON}]'
              description: 'Number of available read tickets (concurrent transactions) remaining.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.wiredTiger.concurrentTransactions.read.available
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: transactions
                - tag: component
                  value: wired-tiger
              trigger_prototypes:
                - uuid: 967928b915f64623b4416ed0dbf6ba98
                  expression: 'max(/MongoDB node by Zabbix agent 2/mongodb.wired_tiger.concurrent_transactions.read.available[{#SINGLETON}],5m)<{$MONGODB.WIRED_TIGER.TICKETS.AVAILABLE.MIN.WARN}'
                  name: 'Available WiredTiger read tickets is low'
                  event_name: 'Available WiredTiger read tickets less than {$MONGODB.WIRED_TIGER.TICKETS.AVAILABLE.MIN.WARN}'
                  priority: WARNING
                  description: |
                    Too few available read tickets.
                    When the number of available read tickets remaining reaches zero, new read requests will be queued until a new read ticket is available.
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: b9415bf5203840209e149a6be4b110a1
              name: 'WiredTiger concurrent transactions: read, out'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.concurrent_transactions.read.out[{#SINGLETON}]'
              description: 'Number of read tickets (concurrent transactions) in use.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.wiredTiger.concurrentTransactions.read.out
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: transactions
                - tag: component
                  value: wired-tiger
            - uuid: 46c67d017c5040f691695fcd7645c224
              name: 'WiredTiger concurrent transactions: read, total tickets'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.concurrent_transactions.read.totalTickets[{#SINGLETON}]'
              description: 'Total number of read tickets (concurrent transactions) available.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.wiredTiger.concurrentTransactions.read.totalTickets
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: transactions
                - tag: component
                  value: wired-tiger
            - uuid: cb36bdd5ce0442cca03e46436f82c6a2
              name: 'WiredTiger concurrent transactions: write, available'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.concurrent_transactions.write.available[{#SINGLETON}]'
              description: 'Number of available write tickets (concurrent transactions) remaining.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.wiredTiger.concurrentTransactions.write.available
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: transactions
                - tag: component
                  value: wired-tiger
              trigger_prototypes:
                - uuid: 485e6e846f274b528902b3ffd08f2fc4
                  expression: 'max(/MongoDB node by Zabbix agent 2/mongodb.wired_tiger.concurrent_transactions.write.available[{#SINGLETON}],5m)<{$MONGODB.WIRED_TIGER.TICKETS.AVAILABLE.MIN.WARN}'
                  name: 'Available WiredTiger write tickets is low'
                  event_name: 'Available WiredTiger write tickets less than {$MONGODB.WIRED_TIGER.TICKETS.AVAILABLE.MIN.WARN}'
                  priority: WARNING
                  description: |
                    Too few available write tickets.
                    When the number of available write tickets remaining reaches zero, new write requests will be queued until a new write ticket is available.
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: b997757256e441dca58758192126ac44
              name: 'WiredTiger concurrent transactions: write, out'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.concurrent_transactions.write.out[{#SINGLETON}]'
              description: 'Number of write tickets (concurrent transactions) in use.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.wiredTiger.concurrentTransactions.write.out
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: transactions
                - tag: component
                  value: wired-tiger
            - uuid: e9eb61954ab6462d9dbcf9206467b076
              name: 'WiredTiger concurrent transactions: write, total tickets'
              type: DEPENDENT
              key: 'mongodb.wired_tiger.concurrent_transactions.write.totalTickets[{#SINGLETON}]'
              description: 'Total number of write tickets (concurrent transactions) available.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.wiredTiger.concurrentTransactions.write.totalTickets
              master_item:
                key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
              tags:
                - tag: component
                  value: transactions
                - tag: component
                  value: wired-tiger
          master_item:
            key: 'mongodb.server.status["{$MONGODB.CONNSTRING}","{$MONGODB.USER}","{$MONGODB.PASSWORD}"]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  return JSON.stringify(JSON.parse(value).wiredTiger
                    ? [{'{#SINGLETON}': ''}] : []);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
      tags:
        - tag: class
          value: database
        - tag: target
          value: mongodb-node
      macros:
        - macro: '{$MONGODB.CONNS.PCT.USED.MAX.WARN}'
          value: '80'
          description: 'Maximum percentage of used connections'
        - macro: '{$MONGODB.CONNSTRING}'
          value: 'tcp://localhost:27017'
          description: 'Connection string in the URI format (password is not used). This param overwrites a value configured in the "Server" option of the configuration file (if it''s set), otherwise, the plugin''s default value is used: "tcp://localhost:27017"'
        - macro: '{$MONGODB.CURSOR.OPEN.MAX.WARN}'
          value: '10000'
          description: 'Maximum number of open cursors'
        - macro: '{$MONGODB.CURSOR.TIMEOUT.MAX.WARN}'
          value: '1'
          description: 'Maximum number of cursors timing out per second'
        - macro: '{$MONGODB.LLD.FILTER.COLLECTION.MATCHES}'
          value: '.*'
          description: 'Filter of discoverable collections'
        - macro: '{$MONGODB.LLD.FILTER.COLLECTION.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered collections'
        - macro: '{$MONGODB.LLD.FILTER.DB.MATCHES}'
          value: '.*'
          description: 'Filter of discoverable databases'
        - macro: '{$MONGODB.LLD.FILTER.DB.NOT_MATCHES}'
          value: (admin|config|local)
          description: 'Filter to exclude discovered databases'
        - macro: '{$MONGODB.PASSWORD}'
          description: 'MongoDB user password'
        - macro: '{$MONGODB.REPL.LAG.MAX.WARN}'
          value: 10s
          description: 'Maximum replication lag in seconds'
        - macro: '{$MONGODB.USER}'
          description: 'MongoDB username'
        - macro: '{$MONGODB.WIRED_TIGER.TICKETS.AVAILABLE.MIN.WARN}'
          value: '5'
          description: 'Minimum number of available WiredTiger read or write tickets remaining'
      dashboards:
        - uuid: 31fcc4b685ed401ca1d3164ee283d91c
          name: 'Node overview'
          pages:
            - name: General
              widgets:
                - type: graph
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Active clients'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Activity'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graph
                  'y': '10'
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Connections'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graph
                  'y': '15'
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Cursors'
                    - type: STRING
                      name: reference
                      value: AAAAD
                - type: graph
                  'y': '20'
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Documents'
                    - type: STRING
                      name: reference
                      value: AAAAE
                - type: graph
                  'y': '25'
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Memory usage'
                    - type: STRING
                      name: reference
                      value: AAAAF
                - type: graph
                  'y': '30'
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Network'
                    - type: STRING
                      name: reference
                      value: AAAAG
                - type: graph
                  'y': '35'
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Operations'
                    - type: STRING
                      name: reference
                      value: AAAAH
                - type: graph
                  'y': '40'
                  width: '72'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Queued operations'
                    - type: STRING
                      name: reference
                      value: AAAAI
            - name: Collections
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB {#DBNAME}.{#COLLECTION}: Locks'
                    - type: STRING
                      name: reference
                      value: AAAAJ
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB {#DBNAME}.{#COLLECTION}: Locks time'
                    - type: STRING
                      name: reference
                      value: AAAAK
                - type: graphprototype
                  'y': '10'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations'
                    - type: STRING
                      name: reference
                      value: AAAAL
                - type: graphprototype
                  'y': '15'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB {#DBNAME}.{#COLLECTION}: Operations time'
                    - type: STRING
                      name: reference
                      value: AAAAM
            - name: Databases
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB {#DBNAME}: Collections stats'
                    - type: STRING
                      name: reference
                      value: AAAAN
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB {#DBNAME}: Disk usage'
                    - type: STRING
                      name: reference
                      value: AAAAO
            - name: Replication
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'MongoDB node by Zabbix agent 2'
                        name: 'MongoDB: Replication lag time [{#RS_NAME}]'
                    - type: STRING
                      name: reference
                      value: AAAAP
      valuemaps:
        - uuid: 9f921e1503e74204b8f128966f9562bc
          name: 'MongoDB flag'
          mappings:
            - value: '0'
              newvalue: 'False'
            - value: '1'
              newvalue: 'True'
        - uuid: a99141555eff42ff8d367f10d9a7c569
          name: 'ReplicaSet node state'
          mappings:
            - value: '0'
              newvalue: STARTUP
            - value: '1'
              newvalue: PRIMARY
            - value: '2'
              newvalue: SECONDARY
            - value: '3'
              newvalue: RECOVERING
            - value: '5'
              newvalue: STARTUP2
            - value: '6'
              newvalue: UNKNOWN
            - value: '7'
              newvalue: ARBITER
            - value: '8'
              newvalue: DOWN
            - value: '9'
              newvalue: ROLLBACK
            - value: '10'
              newvalue: REMOVED
        - uuid: b37ba44823e34a13a119f86f3d58a65a
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
  triggers:
    - uuid: 58142b2a76114e69af259ea1b5c19bbc
      expression: 'min(/MongoDB node by Zabbix agent 2/mongodb.connections.current,5m)/(last(/MongoDB node by Zabbix agent 2/mongodb.connections.available)+last(/MongoDB node by Zabbix agent 2/mongodb.connections.current))*100>{$MONGODB.CONNS.PCT.USED.MAX.WARN}'
      name: 'Total number of open connections is too high'
      event_name: 'Total number of open connections is too high (over {$MONGODB.CONNS.PCT.USED.MAX.WARN%} in 5m)'
      priority: WARNING
      description: |
        Too few available connections.
        If MongoDB runs low on connections, in may not be able to handle incoming requests in a timely manner.
      tags:
        - tag: scope
          value: capacity
  graphs:
    - uuid: b018e24581464b0282df09fb9d6fc129
      name: 'MongoDB: Active clients'
      graph_items:
        - drawtype: BOLD_LINE
          color: 199C0D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.active_clients.total
        - sortorder: '1'
          color: F63100
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.active_clients.readers
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.active_clients.writers
    - uuid: 815c7f2a6dd941df9bc10bc9153e0e97
      name: 'MongoDB: Activity'
      graph_items:
        - color: 199C0D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.connections.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.network.numRequests.rate
    - uuid: d7787063a8614cb4afdf41811a8ade59
      name: 'MongoDB: Connections'
      graph_items:
        - color: 199C0D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.connections.available
        - sortorder: '1'
          color: F63100
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.connections.active
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.connections.current
    - uuid: 230bda1ddd4a45b6a2f11dbea252276e
      name: 'MongoDB: Cursors'
      graph_items:
        - color: 199C0D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.cursor.open.total
        - sortorder: '1'
          color: F63100
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.cursor.open.pinned
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.metrics.cursor.open.no_timeout
    - uuid: 509211f5f33d4c57a49c5416b2f33937
      name: 'MongoDB: Documents'
      graph_items:
        - color: 199C0D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongod.document.deleted.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongod.document.inserted.rate
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongod.document.returned.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongod.document.updated.rate
    - uuid: f47175a50c6f488b993d3b04ecb28af4
      name: 'MongoDB: Memory usage'
      graph_items:
        - color: 199C0D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.mem.mapped
        - sortorder: '1'
          color: F63100
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.mem.resident
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.mem.virtual
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.mem.mapped_with_journal
    - uuid: f1311a6b0d5f4564898d6679a45c438d
      name: 'MongoDB: Network'
      graph_items:
        - color: 199C0D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.network.bytes_out.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.network.bytes_in.rate
    - uuid: 27c36a56bdca436d8a0fe43c9ee8233b
      name: 'MongoDB: Operations'
      graph_items:
        - color: 199C0D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.opcounters.query.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.opcounters.insert.rate
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.opcounters.getmore.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.opcounters.update.rate
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.opcounters.delete.rate
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.opcounters.command.rate
    - uuid: e228af86d0a34bd4b494cb6b8cda2ad8
      name: 'MongoDB: Queued operations'
      graph_items:
        - drawtype: BOLD_LINE
          color: 199C0D
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.current_queue.total
        - sortorder: '1'
          drawtype: BOLD_LINE
          color: F63100
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.current_queue.readers
        - sortorder: '2'
          drawtype: BOLD_LINE
          color: 00611C
          item:
            host: 'MongoDB node by Zabbix agent 2'
            key: mongodb.current_queue.writers
