|
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]
構成済みのすべての分析データセットを一覧表示します。
リクエストの例:
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
分析データセットからデータを取得します。
|
startTime は、次のいずれかです。
ISO 8601 の日時文字列 (例: 20130531T01:13:58)
サンプルのインデックス番号
文字列リテラル「now」
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
---