0

0

1. SQL Server服务器监控实现方法

php中文网

php中文网

发布时间:2016-06-07 17:42:40

|

1468人浏览过

|

来源于php中文网

原创

对于服务器的监控,和对数据库的监控,很少有合二为一的工具,如果有的话,一般是付费软件,或者自行开发的工具。 所以如果不想购买软件,也不想花精力去开发的话,可以结合一些免费/开源的工具、自定义脚本,来完成对数据库服务器的监控。 一. 第三方工具 1

对于服务器的监控,和对数据库的监控,很少有合二为一的工具,如果有的话,一般是付费软件,或者自行开发的工具。
所以如果不想购买软件,也不想花精力去开发的话,可以结合一些免费/开源的工具、自定义脚本,来完成对数据库服务器的监控。

一. 第三方工具
1. 开源工具
比如:CACTI,Nagios,Zabbix等等,除了主机外,对于网络上的其他设备,比如路由器等也可以一并监控。
以CACTI为例(CACTI可以在windows下安装),服务器监控的图示:
(1) 设备状态

(2) SQL Server服务状态

(3) 服务器事件日志

(4) 磁盘空间

(5) 内存使用

(6) CPU使用

(7) 网卡使用

(8) 交换机流量

站长俱乐部购物系统
站长俱乐部购物系统

功能介绍:1、模块化的程序设计,使得前台页面设计与程序设计几乎完全分离。在前台页面采用过程调用方法。在修改页面设计时只需要在相应位置调用设计好的过程就可以了。另外,这些过程还提供了不同的调用参数,以实现不同的效果;2、阅读等级功能,可以加密产品,进行收费管理;3、可以完全可视化编辑文章内容,所见即所得;4、无组件上传文件,服务器无需安装任何上传组件,无需支持FSO,即可上传文件。可限制文件上传的类

下载

从图片中可以发现,服务器状态监控没问题,不过对于服务器性能的监控,仅仅是在磁盘空间/内存/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 语句来做分析,既然是监控,那就得实时点,导入的频率得高些。

第三方工具通常都有页面告警,短信,邮件等等告警方式,如果自己做开发,告警这块也需要自己来实现,通常数据库这端都是用邮件来告警。
设置告警的阀值需要有系统的性能基线,如果不是很确定的话,就设的高一点,至少性能日志已经被记录了,追溯也不是问题。

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

3

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

10

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

15

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

7

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

6

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.4万人学习

ASP教程
ASP教程

共36课时 | 21.9万人学习

李炎恢ASP基础视频教程
李炎恢ASP基础视频教程

共210课时 | 43.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号