# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
# The monitoring type category:service-application service monitoring db-database monitoring custom-custom monitoring os-operating system monitoring
# 监控类型所属类别:service-应用服务监控 db-数据库监控 custom-自定义监控 os-操作系统监控 cn-云原生cloud native network-网络监控
category: db
# The monitoring type eg: linux windows tomcat mysql aws...
# 监控类型 eg: linux windows tomcat mysql aws..
app: mongodb
# The monitoring i18n name
# 监控类型国际化名称
name:
zh-CN: MongoDB数据库
en-US: MongoDB
# The description and help of this monitoring type
# 监控类型的帮助描述信息
help:
zh-CN: Hertzbeat 对 MongoDB 数据库的通用指标进行测量监控。
您可以点击 “新建 MongoDB 数据库” 并进行配置,或者选择“更多操作”,导入已有配置。
en-US: Hertzbeat monitors MongoDB through general performance metric. You could click the "New MongoDB" button and proceed with the configuration or import an existing setup through the "More Actions" menu.
zh-TW: Hertzbeat對MongoDB資料庫的通用名額進行量測監控。
您可以點擊“新建MongoDB資料庫”並進行配寘,或者選擇“更多操作”,導入已有配寘。
helpLink:
zh-CN: https://hertzbeat.com/zh-cn/docs/help/mongodb
en-US: https://hertzbeat.com/docs/help/mongodb
# 监控所需输入参数定义(根据定义渲染页面UI)
# Input params define for monitoring(render web ui by the definition)
params:
# field-param field key
# field-变量字段标识符
- field: host
# name-param field display i18n name
# name-参数字段显示名称
name:
zh-CN: 主机Host
en-US: Host
# type-param field type(most mapping the html input type)
# type-字段类型,样式(大部分映射input标签type属性)
type: host
# required-true or false
# required-是否是必输项 true-必填 false-可选
required: true
# field-param field key
# field-变量字段标识符
- field: port
# name-param field display i18n name
# name-参数字段显示名称
name:
zh-CN: 端口
en-US: Port
# type-param field type(most mapping the html input type)
# type-字段类型,样式(大部分映射input标签type属性)
type: number
# when type is number, range is required
# 当type为number时,用range表示范围
range: '[0,65535]'
# required-true or false
# required-是否是必输项 true-必填 false-可选
required: true
# default value
# 默认值
defaultValue: 27017
- field: username
name:
zh-CN: 用户名
en-US: Username
type: text
limit: 20
required: false
- field: password
name:
zh-CN: 密码
en-US: Password
type: password
required: false
- field: database
name:
zh-CN: 数据库
en-US: database
type: text
# when type is text, use limit to limit string length
# 当type为text时,用limit表示字符串限制大小
limit: 20
required: true
defaultValue: 'test'
- field: authenticationDatabase
name:
zh-CN: 认证数据库
en-US: authenticationDatabase
type: text
limit: 20
required: true
defaultValue: 'admin'
# can get status information and other config params of MongoDB by running Diagnostic Commands
# 可以通过执行 Diagnostic Commands 获取 mongodb 的状态信息以及一些性能、配置参数
# https://www.mongodb.com/docs/manual/reference/command/nav-diagnostic/
# name must be Diagnostic Commands 's name,support . way to get subdocument, should be careful about if the user that need connection have the right to run command
# name 必须为 Diagnostic Commands 名称,支持 . 方式获取子文档,需注意连接的用户是否具有相应命令的权限
# collect metrics config list
# 采集指标组配置列表
metrics:
# https://www.mongodb.com/docs/manual/reference/command/buildInfo/#usage
# metrics - buildInfo
# 监控指标组 - buildInfo
- name: buildInfo
# metrics group scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
# priority 0's metrics group is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
# 指标组调度优先级(0->127)->(优先级高->低) 优先级低的指标组会等优先级高的指标组采集完成后才会被调度, 相同优先级的指标组会并行调度采集
# 优先级为0的指标组为可用性指标组,即它会被首先调度,采集成功才会继续调度其它指标组,采集失败则中断调度
priority: 1
# collect metrics content
# 具体监控指标列表
fields:
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), instance-if is metrics group unique identifier
# field-指标名称, type-指标类型(0-number数字,1-string字符串), unit-指标单位('%','ms','MB'), instance-是否是指标集合唯一标识符字段
- field: version
type: 1
- field: gitVersion
type: 1
- field: sysInfo
type: 1
- field: loaderFlags
type: 1
- field: compilerFlags
type: 1
- field: allocator
type: 1
- field: javascriptEngine
type: 1
# the protocol used for monitoring, eg: sql, ssh, http, telnet, wmi, snmp, sdk
protocol: mongodb
# the config content when protocol is mongodb
mongodb:
#mongodb host:
host: ^_^host^_^
#mongodb port
port: ^_^port^_^
#user's username
username: ^_^username^_^
#user's password
password: ^_^password^_^
#mongodb's database
database: ^_^database^_^
#Specifies the database in which the User is created
#指定创建User的数据库
authenticationDatabase: ^_^authenticationDatabase^_^
#The buildInfo command is an administrative command which returns a build summary for the current mongod.
command: buildInfo
# https://www.mongodb.com/docs/manual/reference/command/serverStatus/#metrics
- name: server_document
priority: 0
fields:
- field: deleted
type: 0
- field: inserted
type: 0
- field: returned
type: 0
- field: updated
type: 0
protocol: mongodb
mongodb:
host: ^_^host^_^
port: ^_^port^_^
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
authenticationDatabase: ^_^authenticationDatabase^_^
command: serverStatus.metrics.document
- name: server_operation
priority: 1
fields:
- field: scanAndOrder
type: 0
- field: writeConflicts
type: 0
protocol: mongodb
mongodb:
host: ^_^host^_^
port: ^_^port^_^
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
authenticationDatabase: ^_^authenticationDatabase^_^
command: serverStatus.metrics.operation
- name: server_ttl
priority: 1
fields:
- field: deletedDocuments
type: 0
- field: passes
type: 0
protocol: mongodb
mongodb:
host: ^_^host^_^
port: ^_^port^_^
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
authenticationDatabase: ^_^authenticationDatabase^_^
command: serverStatus.metrics.ttl
# https://www.mongodb.com/docs/manual/reference/command/hostInfo/
- name: systemInfo
priority: 1
fields:
- field: currentTime
type: 1
- field: hostname
type: 1
- field: cpuAddrSize
type: 0
- field: memSizeMB
type: 0
unit: MB
- field: memLimitMB
type: 0
unit: MB
- field: numCores
type: 0
- field: cpuArch
type: 1
- field: numaEnabled
type: 1
protocol: mongodb
mongodb:
host: ^_^host^_^
port: ^_^port^_^
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
authenticationDatabase: ^_^authenticationDatabase^_^
command: hostInfo.system
- name: os
priority: 1
fields:
- field: type
type: 1
- field: name
type: 1
- field: version
type: 1
protocol: mongodb
mongodb:
host: ^_^host^_^
port: ^_^port^_^
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
authenticationDatabase: ^_^authenticationDatabase^_^
command: hostInfo.os
- name: extra
priority: 1
fields:
- field: versionString
type: 1
- field: libcVersion
type: 1
- field: kernelVersion
type: 1
- field: cpuFrequencyMHz
type: 1
- field: cpuFeatures
type: 1
- field: pageSize
type: 0
- field: numPages
type: 0
- field: maxOpenFiles
type: 0
protocol: mongodb
mongodb:
host: ^_^host^_^
port: ^_^port^_^
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
authenticationDatabase: ^_^authenticationDatabase^_^
command: hostInfo.extra.extra