首页>参考读物>计算机科学与技术>计算机网络

Nagios系统监控实践(原书第2版)
作者 : (美)David Josephsen 著
译者 : 康锦龙 译
丛书名 : 华章程序员书库
出版日期 : 2014-01-21
ISBN : 978-7-111-45361-1
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 247
开本 : 16
原书名 : Nagios: Building Enterprise-Grade Monitoring Infrastructures for Systems and Networks
原出版社: Pearson Education Asia
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

本书是介绍Nagios的权威指南。本书作者David Josephsen 是世界著名的监控专家,详细讲解了整个监控技术,演示了最佳做法,揭示了常见的错误其后果,以及如何避免。提供了所有配置和运行方式,并探讨如何编写自定义模块与基于Nagios事件代理API。

本书包含大量Nagios应用实例,包括对大型、复杂的网络的监控,可应用于虚拟化和云服务。还展示了如何用最新的第三方工具和插件提高效率。

本书主要内容包括:学习如何Nagios的运行机制,深度掌握如何配置和部署Nagios的最新版本。如何监控Windows和Unix系统、网络硬件、传感器和环境传感器来解决具体问题。对于大企业环境如何系统规模和优化Nagios。如何用新工具包括MK、OP5Merlin 和sFlow增强监控系统。通过Ganglia、Graphite和 RRDTool集成可视化。用Nagios XI使各个方面的系统监控简化和自动化。建立强大的自定义Nagios事件代理(NEB)模块。

本书代码丰富易读,适合各种平台。无论你的系统监控多么复杂,这本书都将帮助你实现想要的结果。

图书特色

无论你是一个对网络、系统、IT监控知之甚少的新手,还是经验丰富的Nagios管理员,本书都会对你有所帮助。
—— Nagios创始人兼总裁,Ethan Galstad

本书详细地介绍了如何用最新商业版及开源版Nagios构建高效的企业级监控平台。作者是全球著名的系统监控专家,在监控领域有丰富的经验,他对Nagios分析透彻、讲解清晰,并将Nagios作为一套规范语言和基础,用于构建强大而高效的监控系统,同时该系统能够灵活扩展以适用于各种规模的组织。
作者在整本书中向读者展示了最佳实践,揭示了一些常见的错误及其后果,并详细描述了如何避免这些错误。他带领读者学习了必要的技术知识,以便于成功配置并运行Nagios,包括如何使用C语言编写的Nagios事件代理API编写自定义模块,如何通过最新的第三方工具和插件提高效率等。无论你面临的监控系统挑战多么复杂,本书都会帮助你选对方向,走对路。

本书主要内容:
深入学习Nagios的工作机制
在配置和部署最新版本Nagios的过程中,掌握高效的技术手段
监控Windows系统、UNIX系统、网络设备以及环境传感器,解决实际工作中的问题
为了适应超大型企业环境,优化Nagios并对其进行系统化的扩展
使用诸如Check-MK、Op5 Merlin以及SFlow这样的新工具来强化监控系统
通过Ganglia、Graphite以及RRDTool集成可视化功能
使用Nagios XI简化并优化系统监控的各个方面
逐步学习构建强大的自定义NEB(Nagios事件代理)模块

作者简介
David Josephsen 资深系统运维专家,拥有超过10年的行业从业经验,擅长在复杂的、大规模的网络环境下维护UNIX系统、路由器、防火墙、负载均衡等设备,对Nagios有深入的研究。现担任DBG公司的系统工程总监,负责维护一群分布在各地的服务器农场。除本书之外,他还参与撰写了《Ganglia系统监控》一书。目前他是《;login》杂志的“iVoyer”专栏作家,发表了大量关于安全、系统监控、反垃圾邮件等技术的文章。

译者简介
康锦龙 资深运维研发工程师,目前主要负责公司监控、日志、CMDB等运维平台的建设及部分开发工作,并涉及多种运维工作平台的管理与维护。曾负责内部监控、备份、报表等平台架构设计、搭建和后续的管理维护工作,以及相关的管理规范的制定。曾参与ITSM体系建设工作,包括制定事件、问题、变更及应急管理等相关体系流程。热爱Linux及开源软件,乐于技术分享,在InfoQ上翻译过多篇技术文档。

由拥有10余年工作经验的资深系统运维工程师撰写,Nagios创始人兼总裁亲自作序推荐,权威性毋庸置疑
深度阐述系统监控的最佳实践和运作原理,全面而系统地讲解Nagios系统监控的各项功能、技术和方法,为构建高效的企业级监控平台提供有效指导

图书前言

这是一本关于如何应对不可信设备的书籍,所有设备实际上都不太值得人类信任,但是它们和我们的幸福却息息相关。我用不着讲述一系列恐怖故事来向读者说明流行的计算机系统在故障发生时怎样。如果你拿起了这本书,说明你已经意识到了这些问题:层层叠叠的库相互依赖着,在抽象、脚本小子(script kiddy)、病毒、DDos攻击、硬件故障、终端用户错误、后门、飓风等抽象概念中隐藏着无数的问题。无论根本原因是恶意入侵还是意外发生,你的系统将会出故障,当它们出故障时,能将你从宕机中挽救回来的只有两个办法:冗余和监控系统。
要先选对方向
  从概念上来说,监控系统是很简单的:一个外部系统或一个系统群,主要工作就是监视其他系统是否出现问题。比如,监控系统会定期连接某台Web服务器以确保它能正常响应,如果出现问题则给管理员发送通知。虽然这听起来简单,但是现在的监控系统已经成为昂贵、复杂的软件系统,其中有很多系统的Agent(代理)大小已经超过了500MB,拥有专用的脚本语言,现货标价超过6万美元。
  如果一个监控系统能够正确地实施部署,它会成为你最好的伙伴。它能在小故障演化成危机前通知管理员,并帮助架构师弄清对应于互操作性(interoperability)异常问题的模式。一个优秀的监控系统能够帮助负责安全的同事将所关注的事件关联起来,为网络运维中心员工展示带宽瓶颈所在,并从业务依赖的关键系统中提取数据,以便为管理层提供他们急需的高层可视化信息。一个优秀的监控系统能帮助用户支撑起服务级别协议(Service Level Agreement,SLA),甚至能在夜晚帮助用户按照预定步骤解决问题,而不用打扰任何人。优秀的监控系统能够帮助用户节约经费,在复杂环境下保持系统的稳定,并使所有人都能安心。
  如果实施得不好,监控系统就会带来严重的破坏。拙劣的监控系统会在整晚如同狼那样嚎叫,不会让任何人睡好觉,从而导致没有人再会关注它。它会在用户安全方面的基础设施上安装后门,从其他项目中榨取时间和资源,并在健康检测的过程中,占用大量的网络资源拥堵用户的网络连接。拙劣的监控系统如同吸血鬼一般。
  遗憾的是,第一次就选对方向,对于监控系统的部署来说,没有想象得那么容易。以我多年的经验,拙劣的监控系统不太可能存活到问题被修复的那一天。拙劣的监控系统成为所有人甚至是被监控系统的重担。在这种情境中,很容易明白为什么大企业和政府会雇佣专职的监控专家,并购买标价为6位数的软件,因为他们清楚,第一次就“选对方向”是非常重要的。
  小型或中等规模的公司以及大学的环境会比较复杂,有可能比大企业还要复杂,但是他们明显不会那么奢侈,也不会拥有价格昂贵的工具和专业知识。面对他们分布在各地的校园和分支机构,部署一套精心构建的监控平台将会是一个挑战。但是,在过去的13年里,在花费了相当多的时间负责监控系统的构建和维护工作后,我想告诉各位读者,不仅“选对方向”是可能的,而且还可以是免费的,只不过需要几分辛勤、一些开源工具以及少许的想象力。
为什么选择Nagios
  在我来看,Nagios这款系统和网络监控工具,是目前可用的、开源的或其他方面中最棒的一款工具。它模块化的设计、直观的监控方式,使其很容易使用,而且高度可扩展。进一步来说,Nagios的开源许可证使其免费可用,并很容易扩展以满足用户自身的特殊需求。Nagios擅长与其他开源工具互操作,而非帮你完成所有的工作,这也是其灵活性所在。如果读者想通过本书寻找一个整体化的软件解决方案,能够通过勾选一系列复选框来解决所有的问题,那我可以很明确地说,本书不适合你。但在放下本书之前,希望你能继续阅读一到两个段落,看我是否能够说服你—那种整体化解决方案不是你真正寻找的。
  而现实中,绝大多数商业化产品都搞错了方向,因为它们解决问题的方式是假设所有人都希望采用相同的解决方案。在某种程度上来说,这是事实。拥有大量计算机和网络设备的用户都希望如果某些地方故障时能够收到通知。所以如果读者希望销售监控软件,很明显的方式就是创建一款软件,它要了解如何监控现有计算机软件以及网络设备。但对于那些销售监控软件的人来说,他们认为监控系统是个一站式解决方案,在这场较量中,谁能监控的东西最多,谁将最终胜出。
  我使用过的所有大型商业软件似乎都遵从着这一逻辑。与(Google的)Borg不同,这些商业软件有条不紊地寻找着新的计算机设备并将必要的监控代码加入解决方案中。更糟糕的情况是,某些公司通过直接收购那些已经知道如何监控大量计算机设备的公司,并将这些公司的代码集成到自己的产品中。他们很快痴迷于功能,并创建了一份庞大的产品功能列表,上面写满了支持的设备。因为他们有软件工程师,所以售前工程师会来到你的办公室,露出一排整齐洁白的牙齿,笑着对你的经理说:“没问题,我们的系统可以监控这个。”
  问题就在于监控系统不是一站式解决方案。在它能够解决问题之前需要完成大量的定制工作,监控软件的销售者和设计实施软件的工程师之间的差异就在这里。当用户试图构建一套监控系统时,一款通过点击复选框的方式来进行监控的软件不会是用户想要的,用户真正需要的是可以很方便地监控需要监控的设备。专有解决方案往往关注要监控什么,而忽略如何监控,这使得专有解决方案很难满足实际应用。
  比如,使用Ping程序。我所用过的所有监控系统都会使用ICMP回显请求,或者叫做Ping,以这种或那种方式来检测主机可用性。如果想控制一套专有监控系统如何使用Ping,则可能会立刻发现架构上的限制。比如想设置ICMP包发送的数量或者想根据包往返时间的毫秒数而非简单的通过/失败,来发送通知。在更复杂的环境下,可能必须使用IPv6的Ping,或者在Ping之前先进行端口试探(PortNock)。这个问题从整体、功能上的解决方式是这些改变意味着核心应用程序逻辑的改变,因此,必须实施。
  在我使用过的商业化监控应用程序中,如果上述Ping的例子可以引申,那它们可能需要在监控系统专用脚本语言中重新实现Ping逻辑。或者换句话说,就是不得不完全抛弃内置的Ping功能。对用户来说,可能对Ping检测细节上的控制不一定有价值,但是如果用户连最基本的Ping都无法控制,那么在用户环境中,对其他更重要的检测,用户又有多少能够完全控制呢?他们假设知道用户想如何Ping某个设备,至此,游戏结束,他们永远不会再次考虑这个问题。为什么呢?因为Ping功能已经在产品功能列表上了。
  目前,监控设备要面向层出不穷的设备,而Nagios关注的是模块化,Nagios包含很多插件,即专用监控小程序,为专用设备和服务提供支持。Nagios不会去增加特性而搞军备竞赛,硬件支持方面是社区驱动的。当社区成员需要监控某个新设备或新服务时,就会有人编写新的插件并发布,速度往往比商业应用程序支持同等服务更快。实际上,Nagios将永远支持用户所需的一切,而且无须对Nagios进行升级。Nagios还提供了两全其美的方案,当用户需要支持时,有商业化的选择,也有兴旺繁荣、乐于助人的社区通过众多的论坛和邮件列表提供免费支持。
  选择Nagios作为监控平台意味着监控效果只受你的想象力、技术能力以及管理环境的限制。Nagios能够到达你想监控的任何目的,而且过程极为简单。尽管Nagios能完成商业应用程序所做的一切,或者更多,无须安装笨重不安全的Agent,但它常常无法与商业监控系统相媲美,因为当分析表格时,Nagios没有那么多的检测项目。实际上,如果他们统计正确,Nagios本身不做任何检测,因为从技术上来说,它并不知道如何进行监控,它希望你能告诉它如何监控。“如何”监控这个问题,很难通过一个复选框来回答。
这本书讲些什么
  尽管Nagios本身很难,但它是无数工具中唯一能够组建世界级开源监控系统的。同时,它的文档最完备,不仅拥有一系列书籍、精湛的在线文档,还有生动翔实的邮件列表。我撰写此书的本意是补充文档中漏掉的部分。这本书不是关于Nagios的,而是讲解如何使用Nagios构建一整套监控平台,更多讲述的是构建监控平台的过程,而非配置某个监控工具。
  在本书中,我会介绍一些常用的配置模板,但是如何配置和安装Nagios不是我的重点。我关注的是带领读者构建一套优秀的监控平台,为读者介绍一些能够增强Nagios功能并简化配置的协议和工具。读者需要深入了解Nagios内部的工作机制,这样才能够根据自身需求对它进行扩展。因为Nagios的功能远远超出你的想象,所以在本书中,我会花一些时间展示它的强大能力。最后,我还会介绍一些与Nagios关系不大的内容,比如最佳实践、SNMP、时序数据的可视化,以及微软脚本相关技术,如WMI和WSH等。
  最重要的是,我将以不同的方式介绍Nagios。提前介绍它有效的调度和通知引擎,这样在讨论内部机制的时候就能够简洁明了一些。我将重点介绍插件定制和调度等,使读者尽早了解核心内容,而非将这些重要信息放在很少有人阅读的高级部分中。
  尽管本书各章节内容有些许独立性,但是我尽可能使这本书成为重要参考资料,涵盖了一系列重要信息,因此建议读者从头读到尾,略过你已经熟悉的内容。本书文字不是很多,但是信息量很大,甚至在监控方面最有经验的老手也能发现一些有用的至理名言。
  本书各章节相互依赖,在介绍更为普遍的监控概念时,我也会随意介绍一下某些Nagios特有内容的细节。因为在软件安装前,需要做出很多重要的决定,所以我以第1章的内容作为开始。该章会让读者考虑进行监控的动机是因何产生的?如何取得成功,比如如何开展实施工作,涉及哪些人,要避免哪些问题?
  第2章基于第1章的通用设计原则,从零开始介绍Nagios的基本原理,会让读者从细节上明白Nagios的工作机制,但没有提供很具体的配置指令,不会让你淹没在配置的细枝末节里。这里离配置透明化还有很长的一段路要走。
  在能够配置Nagios监控环境之前,我们需要先进行安装。第3章将会帮助读者通过源代码或者包管理器安装Nagios。
  第4章讲述配置,这是令人畏惧的一章。首次进行Nagios配置对大多数人来说没什么乐趣,但是我希望通过自下而上的方式,只记录常用和必需的指令,提供常用的示例,并指出对象之间的引用关系及如何引用,尽可能减少大家的痛苦。
  很多用户在初次使用Nagios之后就无法离开它了,并且厌恶使用其他的工具。但是,如果大家对Nagios都有点儿抱怨,那肯定是配置了。第5章讲了一些题外话,并提供了一些有效的工具,以简化配置过程。这些工具包含自动发现工具,还有图形用户界面等。
  在第6章,我们终于做好了准备,去了解系统监控的本质工作,并提供了一些具体的案例:包括一些Nagios插件配置语法以解决现实世界的问题。以监视微软Windows系统环境作为开始,然后介绍了针对UNIX的监视,最后介绍“其他系统”的监控,其中包含了网络设备以及环境传感器。
  第7章是第2版新增的部分。在过去的5~6年中,大规模网络环境下Nagios的扩展已经成为Nagios系统管理员处理的最有意思的问题。设备虚拟化和符合成本效益的云服务的爆炸性增长,需要掌控大量小型节点组成的大型并发处理架构。该章介绍几个工具和策略能够使你将监控的负载分散,并建立一个稳定的大规模监控平台对数万节点进行监控。
  第8章讲述了一个我感兴趣的主题:数据可视化。优秀的数据可视化能够解决其他方式无法解决的问题,我很高兴现在能有一些选择,包括那些即将诞生的工具。通过最流行的可视化工具,如RRDTool、Ganglia以及Graphite等,可以很容易地将每天Nagios提供的时序数据绘制出来,该章所讨论的不仅仅是折线图。
  第9章也是第2版中新增的部分包括,描述了Nagios最新的商业版本—Nagios XI。创建它的人也是Nagios的创始人,Nagios XI使用了本书所介绍的多种工具构建而成,是真正集成和易用性的杰作,使Nagios监控变得如此简单,甚至我母亲都可以使用(当然,我母亲曾为嵌入式FLIR系统编写了经优化的交叉编译器,希望各位读者明白我的意思)。
  读到最后,读者应该已经清楚规则了,第10章就要教各位读者如何打破这些常规了。就我所知,该章是唯一介绍最新的Nagios事件代理接口的纸质内容。事件代理是目前Nagios中最强大的接口,掌握它带给各位读者的回报是能够独自重写第2章,读者能够从根本上改变Nagios的运作或扩展它的各个方面,以满足自身的任何需求。该章叙述了事件代理的工作机制,并带领读者构建一个NEB模块。
这本书适合什么人
  如果你是一个系统管理员,负责着一堆UNIX、Windows系统和各类网络设备的管理工作,并且需要一个便宜的世界级监控系统,那么这本书正适合你。与你期望的正好相反,监控系统的构建不能掉以轻心。虽然监控系统可能会与环境中所有基于TCP的设备进行交互,但是只需要一丁点这方面的知识。不要以为这会给你多少喘息的时间,系统监控工作教会我的东西比我在职业生涯中做的其他工作学会的更多,并且在我来看,不论你了解多少,使用监控系统都会是不断地挑战假设,加深你对事物的了解,不断扩展你的所学。
  为了最有效地利用本书,你应当灵活掌握那些经常使用的文本型网络协议,如SMTP和HTTP。尽管它也能与Windows服务器交互,但因为Nagios的守护进程是运行在Linux上的,这使其有很重的Linux风格,即基于文本,所以熟悉Linux或POSIX类的系统是很有好处的。尽管对编程的技能要求不是很严格,但是你最好熟悉一些编程技能。本书中有不少代码,但我尽可能地使其直观易懂。但是第8章使用了大量C语言,而代码是在UNIX Shell或Perl中编写的。
  在阅读本书的过程中,唯一的要求就是当你了解主题的相关内容时,要长期保持开放的好奇心。如果有什么内容看不明白,别灰心,尝试在在线文档中查找下,或者在邮件列表中提问,甚至给我发邮件咨询,我会尽我所能帮助你。
  祝你阅读愉快!

    Dave
感谢
  我亲爱的妻子Cynthia,她的耐心、鼓励以及美丽,我爱她。
  Ethan Galstad,Nagios的创始人,是他的积极促成了本书第2版的出版。
  该项目的技术评审都非常出色—伙计们,谢谢你们!
  最后,十分感谢Prentice Hall出版社的编辑们!他们可不像《蜘蛛侠》或《古灵侦探》中的编辑。Debra Williams Cauley和Kim Boedigheimer都是勤勉、能干的专业人士。他们极其耐心、乐于助人,我很感谢他们为我耗费的时间和精力。
  感谢大家!
关于技术评审
Mark Bainter
  Mark Bainter领导的系统管理员团队为消息系统的客户们提供大容量邮件系统外包监控和管理服务,拥有超过15年的系统管理员经验,专门从事系统集成、监控与自动化。他是自学成才的博学家,还是一位爱用长词的老顽固。Mark最近与他的爱妻和4个孩子定居在德克萨斯,业余时间他喜欢读书、做木工以及陪他的妻子移居各地。
Mike Guthrie
  Mike Guthrie是Nagios Enterprise的首席开发工程师,已经为Nagios Core、Nagios XI以及Nagios Fusion开发了很多新功能和附件。Mike使用PHP完成大多数的开发工作,特别喜欢前端Web开发和数据可视化的相关工作。非工作时间里,喜欢和家人待在一起、外出游玩或修缮他的房屋。
Mathias Kettner
  Mathias Kettner是Check_MK、MK Livestatus以及Nagios其他附件的作者。他负责德国慕尼黑一家迅速成长的公司运营,该公司专门负责为基于Nagios的监控系统提供专业支持和软件开发。

上架指导

计算机\网络

封底文字

无论你是一个对网络、系统、IT监控知之甚少的新手,还是经验丰富的Nagios管理员,本书都会对你有所帮助。
               ——Nagios创始人兼总裁,Ethan Galstad

本书非常详细地介绍了用最新商业版及开源版Nagios构建高效的、企业级监控平台。作者是全球著名的系统监控专家,在监控领域有丰富的经验,对Nagios分析透彻、讲解清晰,并将Nagios作为一套规范语言和基础,用于构建强大而高效的监控系统,并且能够灵活扩展以适用于各种规模的组织。
作者在整本书中向读者展示了最佳实践,揭示了一些常见的错误及其后果,并详细描述了如何避免这些错误。他带领读者学习了必要的技术知识,以便于成功配置并运行Nagios,包括如何使用C语言编写Nagios事件代理API编写自定义模块,如何通过最新的第三方工具和插件提高效率。无论读者面临的监控系统挑战如何复杂,本书都会帮助你选对方向,走对路。
本书主要内容:
 深入学习Nagios的工作机制;
 在配置和部署最新版本Nagios的过程中,掌握高效的技术手段;
 监控Windows、UNIX系统、网络设备以及环境传感器,解决实际工作中的问题;
 为了适合超大型企业环境,优化Nagios并对其进行系统化的扩展;
 使用诸如Check-MK、Op5 Merlin以及SFlow这样的新工具来强化监控系统;
 通过Ganglia、Graphite以及RRDTool集成可视化功能;
 使用Nagios XI简化并优化系统监控的各个方面;
 逐步学习构建强大的自定义NEB(Nagios事件代理)模块;

图书序言

常听人说Nagios非常“灵活”,我想他们是指Nagios很容易扩展,但这不是重点。Nagios在设计中所蕴含的能力不是源自于其扩展性,而是它坚持自身能够被扩展。无法否认,两者区别虽然不大,但这才是最重要的一点。很多软件通过扩展从而完成新的工作,但是只有很少一部分软件,其自身不具有任何功能,除非用户对其进行扩充,而这些软件完全是由于这个原因:内在的需求是用户能够进行定制以满足自己的需要。因此,Nagios一直是作为用户贡献的合成体而存在的—工程师和管理员用来解决自己面临的问题,并将解决的办法分享出来。没有两个部署是一模一样的,这就是设计上的诉求。
  这些年里,从我创建Nagios开始,它成长的空间和范围已经远远地超出了我的想象,在全球已经有超过100万的用户。从财富500强企业集团到艺术科学研究实验室,Nagios Core在各地落户。Nagios的用户社区是最健康、最积极贡献的开源社区之一,该社区目前已经发布了近4000个插件、附件以及扩展,其中很多东西的复杂性都足够编写一本书来进行说明了。除了社区规模如此之大、多样化、十分活跃之外,我们每年都会举办Nagios全球大会,会有贡献者、用户以及学者参加,分享自己的奇思妙想、学习提示以及小技巧,还可以了解Nagios项目未来发展的相关信息。
  同样,公司内部也有一个繁荣的社区负责Nagios的扩展和支持工作。我于2007年加入,创立了Nagios Enterprise。我们的旗舰产品,Nagios XI,不仅迈出了革命性的一步,也(应该是)完全反向兼容于Nagios Core。XI包含了扩展即设计(extend-by-design)出身的Core,同时保留了Core的功能和扩展性,并扩充了它的易用性和用户可用性。
  在Nagios享受着成功喜悦的同时,我需要首先承认,灵活性是要付出代价的。过度灵活会让新手或经验丰富的管理员难以构建以及部署成功的监控解决方案,他们面临的挑战不是有了电脑就可以解决的。幸好,David这位少有的技术作家,能够将如此复杂的主题写得通俗易懂。无论你是一个对网络、系统、IT监控知之甚少的新手,还是经验丰富的Nagios管理员,本书对你都会有所帮助。

—Nagios创始人兼总裁,Ethan Galstad

作者简介

(美)David Josephsen 著:暂无简介

译者简介

康锦龙 译:暂无简介

译者序

本书是我的第一本译著,有此机会实属机缘巧合。虽然使用Nagios只有一年多的时间,但是作为用户,我深感其设计的简洁与高效—没有一丝多余的东西。因为工作的关系,要求对各个领域都有所了解,所以没有仔细地阅读Nagios官方文档,但总以为自己了解的内容差不多了。但在翻译本书的过程中,才发现自己想当然了。
  作者开篇就从实际出发,提出了几个引人深思的问题,这些问题恐怕是国内外企业在构建监控系统时都会存在的。对于这些问题我个人深有体会,在Nagios使用的过程中曾经踩到不少坑,直至年中时遇到的性能问题、分布式部署问题。至于系统构建完成时又遇到的商业产品竞争问题,具体细节我就不详述了。长叹一声,当时要有这本书,就能少走不少弯路。
  在本书中,作者介绍了在大量运维监控方面需要了解的知识,但偏重于Linux—因为Nagios是专为Linux环境设计的。这可能会让不少读者们感觉不快,但无论从哪一方面来说,Linux的高效是无可比拟的,可以说,Nagios与Linux都是一种效率的必然。
  对于Nagios用户来说,或许早已深感Nagios的配置是一种简单但重复性很强的工作。在本书中,作者从实际出发,引入了“框架”的概念,从而简化了配置工作。不仅如此,在扩展、数据可视化以及最后的NEB方面,作者都通过代码或者案例进行展示,方便各位读者理解概念,并起到抛砖引玉的作用。
  无论企业的规模大小,Nagios都是不可多得的开源监控系统,估计这也是Nagios作者将开源版本命名为Nagios Core的原因吧,期望用户能够围绕Nagios Core,构建完整的监控平台。
  以上纯属个人之见。
  感谢机械工业出版社华章分社的各位编辑,感谢各位在审校环节的辛勤付出。最后,感谢GF对我长期的支持。

图书目录

译者序
序言
前言
第1章 最佳实践 1
1.1 系统监控的过程方法 1
1.2 处理和开销 4
1.2.1 远端处理与本地处理 4
1.2.2 带宽方面的考虑 5
1.3 网络位置和依赖关系 6
1.4 安全 8
1.5 沉默是金 10
1.6 监视端口与监视应用 11
1.7 谁来监控这些检测插件 12
第2章 运作原理 14
2.1 主机和服务范例 15
2.1.1 从头开始 15
2.1.2 主机和服务 17
2.1.3 相互依赖 17
2.1.4 主机和服务的消极面 18
2.2 插件 19
2.2.1 退出代码 19
2.2.2 远程执行 22
2.3 调度 24
2.3.1 检测间隔及状态 24
2.3.2 分散负载 27
2.3.3 信息采集和并发执行 28
2.4 通知 29
2.4.1 全局陷阱 30
2.4.2 通知选项 30
2.4.3 模板 31
2.4.4 时间段 31
2.4.5 计划宕机时间、状态确认以及升级规则 32
2.5 I/O界面总结 33
2.5.1 Web界面 33
2.5.2 当前状态 34
2.5.3 报表 36
2.5.4 外部命令文件 37
2.5.5 性能数据 38
2.5.6 事件代理 39
第3章 Nagios的安装 40
3.1 操作系统支持及FHS 40
3.2 安装步骤及先决条件 42
3.3 安装Nagios 43
3.3.1 configure 44
3.3.2 make 44
3.3.3 make install 45
3.4 安装插件 46
3.5 安装NRPE 47
第4章 Nagios的配置 49
4.1 对象和定义 49
4.2 nagios.cfg 52
4.3 CGI程序配置 54
4.4 模板 55
4.5 时间段 57
4.6 命令 58
4.7 联系人 59
4.8 联系人组 61
4.9 主机 61
4.10 服务 63
4.11 主机组 65
4.12 服务组 66
4.13 升级规则 66
4.14 依赖关系 68
4.15 扩展信息 69
4.16 Apache配置 70
4.17 GO 71
第5章 Nagios配置文件引导 72
5.1 开发脚本模板 72
5.2 自动发现 75
5.2.1 Check_MK 76
5.2.2 Nagios XI 76
5.2.3 自动发现:已死还是永生 77
5.3 NagiosQL 77
第6章 监视:通过Nagios插件监控 79
6.1 本地查询 79
6.1.1 Ping检测 79
6.1.2 端口查询 82
6.1.3 多端口查询 84
6.1.4 更复杂的服务检测 86
6.1.5 使用WebInject和Cucumber-Nagios进行端到端监控 88
6.2 监视Windows 94
6.2.1 Windows脚本开发环境 94
6.2.2 COM和OLE 96
6.2.3 WMI技术 96
6.2.4 WSH:用还是不用 101
6.2.5 VB:用还是不用 102
6.2.6 Windows脚本开发的未来 103
6.2.7 切入正题 104
6.2.8 NRPE 105
6.2.9 Check_NT 106
6.2.10 NSCP 107
6.3 监视UNIX 108
6.3.1 NRPE 108
6.3.2 CPU 109
6.3.3 内存 112
6.3.4 磁盘 113
6.4 Check_MK 114
6.5 监视“其他内容” 117
6.5.1 SNMP 117
6.5.2 使用SNMP进行工作 120
6.5.3 环境传感器 124
6.5.4 独立传感器 125
6.5.5 LMSensor 126
6.5.6 IPMI 127
第7章 Nagios的扩展 129
7.1 调整、优化以及一些组成要素 129
7.1.1 NRDP/NSCA 130
7.1.2 NDOUtils 130
7.2 使用二级Nagios守护进程进行分布式被动检测 130
7.3 事件代理模块:DNX、Merlin以及Mod Gearman 133
7.3.1 DNX 134
7.3.2 Mod Gearman 135
7.3.3 Op5 Merlin 137
7.4 分布式仪表板:Fusion、MNTOS以及MK-Multisite 139
第8章 可视化 146
8.1 Nagios性能数据 147
8.2 RRDTool:基础 147
8.2.1 初识RRDTool 149
8.2.2 RRD数据类型 150
8.2.3 心跳周期和步进周期 151
8.2.4 最小值和最大值 152
8.2.5 循环归档 153
8.2.6 RRDTool创建语法 154
8.2.7 RRDTool图形模式 158
8.2.8 RPN 161
8.3 数据可视化策略:三位系统管理员的故事 163
8.3.1 Suitcorp:Nagios、Nagios-Graph以及Drraw 163
8.3.2 singularity.gov:Nagios和Ganglia 169
8.3.3 Massive Ginormic:Nagios、Logsurfer、Graphite及RRDTool以外的生活方式 177
8.4 DIY仪表板 186
8.4.1 了解自己正在做的事情 186
8.4.2 RRDTool抓取模式 188
8.4.3 GD图形库 190
8.4.4 NagVis 191
8.4.5 GraphViz 192
8.4.6 迷你图 195
8.4.7 使用jsvis的力导向图 196
第9章 Nagios XI 198
9.1 它是什么 198
9.2 如何运作 199
9.3 有什么好处 201
9.3.1 美观的界面 201
9.3.2 集成时序数据 202
9.3.3 模块化组件 202
9.3.4 强化的报表和高级可视化功能 203
9.3.5 内置插件和配置向导 205
9.3.6 运维方面的改进 208
9.4 如何上手 210
第10章 Nagios事件代理接口 211
10.1 C中的函数引用以及回调 211
10.2 NEB的架构 213
10.3 使用NEB实现一个文件系统接口 215
10.4 DNX,实际的示例 228
10.5 总结 231

教学资源推荐
作者: 李士宁
作者: [美]安德烈·普拉泽(André Platzer) 著
作者: [美]詹姆斯·F. 库罗斯(James F. Kurose),[美]基思·W. 罗斯(Keith W. Ross) 著
参考读物推荐
作者: Amy Shuen
作者: 冠群工作室
作者: Metzler,J. DeNoia,L.
作者: 王叶 武新华 编著