Go to main content

Oracle® ZFS Storage Appliance RESTful API 指南,发行版 OS8.8.0

退出打印视图

更新时间: 2018 年 11 月
 
 

Analytics 数据集

Analytics 数据集使用以下属性。除 suspended 以外的所有其他属性都不可变。

属性
说明
name
此数据集的底层统计信息的名称
grouping
此统计信息的所属组
explanation
底层统计信息的说明
incore
内核中的数据集数据的字节数
size
磁盘上的数据集数据的字节数
suspended
指示数据集当前是否处于挂起状态的布尔值
activity
待定数据集活动标志

可用数据集:

  • arc.accesses[hit/miss]

  • arc.l2_accesses[hit/miss]

  • arc.l2_size

  • arc.size

  • arc.size[component]

  • cpu.utilization

  • cpu.utilization[mode]

  • dnlc.accesses[hit/miss]

  • fc.bytes

  • fc.ops

  • ftp.kilobytes

  • http.reqs

  • io.bytes

  • io.bytes[op]

  • io.disks[utilization=95][disk]

  • io.ops

  • io.ops[disk]

  • io.ops[op]

  • iscsi.bytes

  • iscsi.ops

  • metacap.bytesused

  • metacap.percentused

  • ndmp.diskkb

  • nfs2.ops

  • nfs2.ops[op]

  • nfs3.ops

  • nfs3.ops[op]

  • nfs4.ops

  • nfs4.ops[op]

  • nfs4-1.ops

  • nfs4-1.bytes

  • nic.kilobytes

  • nic.kilobytes[device]

  • nic.kilobytes[direction]

  • sftp.kilobytes

  • smb.ops

  • smb.ops[op]

列出数据集

列出所有配置的 Analytic 数据集。

请求示例:

GET /api/analytics/v1/datasets HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Host: zfs-storage.example.com:215
Accept: application/json

结果示例:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 237
X-Zfssa-Analytics-Api: 1.0

{
    "datasets": [{
        "dataset": "dataset-000",
        "href": "/api/analytics/v1/datasets/arc.accesses[hit/miss]",
        "name": "arc.accesses[hit/miss]"
    }, {
        "dataset": "dataset-001",
        "href": "/api/analytics/v1/datasets/arc.l2_accesses[hit/miss]",
        "name": "arc.l2_accesses[hit/miss]",
    }, {
        "dataset": "dataset-002",
        "href": "/api/analytics/v1/datasets/arc.l2_size",
        "name": "arc.l2_size",
    }, {
        "dataset": "dataset-003",
        "href": "/api/analytics/v1/datasets/arc.size",
        "name": "arc.size",
    }, {
        "dataset": "dataset-004",
        "href": "/api/analytics/v1/datasets/arc.size[component]",
        "name": "arc.size[component]",
    }, {
        ...
    }]
}

获取数据集

获取指定的数据集的属性。

请求示例:

GET /api/analytics/v1/datasets/nfs4.ops HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Host: zfs-storage.example.com:215
Accept: application/json

结果示例:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 237
X-Zfssa-Analytics-Api: 1.0

{
    "dataset": {
        "activity": "none",
        "dataset": "dataset-030",
        "explanation": "NFSv4 operations per second",
        "grouping": "Protocol",
        "href": "/api/analytics/v1/datasets/nfs4.ops",
        "incore": 296128,
        "name": "nfs4.ops",
        "size": 53211540,
        "suspended": false
    }
}

创建数据集

创建新的数据集。

请求示例:

POST /api/analytics/v1/datasets HTTP/1.1
X-Auth-User: root
X-Auth-Key: password
Content-Type: application/json
Content-Length: 26

{"statistic": "test.sine"}

结果示例:

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 200
Location: /api/analytics/v1/datasets/test.sine

{
    "dataset":{
        "href": "/api/analytics/v1/datasets",
        "name": "test.sine",
        "grouping": "Test",
        "explanation": "sine per second",
        "incore": 34752,
        "size": 31912,
        "suspended": false,
        "activity": "none"
    }
}

修改数据集

修改数据集命令用于暂停或恢复单个数据集的数据收集。

暂停请求示例:

POST /api/analytics/v1/datasets/nfs4.ops

{"suspended":true}

恢复请求示例:

POST /api/analytics/v1/datasets/nfs4.ops
        {"suspended":false}

响应示例:

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 228
X-Zfssa-Analytics-Api: 1.0

{
    "dataset" {
        ...
        "suspended": false
    }
}

销毁数据集

销毁数据集。

请求示例:

DELETE /api/analytics/v1/datasets/test.sine HTTP/1.1

响应示例:

HTTP/1.1 204 No Content
X-Zfssa-Analytics-Api: 1.0

保存数据集

保存数据集。

请求示例:

PUT /api/analytics/v1/datasets/nfs4.ops/data

响应示例:

HTTP/1.1 202 Accepted

删改数据集数据

下表显示了在删改数据集时使用的查询参数。

参数
说明
granularity
删改粒度。可以按粒度值 secondminutehour 删改数据集内的数据。
endtime
删改在给定 endtime 之前收集的数据。endtime 是一个 ISO 8601 时间/日期字符串(例如 20130531T01:13:58)。

请求示例:

DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour

响应示例:

HTTP/1.1 204 No Content

获取数据集数据

从 Analytic 数据集获取数据。支持检索每秒的数据和细粒度数据。

下表显示了用于获取数据集数据的基于时间的查询参数。

参数
说明
start
开始收集示例数据的时间。默认值为当前时间。
seconds
收集样例数据的秒数。默认值是 1。如果指定了 spaninterval 参数,则会忽略 seconds 参数。
span
收集样例数据的持续时间:minutehourdayweekmonthyear
granularity
在给定范围内提供数据点平均值时采用的粒度:minutehourdayweekmonthyear

如果未提供 start 参数,则开始时间设置为当前时间减去指定样例数据的秒数 (seconds)。start 时间不能是将来时间。如果收集数据所需的秒数会导致数据返回时间晚于当前时间,服务器将等待各个样例收集完毕,然后再返回数据。

要检索细粒度数据,请使用 spangranularity 参数的组合。使用了 spangranularity 时,将忽略 seconds 参数。如果 spangranularity 中的任一参数输入不正确,则会忽略此请求并改用 seconds 参数。如果请求不正确或不受支持,将显示错误消息 "Input span and granularity are not supported"。

下面的列表描述了如何将 spangranularity 参数组合使用:

  • 如果 spanminute,则 granularity 只能是 minute

  • 如果 spanhour,则 granularity 可以是 minutehour

  • 如果 spanday,则 granularity 可以是 minutehourday

  • 如果 spanweek,则 granularity 可以是 hourdayweek

  • 如果 spanmonth,则 granularity 可以是 dayweekmonth

  • 如果 spanyear,则 granularity 可以是 weekmonthyear

下表显示了返回的数据集数据属性。

属性
说明
startTime
返回的第一个样例的时间
sample
返回的第一个样例的样例索引
data
样例数据组
min
在指定粒度内的每秒最小值
max
在指定粒度内的每秒最大值

startTime 属性可为以下格式之一:

  • ISO 8601 时间/日期字符串(例如,20130531T01:13:58)

  • 样例索引号

  • 文本字符串 now

用于收集三秒内实时数据的请求示例:

GET /api/analytics/v1/datasets/nfs4.ops%5Bfile%5D/data?start=now&seconds=3 HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Host: zfs-storage.example.com:215
Accept: text/x-yaml

结果示例:

HTTP/1.1 200 OK
Content-Type: text/x-yaml
X-Zfssa-Analytics-Api: 1.0
Transfer-Encoding: chunked

---
data:
  - sample: 239024557
    data:
        value:      5
    startTime:      20130912T21:42:38
    samples:        239024558

  - sample: 239024558
    data:
        value:      15
    startTime:      20130912T21:42:39
    samples:        239024559

  - sample: 239024559
    data:
        value:      25
    startTime:      20130912T21:42:40
    samples:        239024560

size:       3
---

用于收集一周内每一天的实时数据的请求示例:

GET /api/analytics/v1/datasets/nfs4.ops%5Bfile%5D/data?start=239024557&span=week&granularity=day
    HTTP/1.1 
Authorization: Basic ab6rt4psMWE= 
Host: zfs-storage.example.com:215
Accept: text/x-yaml

结果示例:

HTTP/1.1 200 OK
Content-Type: text/x-yaml
X-Zfssa-Analytics-Api: 1.0
Transfer-Encoding: chunked

---
data:   
  - sample: 239024557     
    data:        
       value:      5     
    max:        79     
    min:        0
    startTime:      20130912T21:42:38     
    samples:        240074328
 
  - sample: 239110957     
    data:         
        value:      15
     max:        150     
     min:        1    
     startTime:      20130913T21:42:38     
     samples:        240074328

    ... 

   - sample: 239629357     
     data:         
         value:      25
     max:        120     
     min:        2    
     startTime:      20130914T21:42:38     
     samples:        240074328

size:       7