Standaardiseren van observeerbaarheid en incidentbeheer bij Miro

Het Miro Data Engineering-team heeft onlangs besproken hoe ze waarschuwingen en incidentbeheer hebben gesystematiseerd. Naast het standaardiseren van de waarneembaarheidsstatistieken en waarschuwingsdefinities, begon het team OpsGenie te gebruiken voor incidentbeheer. Dit hielp het team om uitdagingen op het gebied van schaalbaarheid aan te pakken, zoals een standaardformaat voor metrische labeling, waarschuwingsdefinities, aanwezigheidsdiensten, enz.

Gonçalo Costa en Ricardo Souza, Data Engineers bij Miro, plaatsten een Medium-blog waarin ze de reis van het team beschrijven toen Miro de modus “hypergroei” betrad. Costa en Souza gingen in op de architectuur en componenten bij Miro: de infrastructuur en dataverwerking draaiden op de AWS Stack; Prometheus pushte de statistieken van verschillende componenten naar verschillende ontvangers via Alertmanager; en Grafana werd gebruikt om het visuele dashboard met statistieken van Prometheus te tonen en de waarschuwingen die overeenkomen met afwijkingen werden doorgestuurd naar een kanaal in Slack.

Bron: de reis van het Miro Data Engineering-team naar monitoring

Er waren drie metrische gegevens die het team aanvankelijk via Prometheus observeerde: systeem, middleware en toepassing. De statistieken hadden labels die hun informatie gaven, zoals waar ze vandaan komen, van wie ze zijn, enz. Met behulp van herlabeling transformeerde het team de ontvangen labels in begrijpelijke informatie in waarschuwingsdefinities en dashboards.

Bron: de reis van het Miro Data Engineering-team naar monitoring

De Alertmanager heeft de waarschuwingen doorgestuurd naar Slack. Naarmate de teamgrootte groeide, namen ook de uitdagingen toe, zoals het definiëren van aanwezigheidsschema’s, gemiste incidenten, enz. Om deze uitdagingen aan te gaan, bedacht het team prioriteitsniveaus voor verschillende componenten en de alarmbetekenis voor deze componenten.

In de volgende stap creëerde het team een ​​duidelijk en uitvoerbaar bericht waarin de functie van het getroffen onderdeel en de gerelateerde bronnen werden gespecificeerd. Met de hulp van Site Reliability Engineers (SRE’s) definieerde het data-engineeringteam een ​​standaardset labels voor de bestaande Prometheus-statistieken. Enkele voorbeelden zijn:

  • miro_environment: omgeving die is gekoppeld aan de component
  • miro_service: de service gemarkeerd door de waarschuwing
  • miro_owner: het team dat de statistiek bezit
  • miro_function: functie van de component gerelateerd aan de metriek
  • [component]_id: component idetnfier

Om de hoeveelheid informatie met betrekking tot een metriek te verwerken, heeft het team een ​​reeks stappen gedefinieerd om een ​​standaard waarschuwingsdefinitie te schrijven. Dit hielp om het probleem met componenten in detail te begrijpen, omdat het definities bevatte voor de naam van de metriek, de beschrijving ervan, drempelwaarden voor het activeren van waarschuwingen, belangrijkheidsniveaus, het vullen van het runbook, enz.

Om storingen van de belangrijke componenten aan te pakken, koos het data-engineeringteam OpsGenie als hun incidentbeheerplatform. Met behulp van OpsGenie kon het team een ​​door meerdere rotaties ondersteund oproepschema en overschrijvingen configureren. In gerelateerd nieuws zien we dat een overgang van Slack-kanalen naar tools zoals OpsGenie of PagerDuty de SRE-praktijk op een agile manier helpt volwassen te worden.

Met standaard metrische labels en definities werd het identificeren van waarschuwingen eenvoudig, waardoor het team sneller reageerde bij het aanpakken van incidenten. In tegenstelling tot eerdere werkwijzen, begon het team met het onderhouden van een runbook dat het oplossen van problemen versnelde.

Aan de andere kant zien we dat Data Observability zijn plaats in de Gartner Hype Cycle voor 2022 veiligstelt. Gartner heeft OpenTelemetry toegevoegd omdat het een standaard definieert voor hoe logs, traces en metrische gegevens moeten worden geëxtraheerd uit de servers, infrastructuur en applicaties.

Het veranderen van de aanpak met observeerbaarheid heeft het Miro-team voor data-engineering geholpen om storingen van vitale componenten te herkennen en te plannen voor snelle mitigatie. Het team erkent dat er nog veel te verbeteren valt, aangezien het datavolume, de variëteit en de snelheid bij Miro blijft groeien.

.

Leave a Comment