forked from GoogleCloudPlatform/ops-agent
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmetadata.yaml
More file actions
263 lines (261 loc) · 10.1 KB
/
metadata.yaml
File metadata and controls
263 lines (261 loc) · 10.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
public_url: "https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/third-party/mongodb"
app_url: "https://www.mongodb.com/"
short_name: MongoDB
long_name: MongoDB
logo_path: /images/launcher/logos/mongodb.png # supplied by google technical writer
description: |-
The MongoDB integration primarily collects database metrics, such as the number
of operations and objects, as well as resource usage. The integration also
collects logs and parses them into a JSON payload. The result includes fields
for context, component, level, and message.
Note: Metrics for MongoDB are collected on a per-collection level.
A _collection_ is a group of documents and is analogous to a table in
a relational database. A MongoDB integration with a high number of
collections will produce a high volume of metrics, which can have cost
implications.
minimum_supported_agent_version:
metrics: 2.19.0
logging: 2.10.0
supported_operating_systems: linux
platforms_to_skip:
# mongodb is not currently supported on various distros.
- ubuntu-os-cloud:ubuntu-2410-amd64 # Possible support in the future
- ubuntu-os-cloud:ubuntu-minimal-2410-amd64 # Possible support in the future
- ubuntu-os-cloud:ubuntu-2410-arm64 # Possible support in the future
- ubuntu-os-cloud:ubuntu-minimal-2410-arm64 # Possible support in the future
- ubuntu-os-cloud:ubuntu-2504-lts-amd64 # Possible support in the future
- ubuntu-os-cloud:ubuntu-2504-lts-arm64 # Possible support in the future
- debian-cloud:debian-12
- debian-cloud:debian-12-arm64
- suse-cloud:sles-15-arm64
supported_app_version: ["2.6", "3.x", "4.x", "5.0", "6.0"]
expected_metrics:
- type: workload.googleapis.com/mongodb.cache.operations
value_type: INT64
kind: CUMULATIVE
monitored_resources: [gce_instance]
labels:
- name: type
value_regex: .*
- type: workload.googleapis.com/mongodb.collection.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
labels:
- name: database
value_regex: .*
- type: workload.googleapis.com/mongodb.connection.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
labels:
- name: database
value_regex: .*
- name: type
value_regex: .*
- type: workload.googleapis.com/mongodb.data.size
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
labels:
- name: database
value_regex: .*
- type: workload.googleapis.com/mongodb.global_lock.time
value_type: INT64
kind: CUMULATIVE
monitored_resources: [gce_instance]
- type: workload.googleapis.com/mongodb.index.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
labels:
- name: database
value_regex: .*
- type: workload.googleapis.com/mongodb.index.size
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
labels:
- name: database
value_regex: .*
- type: workload.googleapis.com/mongodb.memory.usage
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
labels:
- name: database
value_regex: .*
- name: type
value_regex: .*
representative: true
- type: workload.googleapis.com/mongodb.object.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
labels:
- name: database
value_regex: .*
- type: workload.googleapis.com/mongodb.operation.count
value_type: INT64
kind: CUMULATIVE
monitored_resources: [gce_instance]
labels:
- name: operation
value_regex: .*
- type: workload.googleapis.com/mongodb.storage.size
value_type: INT64
kind: CUMULATIVE
monitored_resources: [gce_instance]
labels:
- name: database
value_regex: .*
- type: workload.googleapis.com/mongodb.database.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
- type: workload.googleapis.com/mongodb.index.access.count
value_type: INT64
monitored_resources: [gce_instance]
kind: GAUGE
labels:
- name: collection
value_regex: .*
- name: database
value_regex: .*
- type: workload.googleapis.com/mongodb.document.operation.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
labels:
- name: database
value_regex: .*
- name: operation
value_regex: .*
- type: workload.googleapis.com/mongodb.network.io.receive
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
- type: workload.googleapis.com/mongodb.network.io.transmit
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
- type: workload.googleapis.com/mongodb.network.request.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
- type: workload.googleapis.com/mongodb.operation.time
value_type: INT64
kind: CUMULATIVE
monitored_resources: [gce_instance]
labels:
- name: operation
value_regex: insert|query|update|delete|getmore|command
- type: workload.googleapis.com/mongodb.session.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
- type: workload.googleapis.com/mongodb.cursor.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
- type: workload.googleapis.com/mongodb.cursor.timeout.count
value_type: INT64
kind: GAUGE
monitored_resources: [gce_instance]
expected_logs:
- log_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
optional: true
- name: jsonPayload.id
type: number
description: Log ID
- name: jsonPayload.message
type: string
description: Log message
value_regex: .+
- name: jsonPayload.attributes
type: object (optional)
description: Object containing one or more key-value pairs for any additional attributes provided
optional: true
- name: jsonPayload.context
type: string
description: ''
optional: true
- name: jsonPayload.severity
type: string
description: Log entry level
optional: true
- name: severity
type: string
description: ''
configuration_options:
logs:
- type: mongodb
fields:
- name: type
default: null
description: This value must be `mongodb`.
- name: include_paths
default: '[/var/log/mongodb/mongod.log*]'
description: A list of filesystem paths to read by tailing each file. A wild card (`*`) can be used in the paths; for example, `/var/log/mongodb/*.log`.
- name: exclude_paths
default: null
description: A list of filesystem path patterns to exclude from the set matched by `include_paths`.
- name: record_log_file_path
default: false
description: If set to `true`, then the path to the specific file from which the log record was obtained appears in the output log entry as the value of the `agent.googleapis.com/log_file_path` label. When using a wildcard, only the path of the file from which the record was obtained is recorded.
- name: wildcard_refresh_interval
default: 60s
description: The interval at which wildcard file paths in `include_paths` are refreshed. Given as a [time duration](https://pkg.go.dev/time#ParseDuration), for example `30s` or `2m`. This property might be useful under high logging throughputs where log files are rotated faster than the default interval.
metrics:
- type: mongodb
fields:
- name: type
default: null
description: This value must be `mongodb`.
- name: endpoint
default: localhost:27017
description: The hostname, IP address, or UNIX domain socket. A port can be specified like `<hostname>:<port>`. If no port is specified the default 27017 will be used.
- name: collection_interval
default: 60s
description: A [time duration](https://pkg.go.dev/time#ParseDuration) value, such as `30s` or `5m`.
- name: username
default: null
description: Username for authentication with the MongoDB instance. Required if `password` is set.
- name: password
default: null
description: Password for authentication with the MongoDB instance. Required if `username` is set.
- name: insecure
default: true
description: Sets whether or not to use a secure TLS connection. If set to `false`, then TLS is enabled.
- name: insecure_skip_verify
default: false
description: Sets whether or not to skip verifying the certificate. If `insecure` is set to `true`, then the `insecure_skip_verify` value is not used.
- name: cert_file
default: null
description: Path to the TLS certificate to use for mTLS-required connections.
- name: key_file
default: null
description: Path to the TLS key to use for mTLS-required connections, for example, the key used in `--tlsCertificateKeyFile`.
- name: ca_file
default: null
description: Path to the CA certificate. As a client, this verifies the server certificate. If empty, the receiver uses the system root CA.