监控入门
监控入门
如何发现服务器运行不佳的状况?等到用户告诉你系统有问题时,这些问题可能已经存在有一段时间了。如果问题长时间得不到解决,将会使系统诊断和修复过程复杂化。
本章将使用各种系统提供的基本工具,在操作系统层面对MySQL 监控进行测试,我们从这里开始介绍是因为系统服务或应用程序总是依赖于操作系统和其本身硬件的性能。如果操作系统性能很差,其上安装的数据库系统或应用程序的性能也好不到哪里去。
我们首先考察为什么要使用监控系统,再看看在主流操作系统上运行的基本监控任务,并讨论监控系统如何使预防性维护工作变得更轻松。一旦你掌握了这些技巧,就可以更加了解你的数据库系统。下一章将关注监控MySQL 服务器的更多详情,并介绍一些解决常见性能问题的使用指南。
监控方法
当我们想到“监控”时,通常会联想到一些用于监测问题的早期预警系统。然而,监控(作为动词)这个词是指“在不影响操作或运行环境的前提下,用仪器观察、记录或检测操作或环境”(http://www.dictionary.com)。这些早期的预警系统采用自动采样和预报系统相结合的方式进行预警。
Linux 和UNIX操作系统非常复杂,且有许多影响主要和次要系统活动的所有行为的参数。优化这些操作系统的性能可以说是一门艺术而非科技。与一些桌面操作系统不同,Linux和UNIX(及其变种)既不隐藏系统优化工具,也不限制你对系统的优化。而一些桌面操作系统,如Mac OS X 和Windows,将系统的许多基础机制隐藏在用户非常友好的可视化界面后面。
例如,Mac OS X 操作系统是一个非常优雅的且运行流畅的操作系统,在正常情况下它只需要一点点或根本不需要用户的注意。然而,在以下章节你将看到,Mac OS X 操作系统提供许多先进的监控工具,这些工具可以帮你优化Mac OS X 操作系统。
Windows 操作系统有很多版本,目前最新的版本是Windows 7。幸运的是,这些版本中的大部分都包含相同的监控工具,用户可以使用这些监控工具优化系统以满足特定需求。虽然Windows 不如Mac OS X 操作系统那样讨好,但是它提供了许多用户可访问的优化选项。
主要有三类系统监控:系统性能、应用程序性能和安全性。你可能因为一些特殊原因而开始进行系统监控,但是一般情况下任何监控任务都可以归为这三类中的一类。
每类都使用不同的工具集(有一些重叠)且监控对象也不相同。例如,监控系统性能可以确保系统能够在最高效率下运行,监控应用程序的性能是为了确保单个应用程序能够以最高效率执行,而监控安全性却是为了确保系统被保护在最安全的保护模式下。
监控MySQL 服务器类似于监控应用程序。这是因为MySQL 就像大多数的数据库系统一样,需要测量许多与操作系统关系不大或无关的变量和状态指标。但是,数据库系统非常容易受到主机操作系统的影响,所以在进行数据库系统的问题诊断前,确保主机操作系统运行良好是很重要的。
因为我们的目的是监控MySQL
系统以确保数据库系统能够以最高的效率执行,所以以下各节将讨论操作系统的性能监控。至于安全性监控,将在其他章节详细介绍。
监控的好处
监控方法有两种:主动监控和被动监控。你可能希望通过监控来确保一切都没有改变(没有性能下降,不存在安全漏洞),或者查出是哪些地方发生了改变或哪些地方出现了问题。主动监控是指通过监控系统确保一切都没有改变,而被动监控是指通过监控系统确定系统出错的地方。遗憾的是,大多数监控是被动监控,且被动监控是有些专业人士了解的唯一形式。只有极少数的IT 专业人士有时间或资源进行主动监控。
不过,花时间主动监控系统可以减少大量的被动监控工作。例如,如果你的用户抱怨系统性能差(被动监控首要关注的问题),你没有办法知道该系统退化了多少,除非有以前的监控结果可以进行对比。记录这种监控结果被称为“形成系统的基准”。也就是说,你在低、正常和高负荷的环境下已经监控系统性能一段时间了。如果你持续频繁地进行采样,就可以确定在各种负荷情况下系统的典型性能。因此,当用户报告性能问题时,你可以对系统进行采样并将上报的结果与基准进行比较。如果你的历史数据足够详细,通常一眼就能发现系统的哪一部分已经发生改变了。
本文节选自《高可用MySQL:构建健壮的数据中心 》一书
图书详细信息:
http://www.cnblogs.com/broadview/archive/2011/10/09/2203863.html