Siamo entusiasti di annunciare il rilascio di nuovi endpoint sull’API di Kinsta che permettono di accedere a statistiche dettagliate delle applicazioni e di recuperare informazioni sugli utenti dell’azienda su Kinsta.

Da quando abbiamo lanciato il nostro servizio di Hosting di Applicazioni, abbiamo fornito statistiche a livello di applicazione che descrivono in dettaglio la larghezza di banda, il tempo di build, il runtime, l’utilizzo della CPU e della memoria, il tempo medio di risposta, le richieste HTTP e le richieste più lente tramite la dashboard MyKinsta (Applicazioni > nome dell’applicazione > Statistiche).

Accedere alle informazioni statistiche per ogni applicazione nella dashboard MyKinsta
Accedere alle informazioni statistiche per ogni applicazione nella dashboard di MyKinsta.

Ora è possibile accedere a queste metriche in modo programmatico tramite l’API di Kinsta.

Nuovi endpoint di metriche per le applicazioni

Ora è possibile accedere alle seguenti informazioni analitiche tramite l’API di Kinsta:

  • Larghezza di banda: dati totali trasmessi nel periodo di tempo selezionato.
  • Tempo di build: tempo totale impiegato per costruire l’applicazione.
  • Runtime: tempo totale di esecuzione dell’applicazione dopo la creazione e la distribuzione.
  • Richieste HTTP al minuto: totale delle richieste medie al minuto.
  • Tempo medio di risposta: il tempo medio di risposta delle richieste. (Se la query sui tempi di risposta include il parametro percent con valori di 95 o 50, verranno restituiti i tempi di risposta con latenza P95 o P50).
  • Richieste più lente: indica esattamente quali sono le risposte più lente all’interno dell’applicazione.
  • Utilizzo della CPU: la media dell’utilizzo totale della CPU per il periodo di tempo selezionato, come percentuale delle risorse CPU dell’istanza.
  • Utilizzo della memoria: una media dell’utilizzo totale della memoria (RAM) per il periodo di tempo selezionato.

La documentazione dell’API di Kinsta fornisce il percorso e i parametri di interrogazione necessari per accedere a queste metriche. Ad esempio, per recuperare i dati sull’utilizzo giornaliero della larghezza di banda, è necessario inviare una richiesta GET a:

https://api.kinsta.com/v2/applications/{id}/metrics/bandwidth
La documentazione dell'API di Kinsta mostra vari parametri per recuperare le informazioni sulle metriche della larghezza di banda.
La documentazione dell’API di Kinsta mostra i vari parametri per recuperare le informazioni sulla larghezza di banda.

Questa richiesta richiede i seguenti parametri:

  • Parametro Path:
    • id: si tratta dell’ID dell’applicazione che verrà aggiunto all’URL dell’API.
  • Parametri della query:
    • interval_in_seconds: se si desidera che l’intervallo tra i valori restituiti sia di 24 ore, sarà necessario convertire 24 ore in secondi, ovvero 86400.
    • timeframe_start e timeframe_end: questi parametri sono obbligatori e viene utilizzato il formato orario ISO 8601. Il formato generale è YYYY-MM-DDThh:mm:ss.sssZ.

Ecco una descrizione dettagliata del formato data e ora ISO 8601:

  • AAAA-MM-GG – Rappresenta la data:
    • AAAA – Anno di quattro cifre
    • MM – Mese a due cifre (da 01 a 12)
    • DD – Giorno del mese a due cifre (da 01 a 31)
  • T – La lettera T viene utilizzata come separatore per distinguere chiaramente tra la data e l’ora.
  • hh:mm:ss.sss – Rappresenta l’ora:
    • hh – Ora a due cifre (da 00 a 23)
    • mm – Minuti a due cifre (da 00 a 59)
    • ss – Secondo a due cifre (da 00 a 59)
    • .sss – Millisecondi, che possono essere da una a tre cifre e rappresentano una parte frazionaria del secondo
  • Z – Indica che l’ora è impostata in UTC (Coordinated Universal Time). Se l’ora non è in UTC, al posto di “Z” può essere incluso un offset, formattato come ±hh:mm, dove “hh” rappresenta la differenza di ore e “mm” rappresenta la differenza di minuti rispetto all’UTC.

Tornando al nostro esempio, è possibile inviare una richiesta GET per recuperare i dati giornalieri tra il 20 aprile 2024 e il 28 aprile 2024:

curl -i -X GET \
'https://api.kinsta.com/v2/applications/{application_id}/metrics/bandwidth?interval_in_seconds=86400&timeframe_start=2024-04-20T18%3A10%3A45.511Z&timeframe_end=2024-04-28T18%3A10%3A45.511Z' 
  -H 'Authorization: Bearer '

Sostituite {application_id} e <YOUR_TOKEN_HERE> con l’ID dell’applicazione e il token API. Inviando questa richiesta, vengono restituiti i dati nel formato seguente:

{
  "app": {
    "id": "MY_APP_ID",
    "display_name": "Kinsta-developer-portfolio",
    "metrics": {
      "timeframe": {
        "start": "1713571200000",
        "end": "1714262400000"
      },
      "bandwidth": [
        {
          "time": "1713571200000",
          "value": "18205"
        },
        {
          "time": "1713657600000",
          "value": "834750"
        },
        {
          "time": "1713744000000",
          "value": "146959"
        },
        {
          "time": "1713830400000",
          "value": "142413"
        },
        {
          "time": "1713916800000",
          "value": "165352"
        },
        {
          "time": "1714089600000",
          "value": "109015"
        },
        {
          "time": "1714176000000",
          "value": "628641"
        }
      ]
    }
  }
}

La risposta specifica l’inizio e la fine dell’intervallo di tempo in base a ciò che è stato inviato tramite la richiesta. Se inserito nel costruttore new Date(), si otterrà un oggetto data/ora. Inoltre, la larghezza di banda restituisce un array di oggetti contenenti l’ora (timestamp fornito per ogni giorno – in base all’intervallo impostato) e il valore in byte.

Convertendo ciascuno di questi dati, si ottiene quanto segue:

Timeframe

  • Inizio: 2024-04-20 00:00:00
  • Fine: 2024-04-29 00:00:00

Larghezza di banda (convertita in MB)

  • Ora: 2024-04-20 00:00:00, Valore: 0.0174 MB
  • Ora: 2024-04-21 00:00:00, Valore: 0.7961 MB
  • Ora: 2024-04-22 00:00:00, Valore: 0.1402 MB
  • Ora: 2024-04-23 00:00:00, Valore: 0.1358 MB
  • Ora: 2024-04-24 00:00:00, Valore: 0.1577 MB
  • Ora: 2024-04-26 00:00:00, Valore: 0.1040 MB
  • Ora: 2024-04-27 00:00:00, Valore: 0.5995 MB
  • Ora: 2024-04-28 00:00:00, Valore: 5.8086 MB

Ciò significa che si possono ottenere in modo programmatico le informazioni statistiche su ciascuna di queste piattaforme senza dover navigare nella dashboard di MyKinsta per ogni applicazione.

Ad esempio, si potrebbe creare uno Slackbot che utilizza il comando Slash di Slack per accedere a queste informazioni da Slack o creare un promemoria che informi quando l’utilizzo giornaliero di banda, CPU o memoria supera una determinata soglia.

Accesso agli utenti dell’azienda con Kinsta API

In risposta alle richieste dei clienti, abbiamo aggiunto un endpoint per recuperare i dettagli sugli utenti aziendali dell’account Kinsta, tra cui il nome completo, l’e-mail e l’URL dell’immagine gravatar.

Ciò si allinea al nostro impegno a dare priorità alle funzionalità in base al feedback degli utenti. Se ritenete che uno strumento o un endpoint specifico debba essere incluso nell’API di Kinsta, sentitevi liberi di inviarci il vostro feedback.

Per accedere a questi dati, inviate una richiesta GET a: https://api.kinsta.com/v2/company/{company_id}/users. Assicuratevi di sostituire {company_id} con l’ID della vostra azienda. Questa richiesta restituirà una risposta del tipo:

{
  "company": {
    "users": [
      {
        "user": {
          "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
          "email": "[email protected]",
          "image": "https://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50",
          "full_name": "John Doe"
        }
      }
    ]
  }
}

Come cominciare a utilizzare l’API di Kinsta

Per utilizzare l’API di Kinsta, è necessario avere un account Kinsta attivo con almeno un sito, un’applicazione o un database WordPress in MyKinsta. Ecco come generare una chiave API:

  1. Andate alla dashboard di MyKinsta.
  2. Andate alla pagina delle chiavi API (Nome > Impostazioni azienda > Chiavi API).
  3. Cliccate su Crea chiave API.
  4. Scegliete una scadenza o impostate una data di inizio personalizzata e un numero di ore di scadenza della chiave.
  5. Assegnate alla chiave un nome univoco.
  6. Cliccate su Genera.

Una volta creata la chiave API, assicuratevi di copiarla e di conservarla in un luogo sicuro, perché è l’unico momento in cui potrete vederla. Vi consigliamo di utilizzare un gestore di password come 1Password per condividerla in modo sicuro.

Le cose che si possono fare con l’API di Kinsta sono davvero tante. Date un’occhiata alla nostra documentazione per capire cosa si può fare con l’API, come iniziare e i vari livelli di autorizzazione e limiti dell’API.

Potete anche consultare i nostri precedenti changelog dedicati all’API Kinsta: