|
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 데이터 세트에서 데이터를 가져옵니다. 초 단위 데이터 검색 및 세분화된 단위의 데이터 검색이 모두 지원됩니다.
|
start 매개변수가 제공되지 않은 경우 시작 시간은 현재 시간에서 지정된 샘플 데이터의 seconds 수를 뺀 값으로 설정됩니다. 시작 시간이 미래일 수는 없습니다. 데이터를 수집할 시간(초)이 현재 시간 이후로 넘어갈 경우 서버에서 데이터를 반환하기 전에 각 샘플을 기다립니다.
세분화된 단위로 데이터를 검색하려면 다음 표에서 보듯이 span과 interval 매개변수의 조합을 사용합니다. 이러한 매개변수가 사용되면 seconds 매개변수는 설정된 경우에도 무시됩니다.
|
매개변수가 하나라도 잘못 입력된 경우 요청은 무시되고 seconds 매개변수가 대신 사용됩니다. 잘못된 요청이거나 지원되지 않는 요청인 경우 "Input span and granularity are not supported(입력 지속 시간 및 단위는 지원되지 않습니다)."라는 오류 메시지가 표시됩니다.
다음 표는 반환되는 데이터 세트 데이터 등록 정보를 보여줍니다.
|
startTime 등록 정보는 다음 형식 중 하나일 수 있습니다.
ISO 8601 시간/날짜 문자열(예: 20130531T01:13:58)
샘플 인덱스 번호
문자열 리터럴 now
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 ---
지속 시간 1주 내 7일 동안의 라이브 데이터를 수집하는 요청의 예:
GET /api/analytics/v1/datasets/nfs4.ops%5Bfile%5D/data?start=239024557&span=week&interval=day 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 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