platforms:
- type: GCE
  launch_stage: GA
  install_documentation_url: https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/third-party/mongodb
  agent_requirement:
    logs_minimum_supported_version:
      major: 2
      minor: 10
      patch: 0
    metrics_minimum_supported_version:
      major: 2
      minor: 19
      patch: 0
  detections:
  - characteristic_log:
      log_name_regex: mongodb
  - characteristic_metric:
      metric_type: workload.googleapis.com/mongodb.memory.usage
  default_logs:
  - name: mongodb
    fields:
    - name: jsonPayload.component
      type: string
      description: Categorization of the log message. A full list can be found in
        the [MongoDB documentation](https://docs.mongodb.com/manual/reference/log-messages/#std-label-log-message-components).
    - name: jsonPayload.ctx
      type: string
      description: The name of the thread issuing the log statement
    - name: jsonPayload.id
      type: number
      description: Log ID
    - name: jsonPayload.message
      type: string
      description: Log message
    - name: jsonPayload.attributes
      type: object (optional)
      description: Object containing one or more key-value pairs for any additional
        attributes provided
    - name: jsonPayload.context
      type: string
      description: ''
    - name: jsonPayload.severity
      type: string
      description: Log entry level
    - name: severity
      type: string
      description: ''
  default_metrics:
  - name: workload.googleapis.com/mongodb.cache.operations
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - type
  - name: workload.googleapis.com/mongodb.collection.count
    value_type: INT64
    kind: GAUGE
    labels:
    - database
  - name: workload.googleapis.com/mongodb.connection.count
    value_type: INT64
    kind: GAUGE
    labels:
    - database
    - type
  - name: workload.googleapis.com/mongodb.data.size
    value_type: INT64
    kind: GAUGE
    labels:
    - database
  - name: workload.googleapis.com/mongodb.global_lock.time
    value_type: INT64
    kind: CUMULATIVE
    labels: []
  - name: workload.googleapis.com/mongodb.index.count
    value_type: INT64
    kind: GAUGE
    labels:
    - database
  - name: workload.googleapis.com/mongodb.index.size
    value_type: INT64
    kind: GAUGE
    labels:
    - database
  - name: workload.googleapis.com/mongodb.memory.usage
    value_type: INT64
    kind: GAUGE
    labels:
    - database
    - type
  - name: workload.googleapis.com/mongodb.object.count
    value_type: INT64
    kind: GAUGE
    labels:
    - database
  - name: workload.googleapis.com/mongodb.operation.count
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - operation
  - name: workload.googleapis.com/mongodb.storage.size
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - database
  - name: workload.googleapis.com/mongodb.database.count
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/mongodb.index.access.count
    value_type: INT64
    kind: GAUGE
    labels:
    - collection
    - database
  - name: workload.googleapis.com/mongodb.document.operation.count
    value_type: INT64
    kind: GAUGE
    labels:
    - database
    - operation
  - name: workload.googleapis.com/mongodb.network.io.receive
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/mongodb.network.io.transmit
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/mongodb.network.request.count
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/mongodb.operation.time
    value_type: INT64
    kind: CUMULATIVE
    labels:
    - operation
  - name: workload.googleapis.com/mongodb.session.count
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/mongodb.cursor.count
    value_type: INT64
    kind: GAUGE
    labels: []
  - name: workload.googleapis.com/mongodb.cursor.timeout.count
    value_type: INT64
    kind: GAUGE
    labels: []
