客户机侦测瘦代理是在每个客户机虚拟机上随 VMware Tools™ 一起安装的。

Linux 上的瘦代理故障排除

如果虚拟机的读取和写入操作以及文件解压缩或保存速度变慢,则瘦代理可能出现问题。

  1. 检查涉及的所有组件的兼容性。您需要提供 ESXi、vCenter Server、NSX Manager 和已选安全解决方案(例如 Trend Micro、McAfee、Kaspersky 或 Symantec)的内部版本号。在收集该数据后,比较 vSphere 组件的兼容性。有关详细信息,请参见 VMware 产品互操作性列表
  2. 确保在系统上安装了文件侦测。
  3. 使用 systemctl status vsepd.service 命令验证瘦代理是否正在运行。
  4. 如果您怀疑性能问题是由瘦代理造成的,请运行 service vsepd stop 命令以停止该服务。
  5. 接下来,执行测试以获取基准。然后,您可以运行 service vsepd start 命令来启动 vsep 服务并执行其他测试。
  6. 对于使用网络事件的部署,还需要运行 systemctcl status vmw_conn_notifyd.service 以检查 vmw_conn_notify
  7. 为 Linux 瘦代理启用调试:
    1. 运行 /etc/vsep/vsep refresh-logging
    2. 用法:/etc/vsep/vsepd refresh-logging <dest> <<level> sub-component-name>

      其中,<dest>:[1-2] 1 - 记录到虚拟机,2 - 记录到 ESX 主机。

      <level>[1-7],其中 4 表示日志记录级别 INFO7 表示日志记录级别 DEBUG

      <sub-component-name>:一个或多个传输、定时器、文件、网络、进程、系统

      启用记录到主机后,日志将存储在 ESXi 主机上虚拟机各自 vmfs 目录的 vmware.log 中。

      注: 启用完整日志记录功能可能会产生较高的日志活动以填充 vmware.log 文件。请尽快禁用完整日志记录。

根据上下文(文件、进程、网络或系统)启用调试

增强的日志记录支持允许的瘦代理将特定功能的模块调试级别信息记录到主机上的 vmware.log 或虚拟机中的 syslog。

如果未在相应文件中生成调试日志,则需要重新启动瘦代理服务。请注意,如果日志记录过重,记录到主机上 vmware.log 的功能可能会受限。已将 refresh-logging 输入参数添加到 /etc/vsep/vsepd。可通过运行以下命令来显示其使用情况:

调试:

# /etc/vsep/vsepd refresh-logging

用法:/etc/vsep/vsepd refresh-logging <dest> <<level> sub-component-name>

其中,<dest>[1-2]1 表示记录到虚拟机,2 表示记录到 ESX 主机。启用记录到虚拟机后,日志将基于 Linux 分发软件存储在以下位置。

在 Ubuntu 虚拟机上:/var/log/syslog

在 CentOS、RHEL 和 SLES 上:/var/log/messages

启用记录到主机后,日志将存储到 ESXi 主机上虚拟机各自 vmfs 目录的 vmware.log 中。

<level>[1-7],其中 4 表示日志记录级别 INFO,7 表示日志记录级别 DEBUG。

<sub-component-name>:一个或多个传输、定时器、文件、网络、进程、系统

示例:

启用以下命令将仅打印该上下文中的日志。

可以使用以下命令启用网络侦测的调试日志记录。

/etc/vsep/vsepd refresh-logging 1 7 network

进程侦测的调试日志记录:

/etc/vsep/vsepd refresh-logging 1 7 process

防病毒用例的调试日志记录:

/etc/vsep/vsepd refresh-logging 1 7 file

对于定时器上下文中的命令处理(所有用例):

/etc/vsep/vsepd refresh-logging 1 7 timer

对于用户监控:

/etc/vsep/vsepd refresh-logging 1 7 system

对于 SVM 与上下文 Mux 之间的框架通信(所有用例):

/etc/vsep/vsepd refresh-logging 1 7 transport

对 Linux 上的瘦代理崩溃进行故障排除

瘦代理崩溃时会转储内核。但是,这依赖于核心转储的操作系统配置。在系统崩溃时,每个 Linux 发行版采用不同的方法和配置来生成核心转储。

例如,您可以使用 apport 让应用程序在崩溃时转储内核,而在 Red Hat 中,您可以使用 abrtd。但是,瘦代理会在虚拟机上的 /var/log/syslog (Ubuntu) 或 /var/log/messages(CentOS、RHEL 和 SLES)中转储回溯追踪,或者如果在主机上启用了日志记录,则会在 vmware.log 中转储回溯追踪,具体取决于日志记录目标。

示例回溯追踪:

localhost systemd: Started Session 4 of user root.
localhost vsep: EMERG: 0: sig_handler(): Received signal: 11
localhost vsep: EMERG: 0: sig_handler(): backtrace returned 7 pointers
localhost vsep: EMERG: 0: sig_handler(): /usr/sbin/vsep(+0x1d35e) [0x7fa2e4c9135e]
localhost vsep: EMERG: 0: sig_handler(): /lib64/libc.so.6(+0x35a00) [0x7fa2e3d76a00]
localhost vsep: EMERG: 0: sig_handler(): /usr/sbin/vsep(+0x3f789) [0x7fa2e4cb3789]
localhost vsep: EMERG: 0: sig_handler(): /lib64/libglib-2.0.so.0(+0x6e0fc) [0x7fa2e47960fc]
localhost vsep: EMERG: 0: sig_handler(): /lib64/libglib-2.0.so.0(+0x6d745) [0x7fa2e4795745]
localhost vsep: EMERG: 0: sig_handler(): /lib64/libpthread.so.0(+0x7df3) [0x7fa2e4109df3]
localhost vsep: EMERG: 0: sig_handler(): /lib64/libc.so.6(clone+0x6d) [0x7fa2e3e373dd]
localhost vsep: EMERG: 0: sig_handler(): Unmarking all fanotify marked mount points