Zabbix 监控 AlwaysOn

简介:

基于生产环境 SQL Server 业务数据库的特性,需要针对 SQL Server 生产环境几组 AlwaysOn AG 的 Primary Replica 部署如下监控:
    1. Windows集群节点不正常
    2. 任一业务数据库没加入可用性组
    3. AG中任一数据库状态异常
    4. 任一数据库延时超过阈值


1. primary replica 检查Windows集群状态不正常的节点数(>0 告警)

1
2
3
SELECT  COUNT  (*)  as  NotHealtyCount
FROM  sys.dm_hadr_cluster_members
WHERE  member_state_desc != 'UP' ;




2. primary replica 检查副本可用数据库个数 与 需要加入AG的业务数据库数 对比 (<后者告警)

1
2
SELECT  COUNT (*)  as  DBCount 
FROM  sys.availability_databases_cluster;




3. primary replica 检查任一数据库状态异常(>0 告警)

1
2
3
SELECT  COUNT  (*)  as  NotHealtyCount
FROM  [master].[sys].[dm_hadr_database_replica_states]
WHERE  [synchronization_health_desc] != N 'HEALTHY'




4. primary replica 检查任一数据库延时(>900 告警)

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
; WITH 
AG_Stats  AS 
(
SELECT  AR.replica_server_name,
    HARS.role_desc, 
    Db_name(DRS.database_id) [DBName], 
    DRS.last_commit_time
FROM    sys.dm_hadr_database_replica_states DRS 
INNER  JOIN  sys.availability_replicas AR  ON  DRS.replica_id = AR.replica_id 
INNER  JOIN  sys.dm_hadr_availability_replica_states HARS  ON  AR.group_id = HARS.group_id 
AND  AR.replica_id = HARS.replica_id 
),
Pri_CommitTime  AS 
(
SELECTreplica_server_name
, DBName
, last_commit_time
FROMAG_Stats
WHERErole_desc =  'PRIMARY'
),
Sec_CommitTime  AS 
(
SELECTreplica_server_name
, DBName
, last_commit_time
FROMAG_Stats
WHERErole_desc =  'SECONDARY'
)
SELECT  ISNULL (DATEDIFF(ss,s.last_commit_time,p.last_commit_time),0)  AS  [Sync_Lag_Secs]
FROM  Pri_CommitTime p
LEFT  JOIN  Sec_CommitTime s  ON  [s].[DBName] = [p].[DBName]




Zabbix参数配置示例:

UserParameter=MSSQL.SyncHealth,"C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\SQLCMD.EXE" -d Master -U zabbix -P zabbix -h -1 -W -Q "SELECT COUNT (*) as NotHealtyCount

FROM [master].[sys].[dm_hadr_database_replica_states]

WHERE [synchronization_health_desc] != N''HEALTHY''

"


建议,将1、3、4项配置为模板,2项需要单独配置4个参数。





















本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/2050161 ,如需转载请自行联系原作者






相关文章
|
1月前
|
监控 应用服务中间件 nginx
基于Zabbix的SLA监控体系构建与实践
本文由Zabbix社区专家褚凤彬分享,详解SLA在Zabbix中的应用。通过Trigger与Service联动,构建Web应用的多层级监控体系,并介绍SLA计算规则、维护期处理及升级注意事项,助力企业精准掌控服务可用性。
312 36
|
7月前
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
341 8
|
9月前
|
存储 缓存 监控
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
10月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
157 23
|
10月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
239 25
|
10月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
261 22
|
11月前
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
208 9
|
11月前
|
监控 数据可视化 Java
zabbix全面的监控能力
zabbix全面的监控能力
414 7
|
12月前
|
监控 Java Shell
监控堆外第三方监控工具Zabbix
监控堆外第三方监控工具Zabbix
293 5

热门文章

最新文章

推荐镜像

更多