| 
 | 
所有属性都不可变,suspended 除外。
可用数据集:
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
ndmp.diskkb
nfs2.ops
nfs2.ops[op]
nfs3.ops
nfs3.ops[op]
nfs4.ops
nfs4.ops[op]
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: example.zfssa.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: example.zfssa.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: letmein
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
可删改数据集内粒度值为秒、分钟或小时的数据。
| 
 | 
endtime 是 ISO 8601 时间/日期字符串(例如 20130531T01:13:58)
请求示例:
DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour
响应示例:
HTTP/1.1 204 No Content
从 Analytic 数据集获取数据。
| 
 | 
startTime 可以是以下类型之一:
ISO 8601 时间/日期字符串(例如 20130531T01:13:58)
样例索引号
文本字符串 now
如果未提供 start,start 将设置为当前时间减去样例数据所需的秒数。start 时间不能是将来时间。如果收集数据所需的秒数超过了当前时间,服务器将等待各个样例,然后再返回数据。
| 
 | 
请求示例(用于收集 3 秒实时数据):
GET /api/analytics/v1/datasets/nfs4.ops%5Bfile%5D/data?start=now&seconds=3
    HTTP/1.1
Authorization: Basic ab6rt4psMWE=
Host: example.zfssa.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
---