Analytics 데이터 세트에는 다음 등록 정보가 사용됩니다. suspended를 제외한 모든 등록 정보는 변경할 수 없습니다.
|
사용 가능한 데이터 세트:
ad.avglatency
ad.avglatency[op]
ad.avglatency[result]
ad.binds
ad.binds[hostname]
ad.binds[result]
ad.ops
ad.ops[op]
ad.ops[result]
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 Tm8gcGVla2luZyE= 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 Tm8gcGVla2luZyE= 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
다음 표에서는 데이터 세트 제거에서 사용되는 질의 매개변수를 보여줍니다.
|
요청 예:
다음 예에서는 nfs4.ops 데이터 세트에서 초당, 분당, 시간당 데이터를 모두 삭제합니다. 매일, 매주, 매월 또는 매년 수집된 데이터는 데이터 세트에 유지됩니다.
DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour
결과 예:
HTTP/1.1 204 No Content
요청 예:
다음 예에서는 nfs4.ops 데이터 세트에서 지정된 endtime 이전에 수집된 초당, 분당, 시간당 데이터를 모두 삭제합니다.
DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour&endtime=20130910T00:00:00
활성 분석 데이터 세트에서 데이터를 반환합니다. 초 단위 데이터 검색 및 세분화된 단위의 데이터 검색이 모두 지원됩니다.
다음 표에서는 데이터 세트 데이터를 가져오기 위한 시간 기반 질의 매개변수를 보여줍니다.
|
시작 시간이 미래일 수는 없습니다. 데이터를 수집할 시간(초)이 현재 시간 이후로 넘어갈 경우 서버에서 데이터를 반환하기 전에 각 샘플을 기다립니다.
세분화된 단위로 데이터를 검색하려면 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일 수 있습니다.
다음 표는 반환되는 데이터 세트 데이터 등록 정보를 보여줍니다.
|
2초 동안의 라이브 데이터를 수집하는 요청의 예:
GET /api/analytics/v1/datasets/io.ops[op]/data?start=now&seconds=2 HTTP/1.1 Authorization: Basic Tm8gcGVla2luZyE= 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": 457642682, "data": { "data": [ { "key": "write", "value": 199 } ], "value": 199 }, "startTime": "20200818T18:43:47", "samples": 457642683 }, { "sample": 457642683, "data": { "data": [ { "key": "write", "value": 289 } ], "value": 289 }, "startTime": "20200818T18:43:48", "samples": 457642684 } ] }
지속 시간 1주 내 7일 동안의 데이터를 수집하는 요청의 예:
GET /api/analytics/v1/datasets/io.ops[op]/data?start=20200811T15:00:00&granularity=day&span=week HTTP/1.1 Authorization: Basic Tm8gcGVla2luZyE= Host: zfs-storage.example.com:215 Accept: text/x-yaml
다음 요청은 io.ops[op] 데이터 세트가 "작업 유형별로 분석된 초당 I/O 작업"(읽기 또는 쓰기)임을 보고합니다.
GET /api/analytics/v1/datasets/io.ops[op]
결과 예. 간략히 나타내기 위해 7개 출력 샘플 중 5개가 생략됩니다.
HTTP/1.1 200 OK Content-Type: text/x-yaml X-Zfssa-Analytics-Api: 1.0 Transfer-Encoding: chunked { "data": [ { "sample": 457197423, "data": { "max": 3156, "data": [ { "max": 588, "key": "read", "value": 6, "min": 0 }, { "max": 3156, "key": "write", "value": 45, "min": 0 } ], "value": 52, "min": 0 }, "startTime": "20200811T15:00:00", "samples": 457644011 }, { "sample": 457283823, "data": { "max": 3675, "data": [ { "max": 588, "key": "read", "value": 6, "min": 0 }, { "max": 3675, "key": "write", "value": 45, "min": 0 } ], "value": 52, "min": 0 }, "startTime": "20200812T15:00:23", "samples": 457644011 } ] }
sample 값을 start 값으로 사용할 수도 있습니다. 다음 요청의 결과는 지정된 1초 샘플에서 가져온 데이터입니다.
GET /api/analytics/v1/datasets/io.ops[op]/data?start=457642682 HTTP/1.1