2.2. History 数据库

2.2.1. Red Hat Enterprise Virtualization 历史数据库

Red Hat Enterprise Virtualization Reports 使用 Red Hat Enterprise Virtualization 历史数据库(ovirt_engine_history)来跟踪引擎数据库。

重要

要产生有实际意义的报表,历史数据库中必须包括足够多的数据。多数报表都会使用每日积累的数据,因此数据库中最少需要有几天的数据才能产生有实际意义的报表。特别是对于趋势报表(trend report),因为它们反映的是一个长期的趋势,所以需要有足够的历史数据来产生它们。

2.2.2. 跟踪配置历史

ETL 服务(ovirt-engine-dwhd)会跟踪三类的变化:
  • 一个新的项被添加到引擎数据库 - ETL 服务会把这个变化作为一条新的记录添加到 ovirt_engine_history 数据库。
  • 一个已经存在的项被更新 - ETL 服务会把这个变化作为一条新的记录添加到 ovirt_engine_history 数据库。
  • 一个项被从引擎数据库中删除 - 一条标识相关项被删除的新记录被添加到 ovirt_engine_history 数据库中。被删除的项只是被标记为删除,而不会被物理删除。
ovirt_engine_history 数据库中的配置表和 engine 数据库的配置表有一些不同。其中最直观的不同是它有较少的配置列。这是因为一些特定的配置项对于报表来说没有什么实际的意义,不包括它们可以减小数据库的大小。另外,engine 数据库中的几个表中的一些列在 ovirt_engine_history 数据库中被保存为一个单一的表,并有不同的列名。所有的配置表包括:
  • history_id 记录项的配置版本;
  • create_date 记录项被添加到系统的时间;
  • update_date 记录项被更新的时间;
  • delete_date 记录项被从系统中删除的时间。

2.2.3. 记录统计历史

ETL 服务会把每分钟收集的数据保存在统计表中。这些基于每分钟的数据最少会被保持 24 小时,最多可以保存 48 小时(取决于最后一次运行删除任务的时间)。超过 2 个小时的基于每分钟的数据会被积累为每小时的数据,并保持两个月。超过 2 天的每小时的数据会被积累为每天的数据,并保持 5 年。
每小时的数据和每天的数据可以在 hourly 和 daily 的表中获得。
每一个统计数据会保存在它们相应的累计级别的表中:samples、hourly 和 daily 历史表。所有的历史表也都包括一个 history_id 列来区分每一个数据行。这些表也包括一个主机的配置版本来记录和以前配置的关系。

2.2.4. ovirt-engine-dwhd.conf 中的 Data Warehouse 服务的应用设置

以下列出了用来配置 Data Warehouse 服务的应用设置选项,这些选项可以在 /usr/share/ovirt-engine-dwh/services/ovirt-engine-dwhd/ovirt-engine-dwhd.conf 文件中使用。而对默认设置值的改变包括在一个覆盖文件中(/etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/)。在对设置进行修改后,需要重启 Data Warehouse 服务。

表 2.1. ovirt-engine-dwhd.conf 应用设置变量

变量名默认值备注
DWH_DELETE_JOB_HOUR3删除命令运行的时间的小时值。它需要是一个 023 间的值,其中 0 代表午夜 。
DWH_SAMPLING60为生成统计数据表采集数据的间隔时间(以秒为单位)。
DWH_TABLES_KEEP_SAMPLES24DWH_SAMPLING 数据被保存的小时数。当数据存在的时间超过两小时后,会被归纳到每小时的数据中。
DWH_TABLES_KEEP_HOURLY1440每小时的数据需要被保存的小时数。它的默认值是 60 天。当数据存在的时间超过两天后,会被归纳到每天的数据中。
DWH_TABLES_KEEP_DAILY43800数据需要被保存的小时数。它的默认值是 5 年。
DWH_ERROR_EVENT_INTERVAL300000错误被记录到 Manager 的 audit.log 文件中的最小间隔时间(以毫秒为单位)。

2.2.5. 跟踪标签(Tag)历史

ETL 服务会每分钟收集管理门户显示的标签信息,并把这些数据保存在标签历史表中。ETL 服务会跟踪 5 类改变:
  • 一个标签在管理门户中被创建 - ETL 服务复制标签的详情、标签在标签树中的位置以及和标签树中的其它项间的关系。
  • 一个项在管理门户中被添加到标签树中 - ETL 服务会把它作为一个新的记录保存在 ovirt_engine_history 数据库中。
  • 一个标签被更新 - ETL 服务会把标签改变的信息作为一个新的记录保存在 ovirt_engine_history 数据库中。
  • 一个项或标签分支被从管理门户中删除 - 一条标识相关标签被删除的新记录被添加到 ovirt_engine_history 数据库中。被删除的标签只是被标记为删除,而不会被物理删除。
  • 一个标签分支被移走 - 一条标识相关操作的新记录被添加到数据库中。被移走的标签只是被标记为更新,而不会被物理更新。

2.2.6. 对历史数据库的只读访问

总结

您可以创建一个只读的 PostgreSQL 用户,这个用户将只能对 ovirt_engine_history 数据库的数据进行读操作,而没有权限进行写操作。以下步骤必须在历史数据库所在的系统上进行。

过程 2.1. 对历史数据库的只读访问

  1. 创建对历史数据库只有只读权限的用户:
    # psql -U postgres -c "CREATE ROLE [user name] WITH LOGIN ENCRYPTED PASSWORD '[password]';" -d ovirt_engine_history
  2. 赋予新创建的用户连接到历史数据库的权限:
    # psql -U postgres -c "GRANT CONNECT ON DATABASE ovirt_engine_history TO [user name];"
  3. 赋予新创建的用户使用 public schema 的权限:
    # psql -U postgres -c "GRANT USAGE ON SCHEMA public TO [user name];" ovirt_engine_history
  4. 创建新建用户需要的其它权限,并把它们保存到一个文件:
    # psql -U postgres -c "SELECT 'GRANT SELECT ON ' || relname || ' TO [user name];' FROM pg_class JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace WHERE nspname = 'public' AND relkind IN ('r', 'v');" --pset=tuples_only=on  ovirt_engine_history > grant.sql
  5. 使用您在上一步创建的文件来为新创建的用户赋予权限:
    # psql -U postgres -f grant.sql ovirt_engine_history
  6. 删除被用来为新创建的用户赋予权限的文件:
    # rm grant.sql
结果

您可以使用以下命令来以新创建的用户身份访问 ovirt_engine_history 数据库:

# psql -U [user name] ovirt_engine_history
针对表和视图(view)的 SELECT 命令会成功运行,而修改的命令会失败。

2.2.7. Reports 示例

以下的示例展示了通过查询 ovirt_engine_history 数据库来产生报表的方法。数据库为用户提供了访问大量数据的机会,并使产生多种复杂的报表成为可能。这些实例只展示了基本的报表需求。
在一个主机上的资源利用率

这个实例会生成一个关于一个主机上的资源使用情况的报表。这个报表包括了每隔 1 分钟所获得的资源使用情况的数据(CPU 使用的百分比和内存使用的百分比)。这个报表可以帮助用户了解一个特定主机在一个较短时间段内的负载情况。请使用您的环境中的实际值来替换 SQL 查询命令中的 where 部分的 host_namehistory_datetime

例 2.1. 一个主机的资源利用率的报表查询

          
 select history_datetime as DateTime, cpu_usage_percent as CPU, memory_usage_percent as Memory
    from host_configuration, host_samples_history
    where host_configuration.host_id = host_samples_history.host_id
    and host_name = 'example.labname.abc.company.com'
    and host_configuration.history_id in (select max(a.history_id)
    						from host_configuration as a
    						where host_configuration.host_id = a.host_id)
    and history_datetime >= '2011-07-01 18:45'
    and history_datetime <= '2011-07-31 21:45'
 

这个查询所产生的结果表的每一行代表了每一分钟的数据:

表 2.2. 一个主机的资源利用率的数据实例

DateTimeCPUMemory
2010-07-01 18:45420
2010-07-01 18:46420
2010-07-01 18:47421
2010-07-01 18:48330
2010-07-01 18:49330
2010-07-01 18:50251
通过使用第三方的数据分析软件(如 OpenOffice.org CalcMicrosoft Excel)可以把这些数据以图表的形式显示。在这个实例中,我们使用 OpenOffice.org Calc 中的 Chart Wizard 功能生成了 图 2.1 “单一主机资源利用率线型图”,它直观地显示了一个主机在一段时间内的资源使用情况。
单一主机资源利用率线型图

图 2.1. 单一主机资源利用率线型图

所有主机的资源利用率

这个实例会生成一个在 Red Hat Enterprise Virtualization Manager 环境中的所有主机的资源使用率的报表。这个报表包括了每隔 1 小时所获得的资源使用情况的数据(CPU 使用的百分比和内存使用的百分比)。它可以帮助用户了解整个环境中的所有主机在一个较长时间段内的负载情况。以下是用来产生这个报表的 SQL 查询命令,请使用您的环境中的实际值来替换 where 部分中的 history_datetime

例 2.2. 所有主机的资源利用率的报表查询


    select extract(hour from history_datetime) as Hour, avg(cpu_usage_percent) as CPU, avg(memory_usage_percent) as Memory
    from host_hourly_history
    where history_datetime >= '2011-07-01' and history_datetime < '2011-07-31'
    group by extract(hour from history_datetime)
    order by extract(hour from history_datetime)


这个查询所产生的结果表的每一行代表了每一小时的数据:

表 2.3. 所有主机资源利用率的数据实例

HourCPUMemory
03940
13838
23732
33545
43537
53637
通过使用第三方的数据分析软件(如 OpenOffice.org CalcMicrosoft Excel)可以把这些数据以图表的形式显示。在这个实例中,我们使用 OpenOffice.org Calc 中的 Chart Wizard 功能生成了 图 2.2 “这个系统主机的资源利用率线型图”,它直观地显示了整个环境中的所有主机在一段时间内的资源使用情况。
这个系统主机的资源利用率线型图

图 2.2. 这个系统主机的资源利用率线型图

最新虚拟机配置的标签过滤

这个实例使用历史标签表来过滤最新的虚拟机配置列表。它展示了使用 Red Hat Enterprise Virtualization Manager 中内建的标签树来过滤配置列表的功能。以下是用来产生这个报表的 SQL 查询命令,它使用了一个预定义的函数来获得标签历史 ID 并返回这个标签在管理门户中的最新名字的标签路径。请使用您的环境中的实际值来替换 where 部分中的值。

例 2.3. 

	SELECT vm_name
  FROM vm_configuration
		inner join latest_tag_relations_history on (vm_configuration.vm_id = latest_tag_relations_history.entity_id)
			inner join latest_tag_details on (latest_tag_details.tag_id = latest_tag_relations_history.parent_id)
 WHERE getpathinnames(latest_tag_details.history_id) like '/root/tlv%'
这个查询命令返回的结果表包括了所有附加到这个标签的虚拟机的名称:

表 2.4. 最新虚拟机配置的标签过滤

vm_name
RHEL6-Pool-67
RHEL6-Pool-5
RHEL6-Pool-6
RHEL6-23
列出当前虚拟机的名称、类型和操作系统

这个实例会生成一个在 Red Hat Enterprise Virtualization Manager 环境中的所有当前虚拟机的名称、类型和操作系统列表。它展示了对 ENUM 的使用。以下是用来产生这个报表的 SQL 查询命令:

例 2.4. 

SELECT 	vm_name, vm_type, operating_system
  FROM 	vm_configuration
		inner join enum_translator as vm_type_value on (vm_type_value.enum_type = 'VM_TYPE' and vm_configuration.vm_type = vm_type_value.enum_key)
		inner join enum_translator as os_value on (os_value.enum_type = 'OS_TYPE' and vm_configuration.operating_system = os_value.enum_key)
这个查询命令返回的结果表包括了虚拟机的名称、操作系统和虚拟机类型:

表 2.5. 当前虚拟机的名称、类型和操作系统

vm_namevm_typeoperating_system
RHEL6-Pool-2DesktopRHEL 6 x64
RHEL6-Pool-1DesktopRHEL 6 x64
RHEL6-Pool-3DesktopRHEL 6 x64
RHEL6-Pool-4DesktopRHEL 6 x64
RHEL6-Pool-5DesktopRHEL 6 x64

2.2.8. 统计数据历史视图

2.2.8.1. 用于统计数据的 History 视图

以下介绍了用户为了生成报表可以进行查询的 history 统计数据视图。

2.2.8.2. 数据中心统计数据视图

系统中的每个数据中心的历史统计数据。

表 2.6. 系统中的每个数据中心的历史统计数据

名称类型描述
history_idbigint数据表中的本行数据的 ID。
history_datetime带有时区的时间戳历史数据行的时间戳
datacenter_iduuid数据中心的 ID。
datacenter_statussmallint
  • -1 - Unknown Status(只被用来指示 ETL 有问题)
  • 1 - Up
  • 2 - Maintenance
  • 3 - Problematic
minutes_in_statusdecimal在整合的时间内,数据中心处于 datacenter_status 栏中所显示的状态的总时间(以分钟为单位)。例如,在一个小时内,一个数据中心有 55 分钟处于 up 状态,5 分钟处于维护模式,这一个小时将会有两行。其中一行的 datacenter_status 为 Up,minutes_in_status 为 55;另外一行的 datacenter_status of 为 Maintenance,minutes_in_status 为 5。
datacenter_configuration_version整数在采集数据时数据中心的配置版本。

2.2.8.3. 存储域统计数据视图

表 2.7. 系统中的每个存储域的历史统计数据

名称类型描述
history_idbigint数据表中的本行数据的 ID。
history_datetime带有时区的时间戳历史数据行的时间戳。
storage_domain_iduuid系统中的存储域的唯一 ID。
available_disk_size_gb整数磁盘中可用的空间(以 GB 为单位)。
used_disk_size_gb整数磁盘中已使用的空间总量(以 GB 为单位)。
storage_configuration_version整数在采集数据时存储域的配置版本。
storage_domain_statussmallint存储域的状态。
minutes_in_statusdecimal在整合的时间内,存储域处于状态栏中所显示的状态的总时间(以分钟为单位)。例如,在一个小时内,一个存储域有 55 分钟处于活跃状态,5 分钟处于不活跃状态,这一个小时将会有两行。其中一行的状态值是“Active”, minutes_in_status 为 55;另外一行的状态值是“Inactive”,minutes_in_status 为 5。

2.2.8.4. 主机统计数据视图

表 2.8. 系统中的每个主机的历史统计数据

名称类型描述
history_idbigint数据表中的本行数据的 ID。
history_datetime带有时区的时间戳历史数据行的时间戳
host_iduuid系统中主机的唯一 ID。
host_statussmallint
  • -1 - Unknown Status(只被用来指示 ETL 有问题)
  • 1 - Up
  • 2 - Maintenance
  • 3 - Problematic
minutes_in_statusdecimal在整合的时间内,主机处于状态栏中所显示的状态的总时间(以分钟为单位)。例如,在一个小时内,一个主机有 55 分钟处于 up 状态,5 分钟处于维护模式,这一个小时将会有两行。其中一行的状态为 Up,minutes_in_status 为 55;另外一行的状态是 Down,minutes_in_status 为 5。
memory_usage_percentsmallint主机上内存使用的百分比。
max_memory_usagesmallint在一个整合的时间段内,最大的内存使用百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
cpu_usage_percentsmallint主机上使用的 CPU 百分比。
max_cpu_usagesmallint在一个整合的时间段内,最大的 CPU 使用百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
ksm_cpu_percentsmallintksm 在主机上使用的 CPU 百分比。
max_ksm_cpu_percentsmallint在一个整合的时间段内,最大的 KSM 使用百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
active_vmssmallint在指定整合时间段中活跃虚拟机的平均数量。
max_active_vmssmallint在一个整合的时间段内,最大的活跃虚拟机的数量。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
total_vmssmallint在指定整合时间段中,主机上的所有虚拟机的平均数量。
max_total_vmssmallint在一个整合的时间段内,所有虚拟机的最大数量。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
total_vms_vcpussmallint分配给主机的 VCPU 的总数量。
max_total_vms_vcpussmallint在一个整合的时间段内,所有 VCPU 的最大数量。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
cpu_loadsmallint主机的 CPU 负载。
max_cpu_loadsmallint在一个整合的时间段内,最大的 CPU 负载。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
system_cpu_usage_percentsmallint主机上使用的 CPU 百分比。
max_system_cpu_usage_percentsmallint在一个整合的时间段内,最大的系统 CPU 使用的百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
user_cpu_usage_percentsmallint主机上使用的用户 CPU 百分比。
max_user_cpu_usage_percentsmallint在一个整合的时间段内,最大的用户 CPU 使用的百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
swap_used_mb整数使用的主机交换分区的大小(MB)。
max_swap_used_mb整数在一个整合的时间段内,使用的最大主机交换分区的百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
host_configuration_version整数采样时的主机配置版本。
ksm_shared_memory_mbbigint主机使用的 KSM 的大小(MB)。
max_ksm_shared_memory_mbbigint在一个整合的时间段内,最大的 KSM 内存使用大小(MB)。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。

2.2.8.5. 主机接口统计数据视图

系统中的每个主机网络接口的历史统计数据

表 2.9. 系统中的每个主机网络接口的历史统计数据

名称类型描述
history_idbigint数据表中的本行数据的 ID。
history_datetime带有时区的时间戳历史数据行的时间戳。
host_interface_iduuid系统中的接口的唯一 ID。
receive_rate_percentsmallint主机上使用的接收速率的百分比。
max_receive_rate_percentsmallint在一个整合的时间段内,最大的接收速率百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
transmit_rate_percentsmallint主机上使用的传输速率的百分比。
max_transmit_rate_percentsmallint在一个整合的时间段内,最大的传输速率百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
host_interface_configuration_version整数采样时的主机接口配置版本。

2.2.8.6. 虚拟机统计数据视图

表 2.10. 系统中的虚拟机历史统计数据

名称类型描述
history_idbigint数据表中的本行数据的 ID。
history_datetime带有时区的时间戳历史数据行的时间戳。
vm_iduuid虚拟机在系统中唯一的 ID。
vm_statussmallint
  • -1 - Unknown Status (used only to indicate problems with the ETL -- PLEASE NOTIFY SUPPORT)
  • 0 - Down
  • 1 - Up
  • 2 - Paused
  • 3 - Problematic
minutes_in_status十进制在整合的时间内,虚拟机处于状态栏中所显示的状态的总时间(以分钟为单位)。例如,在一个小时内,一个虚拟机有 55 分钟处于 up 状态,5 分钟处于维护模式,这一个小时将会有两行。其中一行的状态为 Up,minutes_in_status 为 55;另外一行的状态是 Down,minutes_in_status 为 5。
cpu_usage_percentsmallint虚拟机使用的 CPU 百分比。
max_cpu_usagesmallint在一个整合的时间段内,最大的 CPU 使用百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
memory_usage_percentsmallint虚拟机使用内存的百分比。为了获得这个数据,需要在虚拟机上安装 guest 工具程序。
max_memory_usagesmallint在一个整合的时间段内,最大的 内存使用百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。为了获得这个数据,需要在虚拟机上安装 guest 工具程序。
user_cpu_usage_percentsmallint主机上使用的用户 CPU 百分比。
max_user_cpu_usage_percentsmallint在一个整合的时间段内,最大的用户 CPU 使用的百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
system_cpu_usage_percentsmallint主机上使用的系统 CPU 百分比。
max_system_cpu_usage_percentsmallint在一个整合的时间段内,最大的系统 CPU 使用的百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
vm_ipvarchar(255)第一个 NIC 的 IP 地址。它只会在安装了 guest 代理的情况下被显示。
current_user_namevarchar(255)登录到虚拟机控制台的用户的用户名(它只会在安装了 guest 代理的情况下被显示)。
currently_running_on_hostuuid正在运行这个虚拟机的主机的唯一 ID。
vm_configuration_version整数在采样数据被采集时虚拟机配置的版本。
current_host_configuration_version整数正在运行这个虚拟机的主机的配置版本。
current_user_iduuid系统中用户的唯一 ID。这个值由 Manager 产生。

2.2.8.7. 虚拟机接口统计数据视图

表 2.11. 系统中的虚拟机网络接口历史统计数据

名称类型描述
history_idbigint数据表中的本行数据的 ID。
history_datetime带有时区的时间戳历史数据行的时间戳
vm_interface_iduuid系统中的接口的唯一 ID。
receive_rate_percentsmallint主机上使用的接收速率的百分比。
max_receive_rate_percentsmallint在一个整合的时间段内,最大的接收速率百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
transmit_rate_percentsmallint主机上使用的传输速率的百分比。
max_transmit_rate_percentsmallint在一个整合的时间段内,最大的传输速率百分比。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均速率的最大值。
vm_interface_configuration_version整数在采样数据被采集时虚拟机接口配置的版本。

2.2.8.8. 虚拟机磁盘统计数据视图

表 2.12. 系统中的虚拟磁盘历史统计数据

名称类型描述
history_idbigint数据表中的本行数据的 ID。
history_datetime带有时区的时间戳历史数据行的时间戳。
vm_disk_iduuid磁盘在系统中的唯一的 ID。
vm_disk_status整数
  • 0 - Unassigned
  • 1 - OK
  • 2 - Locked
  • 3 - Invalid
  • 4 - Illegal
minutes_in_status十进制在整合的时间内,虚拟磁盘处于状态栏中所显示的状态的总时间(以分钟为单位)。例如,在一个小时内,一个虚拟机磁盘有 55 分钟处于 locked 状态,5 分钟处于 OK 状态,这一个小时将会有两行。其中一行的状态为 Locked,minutes_in_status 为 55;另外一行的状态是 OK,minutes_in_status 为 5。
vm_disk_actual_size_mb整数为磁盘分配的实际空间的大小。
read_rate_bytes_per_second整数磁盘的读速率(字节每秒)
max_read_rate_bytes_per_second整数在一个整合的时间段内,最大的读速率。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
read_latency_seconds十进制虚拟机磁盘的读延迟时间(单位为秒)。
max_read_latency_seconds十进制在一个整合的时间段内,最大的读延迟时间(以秒为单位)。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
write_rate_bytes_per_second整数磁盘的写速率(字节每秒)
max_write_rate_bytes_per_second整数在一个整合的时间段内,最大的写速率。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
write_latency_seconds十进制虚拟机磁盘的写延迟时间(单位为秒)。
max_write_latency_seconds十进制在一个整合的时间段内,最大的写延迟时间(以秒为单位)。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
flush_latency_seconds十进制虚拟机磁盘的清除延迟时间(单位为秒)。
max_flush_latency_seconds十进制在一个整合的时间段内,最大的清除延迟时间(以秒为单位)。对于每小时的时间段,它是收集到的最大采样值;对于每天的时间段,它是每个小时的平均值的最大值。
vm_disk_configuration_version整数在采样数据被采集时虚拟机磁盘的配置版本。

2.2.9. 配置 History 视图

2.2.9.1. 配置历史数据视图

以下介绍了用户为了生成报表可以进行查询的配置统计数据视图。

注意

delete_date 不会出现在最新的视图中,这是因为这些视图只提供最新的有效项(还没有被删除的项)的信息。

2.2.9.2. 数据中心配置

下表显示了系统中的数据中心的配置历史参数。

表 2.13. v3_5_configuration_history_datacenters

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
datacenter_idUUID:数据中心在系统中的唯一的 ID。
datacenter_namevarchar(40)数据中心的名称(与编辑对话框中的相同)。
datacenter_descriptionvarchar(4000)数据中心的描述信息(与编辑对话框中的相同)。
storage_typesmallint
  • 0 -Unknown
  • 1 - NFS
  • 2 - FCP
  • 3 - iSCSI
  • 4 - Local
  • 6 - All
create_date带有时区的时间戳被添加到系统中的时间。
update_date带有时区的时间戳在系统中被修改的时间。
delete_date带有时区的时间戳被从系统中删除的时间。

2.2.9.3. 数据中心存储域映射

下表显示了系统中的存储域和数据中心间的关系。

表 2.14. v3_5_map_history_datacenters_storage_domains

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
storage_domain_iduuid系统中的存储域的唯一 ID。
datacenter_iduuid数据中心在系统中的唯一的 ID。
attach_date带有时区的时间戳存储域被附加到数据中心的时间。
detach_date带有时区的时间戳存储域被从数据中心中分离的时间。

2.2.9.4. 存储域配置

下表显示了系统中的存储域配置的历史参数。

表 2.15. v3_5_configuration_history_storage_domains

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
storage_domain_iduuid系统中的存储域的唯一 ID。
storage_domain_namevarchar(250)存储域的名称。
storage_domain_typesmallint
  • 0 - Data (Master)
  • 1 - Data
  • 2 - ISO
  • 3 - Export
storage_typesmallint
  • 0 - Unknown
  • 1 - NFS
  • 2 - FCP
  • 3 - iSCSI
  • 4 - Local
  • 6 - All
create_date带有时区的时间戳被添加到系统中的时间。
update_date带有时区的时间戳在系统中被修改的时间。
delete_date带有时区的时间戳被从系统中删除的时间。

2.2.9.5. 集群配置

下表显示了系统中的集群配置的历史参数。

表 2.16. v3_5_configuration_history_clusters

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
cluster_iduuid集群所在数据中心的唯一标识符。
cluster_namevarchar(40)集群的名称(与编辑对话框中的相同)。
cluster_descriptionvarchar(4000)与编辑对话框中的相同
datacenter_iduuid集群所在数据中心的唯一标识符。
cpu_namevarchar(255)与编辑对话框中的相同。
compatibility_versionvarchar(40)与编辑对话框中的相同。
datacenter_configuration_version整数在创建或更新时数据中心的配置版本。
create_date带有时区的时间戳被添加到系统中的时间。
update_date带有时区的时间戳在系统中被修改的时间。
delete_date带有时区的时间戳被从系统中删除的时间。

2.2.9.6. 主机配置

下表显示了系统中的主机配置的历史参数。

表 2.17. v3_5_configuration_history_hosts

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
host_iduuid系统中主机的唯一 ID。
host_unique_idvarchar(128)这个项包括了主机的物理 UUID 和它的一个 MAC 地址,它被用来识别已经在系统中注册的主机。
host_namevarchar(255)主机的名称(与编辑对话框中的相同)。
cluster_iduuid主机所属集群的唯一 ID。
host_typesmallint
  • 0 - RHEL Host
  • 2 - RHEV Hypervisor Node
fqdn_or_ipvarchar(255)Red Hat Enterprise Virtualization Manager 和主机进行通讯所使用的主机的 DNS 名或 IP 地址(和编辑对话框中的相同)。
memory_size_mb整数主机物理内存的大小(MB)。
swap_size_mb整数主机交换分区的大小。
cpu_modelvarchar(255)主机的 CPU 型号。
number_of_coressmallint主机中的 CPU 内核总量。
number_of_socketssmallintCPU 插槽总量。
cpu_speed_mh十进制主机 CPU 的速度(MHz)。
host_osvarchar(255)主机操作系统版本。
pm_ip_addressvarchar(255)电源管理服务器的 IP 地址。
kernel_versionvarchar(255)主机的内核版本。
kvm_versionvarchar(255)主机的 KVM 版本。
vdsm_versionvarchar(40)主机的 VDSM 版本。
vdsm_port整数与编辑对话框中的相同。
cluster_configuration_version整数在创建或更新时集群的配置版本。
create_date带有时区的时间戳被添加到系统中的时间。
update_date带有时区的时间戳在系统中被修改的时间。
delete_date带有时区的时间戳被从系统中删除的时间。

2.2.9.7. 主机接口配置

下表显示了系统中的主机接口配置的历史参数。

表 2.18. v3_5_configuration_history_hosts_interfaces

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
host_interface_iduuid接口在系统中的唯一的 ID。
host_interface_namevarchar(50)主机报告的接口名。
host_iduuid接口所属主机的唯一 ID。
host_interface_typesmallint
  • 0 - rt18139_pv
  • 1 - rt18139
  • 2 - e1000
  • 3 - pv
host_interface_speed_bps整数接口的速率(位每秒)。
mac_addressvarchar(20)接口的 MAC 地址。
logical_network_namevarchar(50)与接口相关联的逻辑网络。
ip_addressvarchar(50)与编辑对话框中的相同。
网关varchar(20)与编辑对话框中的相同。
绑定布尔值(Boolean)标识这个接口是否是一个绑定接口。
bond_namevarchar(50)接口所在的绑定名称(如果这个接口是绑定的一部分)。
vlan_id整数与编辑对话框中的相同。
host_configuration_version整数在创建或更新时主机的配置版本。
create_date带有时区的时间戳被添加到系统中的时间。
update_date带有时区的时间戳在系统中被修改的时间。
delete_date带有时区的时间戳被从系统中删除的时间。

2.2.9.8. 虚拟机配置

下表显示了系统中的虚拟机配置的历史参数。

表 2.19. v3_5_configuration_history_vms

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
vm_iduuid虚拟机在系统中的唯一的 ID。
vm_namevarchar(255)虚拟机的名称。
vm_descriptionvarchar(4000)与编辑对话框中的相同。
vm_typesmallint
  • 0 - Desktop
  • 1 - Server
cluster_iduuid虚拟机所属集群的唯一 ID。
template_iduuid虚拟机所基于的模板的唯一 ID。这个项是为以后使用准备的,在这个版本中模板还没有被同步到 history 数据库中。
template_namevarchar(40)虚拟机所基于的模板的名称。
cpu_per_socketsmallint每个插槽的虚拟 CPU 的数量。
number_of_socketssmallint虚拟 CPU 插槽的总量。
memory_size_mb整数分配给虚拟机的内存总量(MB)。
operating_systemsmallint
  • 0 - Other OS
  • 1 - Windows XP
  • 3 - Windows 2003
  • 4 - Windows 2008
  • 5 - Linux
  • 7 - Red Hat Enterprise Linux 5.x
  • 8 - Red Hat Enterprise Linux 4.x
  • 9 - Red Hat Enterprise Linux 3.x
  • 10 - Windows 2003 x64
  • 11 - Windows 7
  • 12 - Windows 7 x64
  • 13 - Red Hat Enterprise Linux 5.x x64
  • 14 - Red Hat Enterprise Linux 4.x x64
  • 15 - Red Hat Enterprise Linux 3.x x64
  • 16 - Windows 2008 x64
  • 17 - Windows 2008 R2 x64
  • 18 - Red Hat Enterprise Linux 6.x
  • 19 - Red Hat Enterprise Linux 6.x x64
  • 20 - Windows 8
  • 21 - Windows 8 x64
  • 23 - Windows 2012 x64
  • 1001 - Other
  • 1002 - Linux
  • 1003 - Red Hat Enterprise Linux 6.x
  • 1004 - SUSE Linux Enterprise Server 11
  • 1193 - SUSE Linux Enterprise Server 11
  • 1252 - Ubuntu Precise Pangolin LTS
  • 1253 - Ubuntu Quantal Quetzal
  • 1254 - Ubuntu Raring Ringtails
  • 1255 - Ubuntu Saucy Salamander
default_hostuuid系统中默认主机的 ID(与编辑对话框中的相同)。
high_availability布尔值(Boolean)与编辑对话框中的相同。
initialized布尔值(Boolean)标识这个虚拟机是否最少为 Sysprep 初始化启动过一次。
无状态运行布尔值(Boolean)与编辑对话框中的相同。
fail_back布尔值(Boolean)与编辑对话框中的相同。
usb_policysmallint与编辑对话框中的相同。
time_zonevarchar(40)与编辑对话框中的相同。
cluster_configuration_version整数在创建或更新时集群的配置版本。
default_host_configuration_version整数在创建或更新时主机的配置版本。
create_date带有时区的时间戳被添加到系统中的时间。
update_date带有时区的时间戳在系统中被修改的时间。
delete_date带有时区的时间戳被从系统中删除的时间。
vm_pool_iduuid虚拟机所需的虚拟机池的 ID。
vm_pool_namevarchar(255)虚拟机所需的虚拟机池的名称。

2.2.9.9. 虚拟机接口配置

下表显示了系统中的虚拟机接口配置的历史参数。

表 2.20. v3_5_configuration_history_vms_interfaces

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
vm_interface_iduuid接口在系统中的唯一的 ID。
vm_interface_namevarchar(50)与编辑对话框中的相同。
vm_interface_typesmallint
虚拟接口的类型。
  • 0 - rt18139_pv
  • 1 - rt18139
  • 2 - e1000
  • 3 - pv
vm_interface_speed_bps整数在整合时间段内接口的平均速率(位每秒)。
mac_addressvarchar(20)与编辑对话框中的相同。
logical_network_namevarchar(50)与编辑对话框中的相同。
vm_configuration_version整数在创建或更新时虚拟机配置的版本。
create_date带有时区的时间戳被添加到系统中的时间。
update_date带有时区的时间戳在系统中被修改的时间。
delete_date带有时区的时间戳被从系统中删除的时间。

2.2.9.10. 虚拟机设备配置

下表列出了虚拟机和它们的相关设备(如磁盘、虚拟接口)间的关系。

表 2.21. v3_5_configuration_history_vms_devices

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
vm_iduuid虚拟机在系统中唯一的 ID。
类型varchar(30)虚拟机设备类型,可以是 "disk" 或 "interface"
地址varchar(255)虚拟机设备的物理地址
is_managed布尔值(Boolean)指定设备是否由 Manager 管理的标识
is_plugged布尔值(Boolean)指定设备是否被插入到虚拟机的标识。
is_readonly布尔值(Boolean)指定设备是否是只读的标识。
vm_configuration_version整数在采样数据被采集时虚拟机配置的版本。
device_configuration_version整数在采样数据被采集时设备配置的版本。
create_date带有时区的时间戳被添加到系统中的时间。
update_date timestamp带有时区的时间戳被添加到系统中的时间。
delete_date带有时区的时间戳被添加到系统中的时间。

2.2.9.11. 虚拟机磁盘配置

下表显示了系统中的虚拟磁盘配置的历史参数。

表 2.22. v3_5_configuration_history_vms_disks

名称类型描述
history_id整数history 数据库中的配置版本的 ID。
vm_disk_iduuid磁盘在系统中的唯一的 ID。
vm_disk_descriptionvarchar(4000)与编辑对话框中的相同。
storage_domain_iduuid磁盘镜像所属存储域的唯一 ID。
vm_disk_size_mb整数定义的磁盘大小(MB)。
vm_disk_type整数
与编辑对话框中的相同。当前只使用 System 和 Data。
  • 0 - Unassigned
  • 1 - System
  • 2 - Data
  • 3 - Shared
  • 4 - Swap
  • 5 - Temp
vm_disk_format整数
与编辑对话框中的相同。
  • 3 - Unassigned
  • 4 - COW
  • 5 - RAW
vm_disk_interface整数
  • 0 - IDE
  • 1 - SCSI (not supported)
  • 2 - VirtIO
create_date带有时区的时间戳被添加到系统中的时间。
update_date带有时区的时间戳在系统中被修改的时间。
delete_date带有时区的时间戳被从系统中删除的时间。
is_shared布尔值(Boolean)标识这个虚拟机磁盘是否被共享。
image_iduuid镜像在系统中的唯一的 ID。

2.2.9.12. 用户详情历史

下表显示了系统中的用户的配置历史参数。

表 2.23. v3_6_users_details_history 视图

名称类型描述
user_iduuid由 Manager 产生的、在系统中唯一的用户 ID。
first_namevarchar(255)用户的名
last_namevarchar(255)用户的姓。
domainvarchar(255)用户身份验证扩展的名称。
usernamevarchar(255)账户名
departmentvarchar(255)用户所在的部门。
user_role_titlevarchar(255)用户在所处机构中的职位。
emailvarchar(255)用户的电子邮件地址。
external_idtext外部系统中的用户的唯一 ID。
activeBoolean用户是否处于活跃状态 - 它的值会每小时检查一次。当用户在身份认证扩展中被找到,这个用户被认为是“active”。当一个用户成功登录后,这个用户也被认为是“active”。
create_datetimestamp with time zone被添加到系统中的时间。
update_datetimestamp with time zone在系统中被修改的时间。
delete_datetimestamp with time zone被从系统中删除的时间。