|
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 ---