Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Als Developer wil ik Healthchecks #154

Open
4 tasks
rubenvdlinde opened this issue Nov 8, 2019 · 5 comments
Open
4 tasks

Als Developer wil ik Healthchecks #154

rubenvdlinde opened this issue Nov 8, 2019 · 5 comments
Assignees
Labels
Size S T-shirtsizing for issues Techniek US hoort bij de software developers

Comments

@rubenvdlinde
Copy link
Collaborator

zodat ik op afstand kan monitoren of componenten goed draaien of dat er problemen zijn.

Beetje rondkijken leverde twee methodes op een /health endpoint of een health-json. Naar mijn menig is die laatste het mooiste omdat je daarmee healthchecks per endpoint kan bieden (ofwel binnen een api zou het ene endpoint wel en het andere endpoint niet gezond kunnen zijn) en het een Standaard Status heeft. Aan de hand van de OAS documentatie (of beter nog zelf exploring endpoints) zouden we dan weer iets kunnen bouwen wat daar door heenloopt aan de hand van een chronjob en iets met de opgehaald info doet. (denk aan een container die een health dashboard bied en notificatie op falende healtchecks). Mooi onderdeel van de health-json standaard is dat het componenten kent waarmee we automatisch ook een call hebben om te kijken welk component er eigenlijk onder een API zit (wat leuk antwoord geeft op de wat draaid waar vraag, en waardoor we weten welke referentie er gevolgd zou moeten worden in de OAS documentatie en we ook dáár op kunnen testen).

Het zou ook aardig zijn om deze functionaliteit te combineren met authenticatie, en NLX-Ontsluiting (in theorie kunnen we bij NLX alle beschikbare services opvragen, bij de services de enpoints exploren en daar een healthcheck op doen). Daarmee is er dan inzicht in welke services waar in het landschap falen (beheer iemand?).

  • Keuze maken over methode voor healtchecks
  • Ontwerp van health bericht
  • Opnemen van functionaliteit voor keuze
  • Opnemen in DESIGN.md

@ThijsBroersen, @ehotting en @matthiasoliveiro kunnen jullie hier eens op mee denken? Ik vind eigenlijk dat healthchecks onderdeel zouden moeten zijn van de definition of done voor een API

@rubenvdlinde rubenvdlinde added the Techniek US hoort bij de software developers label Nov 8, 2019
@matthiasoliveiro matthiasoliveiro changed the title Als Developer wil ik Healtchecks Als Developer wil ik Healthchecks Nov 8, 2019
@rubenvdlinde
Copy link
Collaborator Author

Dit komt mee met #274

@rubenvdlinde
Copy link
Collaborator Author

Dit is nu op de achtergrond geregeld, dus het zou mijn voorkeur hebben om komende sprint uit te schrijven hoe deze getest kan worden zodat we hem kunnen afronden.

@rubenvdlinde rubenvdlinde added the Size S T-shirtsizing for issues label Mar 25, 2020
@rubenvdlinde
Copy link
Collaborator Author

Hiervoor hoeft geen weergave te komen denk ik, gewoon postman test uitschrijven.

@rjzondervan
Copy link
Collaborator

De postmantest van deze functionaliteit is vrij eenvoudig. We nemen een willekeurig component, geheel toevallig heb ik dit getest met het wrc, op een willekeurig endpoint anders dan de root van het component zonder id (weer geheel toevallig, nemen we als voorbeeld even de templateslijst).

Als we dan de volgende header meegeven, bevragen we de healthcheck van het component in plaats van de entiteit zelf:

Accept: application/healt+json

Door dit op een GET-bevraging als bovenstaande mee te geven, krijgen we een health status van het component, zoals dit:

{
    "status": "pass",
    "version": "1",
    "releaseID": "V.0.1",
    "notes": [],
    "output": ""
}

@CMasselink
Copy link
Collaborator

Dit werkt.
@rjzondervan je hebt alleen wel een typefout in de accept header staan "healt" ipv "health" waardoor de voorbeeldinstructie niet werkt.

@CMasselink CMasselink assigned rjzondervan and unassigned CMasselink Jun 10, 2020
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Size S T-shirtsizing for issues Techniek US hoort bij de software developers
Projects
None yet
Development

No branches or pull requests

7 participants