Ilan Rabinovitch 在南加州参加会议的人中广为人知。他是一个乐于助人且友善的人,我多年前在 BarCamp 上见过他一次,并在 IRC 上多次遇到。我经常因为地理位置的临近而从他那里获得很棒的技术技巧。
Ilan 将在今年的 LinuxFest Northwest 上发表演讲,培训与会者关于系统监控的知识。我与他交谈,了解他将要涵盖的内容。
任何刚开始从事系统管理工作的人都会听到很多关于监控的信息。广义上讲,什么是监控,它是如何完成的?
作为系统管理员和应用程序开发人员,我们构建和部署我们的同事或用户依赖的服务。监控是观察和记录这些服务行为的实践,以确保它们按照我们的预期运行。监控使我们能够收到关于潜在问题和持续故障的有意义的自动化警报。它还使我们能够快速调查并找出问题或事件的根本原因。
我应该监控什么?仅仅是我的网络,还是还有其他我应该关注的东西?您的演讲会address这些问题吗?
简而言之,监控一切。收集数据很便宜,但当您需要数据时却没有数据可能会很昂贵,因此您应该instrument一切并尽可能合理地收集所有有用的数据。所以是的,您需要关于您网络的数据,但也需要关于您的操作系统、您的应用程序,甚至业务指标的数据。
单独来看,它们可能很有趣。结合起来,它们可以帮助您讲述事件在您的环境中发生的全貌。您永远不希望处于无法解释为什么您经历了停机或服务降级的情况。
话虽如此,监控和警报的具体内容会因环境而异。对您和您的应用程序很重要的内容可能对我来说并不重要。在 LinuxFest Northwest 的会议期间,我们将回顾一些框架和方法,用于对您的指标进行分类,并确定对您和您的业务重要的内容。
您监控得越多,您发现您需要筛选的东西就越多。系统管理员可以采取哪些策略来缓解这种情况?
区分监控和警报非常重要。仅仅因为您收集了一段数据用于趋势分析或调查目的,并不意味着您需要在每次数据移动时都呼叫团队成员。
如果我们呼叫某人,那么每次都应该是紧急且可操作的。一旦您开始质疑警报的有效性以及它们是否需要响应,您就会开始挑选何时响应和调查来自您监控的警报。这被称为警报疲劳,并且会严重破坏您的监控目标。
您主要希望将警报集中在工作指标周围:量化您的环境中的工作或有用输出的指标。这些代表了您的系统和服务的顶级健康状况,并且是您的系统是否正常运行的真正指标。您的用户永远不会打电话给您说“CPU 使用率过高”,但他们可能会抱怨您的 API 响应缓慢或服务完全停止。那么,您为什么要因为 CPU 使用率过高而吵醒工程师呢?
您个人最喜欢的监控工具有哪些?
我不得不说 Datadog 是我目前最喜欢的工具!这并不是因为他们是我的雇主。实际上是相反的。我去年夏天加入 Datadog 的原因是因为我非常喜欢以客户身份使用他们的产品。我们混合使用了托管服务和开源代理,该代理在您的服务器上运行以收集指标。我们倾向于关注具有动态基础设施(容器、云和自动扩展或计划工作负载)的环境,以及聚合来自多个来源(包括其他监控系统)的指标。
近年来,开源世界在我们的工具集中看到了一些伟大的发展和改进。虽然 Nagios 和 Cacti 或 Ganglia 一直是过去 20 年大部分时间里开源监控堆栈的主力,但我们现在有许多新工具,例如用于时间序列数据的 Graphite 和 Graphana,用于日志管理的 ELK 等等。
您选择哪个工具来形成您的监控堆栈将取决于您的环境、员工和扩展需求。monitoringsucks 项目 提供了可用工具的精彩概述。Brendan Gregg 还在他的博客上提供了一些关于理解 Linux 系统性能的惊人资源。我特别喜欢 Linux Observability slide。
设置和需要学习新工具通常会阻止人们进行监控。您花了多长时间才适应监控以及与之相关的工具?
我已经从事某种形式的监控工作超过 15 年了,但我不会说我已经掌握了它。监控就像工程学的其他重点一样,是一个持续的学习体验。每次我构建一个新的环境或系统时,它都会有不同的要求,无论是由于新技术还是新的业务需求。
考虑到这一点,在每个项目中,我都可以重新评估哪些指标最重要以及如何最好地收集它们。
不知道如何诊断问题是另一个监控障碍。当问题发出红色警报,但您不知道如何解决时,您会怎么做?
把头埋在沙子里永远不是解决办法。即使您不知道如何响应,也要意识到您的服务或系统已失败,也比在愤怒的用户或客户打电话时才发现要好得多。
考虑到这一点,从简单开始。找到可以告诉您您的服务是否在线并以用户期望的方式运行的指标和检查。一旦您完成了这些,您就可以将您的覆盖范围扩展到其他类型的指标,这些指标可能会加深对您的服务如何交互或其底层系统的可见性。
一旦您的监控系统启动并运行,您如何防止陷入虚假的安全感?
事后分析和事件审查是很好的学习机会。利用它们从任何错误中学习,并确定您环境中可以从更多可见性中受益的领域。您的监控是否检测到问题,还是用户检测到的?是否有任何领先指标可以在问题影响我们的业务之前引起您的注意?
您的背景是什么?您是如何开始从事科技行业的,您是做什么的?
我的职业生涯始于摆弄我父母给我的兄弟姐妹的旧电脑,他们升级了他们用于小企业的电脑。多年来我做了很多摆弄,但当我开始玩 Linux,目标是构建家用路由器时,我的兴趣得到了突飞猛进的发展。我很快发现自己参加了用户组会议,例如 SCLUG, UCLA LUG 和其他组织。我在 LUG 和个人项目中获得的技能帮助我获得了咨询和入门级系统管理员工作。
从那时起,我做了多年的系统管理员。我曾为 Edmunds.com 和 Ooyala 等大型网络运营部门领导基础设施自动化和工具团队。最近,我有机会将我对大型系统的兴趣与我在 Datadog 担任技术社区主管的开源社区活动结合起来。
您显然在开源方面做了很多工作,并且为开源社区做了很多工作。为什么开源对您如此重要?
开源社区和 Linux 帮助我开始了我的技术生涯。Linux 和其他软件的开放性使我有可能深入了解一切如何组合在一起。然后,如果我遇到任何困难,LUG 和其他社区活动总是在那里提供帮助。对我来说,保持社区活跃并回馈社会,以便其他人可以拥有类似的体验,这非常重要。
等一下,您不是 SCaLE 的那个人吗?您是如何参与 SCaLE 的,进展如何?
没错!我是 SCaLE 的联合创始人之一,也是现任会议主席。SCaLE 始于 2002 年,是南加州大学举办的为期一天的活动,专注于开源和自由软件。我们在 SCaLE 成立时,南加州地区几乎没有技术活动。此外,可用的 FOSS/Linux 重点活动主要以商业风险投资的形式组织(例如,LinuxWorld)。考虑到地理位置、成本,在某些情况下还有年龄要求,我们发现很难看到关于我们感兴趣的开源项目的开发者主导的会议。本着开源的精神,我们决定解决我们自己的痛点,并建立一个我们可以参加我们感兴趣的会议的地方。我们天真地认为,“开始一个会议有多难?”
因此,SCaLE 诞生了。
我们现在正在启动第 15 届 SCaLE 的规划,该届 SCaLE 将于 2017 年 3 月 2-5 日在帕萨迪纳会议中心举行。虽然该活动已从第一年的几百人增长到 3,200 名与会者,但我们已努力保持我们的社区氛围。我们认为我们已经成功地实现了我们的最初目标,即将社区、学术界和企业聚集在一个经济实惠且易于访问的会议中。
既然如此,我不得不问:您使用哪个 Linux 发行版,您当前的桌面或窗口管理器是什么?
我的家用机器运行 Ubuntu,桌面是 Unity。我的个人服务器倾向于基于 Debian。
在 Datadog,我们主要在我们的基础设施中使用 Ubuntu,尽管我们与各种 Linux 发行版合作,以确保我们的开源代理在各个方面都能良好运行。我们的 Docker 容器从 Debian 镜像开始。
评论已关闭。