Analytics 데이터 세트에는 다음 등록 정보가 사용됩니다. 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
metacap.bytesused
metacap.percentused
ndmp.diskkb
nfs2.ops
nfs2.ops[op]
nfs3.ops
nfs3.ops[op]
nfs4.ops
nfs4.ops[op]
nfs4-1.ops
nfs4-1.bytes
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: zfs-storage.example.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: zfs-storage.example.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: password 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
다음 표에서는 데이터 세트 제거에서 사용되는 질의 매개변수를 보여줍니다.
|
요청 예:
DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour
응답 예:
HTTP/1.1 204 No Content
Analytic 데이터 세트에서 데이터를 가져옵니다. 초 단위 데이터 검색 및 세분화된 단위의 데이터 검색이 모두 지원됩니다.
다음 표에서는 데이터 세트 데이터를 가져오기 위한 시간 기반 질의 매개변수를 보여줍니다.
|
start 매개변수가 제공되지 않은 경우 시작 시간은 현재 시간에서 지정된 샘플 데이터의 seconds 수를 뺀 값으로 설정됩니다. 시작 시간이 미래일 수는 없습니다. 데이터를 수집할 시간(초)이 현재 시간 이후로 넘어갈 경우 서버에서 데이터를 반환하기 전에 각 샘플을 기다립니다.
세분화된 단위로 데이터를 검색하려면 span 및 granularity 매개변수의 조합을 사용합니다. span 및 granularity가 사용되는 경우 seconds 매개변수는 무시됩니다. span 또는 granularity가 잘못 입력되는 경우 요청이 무시되며 seconds 매개변수가 대신 사용됩니다. 잘못된 요청이거나 지원되지 않는 요청인 경우 "Input span and granularity are not supported(입력 지속 시간 및 단위는 지원되지 않습니다)."라는 오류 메시지가 표시됩니다.
다음 목록에서는 span 및 granularity 매개변수를 결합할 수 있는 방법에 대해 설명합니다.
span이 minute인 경우 granularity는 minute일 수만 있습니다.
span이 hour인 경우 granularity는 minute 또는 hour일 수 있습니다.
span이 day인 경우 granularity는 minute, hour 또는 day일 수 있습니다.
span이 week인 경우 granularity는 hour, day 또는 week일 수 있습니다.
span이 month인 경우 granularity는 day, week 또는 month일 수 있습니다.
span이 year인 경우 granularity는 week, month 또는 year일 수 있습니다.
다음 표는 반환되는 데이터 세트 데이터 등록 정보를 보여줍니다.
|
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: zfs-storage.example.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&granularity=day HTTP/1.1 Authorization: Basic ab6rt4psMWE= Host: zfs-storage.example.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