Skip to Content
用于 DevOps 的 Python
book

用于 DevOps 的 Python

by Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu
May 2025
Intermediate to advanced
506 pages
6h 56m
Chinese
O'Reilly Media, Inc.
Content preview from 用于 DevOps 的 Python

第 7 章 监控和日志 监控和日志记录

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

诺亚在旧金山的创业公司工作时,利用午休时间锻炼身体。他会打篮球,跑到科伊特塔,或者练习巴西柔术。诺亚工作过的大多数初创公司都会提供丰盛的午餐。

吃完午饭回来,他发现了一个非常不寻常的规律。从来没有什么不健康的东西可以吃。吃剩的往往是沙拉、水果、蔬菜或健康的瘦肉。在他锻炼身体的时候,成群结队的初创公司员工吃光了所有不健康的食物,让他没有吃坏东西的诱惑。不随大流是有道理的。

同样,在开发机器学习模型、移动应用程序和网络应用时,忽略运算也是一条捷径。忽视运维是非常典型的做法,就像在餐饮午餐中吃薯片、苏打水和冰淇淋一样。不过,正常并不一定是首选。本章将介绍 "沙拉和瘦肉 "的软件开发方法。

构建可靠系统的关键概念

在创建公司的过程中,我发现在软件工程方面,哪些做法是行之有效的,哪些做法是行不通的。最好的反模式之一就是 "相信我"。任何理智的 DevOps 专业人士都不会相信人类。人是有缺陷的,会犯感情用事的错误,还可能一时兴起毁掉整个公司。尤其是如果他们是公司的创始人。

要建立可靠的系统,更好的办法是逐块建立,而不是基于完全无稽之谈的层次结构。此外,在创建平台时,应定期预测失败。唯一会影响这一真理的是,如果有一个有权势的人参与构建架构。在这种情况下,这一真理就会成倍增加。

你可能听说过 Netflix 的混乱猴子,但何必呢?倒不如让公司创始人、首席技术官或工程副总裁来进行逐一编码,并对架构和代码库进行二次评估。人类的混乱猴子会比 Netflix 跑得更快。更妙的是,让他们在生产中断时编译 jar 文件,并通过 SSH 将其逐个放到节点上,同时大喊:"这样就可以了!"这样,就能达到混乱与自我的和谐统一。

一个理智的 DevOps 专业人员的行动项目是什么?自动化大于等级制度。解决初创企业混乱局面的唯一办法就是自动化、怀疑主义、谦逊和永恒不变的 DevOps 原则。

不可改变的 DevOps 原则

很难想象,要建立一个可靠的系统,还有比这一永恒不变的原则更好的起点。如果首席技术官正在用笔记本电脑构建 Java.jar 文件来修复生产中的火灾,那你还是辞职算了。没有什么能拯救你的公司。我们应该知道,我们曾经经历过!

无论一个人多么聪明/强大/有魅力/有创造力/富有,如果他们在危机中手动对软件平台进行重要更改,你就已经死了。只是你还不知道而已。自动化是这种畸形存在的替代选择。

人类无法长期参与软件部署。这是软件行业存在的第一大弊端。它实质上是为流氓在你的平台上肆虐开了一扇后门。相反,部署软件、测试软件和构建软件需要 100% 的自动化。

建立持续集成和持续交付是对公司最重要的初始影响。相比之下,其他一切都显得微不足道。

集中登录

日志记录的重要性紧随自动化之后。在大规模分布式系统中,日志记录并非可有可无。必须特别注意应用程序和环境层面的日志记录。

例如,异常情况应始终发送到集中日志系统。另一方面,在开发软件时,创建调试日志而不是打印语句往往是个好主意。为什么要这样做呢?为了调试源代码,我们需要花费大量时间开发启发式方法。为什么不捕获这些信息,以便在生产中再次出现问题时开启呢?

这里的诀窍在于日志级别。通过创建只出现在非生产环境中的调试日志级别,可以将调试逻辑保留在源代码中。同样,在生产环境中不会出现过于冗长的日志,也不会造成混乱,而是可以对它们进行开关切换。

Ceph就是大规模分布式系统中日志记录的一个例子:守护进程最多可以有 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

《Python 数据分析》第三版

《Python 数据分析》第三版

Wes McKinney
ppk on JavaScript

ppk on JavaScript

Peter-Paul Koch

Publisher Resources

ISBN: 9798341657380