|
Toutes ces propriétés sont inaltérables, à l'exception de "suspended".
Ensembles de données disponibles :
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]
Répertorie tous les ensembles de données d'analyse configurés.
Exemple de demande :
GET /api/analytics/v1/datasets HTTP/1.1 Authorization: Basic ab6rt4psMWE= Host: example.zfssa.com:215 Accept: application/json
Exemple de résultats :
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]", }, { ... }] }
Obtient les propriétés de l'ensemble de données spécifié.
Exemple de demande :
GET /api/analytics/v1/datasets/nfs4.ops HTTP/1.1 Authorization: Basic ab6rt4psMWE= Host: example.zfssa.com:215 Accept: application/json
Exemple de résultats :
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 } }
Crée un ensemble de données.
Exemple de demande :
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"}
Exemple de résultats :
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" } }
Cette commande permet de suspendre ou de reprendre la collecte de données d'un seul ensemble de données.
Exemple de demande de suspension :
POST /api/analytics/v1/datasets/nfs4.ops {"suspended":true}
Exemple de demande de reprise :
POST /api/analytics/v1/datasets/nfs4.ops {"suspended":false}
Exemple de réponse :
HTTP/1.1 202 Accepted Content-Type: application/json Content-Length: 228 X-Zfssa-Analytics-Api: 1.0 { "dataset" { ... "suspended": false } }
Détruit un ensemble de données.
Exemple de demande :
DELETE /api/analytics/v1/datasets/test.sine HTTP/1.1
Exemple de réponse :
HTTP/1.1 204 No Content X-Zfssa-Analytics-Api: 1.0
Enregistre un ensemble de données.
Exemple de demande :
PUT /api/analytics/v1/datasets/nfs4.ops/data
Exemple de réponse :
HTTP/1.1 202 Accepted
Les données d'un ensemble de données peuvent être élaguées selon une valeur de granularité exprimée en seconde, en minute ou en heure.
|
L'heure de fin est une chaîne d'heure/de date conforme à la norme ISO 8601 (par exemple, 20130531T01:13:58)
Exemple de demande :
DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour
Exemple de réponse :
HTTP/1.1 204 No Content
Obtient des données à partir d'un ensemble de données d'analyse.
|
L'heure de début est soit :
Une chaîne d'heure/de date conforme à la norme ISO 8601 (par exemple, 20130531T01:13:58)
Un numéro d'index d'échantillon
La chaîne littérale now
Si le début n'est pas fourni, il est défini sur l'heure actuelle moins le nombre de secondes nécessaires à la collecte des données souhaitées. L'heure de début ne peut pas être située dans le futur. Si le nombre de secondes nécessaires à la collecte de données dépasse l'heure actuelle, le serveur attend chaque échantillon avant de renvoyer les données.
|
Exemple de demande de collecte de données en direct pendant 3 secondes :
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
Exemple de résultats :
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 ---