本书面向的读者
本书是一本基于Prometheus的监控指南。
大多数示例都基于Ubuntu Linux,所以读者最好具备基本的UNIX/Linux技能,并熟悉命令行、文件编辑、软件安装、服务管理和基础网络知识。
Prometheus正在迅速发展,这意味着你需要注意本书中提及和使用的工具版本。
本书旨在支持Prometheus 2.3.2或更高版本,内容可能不适用于早期版本。
致谢
感谢露丝·布朗(Ruth Brown)帮助本书变得有趣,让我可以坚持写到深夜。
感谢西德·奥兰多(Sid Orlando)让本书的措辞变得更加得体。
感谢布莱恩·布雷泽(Bryan Brazil)出色的Prometheus博客,他同时也在做Prometheus的相关培训。
感谢戴维·卡尔森(David Karlsen)的技术评审工作。
技术评审人员
感谢那些帮助本书变得更加准确和有价值的技术评审!
杰米·威尔金森(Jamie Wilkinson)是Google存储基础设施团队的SRE(网站可靠性工程师)。他拥有计算机科学学士学位,有充足的计算理论知识,于1999年开始从事Linux系统管理工作。他为Google SRE手册贡献了关于监控的章节。杰米与他的家人住在澳大利亚的悉尼。
保罗·吉尔(Paul Gier)作为一个在专有软件流行时期成长的“好奇宝宝”,对缺乏资金和许可证感到沮丧。在了解了一个名为Linux的新操作系统后,保罗开始沉迷于提供自由软件的想法—这一想法最终使他成了Red Hat的首席软件工程师,在那里他做了10多年自由软件的开发工作。保罗对基于容器的新基础设施及其带来的所有解决方案和问题非常着迷。他和他的妻子、三个孩子,以及两只狗和一只淘气的猫住在得克萨斯州的奥斯汀。
编辑
希德·奥兰多(Sid Orlando)是一位编辑和作家,还做着其他一些有趣的事情。她目前正在制作Stripe的软件工程技术杂志《Increment》,吸引了一大批粉丝,并且她在自己纽约的公寓里养了大量的植物。
作者
詹姆斯·特恩布尔(James Turnbull)是一位作家和工程师。他最近出版的书包括《The Packer Book》《The Terraform Book》和《The Art of Monitoring》,以及关于开源容器虚拟化技术的《The Docker Book》,还有关于开源日志工具的《The Logstash Book》。詹姆斯还撰写了两本关于Puppet的书:《Pro Puppet》和《Pulling Strings with Puppet》。同时他还是另外三本书的作者:《Pro Linux System Administration》《Pro Nagios 2.0》和《Hardening Linux》。
他目前是Empatico公司的首席技术官,并且曾担任过Kickstarter公司的首席技术官、Docker公司服务和支持副总裁、Venmo公司工程副总裁以及Puppet公司技术运营副总裁。他喜欢品尝美食、喝酒、读书、摄影和养猫。
代码约定
这是一个内联代码语句。一个代码块如下所示:
代码清单1 示例代码
较长的代码会被换行。如果你在代码块中看到...,则表示为简洁起见,输出被缩减了。
代码和示例
本书中包含的代码和示例可从GitHub上获得:https://github.com/turnbullpress/prometheusbook-code。
勘误
请发送电子邮件至james+errata@lovedthanlost.net。
声明
本书仅供学习使用。作者未将其作为法律、会计或其他专业服务建议提供。尽管在编写本书时已尽最大努力,但作者不做任何形式的陈述或保证,并且不对内容的准确性或完整性承担任何责任,并特别声明对用于特定目的的适销性或适用性不做任何默认保证。对于因本书所含信息或程序直接或间接造成(或声称是由此造成)的任何损失,或偶然或间接损失,作者不对任何个人或实体承担任何责任或义务。每家公司情况都不同,此处包含的建议和策略可能不适合你的情况。在开始任何基础设施项目之前,你应该寻求专业人士的服务。
推荐序
监控无处不在。
任何服务都离不开监控系统,对于管理维护服务的组织来说,监控是必备技能之一。近几年来,容器化、微服务、云原生等方式成为流行的现代架构思想,这给监控系统带来了不小的挑战。具体来说,监控系统需要在动态的云环境或者基于容器的微服务中快速、自动地识别对象的生命周期,并持续地提供近实时的监控检测。
Prometheus可以帮助你应对这些挑战。Prometheus开源项目孵化于云原生计算基金会(Cloud Native Computing Foundation,CNCF),并在2018年的PromCon会议上宣布正式从CNCF毕业,这是继Kubernetes之后的第二个CNCF毕业项目。如今,Prometheus已被全球众多企业广泛使用,以满足上面提到的复杂的监控需求,同时它也可以用来监控属于传统架构的资源。目前,Prometheus已成为构建现代云原生架构的企业的首选开源监控工具。
本书由浅入深地对Prometheus进行了全方位的介绍,内容通俗易懂,理论与实践相结合。首先从监控体系讲起,介绍了关于监控的各种经典理论和方法。然后循序渐进地介绍了Prometheus的各个功能组件和配置方法,包括监控主机和容器、服务发现、警报管理,以及Kubernetes和运行其上的应用程序的监控。本书覆盖了目前的一些主流云技术(比如AWS),但同样适用于各种其他环境和技术栈。读过本书后,相信你可以设计并构建出一个优秀的监控系统。
这里要感谢肖总,无论是曾经共事的阶段还是在工作之外他都给了我很多的鼓励与支持,很开心也很幸运可以再一次共同完成翻译工作。另外,感谢各位编辑的悉心指导,他们不辞辛苦地对本书进行了大量的校对和编辑工作,最终确保了本书的顺利出版。
最后,感谢爱人和我一起牺牲掉很多休息时间,共同投入到本书的翻译工作中,同时这也是人生一次难得的体验。
由于本人水平有限,书中难免会出现错误或者不妥之处,欢迎批评指正。
史天
2019年5月