
因为要监控sqlserver数据库,我们打算用sql_exporter的使用监控,但是编写mssql_standard.collector.yml的文件时候添加新的遇到了
报错

###wangrui
- metric_name: mssql_RID
type: Counter
help: 'Number mssql_maps.'
values: [cntr_value]
query: |
SELECT cntr_value
FROM sys.dm_os_performance_counters WITH (NOLOCK)
WHERE counter_name = 'Average Wait Time (ms)' AND instance_name = 'RID'
- metric_name: mssql_Table_1
#type: Histogram
#type: Gauge
type: Summary
#type: Counter
help: 'mssql_Table_1'
values: [collation]
query: |
select serverproperty(N'Collation') as collation
- metric_name: mssql_os_page_file
type: gauge
help: 'OS page file, used and available.'
value_label: 'state'
values: [used, available]
query: |
SELECT TOP 10 SUBSTRING(qt.TEXT, (qs.statement_start_offset/2)+1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(qt.TEXT)
ELSE qs.statement_end_offset
END - qs.statement_start_offset)/2)+1),
qs.execution_count,
qs.total_logical_reads, qs.last_logical_reads,
qs.total_logical_writes, qs.last_logical_writes,
qs.total_worker_time,
qs.last_worker_time,
qs.total_elapsed_time/1000000 total_elapsed_time_in_S,
qs.last_elapsed_time/1000000 last_elapsed_time_in_S,
qs.last_execution_time,
qp.query_plan
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
ORDER BY qs.total_logical_reads DESC -- logical reads
-- ORDER BY qs.total_logical_writes DESC -- logical writes
-- ORDER BY qs.total_worker_time DESC -- CPU time


试试这个
- metric_name: mssql_deadlocks
type: counter
help: 'Number of lock requests that resulted in a deadlock.'
values: [cntr_value]
query: |
SELECT cntr_value
FROM sys.dm_os_performance_counters WITH (NOLOCK)
WHERE counter_name = 'Number of Deadlocks/sec' AND instance_name = '_Total'
- metric_name: mssql_id
type: gauge
help: 'mssql_id.'
values: [id]
query: |
SELECT id
FROM dba.dbo.Table_1 WITH (NOLOCK)
WHERE id = '1' AND name = 'zhao'
复制


好的已经解决。就是缩进问题,对于格式要求很大,


