16.6. 日志收集程序
16.6.1. 日志收集程序 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Red Hat Enterprise Virtualization Manager 包括了一个日志收集程序,您可以使用它从 Red Hat Enterprise Virtualization 环境中收集所需要的日志信息。
日志收集的命令是
engine-log-collector。您需要使用 root 用户身份登录到 Red Hat Enterprise Virtualization 环境中。engine-log-collector -h 会显示 engine-log-collector 命令的使用信息以及可用的选项。
16.6.2. engine-log-collector 命令的语法 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
日志采集命令的基本语法:
engine-log-collector [options] list [all, clusters, datacenters] engine-log-collector [options] collect
engine-log-collector [options] list [all, clusters, datacenters]
engine-log-collector [options] collect
这个命令有两个模式:
list 和 collect。
list参数会列出主机、集群或数据中心是否附加到了 Red Hat Enterprise Virtualization Manager。您可以根据所类出的项对收集的日志进行过滤。collect参数将会从 Red Hat Enterprise 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 Enterprise Virtualization Manager 选项
这些选项被用来为 Red Hat Enterprise 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 Enterprise Virtualization Manager 所识别。
-r FQDN,--rhevm=FQDN- 设置用来收集日志的 Red Hat Enterprise Virtualization Manager 的全局域名(使用 Red Hat Enterprise Virtualization Manager 的全局域名替换 FQDN)。这个命令假设日志收集命令是在 Red Hat Enterprise Virtualization Manager 所在的同一台机器上被运行的,因此它的默认值是
localhost。 -c CLUSTER,--cluster=CLUSTER- 除了 Red Hat Enterprise Virtualization Manager 的日志外,还收集 CLUSTER 中指定的集群中的主机日志。它可以通过以逗号分隔的集群名或匹配特征来指定多个集群。
-d DATACENTER,--data-center=DATACENTER- 除了 Red Hat Enterprise Virtualization Manager 的日志外,还收集 DATACENTER 中指定的数据中心中的主机日志。它可以通过以逗号分隔的数据中心名或匹配特征来指定多个数据中心。
-H HOSTS_LIST,--hosts=HOSTS_LIST- 除了 Red Hat Enterprise 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 Enterprise 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 Enterprise Virtualization Manager 的 PostgreSQL 数据库,并把其中的数据包括在日志中。 --pg-user=USER- 把 USER 设置为用来和数据库服务器进行连接的用户。它的默认值是
postgres。 --pg-dbname=DBNAME- 把 DBNAME 设置为连接到数据库服务器上的数据库名,它的默认值是
rhevm。 --pg-dbhost=DBHOST- 把 DBHOST 设置为数据库服务器的主机名,它的默认值是
localhost。 --pg-host-key=KEYFILE- 把 KEYFILE 设置为数据库服务器的公共识别文件(私人密钥)。这个值在默认的情况下不会被设置,它只在数据库不在本地的情况下才使用。
16.6.3. 基本日志收集程序用法 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
当没有使用任何参数运行
engine-log-collector 命令时,它的默认行为是从 Red Hat Enterprise Virtualization Manager 以及和它关联的所有主机上收集所有日志。在没有使用 --no-postgresql 参数时,它也收集数据库的日志。下面的实例会收集 Red Hat Enterprise Virtualization Manager 和 3 个与它关联的主机上的所有日志。
例 16.9. 日志收集程序用法