We zijn verheugd om de release van nieuwe endpoints voor de Kinsta API aan te kondigen, waarmee je toegang kunt krijgen tot gedetailleerde analyses over je applicaties en informatie kunt ophalen over de gebruikers van je bedrijf op Kinsta.

Sinds de lancering van onze Applicatie Hosting dienst hebben we analytics op applicatieniveau geleverd die de bandbreedte, bouwtijd, runtime, CPU- en geheugengebruik, gemiddelde responstijd, HTTP-verzoeken en langzaamste verzoeken van je applicatie weergeven via het MyKinsta dashboard (Applicatie > appname > Analytics).

Krijg toegang tot Analytics-informatie voor elke applicatie in het MyKinsta dashboard.
Krijg toegang tot Analytics-informatie voor elke applicatie in het MyKinsta dashboard.

Nu zijn deze statistieken programmatisch toegankelijk via de Kinsta API.

Nieuwe endpoints voor applicatie-metrics

Je hebt vanaf nu toegang tot de volgende analytische informatie via de Kinsta API:

  • Bandbreedte – Totaal verzonden gegevens in de geselecteerde tijdsperiode.
  • Buildtime – Totale tijd die nodig was om je applicatie te bouwen.
  • Runtime – Totale tijd dat de applicatie draait nadat deze is gebouwd en uitgerold.
  • HTTP verzoeken per minuut – Totale gemiddelde verzoeken per minuut.
  • Gemiddelde responstijd – De gemiddelde responstijd van een verzoek. (Als de responstijd query de parameter percent met waarden van 95 of 50 bevat, worden de P95 latency of P50 latency responstijden geretourneerd).
  • Langzaamste verzoeken – Dit laat precies zien welke antwoorden het langzaamst zijn binnen je applicatie.
  • CPU gebruik – Het gemiddelde van het totale CPU gebruik voor de geselecteerde periode, als percentage van de CPU resources van de instance.
  • Geheugengebruik – Het gemiddelde van het totale geheugen (RAM) gebruik voor de geselecteerde tijdsperiode.

De Kinsta API documentatie geeft het noodzakelijke pad en de query parameters voor toegang tot deze statistieken. Om bijvoorbeeld gegevens over het dagelijkse bandbreedtegebruik op te vragen, stuur je een GET verzoek naar:

https://api.kinsta.com/v2/applications/{id}/metrics/bandwidth
Kinsta API documentatie die verschillende parameters laat zien om informatie over bandbreedte op te halen.
Kinsta API documentatie die verschillende parameters laat zien om informatie over bandbreedte op te halen.

Dit verzoek vereist de volgende parameters:

  • Pad parameter:
    • id – Dit is de applicatie ID en zal worden toegevoegd aan de API URL.
  • Query parameters:
    • interval_in_seconds – Dit is vereist en wordt gemeten in seconden, Als je wilt dat het interval tussen de geretourneerde waarden 24 uur is, dan moet je 24 uur omrekenen naar seconden, wat 86400 is.
    • timeframe_start en timeframe_end – Deze parameters zijn vereist en het ISO 8601 datum-tijdformaat wordt gebruikt. Het heeft een algemeen formaat van YYYY-MM-DDThh:mm:ss.sssZ.

Hier vind je een gedetailleerd overzicht van het ISO 8601 datum- en tijdformat:

  • YYYY-MM-DD – Geeft de datum weer:
    • YYYY – Vier cijfers voor het jaar
    • MM – twee cijfers voor de maand (01 tot 12)
    • DD – Twee cijfers voor de dag van de maand (01 tot 31)
  • T – De letter T wordt gebruikt als scheidingsteken om een duidelijk onderscheid te maken tussen het datum- en tijdgedeelte.
  • hh:mm:ss.sss – Geeft de tijd weer:
    • hh – Tweecijferig uur (00 tot 23)
    • mm – Tweecijferige minuten (00 tot 59)
    • ss – Tweecijferige seconde (00 tot 59)
    • .sss – Milliseconden, die uit één tot drie cijfers kunnen bestaan en een fractie van een seconde voorstellen
  • Z – Geeft aan dat de tijd is ingesteld op UTC (Coordinated Universal Time). Als de tijd niet in UTC staat, kan in plaats van “Z” ook een tijdsverschil worden opgenomen, geformatteerd als ±hh:mm, waarbij “hh” staat voor het uurverschil en “mm” staat voor het minuutverschil ten opzichte van UTC.

Terug naar ons voorbeeld: je kunt een GET-verzoek sturen om dagelijkse gegevens op te halen tussen 20 april 2024 en 28 april 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 '

Vervang {application_id} en <YOUR_TOKEN_HERE> door respectievelijk je applicatie-ID en API token. Wanneer je dit verzoek verstuurt, krijg je het volgende gegevensformat terug:

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

Het antwoord specificeert het begin en einde van het tijdsbestek op basis van wat via het verzoek is verzonden. Als je dit in de constructor new Date() zet, krijg je het datum/tijd object. De bandbreedte retourneert ook een array van objecten die de tijd bevat (timestamp gegeven voor elke dag – gebaseerd op het ingestelde interval) en de waarde in bytes.

Als je elk van deze gegevens dienovereenkomstig converteert, betekent dat het volgende:

Tijdsbestek

  • Start: 2024-04-20 00:00:00
  • Einde: 2024-04-29 00:00:00

Bandbreedte (omgerekend naar MB)

  • Tijd: 2024-04-20 00:00:00, Waarde: 0.0174 MB
  • Tijd: 2024-04-21 00:00:00, Waarde: 0.7961 MB
  • Tijd: 2024-04-22 00:00:00, Waarde: 0,1402 MB
  • Tijd: 2024-04-23 00:00:00, Waarde: 0.1358 MB
  • Tijd: 2024-04-24 00:00:00, Waarde: 0.1577 MB
  • Tijd: 2024-04-26 00:00:00, Waarde: 0.1040 MB
  • Tijd: 2024-04-27 00:00:00, Waarde: 0.5995 MB
  • Tijd: 2024-04-28 00:00:00, Waarde: 5.8086 MB

Dit betekent dat je informatie over elk van deze analytische informatie programmatisch kunt ophalen in een ander platform zonder dat je voor elke toepassing door het MyKinsta dashboard hoeft te navigeren.

Je kunt bijvoorbeeld een Slackbot maken die het Slash commando van Slack gebruikt om toegang te krijgen tot deze informatie van Slack of een herinnering maken die je informeert wanneer het dagelijkse bandbreedte-, CPU- of geheugengebruik een bepaalde drempel overschrijdt.

Toegang tot bedrijfsgebruikers met Kinsta API

In antwoord op verzoeken van klanten hebben we een endpoint toegevoegd voor het ophalen van details over bedrijfsgebruikers van Kinsta accounts, inclusief hun volledige naam, e-mail en gravatar-afbeelding URL.

Dit sluit aan bij ons streven om features prioriteit te geven op basis van feedback van gebruikers. Als je vindt dat een specifieke tool of eindpunt moet worden opgenomen in de Kinsta API, stuur dan gerust je feedback.

Om toegang te krijgen tot deze gegevens, stuur je een GET gerzoek naar: https://api.kinsta.com/v2/company/{company_id}/users. Zorg ervoor dat je {company_id} vervangt door je bedrijfs-ID. Dit zal een respons terugsturen zoals:

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

Begin vandaag nog met Kinsta API

Om de Kinsta API te gebruiken, heb je een actief Kinsta account nodig met ten minste één WordPress site, applicatie of database in MyKinsta. Hier lees je hoe je een API sleutel genereert:

  1. Ga naar je MyKinsta dashboard.
  2. Navigeer naar de pagina API-sleutels (Je naam > Bedrijfsinstellingen > API-sleutels).
  3. Klik op API-sleutel aanmaken.
  4. Kies een vervaltijd of stel een aangepaste begintijd in en het aantal uren dat de sleutel moet verlopen.
  5. Geef de sleutel een unieke naam.
  6. Klik op Genereren.

Wanneer de API sleutel is aangemaakt, zorg er dan voor dat je hem kopieert en ergens veilig bewaart, want dit is de enige keer dat je hem kunt zien. We raden aan een wachtwoordmanager zoals 1Password te gebruiken om hem veilig te delen.

Er kan veel gedaan worden met de Kinsta API. Neem gerust een kijkje in onze documentatie om te begrijpen wat er allemaal mogelijk is met de API, hoe je aan de slag kunt, en de verschillende toestemmingsniveaus en beperkingen van de API.

Je kunt ook onze eerdere changelogs voor de Kinsta API bekijken: