使用 crontab 在特定时间收集 esxtop 性能数据
search cancel

使用 crontab 在特定时间收集 esxtop 性能数据

book

Article ID: 301349

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免责声明:本文为 Gathering esxtop performance data at specific times using crontab (1033346) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


本文提供设置调度 cron 作业以在批处理模式下运行 esxtop 的步骤。esxtop 实用程序将输出重定向至 .csv 文件。

Environment

VMware vSphere ESXi 5.0
VMware ESXi 3.5.x Embedded
VMware ESX 4.1.x
VMware ESX Server 3.0.x
VMware vSphere ESXi 5.5
VMware ESXi 4.0.x Embedded
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 6.0
VMware ESX Server 3.5.x
VMware vSphere ESXi 5.1
VMware ESXi 4.0.x Installable
VMware ESX 4.0.x
VMware ESXi 3.5.x Installable
VMware ESXi 4.1.x Embedded

Resolution

必须编辑 crontab 配置文件才能在 ESXi/ESX 上创建调度任务。有关详细信息,请参见 Editing configuration files in VMware ESXi and ESX (1017022)

编辑调度任务之前,确保 ESXi/ESX 主机的日期和时间正确。有关详细信息,请参见 Verifying time synchronization across an ESXi/ESX host environment (1003736)


在 ESX 中使用 cron 调度任务

  1. 以 root 用户身份直接登录或使用 SSH 登录 ESX 主机控制台。有关详细信息,请参见 Connecting to an ESX host using a SSH client (1019852)
  2. 运行以下命令以在 vi 文本编辑器中打开 crontab 配置文件:

    crontab -e

    注意:要使用其他编辑器,请修改 EDITOR 坏境变量。例如,使用 nano:

    EDITOR=nano crontab -e

  3. 要在所需时间启动 esxtop,请附加 crontab 文件并运行使用以下语法的 esxtop 命令:

    Minutes Hour(24 hour format) Date Month_Day_of_Week /usr/bin/esxtop -b -d ## -n #### > path/name-of-the-file.csv

    -b:表示批处理模式

    -d:采样频率(秒)

    -n:总样本数

    无论哪一日、哪一月或星期几,要在每天凌晨 2:20、以 5 秒钟 1440 个样本的采样频率
    在批处理模式下收集 ESXTOP 数据,请运行以下命令:

    20 2 * * * /usr/bin/esxtop -b -d 5 -n 1440 > /vmfs/volumes/DatastoreName/esxtop-batch.csv

    此命令将生成 120 分钟有分析价值的数据。

  4. 保存此文件。更改会立即生效,esxtop 在下次计划时间启动。
注意:ESX 上的配置更改在重新引导后会保留。要恢复更改,请从 crontab 配置文件中移除 esxtop 行。


在 ESXi 中使用 cron 调度任务

注意:nano 在 ESXi 中不可用,因此必须使用 vi 编辑器。

  1. 使用技术支持模式打开连接到 ESXi 主机的控制台。有关详细信息,请参见 Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910)
  2. 以 root 用户身份使用 vi 编辑器打开 /var/spool/cron/crontabs 中的 root crontab 文件。
  3. 要在所需时间启动 esxtop,请附加 crontab 文件并运行使用下面说明的语法的 esxtop 命令:

    语法:

    Minutes Hour(24 hour format) Date Month_Day_of_Week /usr/sbin/esxtop -b -d ## -n #### > path/name-of-the-file.csv

    -b:表示批处理模式

    -d:采样频率(秒)

    -n:总样本数

    无论哪一日、哪一月或星期几,要在每天凌晨 2:20、以 5 秒钟 1440 个样本的采样频率
    在批处理模式下收集 ESXTOP 数据,请运行以下命令:

    20 2 * * * /usr/sbin/esxtop -b -d 5 -n 1440 > /vmfs/volumes/DatastoreName/esxtop-batch.csv

    以上命令将生成 120 分钟有分析价值的数据。

  4. 保存文件。

    注意:默认情况下,此文件为只读文件。但是,您可以使用 wq! 密匙组合在 vi 编辑器中将更改写入文件。

  5. 运行以下命令确定 crond 进程的进程 ID:

    cat /var/run/crond.pid

    您会看到类似于以下内容的输出:

    1234

    其中,1234crond 进程的进程 ID。

  6. 运行以下命令重新启动 crond 进程:

    kill -HUP 1234

    注意:在一些 ESXi 版本中,需要进行手动重启。运行相应命令:

    在 ESXi 4.x 和 ESXi 5.0 中:

    kill 1234
    /bin/busybox crond


    在 ESXi 5.1 和 ESXi 5.5 中:

    kill 1234
    /usr/lib/vmware/busybox/bin/busybox crond


    更改会立即生效,esxtop 在下次计划时间启动。

注意:ESXi 上的配置更改在重新引导后不会保留。要在不重新引导的情况下恢复更改,请从 crontab 文件中移除 esxtop 行并终止 crond 进程。

Additional Information

Gathering esxtop performance data at specific times using crontab