读者来信
你好,尊贵的系统管理员大师:
也许我的服务器出了什么问题,但我不确定。我收到投诉,但查看时一切正常。而且投诉都很苍白——“它慢”、“它不能用”,或者“我们到底为什么要付钱给你们这些人?”我真的不知道是否有问题,但我的直觉说可能有。你怎么追踪这种模糊的问题?
谢谢, Befuddled(困惑者)
亲爱的困惑者:
无症状系统故障的恼人之处在于——它们是无症状的,但不比那些有明显症状的故障更不真实。某个用户打来电话,一通真正的语音通话,他们用嘴以某种语言蹦出一堆随机词汇,而你被期望用耳朵解析那串含糊不清的话,哪怕好莱坞都知道,系统管理员是经过精心优化、用眼睛接收信息、用布满老茧的指尖敲出合金级讽刺与成果的生物。这些用户中任何一人,都可能在任何时候打断你精心构筑的、关于你正在处理的任何问题的幻觉,要求你把那三磅大脑布丁转向事实:他们在文件服务器上播放猫视频时网页浏览器卡顿了——真的卡顿了;或者他们明明知道昨晚就在儿子的电脑上以那个名字保存了提案,却得到“找不到文件”的错误。
显而易见的解决方案——给每个打语音电话的用户发一台漂亮的 PDP-11 模拟器当桌面系统,直到他们学到足够多的计算知识、可以接近带显示器的机器,比如一台 Sinclair ZX-81——是行不通的。他们只会打更多电话。
但有些错误更神秘。你找不到任何可以指摘的东西。没有喷发的日志消息火山,没有尖叫着缺文件或数据库超时的晦涩 PHP 错误,连 ping 失败都没有。只是感觉……有些不对。
你的血脉可追溯到一长串在残酷的稀树草原上活得够久、成为父母、然后才被饥饿的水豚吞噬的猴子。(新的考古证据宣称,“被鬣狗撕碎”是留给贵族的待遇。)也许你的软件懂 shell 脚本,但前面提到的那团大脑布丁自旧石器时代以来就没升级过,没多少工具可用。
结果是,每天早晨你坐到那把违反人体工学的工位上时,你大脑的一部分会尖叫着说你现在就得爬上一棵树。
让那个声音闭嘴的唯一办法是数据。
每个计算组织都有监控软件,大概是 Icinga 之类的东西:无聊、可靠,并且刻意、有意受限。整场整场的会议被浪费在讨论这个监控应该检查什么、多久检查一次、何时报警、何时忽略检测到的问题。
并非那些问题不会发生。也许监控每分钟检查公司的 ERP 系统一次。大概每小时会漏掉一次检查。组织决定忽略这些,因为等到某个虚弱的人类察觉到消息并登录系统时,问题早已烟消云散。
那次间歇性警报确实发生过。也许只持续了五毫秒,但确实有东西失败了。那次丢失的检查作用在你脑中的方式,就像草丛中的窸窣声作用于你第 200 代曾祖母一样。
有什么东西潜伏在那里。你的潜意识知道。是被高贵的老虎吞噬而死吗?还是考古学家挖出你的遗骸后会宣布“哇,这些骨头上的痕迹像火烈鸟的牙齿”,然后匆匆跑去写一篇被广泛嘲笑的论文?
你需要在那次间歇性警报上花时间。
世界上不缺监控工具,每一种都以自己令人恼火的方式受限。即便你那复杂、无所不包、精心调校、配齐所有装饰和额外肉汁的 Icinga 也有盲区,何况系统管理员法则第 25 条宣告:“所有监控最终都归结为‘发邮件警告你邮件坏了’。”去找那些盲区。本期期刊就有大量关于监控和评估工具的信息。任何涉及网络的东西,你都应该有 netflow 和 SmokePing。如果你的网络管理员没有这些工具,我写过一大堆关于这类主题的书,建议你用投石机把这些书砸进网络部门,直到他们嗅到危险、装点有用的东西。
但你应该用哪些工具?
全部。
但不是同时用。
每种工具揭示不同的东西。这就是我们拥有这么多工具的原因。探索 DTrace——是的,我知道,你只是个微不足道的系统管理员,不碰系统调用,但如果你祖先没有探索新事物,你 20 岁之前就会成为水豚的饵,所以认命吧,埋头钻研。
你没时间学每个新工具?拜托。我的眼珠再翻得厉害一点,就会从头里掉出来,弹到桌子上。
我们谁都没时间学新东西。看看我。我本可以拿写东西给人换钱的时间,来回答你这封关于你那棵树导向的潜意识推上来的模糊担忧的傻信,不是吗?我写这个专栏得到的唯一回报,是 BSDCan 前一晚举行的 FreeBSD 期刊年度董事会。往年的节目单上有“奢华”、“狂欢”和“享乐主义”这样的词,而期刊已经免费了,我怀疑对未来会议的描述将以“稀粥”、“小巷”和“预防性接种”为特征——但你没看到我在这个非常期刊的公开平台上抱怨这些虐待性的变化,对吧?不,这不是抱怨。我比这高尚。这只是我没有在抱怨什么的详细示例。
我们从没时间学新东西。但学新东西正是我们身处这门噩梦般职业的原因。其他选择都要求消耗你日益减少的日子,去解读从随机人类的食物洞里蹦出的声响。
挑选那些被很多人喜爱的工具。并不是因为它们是好工具;它们没有哪个是好的,但这些工具的痛苦/回报比其他工具更优。玩玩它们。每个跑几小时,或一周。看看每种工具提供什么数据。为你的应用软件下载一些推荐的 DTrace 脚本,看看它大部分时间在做什么。当然,你学到的一些东西会让任何靠近到能听见你午夜噩梦中尖叫的人都感到不安,但你会慢慢组装出一套感知工具包,让你看见草丛中的水豚。
把你的技能练到足够高,你也可能配得上被鬣狗撕碎而死。
附:我赞赏你称呼中的礼貌。你的父母把你教得很好。当然,还没好到能选个更好的职业,但已经很好了。
MICHAEL W LUCAS(https://mwl.io)的最新书是《FreeBSD Mastery: Jails》,另外还有 30 来本其他著作,如《Absolute FreeBSD》《PAM Mastery》和《git commit murder》。他正朝着被缓步动物吞噬而死的目标努力。把你的问题发到 letters@freebsdjournal.com,他会以自己能安排的最拐弯抹角的恭维方式回你。
最后更新于