运维社区-Linux 系统运维之监控.pdf
《运维社区-Linux 系统运维之监控.pdf》由会员分享,可在线阅读,更多相关《运维社区-Linux 系统运维之监控.pdf(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、UNIXHOT 打造中国最专业的运维门户网站http:/1Linux 系统运维之监控LinuxLinuxLinuxLinux 系统运维之监控系统运维之监控系统运维之监控系统运维之监控UNIXHOTUNIXHOTUNIXHOTUNIXHOT 运维运维运维运维社区社区社区社区http:/UNIXHOT 打造中国最专业的运维门户网站http:/2Linux 系统运维之监控版权信息:版权信息:Copyright(c)2010 Zhao Shundong.Permission is granted to copy,distribute and/or modify thisdocument under t
2、he terms of the GNU Free Documentation License,Version 1.2 or any later versionpublished by the Free Software Foundation;with no Invariant Sections,no Front-Cover Texts,and noBack-Cover Texts.Acopy of the license is included in the section entitled GNU Free DocumentationLicense.使用说明:使用说明:1.为保证本文的完整性
3、和可用性,本文遵循 GFDL 协议。2.可以在 http:/ 找到本文的最新版本。3.本文仅供参考使用,不承担任何因文档错误而造成的任何损失。4.有任何问题可以在 UnixHot 运维社区讨论交流。5.由于时间仓促,有些章节讲解的不够深入,敬请谅解,下个版本加强。6.有相关问题或业务合作。请邮件至 。修订历史记录修订历史记录修订历史记录修订历史记录日期版本说明2009-08-01V1.0创建本文原始版本以网页形式发布2010-07-26V1.1添加 第八章 自动化批量部署2010-07-27V1.2添加 GFDL 协议和使用说明2010-07-29V2.0进行详细的修改工作2010-07-30
4、V2.1更名为 Linux 系统运维之监控,添加 Cacti 监控2010-08-01V2.2添加 Smokeping 监控2010-11-25V2.3添加网站流量统计分析2010-12-06V3.0正式网络发布UNIXHOT 打造中国最专业的运维门户网站http:/3Linux 系统运维之监控内容简介内容简介内容简介内容简介UNIXHOT 运维社区致力于为想成为系统运维工程师、系统集成工程师、系统架构师、MySQLDBA 和 Oracle DBA 的互联网朋友们创造一个开源的、共享的、完整的、创新的、一站式的学习和交流平台。运维社区现在有运维导航、运维论坛、运维知道、运维 Wiki 四个频道
5、。欢迎大家加入,让我们成为一个圈子。本文是系统运维工程师的实用手册,主要讲解基于 Linux 平台运维工作中需要掌握的监控知识。本文全部基于实际应用,部署步骤详细,可以直接复制用于生产环境的安装配置,帮助刚刚接触 Linux运维的朋友们,迅速搭建企业级的监控平台。本文共分为五个部分:第一部分简单的介绍了监控的重要性,需要监控的对象,和部署监控平台前的规划,让大家可以在前期有个条理化的思路,并对整体架构有良好的认识。第二部分通过目前最流行的监控软件 Nagios 来介绍如何实现 7x24 小时的监控、预警、报警系统,并通过介绍如何编写 Nagios 插件,来让工程师们可以自定义监控对象和方法,拓
6、展并满足工作需求。最后也讲解了我们实际中会用到的权限的设置和 Nagios 的优化工作。第三部分讲的是目前图形化监控比较优秀的 Cacti 软件,它通过 SNMP 协议获取监控数据,通过 rrdtool 工具完美的展现系统或者网络设备的流量和性能趋势图,便于工程师及时发现问题,并通过数据的叠加,分析系统负载的周期性,为调优工作获得最直接也最准确的性能报表。第四部分讲的 Smokeping 这个网络监控软件,它也是 rrdtool 作者的佳作,天生的分布式设计,可以更准确的展现目前的网络状况,出现网络故障时可以快速的分析出现故障的节点,是企业网络监控中一款很优秀的开源软件。第五部分简单介绍了网站
7、流量的统计分析,由于目前 Google 和百度都提供了很优秀的流量分析统计工具,朋友们可以自己去了开源的日志分析工具 AWStat 的配置与使用。UNIXHOT 打造中国最专业的运维门户网站http:/4Linux 系统运维之监控目录(目录(目录(目录(ContentsContentsContentsContents)第一部分 监控概述第 1 章 监控的重要性第 2 章 监控的对象第 3 章 监控的方法第二部分 Nagios 监控平台第 1 章 Nagios 简介第 2 章 Nagios 服务器端部署第 3 章 Nagios 配置文件简介第 4 章 Nagios 外部监控第 5 章 Nagio
8、s 监控远程 Linux 服务器第 6 章 Nagios 监控远程 Windows 服务器第 7 章 Nagios 插件开发第 8 章 Nagios 自动化批量部署第 9 章 Nagios 用户和权限管理第 10 章 Nagios 使用杂谈第三部分:Cacti 监控平台第 1 章 Cacti 简介第 2 章 SNMP 协议第 3 章 rrdtool 工具第 4 章 Cacti 安装第 5 章 Cacti 配置管理第 6 章 Spine(Cactid)第四部分:Smokeping 网络监控平台第 1 章 Smokeping 简介UNIXHOT 打造中国最专业的运维门户网站http:/5Linux
9、 系统运维之监控第 2 章 Smokeping 安装配置第 3 章 Smokeping 分布式第五部分:网站流量统计分析第 1 章 名词解释第 2 章 GoogleAnalytics第 3 章 百度统计UNIXHOT 打造中国最专业的运维门户网站http:/6Linux 系统运维之监控前言(前言(前言(前言(PrefacePrefacePrefacePreface)我无意去写一本书,我称本文为实用手册或者工作文档,只是按出刊物的编排格式来整理而已,主要是方便大家参考查阅,喜欢的朋友也可以直接打印出来,参考本文你可以快速的学习和掌握Linux 系统运维中的监控工作,在运维社区有很多朋友参考本文构
10、建自己企业的监控平台,也欢迎大家来运维社区一起讨论学习。UNIXHOT 运维社区的同志们在钻研技术方面都有很好的积极性,并没有在工作若干年后成为一名“文档哥”。对于技术细节喜欢刨根问底,这让很多新加入的朋友们都感觉到浓厚的学习气氛,我也时刻被这种气氛感染着,从而去不停的探索,不停的测试、不停的学习。在这里希望更多的朋友们加入,请用 Google 搜索“运维社区”,我们始终站在搜索结果的第一位!在您开始阅读本文之前,我愿意把自己的学习方法和大家分享一下,仅供参考:我学习知识的方式是一般分为四步,总结起来就是从哪里开始,从哪里结束,起点同样是终点。我称自己的学习方法为“圆形学习法”:第一步、先了解
11、该程序或者方案的工作原理和一些基础知识。第二步、搜索一篇文档自己来做测试,遇到问题要自己解决,自己确实解决不了时请教他人。第三步、超越基本,做一些高级应用的测试,如分布式部署、性能优化等。第四步、回到起点,深入研究其工作原理,并归纳总结,分享自己的成果。UNIXHOT 打造中国最专业的运维门户网站http:/7Linux 系统运维之监控第一部分第一部分第一部分第一部分 监控概述监控概述监控概述监控概述在这一部分会简单介绍下监控的重要性,为什么要做监控,需要监控哪些对象,以及如何规划一个监控平台等。要知道我们需要做什么,怎么做,做完后的结果是什么。对于监控后报警信息的处理不在本文探讨范围呢,相关
12、问题请在运维论坛或者运维知道讨论。第第 1 1 章章 监控的重要性监控的重要性单单从“监控”两个字来谈,范围之广可以涵盖我们生活的方方面面,我们生活和工作中处处可见视频监控的摄像机;机房中的电压电流监控、干湿计、温度计;值班室的网络监控,网站流量监控等等都是监控的范畴。但本文仅仅讲解和计算机网络有关的监控,主要针对我们生产应用的服务器性能和应用服务的监控,以及服务器或者网络设备上的网络流量监控。监控的重要性?大家想想以下情况的发生:从应用层来角度来看:你公司业务的 WEB 服务器拒绝连接了?客户无法给你们的邮箱发邮件了?论坛的大量用户无法登陆?DNS 无法正常解析?机房流量超过购买的带宽限制了
13、?数据库服务器宕机了,用户无法写入数据了?我想上面的任何一个问题出现的话,对我们的业务造成的影响都是巨大的。从服务器、应用和网络设备的角度来看:目前服务器的 CPU 负载多少,一天中那个时刻负载高,一个月中哪一天服务器 CPU 的负载比较高?磁盘的使用率是多少?网卡的进口和出口流量?内存的使用率是多少,是否考虑加大 SWAP 分区的大小?目前的磁盘 I/O,是否考虑更换转速更快的磁盘?Apache 的连接数目前是多少,最大是多少?Squid 的命中率是多少?MySQL Replication 是否同步?即使同步了,主从库数据是否一致?Oracle 的 Redo log 切换是否频繁,是否需要增
14、加日志组?DBWR进程默认一个够用吗?数据库表空间的使用率?RMAN备份是否成功?路由器或者交换机有什么错误日志.?如果继续写下去,我想可以出一本书,专门来写监控对象,因为太多太多了,不同的公司,不同的应用,就会增加更多需要监控的对象。通过上面列举的比较常见的问题,我想,监控的重要性就不言而喻了。我们如何及时的获得这些应用的运行状态信息,在出现问题时能够及时知道,这就是监控要做的事情。UNIXHOT 打造中国最专业的运维门户网站http:/8Linux 系统运维之监控第第 2 2 章章 监控的对象监控的对象监控的对象?似乎没有确切的答案,在上一节讲解监控重要性所列举的内容,就是需要监控的对象。
15、简单的说,监控的对象就是一切你想知道的状态的一个集合。通常情况下,我们可以将监控对象这么来分:1.服务器监控,主要监控服务器如:CPU 负载、内存使用率、磁盘使用率、登陆用户数、进程状态、网卡状态等。2.应用程序监控,主要监控该应用程序的服务状态,吞吐量和响应时间,因为不同应用需要监控的对象不同,这里不一一列举。3.数据库监控,只所以把数据库监控单独列出来,足以说明它的重要性,一般监控数据库状态,数据库表或者表空间的使用情况,是否有死锁,错误日志,性能信息等等。4.网络监控,主要监控当前的网络状况,网络流量等。以上四条应该算是最基本的,也是保证网站正常运行必须要知道的几点内容,这样才能实现我们
16、常说的“运筹帷幄之中,决胜千里之外”。第第 3 3 章章 监控的方法监控的方法前两个章节,介绍了监控的重要性,并了解了我们需要监控哪些内容,当然在开始之前,我们要知道有哪些方法可以进行监控工作。目前监控工具多如牛毛,针对不同的行业,针对不同的应用,针对不同的服务都有很多监控工具。有客户端的监控和浏览器的监控,本书只讲解基于 Linux 平台的开源监控工具。Linux 平台下的监控方法基本上可以分为两种,第一种是通过外部检测命令或者代理程序获得被监控主机的相关状态,代表工具:Nagios、Munin、Ganglia。第二种是通过 SNMP 协议来实现对服务器和网络设备的监控工作,代表工具:Cac
17、ti。其中 Nagios 可以使用 check_snmp 命令,或者自己写脚本来使用 SNMP 协议获取数据。细心的朋友可以发现,从开始我们就用“平台”两个字,之所以把一个软件称之为“平台”足以说明其强大性,通过软件本身功能再加上自己的扩展,我们可以通过该软件监控我们日常工作中所有需要监控的对象。UNIXHOT 打造中国最专业的运维门户网站http:/9Linux 系统运维之监控第二部分:第二部分:第二部分:第二部分:NagiosNagiosNagiosNagios 监控监控监控监控第第 1 1 章章 NagiosNagios 简介简介1.11.11.11.1 什么是什么是 NagiosNag
18、iosNagiosNagiosNagios 是一款用于系统和网络监控的应用程序。它可以在你设定的条件下对主机和服务进行监控,并根据管理员所设置的报警阀值和报警方式在监控对象报警时和恢复时通知管理员。Nagios 强大之处在于灵活的插件式监控和报警功能,如果你想获得系统性能方面的图形信息可以使用 Cacti,也可以把 Nagios 和 Cacti 有效的集成起来,这要看你实际的应用需求了。1.21.21.21.2 NagiosNagiosNagiosNagios 的特性的特性1 监控网络服务(SMTP、POP3、HTTP、NNTP、PING 等)。2 监控主机资源(处理器负载、磁盘利用率等)。3
19、 简单地插件设计使得用户可以方便地扩展自己服务的检测方法。4 并行服务检查机制。5 具备定义网络分层结构的能力,用parent主机定义来表达网络主机间的关系,这种关系被用来发现和明晰主机宕机或不可达状态。6 当服务或主机问题产生与解决时将告警发送给联系人(通过 Email、短信、用户定义方式)。7 具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位。8 自动的日志回滚。9 可以支持并实现对主机的冗余监控。10 可选的 WEB 界面用于查看当前的网络状态、通知和故障历史、日志文件等。UNIXHOT 打造中国最专业的运维门户网站http:/10Linux 系统运维之监控1.31.
20、31.31.3 NagiosNagiosNagiosNagios 体系结构体系结构1.41.41.41.4 NagiosNagiosNagiosNagios 相关资源相关资源1 Nagios 官方网站:http:/www.nagios.org/2 Nagios 官方文档:http:/ Nagios 中文文档:http:/nagios- Nagios 实用文档:http:/ 其它开源监控软件其它开源监控软件1 http:/ http:/ http:/ http:/ http:/munin-monitoring.org/UNIXHOT 打造中国最专业的运维门户网站http:/11Linux 系统运
21、维之监控第第 2 2 章章 NagiosNagios 服务器端部署服务器端部署2.12.12.12.1 下载所需的软件包下载所需的软件包以下是 Nagios 部署需要的软件包,可以使用 wget 直接下载,建议将源码包存放在/usr/local/src 目录下。rootNagios-Server#cd/usr/local/srcrootNagios-Server src#wget(Nagios 主程序)http:/ src#wget(Nagios 插件)http:/ src#wget(代理检测程序用来执行远程的 Nagios 插件)http:/ src#wget(部署冗余和分布式 Nagios
22、 的软件包)http:/ src#wget(导入当前和历史的监控数据到 MySQL 数据库)http:/ 安装环境准备安装环境准备注意:建议配置 Yum 仓库来安装缺失的软件包。可以参 http:/ Yum 仓库,也可使用网络 yum 仓库。rootNagios-Server src#yum install-y httpd php gcc glibc glibc-common gd gd-develrootNagios-Server src#useradd nagios#创建一个用户组名为 nagcmd 用于从 Web 接口执行外部命令。rootNagios-Server src#groupa
23、dd nagcmd#添加 nagios 和 apache 用户到该组rootNagios-Server src#usermod-a-G nagcmd nagiosrootNagios-Server src#usermod-a-G nagcmd apacherootNagios-Server src#passwd nagiosUNIXHOT 打造中国最专业的运维门户网站http:/12Linux 系统运维之监控2.32.32.32.3 安装安装 NagiosNagiosNagiosNagios 主程序主程序和普通源码包的安装类似,更多编译选项可以通过./configure-help 查看。在安装
24、过程中,每执行完一个操作,Nagios 会在末尾告诉你,下一步将要执行什么操作。rootNagios-Server src#tar zxvf nagios-3.2.1.tar.gzrootNagios-Server src#cd nagios-3.2.1rootNagios-Server nagios-3.2.1#./configure-with-command-group=nagcmd-with-nagios-user=nagios-with-nagios-group=nagiosrootNagios-Server nagios-3.2.1#make allrootNagios-Server
25、 nagios-3.2.1#make install#生成 init 启动脚本rootNagios-Server nagios-3.2.1#make install-init#设置相应的目录权限rootNagios-Server nagios-3.2.1#make install-commandmode#生成模板配置文件rootNagios-Server nagios-3.2.1#make install-config#生成 apache 配置文件rootNagios-Server nagios-3.2.1#make install-webconf#为 apache 创建一个登陆用户,注意用户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运维社区-Linux 系统运维之监控 社区 Linux 系统 监控
限制150内