firehol/netdata

View on GitHub
src/go/plugin/go.d/modules/mongodb/metadata.yaml

Summary

Maintainability
Test Coverage
plugin_name: go.d.plugin
modules:
  - meta:
      id: collector-go.d.plugin-mongodb
      plugin_name: go.d.plugin
      module_name: mongodb
      monitored_instance:
        name: MongoDB
        link: https://www.mongodb.com/
        icon_filename: mongodb.svg
        categories:
          - data-collection.database-servers
      keywords:
        - mongodb
        - databases
      related_resources:
        integrations:
          list: []
      info_provided_to_referring_integrations:
        description: ""
      most_popular: false
    overview:
      data_collection:
        metrics_description: |
          This collector monitors MongoDB servers.
          
          Executed queries:
          
          - [serverStatus](https://docs.mongodb.com/manual/reference/command/serverStatus/)
          - [dbStats](https://docs.mongodb.com/manual/reference/command/dbStats/)
          - [replSetGetStatus](https://www.mongodb.com/docs/manual/reference/command/replSetGetStatus/)
        method_description: ""
      supported_platforms:
        include: []
        exclude: []
      multi_instance: true
      additional_permissions:
        description: ""
      default_behavior:
        auto_detection:
          description: ""
        limits:
          description: ""
        performance_impact:
          description: ""
    setup:
      prerequisites:
        list:
          - title: Create a read-only user
            description: |
              Create a read-only user for Netdata in the admin database.
              
              - Authenticate as the admin user:
              
                ```bash
                use admin
                db.auth("admin", "<MONGODB_ADMIN_PASSWORD>")
                ```
              
              - Create a user:
              
                ```bash
                db.createUser({
                  "user":"netdata",
                  "pwd": "<UNIQUE_PASSWORD>",
                  "roles" : [
                    {role: 'read', db: 'admin' },
                    {role: 'clusterMonitor', db: 'admin'},
                    {role: 'read', db: 'local' }
                  ]
                })
                ```
      configuration:
        file:
          name: go.d/mongodb.conf
        options:
          description: |
            The following options can be defined globally: update_every, autodetection_retry.
          folding:
            title: Config options
            enabled: true
          list:
            - name: update_every
              description: Data collection frequency.
              default_value: 5
              required: false
            - name: autodetection_retry
              description: Recheck interval in seconds. Zero means no recheck will be scheduled.
              default_value: 0
              required: false
            - name: uri
              description: MongoDB connection string. See [URI syntax](https://www.mongodb.com/docs/manual/reference/connection-string/).
              default_value: mongodb://localhost:27017
              required: true
            - name: timeout
              description: Query timeout in seconds.
              default_value: 1
              required: false
            - name: databases
              description: Databases selector. Determines which database metrics will be collected.
              default_value: ""
              required: false
              details: |
                Metrics of databases matching the selector will be collected.

                - Logic: (pattern1 OR pattern2) AND !(pattern3 or pattern4)
                - Pattern syntax: [matcher](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/pkg/matcher#supported-format).
                - Syntax:

                  ```yaml
                  per_user_stats:
                    includes:
                      - pattern1
                      - pattern2
                    excludes:
                      - pattern3
                      - pattern4
                  ```
        examples:
          folding:
            title: Config
            enabled: true
          list:
            - name: TCP socket
              description: An example configuration.
              config: |
                jobs:
                  - name: local
                    uri: mongodb://netdata:password@localhost:27017
            - name: With databases metrics
              description: An example configuration.
              config: |
                jobs:
                  - name: local
                    uri: mongodb://netdata:password@localhost:27017
                    databases:
                      includes:
                        - "* *"
            - name: Multi-instance
              description: |
                > **Note**: When you define multiple jobs, their names must be unique.
                
                Local and remote instances.
              config: |
                jobs:
                  - name: local
                    uri: mongodb://netdata:password@localhost:27017
                
                  - name: remote
                    uri: mongodb://netdata:password@203.0.113.0:27017
    troubleshooting:
      problems:
        list: []
    alerts: []
    metrics:
      folding:
        title: Metrics
        enabled: false
      availability: []
      description: |
        - WireTiger metrics are available only if [WiredTiger](https://docs.mongodb.com/v6.0/core/wiredtiger/) is used as the
          storage engine.
        - Sharding metrics are available on shards only
          for [mongos](https://www.mongodb.com/docs/manual/reference/program/mongos/).
      scopes:
        - name: global
          description: These metrics refer to the entire monitored application.
          labels: []
          metrics:
            - name: mongodb.operations_rate
              description: Operations rate
              unit: operations/s
              chart_type: line
              dimensions:
                - name: reads
                - name: writes
                - name: commands
            - name: mongodb.operations_latency_time
              description: Operations Latency
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: reads
                - name: writes
                - name: commands
            - name: mongodb.operations_by_type_rate
              description: Operations by type
              unit: operations/s
              chart_type: line
              dimensions:
                - name: insert
                - name: query
                - name: update
                - name: delete
                - name: getmore
                - name: command
            - name: mongodb.document_operations_rate
              description: Document operations
              unit: operations/s
              chart_type: stacked
              dimensions:
                - name: inserted
                - name: deleted
                - name: returned
                - name: updated
            - name: mongodb.scanned_indexes_rate
              description: Scanned indexes
              unit: indexes/s
              chart_type: line
              dimensions:
                - name: scanned
            - name: mongodb.scanned_documents_rate
              description: Scanned documents
              unit: documents/s
              chart_type: line
              dimensions:
                - name: scanned
            - name: mongodb.active_clients_count
              description: Connected clients
              unit: clients
              chart_type: line
              dimensions:
                - name: readers
                - name: writers
            - name: mongodb.queued_operations_count
              description: Queued operations because of a lock
              unit: operations
              chart_type: line
              dimensions:
                - name: reads
                - name: writes
            - name: mongodb.cursors_open_count
              description: Open cursors
              unit: cursors
              chart_type: line
              dimensions:
                - name: open
            - name: mongodb.cursors_open_no_timeout_count
              description: Open cursors with disabled timeout
              unit: cursors
              chart_type: line
              dimensions:
                - name: open_no_timeout
            - name: mongodb.cursors_opened_rate
              description: Opened cursors rate
              unit: cursors/s
              chart_type: line
              dimensions:
                - name: opened
            - name: mongodb.cursors_timed_out_rate
              description: Timed-out cursors
              unit: cursors/s
              chart_type: line
              dimensions:
                - name: timed_out
            - name: mongodb.cursors_by_lifespan_count
              description: Cursors lifespan
              unit: cursors
              chart_type: stacked
              dimensions:
                - name: le_1s
                - name: 1s_5s
                - name: 5s_15s
                - name: 15s_30s
                - name: 30s_1m
                - name: 1m_10m
                - name: ge_10m
            - name: mongodb.transactions_count
              description: Current transactions
              unit: transactions
              chart_type: line
              dimensions:
                - name: active
                - name: inactive
                - name: open
                - name: prepared
            - name: mongodb.transactions_rate
              description: Transactions rate
              unit: transactions/s
              chart_type: line
              dimensions:
                - name: started
                - name: aborted
                - name: committed
                - name: prepared
            - name: mongodb.connections_usage
              description: Connections usage
              unit: connections
              chart_type: stacked
              dimensions:
                - name: available
                - name: used
            - name: mongodb.connections_by_state_count
              description: Connections By State
              unit: connections
              chart_type: line
              dimensions:
                - name: active
                - name: threaded
                - name: exhaust_is_master
                - name: exhaust_hello
                - name: awaiting_topology_changes
            - name: mongodb.connections_rate
              description: Connections Rate
              unit: connections/s
              chart_type: line
              dimensions:
                - name: created
            - name: mongodb.asserts_rate
              description: Raised assertions
              unit: asserts/s
              chart_type: stacked
              dimensions:
                - name: regular
                - name: warning
                - name: msg
                - name: user
                - name: tripwire
                - name: rollovers
            - name: mongodb.network_traffic_rate
              description: Network traffic
              unit: bytes/s
              chart_type: stacked
              dimensions:
                - name: in
                - name: out
            - name: mongodb.network_requests_rate
              description: Network Requests
              unit: requests/s
              chart_type: line
              dimensions:
                - name: requests
            - name: mongodb.network_slow_dns_resolutions_rate
              description: Slow DNS resolution operations
              unit: resolutions/s
              chart_type: line
              dimensions:
                - name: slow_dns
            - name: mongodb.network_slow_ssl_handshakes_rate
              description: Slow SSL handshake operations
              unit: handshakes/s
              chart_type: line
              dimensions:
                - name: slow_ssl
            - name: mongodb.memory_resident_size
              description: Used resident memory
              unit: bytes
              chart_type: line
              dimensions:
                - name: used
            - name: mongodb.memory_virtual_size
              description: Used virtual memory
              unit: bytes
              chart_type: line
              dimensions:
                - name: used
            - name: mongodb.memory_page_faults_rate
              description: Memory page faults
              unit: pgfaults/s
              chart_type: line
              dimensions:
                - name: pgfaults
            - name: mongodb.memory_tcmalloc_stats
              description: TCMalloc statistics
              unit: bytes
              chart_type: line
              dimensions:
                - name: allocated
                - name: central_cache_freelist
                - name: transfer_cache_freelist
                - name: thread_cache_freelists
                - name: pageheap_freelist
                - name: pageheap_unmapped
            - name: mongodb.wiredtiger_concurrent_read_transactions_usage
              description: Wired Tiger concurrent read transactions usage
              unit: transactions
              chart_type: stacked
              dimensions:
                - name: available
                - name: used
            - name: mongodb.wiredtiger_concurrent_write_transactions_usage
              description: Wired Tiger concurrent write transactions usage
              unit: transactions
              chart_type: stacked
              dimensions:
                - name: available
                - name: used
            - name: mongodb.wiredtiger_cache_usage
              description: Wired Tiger cache usage
              unit: bytes
              chart_type: line
              dimensions:
                - name: used
            - name: mongodb.wiredtiger_cache_dirty_space_size
              description: Wired Tiger cache dirty space size
              unit: bytes
              chart_type: line
              dimensions:
                - name: dirty
            - name: mongodb.wiredtiger_cache_io_rate
              description: Wired Tiger IO activity
              unit: pages/s
              chart_type: line
              dimensions:
                - name: read
                - name: written
            - name: mongodb.wiredtiger_cache_evictions_rate
              description: Wired Tiger cache evictions
              unit: pages/s
              chart_type: stacked
              dimensions:
                - name: unmodified
                - name: modified
            - name: mongodb.sharding_nodes_count
              description: Sharding Nodes
              unit: nodes
              chart_type: stacked
              dimensions:
                - name: shard_aware
                - name: shard_unaware
            - name: mongodb.sharding_sharded_databases_count
              description: Sharded databases
              unit: databases
              chart_type: stacked
              dimensions:
                - name: partitioned
                - name: unpartitioned
            - name: mongodb.sharding_sharded_collections_count
              description: Sharded collections
              unit: collections
              chart_type: stacked
              dimensions:
                - name: partitioned
                - name: unpartitioned
        - name: lock type
          description: These metrics refer to the lock type.
          labels:
            - name: lock_type
              description: lock type (e.g. global, database, collection, mutex)
          metrics:
            - name: mongodb.lock_acquisitions_rate
              description: Lock acquisitions
              unit: acquisitions/s
              chart_type: line
              dimensions:
                - name: shared
                - name: exclusive
                - name: intent_shared
                - name: intent_exclusive
        - name: commit type
          description: These metrics refer to the commit type.
          labels:
            - name: commit_type
              description: commit type (e.g. noShards, singleShard, singleWriteShard)
          metrics:
            - name: mongodb.transactions_commits_rate
              description: Transactions commits
              unit: commits/s
              chart_type: line
              dimensions:
                - name: success
                - name: fail
            - name: mongodb.transactions_commits_duration_time
              description: Transactions successful commits duration
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: commits
        - name: database
          description: These metrics refer to the database.
          labels:
            - name: database
              description: database name
          metrics:
            - name: mongodb.database_collection_count
              description: Database collections
              unit: collections
              chart_type: line
              dimensions:
                - name: collections
            - name: mongodb.database_indexes_count
              description: Database indexes
              unit: indexes
              chart_type: line
              dimensions:
                - name: indexes
            - name: mongodb.database_views_count
              description: Database views
              unit: views
              chart_type: line
              dimensions:
                - name: views
            - name: mongodb.database_documents_count
              description: Database documents
              unit: documents
              chart_type: line
              dimensions:
                - name: documents
            - name: mongodb.database_data_size
              description: Database data size
              unit: bytes
              chart_type: line
              dimensions:
                - name: data_size
            - name: mongodb.database_storage_size
              description: Database storage size
              unit: bytes
              chart_type: line
              dimensions:
                - name: storage_size
            - name: mongodb.database_index_size
              description: Database index size
              unit: bytes
              chart_type: line
              dimensions:
                - name: index_size
        - name: replica set member
          description: These metrics refer to the replica set member.
          labels:
            - name: repl_set_member
              description: replica set member name
          metrics:
            - name: mongodb.repl_set_member_state
              description: Replica Set member state
              unit: state
              chart_type: line
              dimensions:
                - name: primary
                - name: startup
                - name: secondary
                - name: recovering
                - name: startup2
                - name: unknown
                - name: arbiter
                - name: down
                - name: rollback
                - name: removed
            - name: mongodb.repl_set_member_health_status
              description: Replica Set member health status
              unit: status
              chart_type: line
              dimensions:
                - name: up
                - name: down
            - name: mongodb.repl_set_member_replication_lag_time
              description: Replica Set member replication lag
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: replication_lag
            - name: mongodb.repl_set_member_heartbeat_latency_time
              description: Replica Set member heartbeat latency
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: heartbeat_latency
            - name: mongodb.repl_set_member_ping_rtt_time
              description: Replica Set member ping RTT
              unit: milliseconds
              chart_type: line
              dimensions:
                - name: ping_rtt
            - name: mongodb.repl_set_member_uptime
              description: Replica Set member uptime
              unit: seconds
              chart_type: line
              dimensions:
                - name: uptime
        - name: shard
          description: These metrics refer to the shard.
          labels:
            - name: shard_id
              description: shard id
          metrics:
            - name: mongodb.sharding_shard_chunks_count
              description: Shard chunks
              unit: chunks
              chart_type: line
              dimensions:
                - name: chunks