|
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]
구성된 모든 Analytics 데이터 세트를 나열합니다.
요청 예:
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
데이터 세트 내의 데이터는 초, 분 또는 시간 단위 값에서 제거될 수 있습니다.
|
종료 시간은 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를 제공하지 않으면 현재 시간에서 원하는 샘플 데이터 시간(초)을 뺀 값으로 설정됩니다. 시작 시간이 미래일 수는 없습니다. 데이터를 수집할 시간(초)이 현재 시간 이후로 넘어갈 경우 서버에서 데이터를 반환하기 전에 각 샘플을 기다립니다.
|
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
---