Skip to main content
Data Infrastructure Insights
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

API Data Infrastructure Insights

Collaboratori netapp-alavoie dgracenetapp

L'API Data Infrastructure Insights consente ai clienti NetApp e ai fornitori di software indipendenti (ISV) di integrare Data Infrastructure Insights con altre applicazioni, come CMDB o altri sistemi di ticketing.

Le tue Data Infrastructure Insights"ruolo del set di funzionalità" determinerà a quali API potrai accedere. I ruoli Utente e Ospite hanno meno privilegi rispetto al ruolo Amministratore. Ad esempio, se hai il ruolo di Amministratore in Monitor e Ottimizza, ma il ruolo di Utente in Reporting, puoi gestire tutti i tipi di API tranne Data Warehouse.

Requisiti per l'accesso all'API

  • Per concedere l'accesso viene utilizzato un modello di token di accesso API.

  • La gestione dei token API viene eseguita dagli utenti Data Infrastructure Insights con il ruolo di amministratore.

Documentazione API (Swagger)

Le informazioni API più recenti sono reperibili accedendo a Data Infrastructure Insights e andando su Amministrazione > Accesso API. Fare clic sul collegamento Documentazione API.

Tipi di API

La documentazione API è basata su Swagger, che fornisce una breve descrizione e informazioni sull'utilizzo dell'API e consente di provarla nel proprio tenant. A seconda del ruolo utente e/o dell'edizione Data Infrastructure Insights , i tipi di API disponibili potrebbero variare.

Esempio di API Swagger

Token di accesso API

Prima di utilizzare l'API Data Infrastructure Insights , è necessario creare uno o più token di accesso API. I token di accesso vengono utilizzati per tipi di API specifici e possono concedere autorizzazioni di lettura e/o scrittura. È anche possibile impostare la scadenza per ciascun token di accesso. Tutte le API dei tipi specificati sono valide per il token di accesso. Ogni token è privo di nome utente o password.

Per creare un token di accesso:

  • Fare clic su Amministrazione > Accesso API

  • Fai clic su +Token di accesso API

    • Inserisci il nome del token

    • Seleziona i tipi di API

    • Specificare le autorizzazioni concesse per questo accesso API

    • Specificare la scadenza del token

Nota Il tuo token potrà essere copiato negli appunti e salvato solo durante il processo di creazione. Una volta creati, i token non possono essere recuperati, pertanto si consiglia vivamente di copiarli e salvarli in un luogo sicuro. Ti verrà chiesto di fare clic sul pulsante Copia token di accesso API prima di poter chiudere la schermata di creazione del token.

È possibile disattivare, attivare e revocare i token. I token disabilitati possono essere abilitati.

I token garantiscono l'accesso generico alle API dal punto di vista del cliente, gestendo l'accesso alle API nell'ambito del proprio tenant. Gli amministratori dei clienti possono concedere e revocare questi token senza il coinvolgimento diretto del personale back-end di Data Infrastructure Insights .

L'applicazione riceve un token di accesso dopo che un utente si è autenticato e ha autorizzato l'accesso, quindi passa il token di accesso come credenziale quando chiama l'API di destinazione. Il token trasmesso informa l'API che il portatore del token è stato autorizzato ad accedere all'API ed eseguire azioni specifiche specificate dall'ambito concesso durante l'autorizzazione.

L'intestazione HTTP in cui viene passato il token di accesso è X-CloudInsights-ApiKey:.

Ad esempio, utilizzare quanto segue per recuperare le risorse di archiviazione:

 curl https://<tenant_host_name>/rest/v1/assets/storages -H 'X-CloudInsights-ApiKey:<API_Access_Token>'
Dove _<API_Access_Token>_ è il token salvato durante la creazione dell'accesso API.

Consulta le pagine Swagger per esempi specifici per l'API che desideri utilizzare.

Tipo di API

L'API Data Infrastructure Insights è basata su categorie e attualmente contiene i seguenti tipi:

  • Il tipo ASSETS contiene API per asset, query e ricerca.

    • Risorse: enumera gli oggetti di livello superiore e recupera un oggetto specifico o una gerarchia di oggetti.

    • Query: recupera e gestisci le query di Data Infrastructure Insights .

    • Importa: importa annotazioni o applicazioni e assegnale agli oggetti

    • Cerca: individua un oggetto specifico senza conoscerne l'ID univoco o il nome completo.

  • Il tipo RACCOLTA DATI viene utilizzato per recuperare e gestire i raccoglitori di dati.

  • Il tipo DATA INGESTION viene utilizzato per recuperare e gestire i dati di ingestione e le metriche personalizzate, ad esempio dagli agenti Telegraf

  • LOG INGESTION viene utilizzato per recuperare e gestire i dati di registro

Nel tempo potrebbero diventare disponibili altri tipi e/o API. Puoi trovare le informazioni API più recenti in"Documentazione API Swagger" .

Si noti che i tipi di API a cui un utente ha accesso dipendono anche da"Ruolo utente" dispongono in ogni set di funzionalità Data Infrastructure Insights (monitoraggio, sicurezza del carico di lavoro, reporting).

Attraversamento dell'inventario

Questa sezione descrive come attraversare una gerarchia di oggetti Data Infrastructure Insights .

Oggetti di primo livello

I singoli oggetti vengono identificati nelle richieste tramite un URL univoco (chiamato "self" in JSON) e richiedono la conoscenza del tipo di oggetto e dell'ID interno. Per alcuni degli oggetti di livello superiore (host, storage e così via), l'API REST fornisce l'accesso alla raccolta completa.

Il formato generale di un URL API è:

 https://<tenant>/rest/v1/<type>/<object>
Ad esempio, per recuperare tutti gli archivi da un tenant denominato _mysite.c01.cloudinsights.netapp.com_, l'URL della richiesta è:
https://mysite.c01.cloudinsights.netapp.com/rest/v1/assets/storages

Bambini e oggetti correlati

Gli oggetti di livello superiore, come Storage, possono essere utilizzati per passare ad altri oggetti figlio e correlati. Ad esempio, per recuperare tutti i dischi per uno storage specifico, concatenare l'URL "self" dello storage con "/disks", ad esempio:

https://<tenant>/rest/v1/assets/storages/4537/disks

Si espande

Molti comandi API supportano il parametro expand, che fornisce dettagli aggiuntivi sull'oggetto o sugli URL per gli oggetti correlati.

L'unico parametro di espansione comune è expands. La risposta contiene un elenco di tutte le espansioni specifiche disponibili per l'oggetto.

Ad esempio, quando si richiede quanto segue:

 https://<tenant>/rest/v1/assets/storages/2782?expand=_expands
L'API restituisce tutte le espansioni disponibili per l'oggetto come segue:

espande l'esempio

Ogni espansione contiene dati, un URL o entrambi. Il parametro expand supporta attributi multipli e annidati, ad esempio:

 https://<tenant>/rest/v1/assets/storages/2782?expand=performance,storageResources.storage
Espandi consente di importare molti dati correlati in un'unica risposta.  NetApp consiglia di non richiedere troppe informazioni contemporaneamente, poiché ciò potrebbe causare un calo delle prestazioni.

Per scoraggiare questo fenomeno, le richieste di raccolte di livello superiore non possono essere ampliate. Ad esempio, non è possibile richiedere l'espansione dei dati per tutti gli oggetti di archiviazione contemporaneamente. I client devono recuperare l'elenco degli oggetti e quindi scegliere oggetti specifici da espandere.

Dati sulle prestazioni

I dati sulle prestazioni vengono raccolti su più dispositivi come campioni separati. Ogni ora (impostazione predefinita), Data Infrastructure Insights aggrega e riepiloga i campioni di prestazioni.

L'API consente l'accesso sia ai campioni sia ai dati riepilogati. Per un oggetto con dati sulle prestazioni, un riepilogo delle prestazioni è disponibile come expand=performance. Le serie temporali della cronologia delle prestazioni sono disponibili tramite expand=performance.history annidato.

Esempi di oggetti Performance Data includono:

  • Prestazioni di archiviazione

  • StoragePoolPerformance

  • Prestazioni portuali

  • Prestazioni del disco

Una metrica delle prestazioni ha una descrizione e un tipo e contiene una raccolta di riepiloghi delle prestazioni. Ad esempio, Latenza, Traffico e Velocità.

Un riepilogo delle prestazioni contiene una descrizione, un'unità, un orario di inizio e di fine del campione e una raccolta di valori riepilogati (corrente, minimo, massimo, medio, ecc.) calcolati da un singolo contatore delle prestazioni in un intervallo di tempo (1 ora, 24 ore, 3 giorni e così via).

Esempio di prestazioni API

Il dizionario Performance Data risultante ha le seguenti chiavi:

  • "self" è l'URL univoco dell'oggetto

  • “cronologia” è l’elenco delle coppie di timestamp e la mappa dei valori dei contatori

  • Ogni altra chiave del dizionario ("diskThroughput" e così via) è il nome di una metrica delle prestazioni.

Ogni tipo di oggetto dati sulle prestazioni ha un set univoco di metriche sulle prestazioni. Ad esempio, l'oggetto prestazioni della macchina virtuale supporta "diskThroughput" come metrica delle prestazioni. Ogni metrica delle prestazioni supportata appartiene a una determinata "performanceCategory" presentata nel dizionario delle metriche. Data Infrastructure Insights supporta diversi tipi di metriche delle prestazioni elencati più avanti in questo documento. Ogni dizionario di metriche di prestazione avrà anche il campo "descrizione", che è una descrizione leggibile da un essere umano di questa metrica di prestazione e un set di voci di conteggio riepilogative delle prestazioni.

Il contatore Riepilogo prestazioni è il riepilogo dei contatori delle prestazioni. Presenta valori aggregati tipici come minimo, massimo e medio per un contatore, nonché l'ultimo valore osservato, l'intervallo di tempo per i dati riepilogati, il tipo di unità per il contatore e le soglie per i dati. Solo le soglie sono facoltative; il resto degli attributi è obbligatorio.

Sono disponibili riepiloghi delle prestazioni per questi tipi di contatori:

  • Leggi – Riepilogo delle operazioni di lettura

  • Scrivi – Riepilogo delle operazioni di scrittura

  • Totale – Riepilogo di tutte le operazioni. Potrebbe essere maggiore della semplice somma di lettura e scrittura e potrebbe includere altre operazioni.

  • Totale massimo – Riepilogo di tutte le operazioni. Questo è il valore totale massimo nell'intervallo di tempo specificato.

Metriche delle prestazioni degli oggetti

L'API può restituire metriche dettagliate per gli oggetti nel tuo tenant, ad esempio:

  • Metriche delle prestazioni di archiviazione quali IOPS (numero di richieste di input/output al secondo), latenza o throughput.

  • Metriche delle prestazioni dello switch, come l'utilizzo del traffico, i dati BB Credit Zero o gli errori delle porte.

Vedi il"Documentazione API Swagger" per informazioni sulle metriche per ciascun tipo di oggetto.

Dati storici delle prestazioni

I dati storici vengono presentati nei dati sulle prestazioni come un elenco di coppie di mappe di timestamp e contatori.

I contatori cronologici vengono denominati in base al nome dell'oggetto metrica delle prestazioni. Ad esempio, l'oggetto prestazioni della macchina virtuale supporta "diskThroughput", quindi la mappa cronologica conterrà chiavi denominate "diskThroughput.read", "diskThroughput.write" e "diskThroughput.total".

Nota Il timestamp è nel formato orario UNIX.

Di seguito è riportato un esempio di dati sulle prestazioni JSON per un disco:

Prestazioni del disco JSON

Oggetti con attributi di capacità

Gli oggetti con attributi di capacità utilizzano tipi di dati di base e CapacityItem per la rappresentazione.

CapacitàArticolo

CapacityItem è una singola unità logica di capacità. Ha "value" e "highThreshold" in unità definite dal suo oggetto padre. Supporta anche una mappa di ripartizione opzionale che spiega come viene costruito il valore della capacità. Ad esempio, la capacità totale di uno storagePool da 100 TB sarebbe un CapacityItem con un valore pari a 100. La ripartizione potrebbe mostrare 60 TB allocati per i "dati" e 40 TB per gli "snapshot".

Nota: "highThreshold" rappresenta le soglie definite dal sistema per le metriche corrispondenti, che un client può utilizzare per generare avvisi o segnali visivi sui valori che non rientrano negli intervalli configurati accettabili.

Di seguito è mostrata la capacità per StoragePool con più contatori di capacità:

Esempio di capacità del pool di archiviazione

Utilizzo della ricerca per cercare oggetti

L'API di ricerca è un semplice punto di accesso al sistema. L'unico parametro di input per l'API è una stringa in formato libero e il JSON risultante contiene un elenco categorizzato di risultati. I tipi sono tipi di asset diversi dall'inventario, come storage, host, dataStore e così via. Ogni tipo conterrebbe un elenco di oggetti del tipo che corrispondono ai criteri di ricerca.

Data Infrastructure Insights è una soluzione estensibile (completamente aperta) che consente integrazioni con sistemi di orchestrazione, gestione aziendale, controllo delle modifiche e ticketing di terze parti, nonché integrazioni CMDB personalizzate.

L'API RESTful di Cloud Insight è un punto di integrazione primario che consente uno spostamento semplice ed efficace dei dati e consente agli utenti di accedere senza problemi ai propri dati.

Disabilitazione o revoca di un token API

Per disabilitare temporaneamente un token API, nella pagina dell'elenco dei token API, fare clic sul menu "tre punti" per l'API e selezionare Disabilita. È possibile riattivare il token in qualsiasi momento utilizzando lo stesso menu e selezionando Abilita.

Per rimuovere definitivamente un token API, seleziona "Revoca" dal menu. Non è possibile riattivare un token revocato; è necessario crearne uno nuovo.

Disabilita o revoca un token API

Rotazione dei token di accesso API scaduti

I token di accesso API hanno una data di scadenza. Quando un token di accesso API scade, gli utenti devono generare un nuovo token (di tipo Data Ingestion con autorizzazioni di lettura/scrittura) e riconfigurare Telegraf per utilizzare il token appena generato anziché quello scaduto. Di seguito sono riportati i passaggi dettagliati per procedere.

Kubernetes

Si noti che questi comandi utilizzano lo spazio dei nomi predefinito "netapp-monitoring". Se hai impostato un tuo namespace, sostituiscilo in questi e in tutti i comandi e file successivi.

Nota: se hai installato la versione più recente NetApp Kubernetes Monitoring Operator e utilizzi un token di accesso API rinnovabile, i token in scadenza verranno automaticamente sostituiti da token di accesso API nuovi/aggiornati. Non è necessario eseguire manualmente i passaggi elencati di seguito.

Nota: i clienti che gestiscono il proprio NetApp Kubernetes Monitoring Operator con uno strumento di gestione della configurazione, come Kustomize, possono seguire gli stessi passaggi per generare e scaricare un set aggiornato di YAML da inviare al proprio repository.

RHEL/CentOS e Debian/Ubuntu

  • Modifica i file di configurazione di Telegraf e sostituisci tutte le istanze del vecchio token API con il nuovo token API.

     sudo sed -i.bkup ‘s/<OLD_API_TOKEN>/<NEW_API_TOKEN>/g’ /etc/telegraf/telegraf.d/*.conf
    * Riavvia Telegraf.
    sudo systemctl restart telegraf

Finestre

  • Per ogni file di configurazione di Telegraf in C:\Programmi\telegraf\telegraf.d, sostituire tutte le istanze del vecchio token API con il nuovo token API.

    cp <plugin>.conf <plugin>.conf.bkup
    (Get-Content <plugin>.conf).Replace(‘<OLD_API_TOKEN>’, ‘<NEW_API_TOKEN>’) | Set-Content <plugin>.conf
  • Riavvia Telegraf.

    Stop-Service telegraf
    Start-Service telegraf