第 4 章 收集有关环境的信息

4.1. 监控和可观察性

本章提供了从 Red Hat Virtualization 系统监控和获取指标和日志的方法。这些方法包括:

  • 使用数据仓库和 Grafana 监控 RHV
  • 将指标发送到 Elasticsearch 的远程实例
  • Deploying Insights in Red Hat Virtualization Manager

4.1.1. 使用数据仓库和 Grafana 监控 RHV

4.1.1.1. Grafana 概述

Grafana 是一个基于 Web 的 UI 工具,用于根据数据库名称 ovirt_engine_history 中的 oVirt Data Warehouse PostgreSQL 数据库收集的数据显示报告。有关可用报告仪表板的详情,请查看 Grafana 仪表板Grafana 网站 - 仪表板

来自 Manager 的数据将每分钟收集一次,并在每小时和每日聚合时进行汇总。根据 engine-setup (基本或完整扩展)在数据仓库配置中定义的扩展设置来保留这些数据:

  • Basic (默认)- 为 24 小时保存的样本数据,每小时的数据针对 1 个月、每天保存的数据 - 不会保存每日聚合。
  • 完全 (推荐)保存的样本数据为 24 小时,每小时数据保存了 2 个月,每天 5 年保存的聚合。

完整的样本扩展可能需要将数据仓库迁移到单独的虚拟机。

注意

红帽只支持安装数据仓库数据库、数据仓库服务和 Grafana,它们都与彼此相同,尽管您可以在独立的机器上分别安装这些组件。

4.1.1.2. 安装

当您在 Stand Alone Manager 安装以及自托管引擎安装中运行 Red Hat Virtualization Manager engine-setup 时,Grafana 集成会被默认启用并安装。

注意

Grafana 不会被默认安装,您可能需要在一些情况下手动安装,比如从 RHV 的早期版本执行、恢复备份,或者在将数据仓库迁移到独立的机器时。

手动启用 Grafana 集成:

  1. 将环境设置为全局维护模式:

    # hosted-engine --set-maintenance --mode=global
  2. 登录到要安装 Grafana 的机器。这应该是配置 Data Warehouse 的同一计算机,通常是 Manager 计算机。
  3. 按照如下所示运行 engine-setup 命令:

    # engine-setup --reconfigure-optional-components
  4. 回答 Yes 在该机器上安装 Grafana:

    Configure Grafana on this host (Yes, No) [Yes]:
  5. 禁用全局维护模式:

    # hosted-engine --set-maintenance --mode=none

访问 Grafana 仪表板:

  • 进入 https://<engine FQDN 或 IP 地址>/ovirt-engine-grafana

或者

  • 管理门户的 Web 管理欢迎页面中,点 Monitoring Portal
4.1.1.2.1. 为单点登录配置 Grafana

Manager engine-setup 自动配置 Grafana,以允许 Manager 上的现有用户通过管理门户中的 SSO 登录,但不会自动创建用户。您需要创建新用户(Grafana UI 中的 Invite),确认新用户,然后登录。

  1. 如果尚未定义,在 Manager 中为该用户设置电子邮件地址。
  2. 使用现有 admin 用户(初始配置管理员)登录到 Grafana。
  3. 进入 ConfigurationUsers 并选择 Invite
  4. 输入电子邮件地址和名称,然后选择一个角色。
  5. 使用以下选项之一发送邀请:

    • 选择发送邀请邮件,然后单击提交。对于这个选项,您需要在 Grafana 机器上配置的操作本地邮件服务器。

      或者

    • 选择 Pending Invites

      • 找到您想要的条目
      • 选择 Copy invite
      • 通过直接进入浏览器地址栏或将其发送到另一个用户,复制并使用此链接来创建帐户。

如果您使用 Pending Invites 选项,则不会发送任何电子邮件,且电子邮件地址实际上不需要存在 - 只要作为管理器用户的电子邮件地址配置,任何有效的查找地址都将可以正常工作。

使用这个帐户登录:

  1. 使用具有此电子邮件地址的帐户登录到 Red Hat Virtualization Web 管理欢迎页面。
  2. 选择 Monitoring Portal 来打开 Grafana 仪表板。
  3. 选择 Sign in with oVirt Engine Auth

4.1.1.3. 内置 Grafana 仪表板

以下仪表板可在初始 Grafana 设置中报告 Data Center、Cluster、Host 和 Virtual Machine 数据:

表 4.1. 内置 Grafana 仪表板

仪表板类型内容

执行仪表板

  • 系统仪表板 - 根据最新配置,在系统中的主机和存储域的资源使用和时间。
  • 数据中心仪表板 - 根据最新配置,在所选数据中心中的集群、主机和存储域的资源使用、峰值和时间。
  • 集群仪表板 - 根据最新配置,对所选集群中的主机和虚拟机的资源使用、峰值、过量和运行时间。
  • 主机仪表板 - 选择期间内选定主机的最新和历史配置详情和资源使用情况指标。
  • Virtual Machine dashboard - 在所选时间段内为所选虚拟机的最新和历史配置详情和资源使用情况指标。
  • 执行仪表板 - 在选定时间段内为选定集群中主机和虚拟机的用户资源使用情况和操作系统数量。

清单仪表板

  • 清单仪表板 - 根据最新配置,对所选数据中心的主机、虚拟机和运行虚拟机、资源使用量和过量使用率的数量。
  • 主机清单仪表板 - FQDN、VDSM 版本、操作系统、CPU 模型、CPU 内核、内存大小、创建日期、删除日期,以及所选主机的硬件详情。
  • Storage Domains Inventory dashboard - 域类型、存储类型、可用磁盘大小、使用磁盘大小、创建日期以及所选存储域中删除日期。
  • 虚拟机清单仪表板 - 根据最新配置,模板名称、操作系统、CPU 内核、内存大小、创建日期和删除选定虚拟机的日期。

服务级别仪表板

  • 运行时间仪表板 - 计划停机、计划外停机时间以及主机、高可用性虚拟机和选定集群中所有虚拟机的总时间。
  • 主机正常运行时间仪表板 - 选择期间内所选主机的正常运行时间、计划停机时间和计划外停机时间。
  • 虚拟机正常运行时间仪表板 - 选择期间内所选虚拟机的正常运行时间、计划停机时间和计划外停机时间。
  • 集群服务质量

    • 主机仪表板 - 所选主机在选定时间段内执行以上的时间及低于 CPU 和内存阈值。
    • Virtual Machines 仪表板 - 所选虚拟机在所选时间段内执行的虚拟机的时间及低于 CPU 和内存阈值。

趋势仪表板

  • 趋势仪表板 - 按内存和所选集群中 CPU 按内存和 CPU 在选定期间内 5 个最多使用和最少使用的虚拟机和主机的用量率。
  • 主机 Trend dashboard - 在所选时间段内为所选主机使用资源用量(虚拟机、CPU、内存和网络 Tx/Rx)。
  • 虚拟机 Trend 仪表板 - 在所选时间段内为所选虚拟机消耗(CPU、内存、网络 Tx/Rx、磁盘 I/O)。
  • 主机资源使用仪表板 - 在选定时间段内为所选主机(虚拟机、CPU、内存、网络 Tx/Rx)的每日和每小时资源使用量(虚拟机数量、CPU、内存、网络 Tx/Rx)。
  • 虚拟机资源使用仪表板 - 在选定时间段内为所选虚拟机(CPU、内存、网络 Tx/Rx、磁盘 I/O)的每日和每小时的资源使用量(CPU、内存、网络 Tx/Rx、磁盘 I/O)。
注意

Grafana 仪表板包括到 Red Hat Virtualization 管理门户的直接链接,允许您快速查看集群、主机和虚拟机的详情。

4.1.1.4. 自定义 Grafana 仪表板

您可以根据报告需求创建自定义仪表板或复制并修改现有仪表板。

注意

无法自定义内置仪表板。

4.1.2. 将指标和日志发送到 Elasticsearch 的远程实例

注意

红帽不拥有或维护 Elasticsearch。您需要熟悉 Elasticsearch 设置和维护来部署这个选项。

您可以配置 Red Hat Virtualization Manager 和主机,将指标数据和日志发送到现有的 Elasticsearch 实例。

为此,请运行 Ansible 角色,它将在 Manager 和所有主机上配置 collectdrsyslog,以收集 engine.logvdsm.logcollectd 指标,并将它们发送到 Elasticsearch 实例。

如需更多信息,包括可用 Metrics Schema 的说明的完整列表,请参阅将 RHV 监控数据发送到远程 Elasticsearch 实例

4.1.2.1. 安装 collectd 和 rsyslog

在主机上部署 collectdrsyslog,以收集日志和指标。

注意

您不需要为新主机重复此步骤。每个添加的新主机由 Manager 自动配置,以便在 host-deploy 期间将数据发送到 Elasticsearch。

流程

  1. 使用 SSH 登录 Manager 机器。
  2. 复制 /etc/ovirt-engine-metrics/config.yml.example 以创建 /etc/ovirt-engine-metrics/config.yml.d/config.yml

    # cp /etc/ovirt-engine-metrics/config.yml.example /etc/ovirt-engine-metrics/config.yml.d/config.yml
  3. 编辑 config.yml 中的 ovirt_env_nameelasticsearch_host 参数,并保存文件。以下附加参数可添加到文件中:

    use_omelasticsearch_cert: false
    rsyslog_elasticsearch_usehttps_metrics: !!str off
    rsyslog_elasticsearch_usehttps_logs: !!str off
    • 使用证书时,将 use_omelasticsearch_cert 设置为 true
    • 要禁用日志或指标,请使用 rsyslog_elasticsearch_usehttps_metrics 和/或 rsyslog_elasticsearch_usehttps_logs 参数。
  4. 在主机上部署 collectdrsyslog

    # /usr/share/ovirt-engine-metrics/setup/ansible/configure_ovirt_machines_for_metrics.sh

    configure_ovirt_machines_for_metrics.sh 脚本运行包含 linux-system-roles (请参阅使用 RHEL 中的系统角色管理和配置任务)的 Ansible 角色,并使用它来在主机上部署和配置 rsyslogrsyslogcollectd 收集指标并将其发送到 Elasticsearch。

4.1.2.2. 日志记录模式和分析日志

使用 Discover 页面以交互方式探索从 RHV 收集的数据。收集的每个结果集合都被称为 文档。文档从以下日志文件收集:

  • engine.log - 包含所有 oVirt Engine UI 崩溃、Active Directory 查找、数据库问题和其他事件。
  • vdsm.log - VDSM 的日志文件、虚拟化主机上的管理器代理,包含主机相关事件。

以下字段可用:

parameterdescription

_id

文档的唯一 ID

_index

文档所属索引的 ID。带有 project.ovirt-logs 前缀的索引是 Discover 页面中的唯一相关索引。

hostname

对于 engine.log,这是 Manager 的主机名。对于 vdsm.log,这是主机的主机名。

level

日志记录严重性为:TRACE、DEBUG、INFO、WARN、ERROR、FATAL。

message

文档消息的正文。

ovirt.class

生成此日志的 Java 类名称。

ovirt.correlationid

仅限 engine.log。此 ID 用于关联 Manager 执行单个任务的多个部分。

ovirt.thread

生成日志记录的 Java 线程的名称。

tag

可用于过滤数据的预定义元数据集合。

@timestamp

所发出的 [time](Troubleshooting#information-is-is-kibana)。

_score

N/A

_type

N/A

ipaddr4

机器的 IP 地址。

ovirt.cluster_name

仅限 vdsm.log。主机所属的集群名称。

ovirt.engine_fqdn

Manager 的 FQDN。

ovirt.module_lineno

运行在 ovirt.class 中定义的命令的文件和行号。

4.1.3. 部署 Insights

要在安装有 Red Hat Virtualization Manager 的现有 Red Hat Enterprise Linux (RHEL)系统中部署 Red Hat Insights,请完成以下步骤:

  • 将该系统注册到 Red Hat Insights 应用程序。
  • 启用 Red Hat Virtualization 环境中的数据收集。

4.1.3.1. 将系统注册到 Red Hat Insights

注册系统,以与 Red Hat Insights 服务通信,并查看 Red Hat Insights 控制台中显示的结果。

[root@server ~]# insights-client --register

4.1.3.2. 启用 Red Hat Virtualization 环境中的数据收集

修改 /etc/ovirt-engine/rhv-log-collector-analyzer/rhv-log-collector-analyzer.conf 文件以包含以下行:

upload-json=True

4.1.3.3. 查看 Insights 结果以 Insights 控制台

可以在 智能分析工具控制台 中查看系统和基础架构结果。Overview 选项卡提供基础架构当前风险的仪表板视图。从起点开始,您可以调查特定规则如何影响您的系统,或者采用基于系统的方法来查看与系统造成风险的所有匹配。

流程

  1. 选择 Rule hits by severity,按照它们对基础架构构成的 Total Risk 来查看规则(关键重要中等)。

    或者

  2. 根据类型选择 Rule hits 查看您的基础架构中的潜在风险的类型 (Availability, Stability, Performance, 或 Security).
  3. 按名称搜索特定规则,或者滚动规则列表来查看有关风险、系统公开和可用性的 Ansible Playbook 的高级别信息,以自动进行修复。
  4. 点击规则查看规则的描述,从知识库文章中了解更多相关信息,并查看受影响的系统列表。
  5. 点系统查看有关检测到的问题的具体信息,以及解决问题的步骤。