1.SQLServer服务器监控实现方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了1.SQLServer服务器监控实现方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3351字,纯文字阅读大概需要5分钟。
内容图文
![1.SQLServer服务器监控实现方法](/upload/InfoBanner/zyjiaocheng/545/eca0ef51ec004d2b9f39e6fa4221c3cf.jpg)
对于服务器的监控,和对数据库的监控,很少有合二为一的工具,如果有的话,一般是付费软件,或者自行开发的工具。 所以如果不想购买软件,也不想花精力去开发的话,可以结合一些免费/开源的工具、自定义脚本,来完成对数据库服务器的监控。 一. 第三方工具 1
对于服务器的监控,和对数据库的监控,很少有合二为一的工具,如果有的话,一般是付费软件,或者自行开发的工具。
所以如果不想购买软件,也不想花精力去开发的话,可以结合一些免费/开源的工具、自定义脚本,来完成对数据库服务器的监控。
一. 第三方工具
1. 开源工具
比如:CACTI,Nagios,Zabbix等等,除了主机外,对于网络上的其他设备,比如路由器等也可以一并监控。
以CACTI为例(CACTI可以在windows下安装),服务器监控的图示:
(1) 设备状态
(2) SQL Server服务状态
(3) 服务器事件日志
(4) 磁盘空间
(5) 内存使用
(6) CPU使用
(7) 网卡使用
(8) 交换机流量
从图片中可以发现,服务器状态监控没问题,不过对于服务器性能的监控,仅仅是在磁盘空间/内存/CPU/网络带宽的使用量上面,没有细致的性能计数器信息。
这些开源的工具,香港服务器租用,大多基于SNMP协议(Simple Network Management Protocol,简单网络管理协议),该协议用以监测连接到网络上的设备状态,对于设备自身的详细性能参数,通常需要安装额外的插件来完成(这也是unix的思想 ),比如上面用到的syslog插件,用于接收windows事件日志;比如有人集成了snmptools插件,用于接受windows性能计数器信息。
2. 付费工具
不同工具,侧重点也不一样:
(1) 有的偏向主机监控,比如:MOM,SCOM,whatsup gold;
(2) 有的偏向SQL Server数据库监控,比如:Idera SQL Diagnostic Manager,SQL Sentry,Red-gate SQL Monitor;
(3) 有的是工具套件,不同功能选择其中某一款,比如:Quest Spotlight,BMC Patrol(已改名为BMC Performance Manager)
这些Windows平台的工具,大多对性能计数器支持的很好,通常是基于WMI实现的。
WMI :Windows Management Instrumentation,服务器空间,Windows 管理规范,WMI允许通过一个公共的接口访问多种操作系统构成单元,用户可以使用工具软件和脚本程序,调用 WMI 管理本地和远程计算机。
以sql monitor为例,服务器监控的图示:
(1) 有限的windows监控选项
(2) 对性能计数器支持的很直接
二. 性能监视器可以用来做监控吗?
关于性能监控,很多人可能想过在SQL语句里,把性能计数器的值一并读出来,不过从权限/安全的角度来说,SQL Server(应用程序)不应该也不能反向关心windows(操作系统)没有分配给它的资源,所以在sys.dm_os_performance_counters里能查到的也只是SQL Server自己的性能计数器值。不过话说回来,有些DMV/SQL语句确实是可以查看操作系统资源使用情况的,仅限部分,应该是SQL Server自身做了实现,毕竟是自家的东西。
如果想要自己做基于性能计数器的监视,不会使用开发工具,只会写点SQL语句,怎么办?
把性能计数器的日志记录保存出来,导入到数据库里用SQL语句分析,做告警。
1. 如何取性能计数器的值?
(1) 直接查看性能计数器的界面,仅限于查看,无法保存日志记录;
(2) 事先定义一个文件来保存性能计数器,打开性能监视器,里面有这个功能,windows 2003叫counter logs,windows 2008叫data collector,如图:
如果要自动化的话,可以用命令行工具typeperf,功能和图形界面是一样的。
2. 如何分析性能计数器日志?
(1) 直接查看日志,可以借助perfmon/excel/PAL等工具来分析,但这些工具只能帮忙生成图表,不能做自动化,不能做告警;
(2) 导入数据库做分析,可使用 Log Parser/SSIS等任何能自动把性能计数器日志导入数据库的工具,然后利用SQL 语句来做分析,既然是监控,那就得实时点,导入的频率得高些。
第三方工具通常都有页面告警,短信,邮件等等告警方式,如果自己做开发,告警这块也需要自己来实现,通常数据库这端都是用邮件来告警。
设置告警的阀值需要有系统的性能基线,如果不是很确定的话,就设的高一点,至少性能日志已经被记录了,追溯也不是问题。
内容总结
以上是互联网集市为您收集整理的1.SQLServer服务器监控实现方法全部内容,希望文章能够帮你解决1.SQLServer服务器监控实现方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。