Los juegos de datos de análisis utilizan las siguientes propiedades. Todas las propiedades son inmutables, excepto las suspended.
|
Juego de datos disponibles:
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]
Muestra todos los juegos de datos analíticos configurados.
Ejemplo de solicitud:
GET /api/analytics/v1/datasets HTTP/1.1 Authorization: Basic Tm8gcGVla2luZyE= Host: zfs-storage.example.com:215 Accept: application/json
Resultado de ejemplo:
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]", }, { ... }] }
Obtiene propiedades del juego de datos especificado.
Ejemplo de solicitud:
GET /api/analytics/v1/datasets/nfs4.ops HTTP/1.1 Authorization: Basic Tm8gcGVla2luZyE= Host: zfs-storage.example.com:215 Accept: application/json
Resultado de ejemplo:
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 } }
Crea un juego de datos nuevo.
Ejemplo de solicitud:
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"}
Resultado de ejemplo:
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" } }
El comando de modificación de juego de datos se utiliza para suspender o reanudar la recopilación de datos de un solo juego de datos.
Ejemplo de solicitud de suspensión:
POST /api/analytics/v1/datasets/nfs4.ops {"suspended":true}
Ejemplo de solicitud de reanudación:
POST /api/analytics/v1/datasets/nfs4.ops {"suspended":false}
Resultado de ejemplo:
HTTP/1.1 202 Accepted Content-Type: application/json Content-Length: 228 X-Zfssa-Analytics-Api: 1.0 { "dataset" { ... "suspended": false } }
Destruye un juego de datos.
Ejemplo de solicitud:
DELETE /api/analytics/v1/datasets/test.sine HTTP/1.1
Resultado de ejemplo:
HTTP/1.1 204 No Content X-Zfssa-Analytics-Api: 1.0
Guarda un juego de datos.
Ejemplo de solicitud:
PUT /api/analytics/v1/datasets/nfs4.ops/data
Resultado de ejemplo:
HTTP/1.1 202 Accepted
En la siguiente tabla se muestran los parámetros de consulta que se utilizan en los juegos de datos de depuración.
|
Ejemplo de solicitud:
En el siguiente ejemplo, se suprimen todos los datos por segundo, por minuto y por hora en el juego de datos nfs4.ops Los datos que se recopilaron diariamente, semanalmente, mensualmente o anualmente permanecen en el juego de datos.
DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour
Resultado de ejemplo:
HTTP/1.1 204 No Content
Ejemplo de solicitud:
En el siguiente ejemplo, se suprimen todos los datos por segundo, por minuto y por hora en el juego de datos nfs4.ops que se recopilaron antes de la endtime especificada.
DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour&endtime=20130910T00:00:00
Devuelve datos de un juego de datos de análisis activo. Se admite la recuperación de datos tanto por segundo como granular.
En esta tabla, se muestran los parámetros de consulta basados en tiempo para obtener datos del juego de datos.
|
La hora de inicio no puede ser del futuro. Si la cantidad de segundos para recopilar datos va más allá de la hora actual, el servidor espera a que se tome cada muestra antes de devolver los datos.
Para recuperar datos granulares, use una combinación de los parámetros span y granularity. Cuando se usan span y granularity, se ignora el parámetro seconds. Si span o granularity se introducen incorrectamente, la solicitud se ignora y, en cambio, se usa el parámetro seconds. Si la solicitud es incorrecta o no está admitida, aparece el mensaje de error "Input span and granularity are not supported." (El período y la granularidad introducidos no están admitidos).
Los parámetros span y granularity se pueden combinar de las siguientes formas:
Si span es minute, granularity solo puede ser minute.
Si span es hour, granularity puede ser minute o hour.
Si span es day, granularity puede ser minute, hour o day.
Si span es week, granularity puede ser hour, day o week.
Si span es month, granularity puede ser day, week o month.
Si span es year, granularity puede ser week, month o year.
En la siguiente tabla, se muestran las propiedades de los datos del juego de datos que se devuelven.
|
Ejemplo de solicitud para recopilar dos segundos de datos en vivo:
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
Resultado de ejemplo:
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 } ] }
Ejemplo de solicitud para recopilar siete días de datos en vivo dentro de un período de una semana:
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
En la siguiente solicitud, se informa que el juego de datos io.ops[op] es "operaciones de E/S por segundo desglosadas por tipo de operación" (lectura o escritura):
GET /api/analytics/v1/datasets/io.ops[op]
Ejemplo de resultado. Cinco de los siete ejemplos de salida se omiten por motivos de brevedad:
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 } ] }
También puede utilizar un valor sample como el valor start. El resultado de la siguiente solicitud son los datos del ejemplo de un segundo especificado:
GET /api/analytics/v1/datasets/io.ops[op]/data?start=457642682 HTTP/1.1