分析和比较主机
我们很想了解您的反馈!请告诉我们您的想法!
主机页面提供由易于使用的界面(称为 Lens)支持的指标驱动型基础设施视图。在主机页面上,您可以查看健康和性能指标,以帮助您快速:
- 分析和比较主机,无需构建新的仪表板。
- 识别哪些主机触发的告警最多。
- 快速排查并解决问题。
- 查看历史数据以排除误告警并确定根本原因。
- 过滤和搜索数据,以重点关注您最关心的主机。
要在以下环境中访问主机页面:
- Elastic Stack,请在主菜单中找到基础设施,或使用全局搜索字段。
- Serverless,请转到 Elastic Observability Serverless 项目中的基础设施 → 主机。
要了解有关此页面上显示的指标的更多信息,请参阅指标参考文档。
没有看到任何指标?
如果您尚未添加数据,请单击添加数据 → 主机并选择您要如何监控主机——OpenTelemetry 或 Elastic Agent。
要了解有关收集主机数据的更多信息,请参阅
主机页面提供了多种查看主机指标的方式
- 概览图块显示由您的搜索返回的主机数量以及关键指标的平均值,包括 CPU 使用率、标准化负载和内存使用率。还会显示最大磁盘使用率。
- 主机限制控制页面上显示的最大主机数。默认值为 50,这意味着页面会根据最新的时间戳显示前 50 台主机的数据。您可以增加主机限制以查看更多主机的数据,但这样做可能会影响查询性能。
- 主机表显示每台主机的指标明细,以及任何存在活动告警的主机的告警计数。您可能需要翻页查看列表或更改每页显示的行数才能看到所有主机。
- 每个主机名都是指向主机详情页面的活动链接,在此您可以探索与所选主机相关的增强指标和其他可观测性数据。
- 表格列是可排序的,但请注意,排序行为适用于已返回的数据集。
- 页面底部的选项卡显示您的搜索返回的所有主机的指标、日志和告警的概览。
有关创建和查看告警的更多信息,请参阅告警。
主机页面提供了多种机制来过滤页面上的数据
使用 Kibana 查询语言 输入搜索查询,以显示符合您搜索条件的指标。例如,要查看运行在 Linux 上的主机的指标,请输入
host.os.type : "linux"。否则,您将看到所有受监控主机的指标(最多达到主机限制所指定的数量)。选择其他条件以过滤视图
在操作系统列表中,选择一个或多个操作系统,以包含(或排除)运行所选操作系统的主机的指标。
在云提供商列表中,选择一个或多个云提供商,以包含(或排除)运行在所选云提供商上的主机的指标。
在服务名称列表中,选择一个或多个服务名称,以包含(或排除)运行所选服务的主机的指标。服务必须通过 APM 进行检测才能可过滤。此过滤器对于比较不同主机以确定问题是出在服务上还是出在运行它的主机上非常有用。
提示过滤后的结果按文档数排序。文档数是 Elastic 接收到的符合您过滤条件的主机的事件数量。
在时间过滤器中更改日期范围,或在可视化图表上单击并拖动以更改日期范围。
在可视化图表中,单击线条上的一个点并应用过滤器,以将页面上的其他可视化图表设置为相同的时间和/或主机。
要了解有关在 Kibana 中过滤数据的更多信息,请参阅 Kibana 概念。
在指标选项卡上,查看指标随时间变化的趋势,包括 CPU 使用率、标准化负载、内存使用率、磁盘使用率以及与磁盘 IOPs 和吞吐量相关的其他指标。将光标悬停在线条上即可查看特定时间点的指标。在每个可视化图表内部,您可以选择在 Lens 中打开该可视化图表。
要查看特定主机的指标,请参阅查看主机详情。
指标可视化图表由 Lens 提供支持,这意味着如果您需要更大的灵活性,可以在 Lens 中继续进行分析。将光标悬停在可视化图表上,然后单击右上角的省略号图标即可在 Lens 中打开该可视化图表。
在 Lens 中,您可以检查用于创建该可视化图表的所有字段和公式,对可视化图表进行修改,并保存您的更改。
有关使用 Lens 的更多信息,请参阅关于 Lens 的 Kibana 文档。
在主机页面的日志选项卡上,查看您监控的系统的日志并搜索特定的日志条目。此视图显示当前查询返回的所有主机的日志。
要查看特定主机的日志,请参阅查看主机详情。
要获得带有附加信息(包括日志模式、每个日志的事件数、变更类型以及变更发生的时间)的增强日志视图,请开启 observability:newLogsOverview 高级设置。
在主机页面的告警选项卡上,查看活动告警以精确定位问题。使用此视图找出哪些主机触发了告警并确定根本原因。此视图显示当前查询返回的所有主机的告警。
在操作菜单中,您可以选择:
- 将告警添加到新建或已有的 Case 中。
- 查看规则详情。
- 查看告警详情。
要查看特定主机的告警,请参阅查看主机详情。
为什么主机页面缺少告警?
如果您的规则触发了告警,但未出现在主机页面上,请编辑规则并确保它们已正确配置为将主机名与告警关联起来:
- 对于指标阈值或自定义阈值规则,请在告警分组依据字段中选择
host.name。 - 对于资产列表规则,请在条件下的节点类型中选择主机。
要了解有关创建和管理规则的更多信息,请参阅告警。
Schema 菜单显示当前查询可用的数据收集 Schema。如果来自 Elastic System 集成和 OpenTelemetry 的主机数据均可用,Schema 默认为 OpenTelemetry。选择 Elastic System Integration 可查看由 Elastic System 集成收集的主机数据。
有关 OpenTelemetry 和 Elastic System 集成支持的数据类型的更多信息,请参阅主机指标。
无需离开主机页面,您即可查看与基础设施中运行的每台主机相关的增强指标。在主机列表中,找到要监控的主机,然后单击切换带有详情的对话框图标
以显示主机详情浮层。
- OpenTelemetry 主机不可用异常检测,因此没有异常选项卡。
- Lens 图表使用 OpenTelemetry 字段计算公式。
要展开浮层并查看更多详情,请单击右上角的以页面形式打开。
主机详情浮层包含以下选项卡:
概述
进程
进程选项卡列出了在主机上运行的进程总数 (system.process.summary.total),以及处于以下各种状态的进程总数:
- 运行中 (
system.process.summary.running) - 休眠 (
system.process.summary.sleeping) - 已停止 (
system.process.summary.stopped) - 空闲 (
system.process.summary.idle) - 终止 (
system.process.summary.dead) - 僵尸 (
system.process.summary.zombie) - 未知 (
system.process.summary.unknown)
Top 进程表中列出的进程基于 CPU 消耗最多和内存消耗最多的进程聚合。Top 进程的数量由 process.include_top_n.by_cpu 和 process.include_top_n.by_memory 控制。
| 命令 | 启动进程的完整命令行,包括可执行文件的绝对路径以及所有参数 (system.process.cmdline)。 |
| PID | 进程 ID (process.pid)。 |
| 用户 | 用户名 (user.name)。 |
| CPU | 自上一次事件以来进程占用的 CPU 时间百分比 (system.process.cpu.total.pct)。 |
| 子模块名称。例如,autoupdate 是 "config system autoupdate schedule" 日志中的子模块 | 进程启动的时间 (system.process.cpu.start_time)。 |
| Memory | 进程在主内存 (RAM) 中占用的内存百分比 (system.process.memory.rss.pct)。 |
| 状态 | 进程的当前状态和进程总数 (system.process.state)。预期值为:running、sleeping、dead、stopped、idle、zombie 和 unknown。 |
Universal Profiling
Universal Profiling 选项卡可细化显示应用程序代码级别的 CPU 使用率。从这里,您可以找到资源使用率的来源,并识别可以优化的代码以降低基础设施成本。Universal Profiling 选项卡包含以下视图:
| 火焰图 (Flamegraph) | 消耗最多资源的函数的直观呈现。每个矩形代表一个函数。矩形宽度代表在函数中花费的时间。堆叠矩形的数量代表堆栈深度,即达到当前函数所调用的函数数量。 |
| Top 10 函数 | 主机上资源消耗最多的代码行列表。查看采样最频繁的函数,并按 CPU 时间、年化 CO2 和年化成本估算进行拆分。 |
有关 Universal Profiling 的更多信息,请参阅 Universal Profiling 文档。
日志
日志选项卡显示与您选择的主机相关的日志。默认情况下,日志选项卡显示以下列:
| 时间戳 | 来自 timestamp 字段的日志条目的时间戳。 |
| 消息 | 从文档中提取的消息。此字段的内容取决于日志消息的类型。如果未检测到特殊的日志消息类型,则使用 Elastic Common Schema (ECS) 基础字段 message。 |
要在 Logs 应用中查看日志以进行详细分析,请单击在 Logs 中打开。
异常
异常选项卡显示特定主机的每个单指标异常检测作业的列表。默认情况下,异常作业按时间排序,首先显示最近的作业。
除了每个异常作业的名称外,还会列出严重性得分等于或高于 50 的已检测到的异常。这些得分代表在所选时间段内“警告”或更高等级的严重性。summary 值代表异常记录结果中主机指标的实际值与预期(“典型”)值之间的增量。
要下钻分析指标异常,请选择操作 → 在 Anomaly Explorer 中打开。您还可以选择操作 → 在资产列表中显示,以查看按特定指标过滤的主机资产列表页面。
Osquery
对于 Observability serverless 项目,需要以下角色之一才能使用 Osquery。
- Admin:拥有对项目配置的完全访问权限,包括通过 Elastic Agent 安装、管理和运行 Osquery 查询的能力。此角色支持对受监控主机进行即时(实时)查询和计划查询。管理员可以直接在 Elasticsearch 中查看和分析结果。
- Editor:拥有有限的访问权限。Editor 可以运行预先配置的查询,但在设置和计划新查询(特别是需要更广泛访问权限或调整权限的查询)方面可能权限受限。
- Viewer:对数据具有只读访问权限,包括在更高权限的用户进行了配置的情况下查看 Osquery 结果。Viewer 本身无法启动或计划 Osquery 查询。
要了解有关角色的更多信息,请参阅分配用户角色和权限。
您必须有一个活动的 Elastic Agent,且分配给它的 Agent 策略包含 Osquery Manager 集成。
Osquery 选项卡允许您构建 SQL 语句来查询主机数据。您可以针对 Elastic Agent 创建并运行实时或已保存的查询。Osquery 结果存储在 Elasticsearch 中,以便您可以使用 Elastic Stack 来搜索、分析和可视化主机指标。要创建已保存的查询和添加计划查询组,请参阅 Osquery。
要查看有关查询的更多信息,请单击状态选项卡。查询状态可能为 success、error(伴有错误消息)或 pending(如果 Elastic Agent 处于脱机状态)。
其他选项包括:
- 在 Discover 中查看,以搜索、过滤和查看有关主机指标字段结构的信息。要了解更多信息,请参阅 Discover。
- 在 Lens 中查看,以根据主机指标字段创建可视化图表。要了解更多信息,请参阅 Lens。
- 在全屏模式下查看结果。
- 添加、移除、重新排序和调整列大小。
- 按升序或降序对字段名称进行排序。
在主机页面上显示的指标在基础设施资产列表页面上查看主机时也可用。
您在图表中看到虚线的原因有以下几种。
在此示例中,数据发送速率低于 Lens 图表间隔。虚线连接已知数据点,以便更容易地可视化数据中的趋势。
图表间隔会根据所选的时间持续时间自动设置。要解决此问题,请更改页面顶部选择的时间范围。
想要在保持所选时间持续时间的同时进一步深入挖掘?将光标悬停在您感兴趣的图表上,然后选择选项 → 在 Lens 中打开。进入 Lens 后,您可以临时调整图表间隔。请注意,此更改不会持久保留在主机视图中。
实线表示图表间隔设置适合数据传输速率。在此示例中,实线变成了虚线——表明数据缺失。您可能需要调查该时间段以确定是否存在停机或问题。
在屏幕截图所示的示例中,数据发送速率低于 Lens 图表间隔,并且存在缺失数据。
这些缺失的数据乍一看很难发现。绿色框勾勒出常规的数据发送,而缺失的数据用粉色勾勒。与上述场景类似,您可能需要调查存在缺失数据的时间段,以确定是否存在停机或问题。
在主机视图中,您可能会在主机名之前看到一个问号图标(),并带有工具提示注释说明该主机已被 APM 检测到。
当某台主机被 APM 检测到,但没有收集完整的指标(例如通过 Elastic System 集成)时,它将被列为带有由 APM 收集的部分指标的主机。
这可能意味着 APM Agent 未被配置为使用正确的主机名。相反,该主机名可能是容器名称或 Kubernetes pod 名称。
要获取正确的主机名,您需要设置一些额外的配置选项,具体为 Kubernetes 数据 中所述的 system.kubernetes.node.name。
如果您同时拥有来自 Elastic System 集成和 OpenTelemetry (OTel) 的主机数据,选择器默认为 OTel。如果您想查看当前查询的 Elastic System 集成数据,请从 Schema 选择器中选择 Elastic System Integration。