简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

性能计数器

提供者

通过ONTAP 计数器管理器、ONTAP 用户可以访问性能计数器信息并导出许多不同的ONTAP 性能计数器指标。

在ONTAP 9.11.1之前的版本中、对全套ONTAP 计数器管理器对象的访问仅限于ONTAP 命令行界面和ONTAPI接口。

从ONTAP 9.11.1开始、ONTAP 用户可以使用ONTAP REST API访问计数器管理器对象段。将自动化脚本从ONTAPI迁移到ONTAP REST API的用户需要了解如何向ONTAPI提供性能计数器数据与如何向REST API提供数据之间的差异。

请参见 "ONTAP 9.11.1 ONTAPI到REST计数器管理器映射" 有关ONTAP 9.11.1中REST API可用的一组ONTAP 计数器的文档、以及有关ONTAPI和REST API使用量之间的计数器差异的信息。

使用ONTAPI访问性能计数器

在ONTAPI使用时、性能计数器数据会分组到对象中。例如、在具有四个磁盘的节点中、磁盘性能计数器数据会分组为一个对象。系统中的每个物理磁盘都代表该对象的一个实例、您可以使用ONTAPI访问单个磁盘实例的各个性能计数器。

使用ONTAP REST API访问性能计数器

使用ONTAP REST API、您可以通过表(例如、disk)访问计数器管理器对象。这意味着、每个计数器管理器对象都表示为自己的表、而该计数器管理器对象的实例(例如系统中的各个磁盘)则可作为该表中的一行进行访问。每行都包含该实例的多个性能计数器。您可以将实例的单个性能计数器作为该表行中的一个字段来访问。

在以下示例中、host_adapter counter manager对象以表格式表示、用于说明如何使用ONTAP REST API访问每个性能计数器。系统中有多个主机适配器、每个主机适配器都有自己的性能计数器:

Instance name REST计数器

host_adapter_1

总读取操作数

total_write_ops

bytes_read

bytes_written

max_link_data_rate

RSCN_count

host_adapter_2

总读取操作数

total_write_ops

bytes_read

bytes_written

max_link_data_rate

RSCN_count

host_adapter_3.

总读取操作数

total_write_ops

bytes_read

bytes_written

max_link_data_rate

RSCN_count

使用REST API示例了解此结构

使用以下REST API示例帮助了解计数器管理器表的结构。这些示例还向您展示了如何使用REST API发现可用的端点、并使用它们深入了解系统的性能。这些示例将浏览`host_adapter` counter manager对象、并逐步显示有关该对象及其包含的计数器值的更详细信息。如果您在系统上尝试这些示例、请务必在所示位置用方括号<>提供相关信息的值。

发现可用的性能计数器表

您可以使用此REST API调用来发现可以查询的所有计数器管理器表:

请求示例:
curl -X GET -u admin:<PASSWORD> -k 'https://<ONTAP_IP_ADDRESS>/api/cluster/counter/tables'
示例响应(截断以缩短时间):
{
  "records": [
    {
      "name": "copy_manager",
      "_links": {
        "self": {
          "href": "/api/cluster/counter/tables/copy_manager"
        }
      }
    },
    {
      "name": "copy_manager:constituent",
      "_links": {
        "self": {
          "href": "/api/cluster/counter/tables/copy_manager%3Aconstituent"
        }
      }
    },
    {
      "name": "disk",
      "_links": {
        "self": {
          "href": "/api/cluster/counter/tables/disk"
        }
      }
    },
    {
      "name": "host_adapter",
      "_links": {
        "self": {
          "href": "/api/cluster/counter/tables/host_adapter"
        }
      }
    }
    ...
  ],
  "num_records": 68,
  "_links": {
    "self": {
      "href": "/api/cluster/counter/tables"
    }
  }
}

查询单个性能计数器表

您可以使用此REST API调用查看一个特定表(计数器管理器对象)的问题描述 和元数据。输出说明了该表的用途、并说明了该表中每个性能计数器记录的信息类型。在此示例中、我们查询`host_adapter`表:

请求示例:
curl -X GET -u admin:<PASSWORD> -k 'https://<ONTAP_IP_ADDRESS>/api/cluster/counter/tables/host_adapter'
示例响应:
{
  "name": "host_adapter",
  "description": "The host_adapter table reports activity on the Fibre Channel, Serial Attached SCSI, and parallel SCSI Host Adapters the storage system uses to connect to disks and tape drives.",
  "counter_schemas": [
    {
      "name": "bytes_read",
      "description": "Bytes read via Host Adapter",
      "type": "rate",
      "unit": "per_sec"
    },
    {
      "name": "bytes_written",
      "description": "Bytes written via Host Adapter",
      "type": "rate",
      "unit": "per_sec"
    },
    {
      "name": "max_link_data_rate",
      "description": "Max link data rate in Kilobytes per second for Host Adapter",
      "type": "raw",
      "unit": "kb_per_sec"
    },
    {
      "name": "node.name",
      "description": "System node name",
      "type": "string",
      "unit": "none"
    },
    {
      "name": "rscn_count",
      "description": "Number of RSCN(s) received by the FC HBA",
      "type": "raw",
      "unit": "none"
    },
    {
      "name": "total_read_ops",
      "description": "Total number of reads on Host Adapter",
      "type": "rate",
      "unit": "per_sec"
    },
    {
      "name": "total_write_ops",
      "description": "Total number of writes on Host Adapter",
      "type": "rate",
      "unit": "per_sec"
    }
  ],
  "_links": {
    "self": {
      "href": "/api/cluster/counter/tables/host_adapter"
    }
  }
}

查看性能计数器表中的行

您可以使用此REST API调用查看表中的行、该调用会告知您存在哪些计数器管理器对象实例:

请求示例:
curl -X GET -u admin:<PASSWORD> -k 'https://<ONTAP_IP_ADDRESS>/api/cluster/counter/tables/host_adapter/rows'
示例响应:
{
  "records": [
    {
      "id": "power-01:0b",
      "_links": {
        "self": {
          "href": "/api/cluster/counter/tables/host_adapter/rows/power-01%3A0b"
        }
      }
    },
    {
      "id": "power-01:0c",
      "_links": {
        "self": {
          "href": "/api/cluster/counter/tables/host_adapter/rows/power-01%3A0c"
        }
      }
    },
    {
      "id": "power-01:0d",
      "_links": {
        "self": {
          "href": "/api/cluster/counter/tables/host_adapter/rows/power-01%3A0d"
        }
      }
    },
    {
      "id": "power-01:0e",
      "_links": {
        "self": {
          "href": "/api/cluster/counter/tables/host_adapter/rows/power-01%3A0e"
        }
      }
    }
  ],
  "num_records": 4,
  "_links": {
    "self": {
      "href": "/api/cluster/counter/tables/host_adapter/rows"
    }
  }
}

查询特定的计数器管理器实例

您可以使用此REST API调用查看表中特定计数器管理器实例的性能计数器值。在此示例中、我们请求提供系统中某个电源的性能计数器信息:

请求示例:
curl -X GET -u admin:<PASSWORD> -k 'https://<ONTAP_IP_ADDRESS>/api/cluster/counter/tables/host_adapter/rows/power-01:0b'
示例响应:
{
  "counter_table": {
    "name": "host_adapter"
  },
  "id": "power-01:0b",
  "properties": [
    {
      "name": "node.name",
      "value": "power-01"
    }
  ],
  "counters": [
    {
      "name": "total_read_ops",
      "value": 3600516
    },
    {
      "name": "total_write_ops",
      "value": 3591536
    },
    {
      "name": "bytes_read",
      "value": 86354320000
    },
    {
      "name": "bytes_written",
      "value": 480863081920
    },
    {
      "name": "max_link_data_rate",
      "value": 375000
    },
    {
      "name": "rscn_count",
      "value": 0
    }
  ],
  "_links": {
    "self": {
      "href": "/api/cluster/counter/tables/host_adapter/rows/power-01:0b"
    }
  }
}