GraphQL Demo (6/8) – Monitoring

Jeder, der eine Serveranwendung betreibt, möchte diese gerne überwachen und Reports über Zustand und Anfragen bekommen. So geht es auch uns bei unserer Chat-App, die mit Apollo Server läuft. 

Wer für seine GraphQL-Anwendung Apollo Server nutzt, kann damit ganz einfach über die Apollo Engine seinen Server überwachen. So können Performance, Cache Hits, Fehler, Warnungen und Auflistungen darüber welche Daten wie oft angefragt wurden ausgelesen werden und das sowohl für jeden Anfragetyp einzeln, als auch für den gesamten Server. Zusätzlich können automatische Reports per Slack verschickt werden, welche die häufigsten und zeitintensivsten Anfragen sowie Anfragen, die viele Fehler hervorgerufen haben anzeigen. Die Slack-Reports werden über Slack WebHooks gesteuert.

Für das Monitoring muss hier ein Account erstellt werden. Im nächsten Schritt muss ein Service auf der Seite angelegt werdenDer API Key, den man so für den Service bekommt, muss im Setup der Engine einfügen werden und dann kann über Account die Anwendung überwacht werden. Wenn noch kein explizites Setup existiert, also das Default Setup genutzt wird, kann es einfach erstellen werdenIn dem Setup kann man unter anderem auch das private Caching aktivieren (siehe Blogeintrag Caching). 

 

const engine = new ApolloEngine({
        …
        apiKey: „yourAPIKey“ //Starts with ‘service:yourUserName-…‘
}); 

 

 

Insgesamt erfüllt schon die kostenlose Community-Version von Apollo Engine die grundlegenden Bedürfnisse vom Monitoring während der Entwicklungsphase. So werden die Daten zwar nur über einen Tag gespeichert und es können nur maximal eine Millionen Anfragen gesendet werden, was aber für Entwicklungs- und Testzwecke vollkommen ausreicht. In der kostenpflichtigen Pro-Version ist die Begrenzung der Anfragen aufgehoben und es gibt weitere Features wie Alerts für bestimmte Performancekriterien und längere Speicherung der Nutzungs- und Analysedaten. Alle Performancedaten werden in der Cloud von Apollo gespeichert. 

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

%d Bloggern gefällt das: