Go to main content

Guide RESTful API des systèmes Oracle® ZFS Storage Appliance, version OS8.8.x

Quitter la vue de l'impression

Mis à jour : Août 2021
 
 

Ensembles de données d'analyse

Les ensembles de données d'analyse utilisent les propriétés suivantes. Toutes ces propriétés sont inaltérables, à l'exception de suspended.

Propriété
Description
name
Nom des statistiques sous-jacentes pour cet ensemble de données
grouping
Groupe auquel appartiennent ces statistiques.
explanation
Explication des statistiques sous-jacentes
incore
Taille en octets de l'ensemble de données sur le coeur
size
Quantité de données en octets de l'ensemble de données sur le disque
suspended
Indicateur booléen spécifiant si l'ensemble de données est actuellement suspendu
activity
Indicateur de l'activité de l'ensemble de données en cours

Ensembles de données 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]

Liste des ensembles de données

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 Tm8gcGVla2luZyE=
Host: zfs-storage.example.com:215
Accept: application/json

Exemple de résultat :

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]",
    }, {
        ...
    }]
}

Obtention d'un ensemble de données

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 Tm8gcGVla2luZyE=
Host: zfs-storage.example.com:215
Accept: application/json

Exemple de résultat :

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éation d'un ensemble de données

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: password
Content-Type: application/json
Content-Length: 26

{"statistic": "test.sine"}

Exemple de résultat :

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"
    }
}

Modification d'un ensemble de données

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ésultat :

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 228
X-Zfssa-Analytics-Api: 1.0

{
    "dataset" {
        ...
        "suspended": false
    }
}

Suppression d'un ensemble de données

Détruit un ensemble de données.

Exemple de demande :

DELETE /api/analytics/v1/datasets/test.sine HTTP/1.1

Exemple de résultat :

HTTP/1.1 204 No Content
X-Zfssa-Analytics-Api: 1.0

Enregistrement d'un ensemble de données

Enregistre un ensemble de données.

Exemple de demande :

PUT /api/analytics/v1/datasets/nfs4.ops/data

Exemple de résultat :

HTTP/1.1 202 Accepted

Nettoyage d'un ensemble de données

Le tableau suivant affiche les paramètres de requête utilisés pour nettoyer les ensembles de données.

Paramètre
Description
granularity
Granularité de nettoyage. Les données d'un ensemble de données peuvent être élaguées selon une valeur de granularité exprimée second, minute ou hour.
endtime
Nettoyage des données collectées avant la valeur endtime indiquée. Pour le format de cette valeur de temps, reportez-vous à Paramètre de requête : start.

Exemple de demande :

L'exemple suivant supprime toutes les données par seconde, par minute et par heure de l'ensemble de données nfs4.ops. Les données collectées quotidiennement, hebdomadairement, mensuellement ou annuellement restent dans l'ensemble de données.

DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour

Exemple de résultat :

HTTP/1.1 204 No Content

Exemple de demande :

L'exemple suivant supprime toutes les données par seconde, par minute et par heure de l'ensemble de données nfs4.ops qui ont été collectées avant l'heure de fin endtime spécifiée.

DELETE /api/analytics/v1/datasets/nfs4.ops/data?granularity=hour&endtime=20130910T00:00:00

Obtention des données d'un ensemble de données

Renvoie les données d'un ensemble de données d'analyse actif. L'extraction des données par seconde et granulaires est prise en charge.

Le tableau suivant affiche les paramètres de requête basés sur le temps utilisés pour obtenir les données des ensembles de données.

Paramètre
Description
start
Heure de début de la collecte des échantillons de données ou index d'échantillon de démarrage de la collection de données. La valeur de temps start peut être une heure spécifique ou le mot-clé now. Pour le format d'une valeur de temps spécifique, reportez-vous à Paramètre de requête : start. La valeur de temps start par défaut est l'heure actuelle moins la valeur de seconds.
seconds
Nombre de secondes pendant laquelle la collecte des échantillons de données est effectuée. La valeur par défaut est 1. Le paramètre seconds est ignoré si les paramètres span et granularity sont spécifiés.
span
Durée pendant laquelle collecter des échantillons de données : minute, hour, day, week, month ou year.
granularity
Granularité à l'intérieur d'une période donnée dont est tirée la moyenne des points de données : minute, hour, day, week, month ou year.

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.

Pour extraire les données granulaires, utilisez une combinaison de paramètres span et granularity. Lorsque les paramètres span et granularity sont utilisés, le paramètre seconds est ignoré. Si span ou granularity est mal saisi, la demande est ignorée et le paramètre seconds est utilisé à la place. Une demande incorrecte ou non prise en charge entraîne l'affichage du message d'erreur "Input span and granularity are not supported."

Les paramètres span et granularity peuvent être combinés de la façon suivante :

  • Si span a la valeur minute, granularity ne peut prendre que la valeur minute.

  • Si span a la valeur hour, granularity peut prendre la valeur minute ou hour.

  • Si span a la valeur day, granularity peut prendre la valeur minute, hour ou day.

  • Si span a la valeur week, granularity peut prendre la valeur hour, day ou week.

  • Si span a la valeur month, granularity peut prendre la valeur day, week ou month.

  • Si span a la valeur year, granularity peut prendre la valeur week, month ou year.

Le tableau suivant affiche les propriétés d'ensemble de données qui sont renvoyées.

Propriété
Description
data
Baie des échantillons de données
sample
Numéro d'index des échantillons de données
startTime
Heure de renvoi de sample
min
Valeur minimale par seconde dans la granularité spécifiée
max
Valeur maximale par seconde dans la granularité spécifiée

Exemple de demande pour collecter les données en direct pendant deux secondes :

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

Exemple de résultat :

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
    }
  ]
}

Exemple de demande pour collecter sept jours de données sur une période d'une semaine :

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

La demande suivante signale que l'ensemble de données io.ops[op] contient les opérations d'E/S par seconde réparties par type d'opération (lecture ou écriture) :

GET /api/analytics/v1/datasets/io.ops[op]

Exemple de résultat. Pour des raisons de concision, cinq des sept échantillons de sortie ont été omis.

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
    }
  ]
}

Vous pouvez également utiliser une valeur sample comme valeur start. La demande suivante produit comme résultat les données de l'échantillon d'une seconde spécifié :

GET /api/analytics/v1/datasets/io.ops[op]/data?start=457642682 HTTP/1.1