18.5. 日志收集程序
18.5.1. 日志收集程序
Red Hat Virtualization Manager 包括了一个日志收集程序,您可以使用它从 Red Hat Virtualization 环境中收集所需要的日志信息。
日志收集的命令是
engine-log-collector
。您需要使用 root
用户身份登录到 Red Hat Virtualization 环境中。engine-log-collector -h
会显示 engine-log-collector
命令的用法信息,以及所有有效选项的列表。
18.5.2. ovirt-log-collector 命令语法
日志采集命令的基本语法:
ovirt-log-collector
[options]
list
[all, clusters, datacenters]
ovirt-log-collector
[options]
collect
这个命令有两个模式:
list
和 collect
。
list
参数会列出主机、集群或数据中心是否附加到了 Red Hat Virtualization Manager。您可以根据所类出的项对收集的日志进行过滤。collect
参数将会从 Red Hat Virtualization Manager 上收集日志。收集的日志数据保存在/tmp/logcollector
目录中。engine-log-collector
命令会为每个日志分配特定的文件名。
除非被其它参数指定,在默认情况下,它会列出有效的主机以及它们所属的数据中心和集群。在收集特定日志信息时,您会被提示输入用户名和密码。
engine-log-collector
命令还提供了其他参数来对它进行控制。
常规选项
--version
- 显示命令的版本号。
-h
,--help
- 显示命令的帮助信息。
--conf-file=PATH
- 把 PATH 设定为这个命令所使用的配置文件。
--local-tmp=PATH
- 把日志文件保存在 PATH 目录中。默认的目录是
/tmp/logcollector
。 --ticket-number=TICKET
- 把 TICKET 作为 SOS 报告中的事件号(case number)。
--upload=FTP_SERVER
- 把 FTP_SERVER 设为使用 FTP 把所收集的日志信息传输到的目的地。除非红帽的技术支持让您使用这个参数,否则请不要使用它。
--log-file=PATH
- 把 PATH 设为这个命令用来作为日志输出的文件的文件名。
--quiet
- 把命令设为“安静”模式,从而把控制台的输出减到最小。在默认的情况下,安静模式没有被设定。
-v
,--verbose
- 把命令设为 verbose 模式,从而可以提供详细的控制台输出信息。在默认的情况下,verbose 模式没有被设置。
Red Hat Virtualization Manager 选项
这些选项被用来为 Red Hat Virtualization Manager 过滤日志信息的收集,并提供用户认证信息。
这些参数可以被组合使用。例如,
engine-log-collector --user=admin@internal --cluster ClusterA,ClusterB --hosts "SalesHost"*
指定了用户为 admin@internal
,并只收集集群 A
和集群 B
中的 SalesHost
主机的日志。
--no-hypervisors
- 不收集虚拟主机的日志信息。
-u USER
,--user=USER
- 指定登录的用户。USER 的格式为 user@domain(其中的 user 是用户名,domain 是使用的目录服务的域)。这里所指定的用户必须存在于目录服务中,并可以被 Red Hat Virtualization Manager 所识别。
-r FQDN
,--rhevm=FQDN
- 设置用来收集日志的 Red Hat Virtualization Manager 的全局域名(使用 Red Hat Virtualization Manager 的全局域名替换 FQDN)。这个命令假设日志收集命令是在 Red Hat Virtualization Manager 所在的同一台机器上被运行的,因此它的默认值是
localhost
。 -c CLUSTER
,--cluster=CLUSTER
- 除了 Red Hat Virtualization Manager 的日志外,还收集 CLUSTER 中指定的集群中的主机日志。它可以通过以逗号分隔的集群名或匹配特征来指定多个集群。
-d DATACENTER
,--data-center=DATACENTER
- 除了 Red Hat Virtualization Manager 的日志外,还收集 DATACENTER 中指定的数据中心中的主机日志。它可以通过以逗号分隔的数据中心名或匹配特征来指定多个数据中心。
-H HOSTS_LIST
,--hosts=HOSTS_LIST
- 除了 Red Hat Virtualization Manager 的日志外,还收集 HOSTS_LIST 中指定的主机日志。它可以通过以逗号分隔的主机名、全局域名、IP 地址或匹配特征来指定多个主机。
SOS 报告选项
日志收集程序使用 JBoss SOS 插件。使用以下选项来从 JMX 控制台进行数据收集。
--jboss-home=JBOSS_HOME
- JBoss 的安装路径。默认值是
/var/lib/jbossas
。 --java-home=JAVA_HOME
- Java 安装路径。默认值是
/usr/lib/jvm/java
。 --jboss-profile=JBOSS_PROFILE
- 显示以空格分隔的服务器配置档案列表;日志数据的收集会被限制在这些档案中。它的默认值是
'rhevm-slimmed'
。 --enable-jmx
- 启用从 Red Hat Virtualization 的 JBoss JMX 接口收集运行时统计数据的功能。
--jboss-user=JBOSS_USER
- 有权利调用 JBoss JMX 的用户。默认值是
admin
。 --jboss-logsize=LOG_SIZE
- 获取的日志文件的最大容量(以 MB 为单位)
--jboss-stdjar=STATE
- 为 JBoss 标准的 JAR 设置所采集的 JAR 统计数据。把 STATE 替换为
on
或off
。默认的值是on
。 --jboss-servjar=STATE
- 设置从任何的服务器配置目录中收集 JAR 的统计数据。把 STATE 替换为
on
或off
。默认的值是on
。 --jboss-twiddle=STATE
- 设置是否收集 twiddle 数据。Twiddle 是一个 JBoss 工具程序,它可以被用来从 JMX 的调用者中收集数据。把 STATE 替换为
on
或off
。它的默认值是on
。 --jboss-appxml=XML_LIST
- 显示一组带有 XML 描述数据的应用程序。这些应用程序以空格分隔,并包括在一对引号中。这个参数的默认值是
all
。
SSH 配置
--ssh-port=PORT
- 把 PORT 设置为用来和虚拟主机进行 SSH 连接所使用的端口。
-k KEYFILE
,--key-file=KEYFILE
- 把 KEYFILE 设置为用来访问虚拟主机的公共 SSH 密钥。
--max-connections=MAX_CONNECTIONS
- 把 MAX_CONNECTIONS 设置为同时可以和虚拟主机进行连接来收集日志的 SSH 连接的数量。它的默认值是
10
。
PostgreSQL 数据库选项
如果数据库的默认用户名和密码已经被改变,使用
pg-user
和 dbname
参数指定数据库当前的用户名和密码。
如果数据库不在本地,需要使用
pg-dbhost
参数(可能还需要使用 pg-host-key
参数)。另外,进行远程日志收集时,PostgreSQL SOS 插件必须安装在数据库服务器上。
--no-postgresql
- 禁用收集数据库数据的功能。如果没有指定
--no-postgresql
参数,日志采集程序会连接到 Red Hat Virtualization Manager 的 PostgreSQL 数据库,并把其中的数据包括在日志中。 --pg-user=USER
- 把 USER 设置为用来和数据库服务器进行连接的用户。它的默认值是
postgres
。 --pg-dbname=DBNAME
- 把 DBNAME 设置为连接到数据库服务器上的数据库名,它的默认值是
rhevm
。 --pg-dbhost=DBHOST
- 把 DBHOST 设置为数据库服务器的主机名,它的默认值是
localhost
。 --pg-host-key=KEYFILE
- 把 KEYFILE 设置为数据库服务器的公共识别文件(私人密钥)。这个值在默认的情况下不会被设置,它只在数据库不在本地的情况下才使用。
18.5.3. 基本日志收集程序用法
如果在运行
engine-log-collector
命令时不指定任何额外的参数,默认会从 Red Hat Virtualization Manager 及其附加的主机收集所有日志。若不添加 --no-postgresql
参数,也会收集数据库日志。在下例中,日志收集程序会收集 Red Hat Virtualization Manager 和 3 个附加的主机上的所有日志。
例 18.4. 日志收集程序用法
# ovirt-log-collector
INFO: Gathering oVirt Engine information...
INFO: Gathering PostgreSQL the oVirt Engine database and log files from localhost...
Please provide REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
About to collect information from 3 hypervisors. Continue? (Y/n):
INFO: Gathering information from selected hypervisors...
INFO: collecting information from 192.168.122.250
INFO: collecting information from 192.168.122.251
INFO: collecting information from 192.168.122.252
INFO: finished collecting information from 192.168.122.250
INFO: finished collecting information from 192.168.122.251
INFO: finished collecting information from 192.168.122.252
Creating compressed archive...
INFO Log files have been collected and placed in /tmp/logcollector/sosreport-rhn-account-20110804121320-ce2a.tar.xz.
The MD5 for this file is 6d741b78925998caff29020df2b2ce2a and its size is 26.7M