服务器健康和健康检查:详细指南

服务器健康和健康检查:详细指南

不可否认,监控您的服务器非常重要。它不仅可以帮助您每天解决问题,还可以帮助您完成扩展和容量规划等任务。但无论您的监控有多先进,它总是从简单的服务器健康指示开始。实际上,也许“简单”在这里并不是最好的词。“服务器健康”通常会给你一个“健康/不健康”的指示。但这并不意味着底层逻辑也很简单。在这篇文章中,您将了解检查服务器运行状况的实际操作。

服务器健康和健康检查:详细指南-美联科技

什么是服务器运行状况?

听起来可能很简单,但确定服务器运行状况实际上并不那么容易。为了确定服务器运行状况,您需要考虑多个指标。对于初学者来说,健康不仅仅意味着服务器正在运行。服务器可能已启动并正在运行,但它可能存在多个问题。CPU 使用率可以恒定为 100%,磁盘可能(几乎)已满,或者网络吞吐量可能非常低。

这些问题相对容易发现。但也有一些情况可能看起来一切正常,但偶尔会出现问题。在磁盘和网络方面尤其如此。随机磁盘和/或网络问题很难发现,但它们肯定会产生一些问题。因此,服务器健康监控并不像资源消耗和正常运行时间那么简单。那么,良好的服务器运行状况指示实际上应该包括哪些内容?让我们深入了解它。

基础

正确评估服务器的健康状况肯定需要的不仅仅是基本指标。但是,这并不意味着您应该跳过这些基础知识。事实上,在大多数情况下,它们会为您提供服务器健康状况的良好指示。

那么这些基础是什么呢?

服务器状态和正常运行时间

让我们从(理论上)最直接表明服务器健康状况的东西开始——服务器状态。如果服务器已启动并正在运行,则表示它是健康的。如果服务器关闭或没有响应,则它不健康。但真的是这样吗?

想想看。大多数公司已经迁移到云环境,这让事情变得有点复杂。云的优势之一是灵活性和自动扩展。您在云中的基础架构可能会根据当前需求自动启动和停止服务器。因此,如果服务器宕机,并不意味着有问题。这可能意味着自动缩放器停止了它,因为此时不需要它。出于同样的原因,服务器正常运行时间或重启次数也不再是服务器健康状况的指标。

服务器健康和健康检查:详细指南-美联科技

资源使用

嗯,不一定。

您可能认为服务器使用 10% 或 90% 的 CPU 并不重要。如果它使用任何数量的 CPU,那么这意味着它已经启动并正在运行。所以它应该是“健康的”,对吧?

根据具体情况,非常高或非常低的资源消耗可能表明存在问题。这一切都取决于上下文和模式。假设您的服务器在过去一年中使用率稳定在 40% 到 60%,然后突然飙升至 100%。这告诉你可能有问题。

想象一下,您有服务器在公司中承担繁重的工作。它们的典型使用率接近 100%。(例如,他们可能会批量处理大量数据或 GPU 驱动的图形渲染。)如果其中一台服务器突然下降到接近 0% 的使用率,那么肯定有问题。所以有什么问题?也许进行重要处理的软件崩溃了。

理想情况下,您应该在服务器健康指标中包含资源消耗——但前提是您能够将其与基线进行比较,并且仅适用于具有稳定、可预测的使用模式的服务器。

你还应该考虑什么?

如本文开头所述,服务器可能已启动并正在运行,但这可能并不意味着它是健康的。我们涵盖了基础知识,但即使是这些指标也可能并不总能告诉您全部真相。以下是评估服务器运行状况时需要考虑的一些额外事项。

网络和存储

网络和存储对于评估服务器运行状况都非常重要。但是,它并不像 CPU 或内存使用那么简单。在这里,我们对简单的使用数字并不感兴趣。相反,查看一些可以直接表明健康问题的具体指标是有意义的。

对于网络,您应该(例如)查看延迟和丢包计数,而不是查看吞吐量或网络饱和度。当然,一天中的延迟也会有所不同,具体取决于整体网络流量。但如果它真的关闭了,那么你就知道出了点问题。

以秒而不是毫秒为单位计算的延迟是需要研究的。有时它可能只是一个软件问题,但非常高的延迟也可能表明服务器上存在一般网络问题。

实际上,将延迟与丢包计数结合起来可以帮助您确定这是硬件问题还是软件问题。如果您看到非常高的延迟和大量的数据包丢失,那么将服务器标记为不健康是有意义的。

服务器健康和健康检查:详细指南-美联科技

在存储方面,我们也有类似的情况。磁盘吞吐量对于服务器的运行状况并不那么重要,尽管写入或读取速度非常慢可能表明存在磁盘问题。

更有趣的是 I/O 等待时间。如果您经常看到高 I/O 等待时间,那么我会认为这样的服务器不健康。这实际上并不一定意味着磁盘有问题。同样,与网络一样,它可能表示磁盘无法处理负载。但这也可能意味着实际硬件存在一些问题。

如何将这些知识付诸实践?让我们来了解一下。

健康检查

现在您已经大致了解了如何评估服务器运行状况,现在是讨论如何实际执行运行状况检查的时候了。有几种方法可以做到这一点——主要取决于您选择的监控工具。但总体思路对所有人来说都是一样的。

一种选择是基于监控系统评估服务器运行状况,而监控系统又基于某些指标。例如,您可以创建一些复杂的逻辑来考虑我们上面提到的所有指标。基于此,您可以在监控工具中创建“健康/不健康”条目。

另一种选择是临时执行远程运行状况检查。这意味着您向服务器发送某种调用并等待响应。根据响应,您可以评估服务器运行状况。

此调用可以有多种形式,从简单的 ping (ICMP) 或 TCP 数据包到高级 HTTP 调用,直接调用服务器上运行的软件。简单的调用只会告诉您服务器是否启动。更高级的、基于 HTTP 的调用不仅可以告诉您服务器是否正在运行,还可以告诉您它是否在做它应该做的工作。

总结并寻找先进的监控解决方案

如您所见,完全了解服务器运行状况并不像知道服务器是否已启动和运行那么简单。但是,许多公司仍然这样对待服务器健康。像这样一个非常简单的指标通常可以在服务器实际上存在一些问题时表明它是“健康的”。

如果您不想成为这些公司中的一员,请查看可以帮助您构建更好的服务器健康评估的高级监控解决方案。服务器管理软件就是这样一种工具。无论您在服务器上运行什么操作系统,都可以帮助您避免被无用的警报轰炸。更好的是,它可以为您提供有关服务器健康状况的有用见解。销售团队将很乐意向您展示一个演示和一个有用的、可搜索的博客。

客户经理