# 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. category: db app: sqlserver name: zh-CN: SqlServer数据库 en-US: SqlServer DB params: - field: host name: zh-CN: 主机Host en-US: Host type: host required: true - field: port name: zh-CN: 端口 en-US: Port type: number range: '[0,65535]' required: true defaultValue: 1433 - field: timeout name: zh-CN: 查询超时时间(ms) en-US: Query Timeout(ms) type: number required: false hide: true defaultValue: 6000 - field: database name: zh-CN: 数据库名称 en-US: Database Name type: text required: false - 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: url name: zh-CN: URL en-US: URL type: text required: false hide: true metrics: - name: basic # 指标组调度优先级(0-127)越小优先级越高,优先级低的指标组会等优先级高的指标组采集完成后才会被调度,相同优先级的指标组会并行调度采集 # 优先级为0的指标组为可用性指标组,即它会被首先调度,采集成功才会继续调度其它指标组,采集失败则中断调度 priority: 0 # 指标组中的具体监控指标 fields: # 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位 - field: machine_name type: 1 instance: true - field: server_name type: 1 - field: version type: 1 - field: edition type: 1 - field: start_time type: 1 protocol: jdbc jdbc: # 主机host: ipv4 ipv6 域名 host: ^_^host^_^ # 端口 port: ^_^port^_^ platform: sqlserver username: ^_^username^_^ password: ^_^password^_^ database: ^_^database^_^ timeout: ^_^timeout^_^ # SQL查询方式: oneRow, multiRow, columns queryType: oneRow # sql sql: SELECT SERVERPROPERTY('MachineName') AS machine_name, SERVERPROPERTY('ServerName') AS server_name, SERVERPROPERTY('ProductVersion') AS version, SERVERPROPERTY('Edition') AS edition, sqlserver_start_time AS start_time FROM sys.dm_os_sys_info; url: ^_^url^_^ - name: performance_counters priority: 1 fields: # 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位 - field: database_pages type: 0 - field: target_pages type: 0 - field: page_life_expectancy type: 0 - field: buffer_cache_hit_ratio type: 0 - field: checkpoint_pages_sec type: 0 - field: page_reads_sec type: 0 - field: page_writes_sec type: 0 # (非必须)监控指标别名,与上面的指标名映射。用于采集接口数据字段不直接是最终指标名称,需要此别名做映射转换 aliasFields: - Database pages - Target pages - Page life expectancy - Buffer cache hit ratio - Checkpoint pages/sec - Page reads/sec - Page writes/sec # (非必须)指标计算表达式,与上面的别名一起作用,计算出最终需要的指标值 # eg: cores=core1+core2, usage=usage, waitTime=allTime-runningTime calculates: - database_pages=Database pages - target_pages=Target pages - page_life_expectancy=Page life expectancy - buffer_cache_hit_ratio=Buffer cache hit ratio - checkpoint_pages_sec=Checkpoint pages/sec - page_reads_sec=Page reads/sec - page_writes_sec=Page writes/sec protocol: jdbc jdbc: # 主机host: ipv4 ipv6 域名 host: ^_^host^_^ # 端口 port: ^_^port^_^ platform: sqlserver username: ^_^username^_^ password: ^_^password^_^ database: ^_^database^_^ timeout: ^_^timeout^_^ # SQL查询方式: oneRow, multiRow, columns queryType: columns # sql sql: select counter_name, cntr_value from sys.dm_os_performance_counters where object_name = 'SQLServer:Buffer Manager'; url: ^_^url^_^ - name: connection priority: 1 fields: # 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位 - field: user_connection type: 0 unit: 连接数 protocol: jdbc jdbc: # 主机host: ipv4 ipv6 域名 host: ^_^host^_^ # 端口 port: ^_^port^_^ platform: sqlserver username: ^_^username^_^ password: ^_^password^_^ database: ^_^database^_^ timeout: ^_^timeout^_^ # SQL查询方式: oneRow, multiRow, columns queryType: oneRow # sql sql: SELECT cntr_value as user_connection FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:General Statistics' AND counter_name = 'User Connections'; url: ^_^url^_^