Zehn Leute auf 90.000 Websites: Wie man nicht verrückt wird

Hallo, ich heiße Vera Sivakova. Ich arbeite mit wichtigen Partnern von Yandex.Kassi zusammen. Ich verbinde große Geschäfte und Dienstleistungen, starte Projekte und reise zu Meetings auf der ganzen Welt. Im Allgemeinen folge ich, dass alles in Ordnung war.


Jeder Mitarbeiter von Yandex.Money kann einmal im Jahr seinen Beruf wechseln - wählen Sie eine Abteilung und arbeiten Sie dort mehrere Tage. Deshalb saß ich vor einem Monat in Sapsan und kam in St. Petersburg an. Dort arbeitet eine Überwachungsabteilung, die auch überwacht, dass es 90.000 mit dem Ticketbüro verbundenen Standorten gut geht, und wir haben beschlossen, uns zusammenzuschließen.



Wie kann man nicht verrückt werden? Nicht genau das gleiche (Quelle: reddit.com)


Dies ist eine Geschichte darüber, wie unsere Überwachung funktioniert und was ich in ein paar Tagen in einer anderen Abteilung gelernt habe.


Jede Sekunde durchlaufen ungefähr 600 Transaktionen den Service und all dies muss in Echtzeit überwacht werden - aber zu welchem ​​genauen Zeitpunkt ist es Zeit, den Alarm auszulösen, wenn etwas passiert? Wir brauchen einen systematischen Blick auf fast alles.


Es wird empfohlen, das System aus technischer Sicht zu analysieren und die Geschäftsmetriken - Anzahl der Zahlungen, Umsatz und andere Parameter - nicht zu vergessen.


In kleinen Systemen reicht der wachsame Blick des Hauptadministrators (meistens des einzigen) aus. Bei vielen Prozessen können Mitarbeiter jedoch nicht alles manuell überwachen. Daher ist maximale Automatisierung die beste Strategie. Ohne Expertenwissen und Teamarbeit funktioniert nichts, da die Überwachung eine kontinuierliche Verbesserung, Analyse und die Fähigkeit ist, kompetente Metriken und Trigger auszuwählen. Sie arbeiten im Falle einer Abweichung von den angegebenen Bedingungen und melden eine Anomalie.


Wir unterscheiden drei Überwachungsebenen, von denen jede ihre eigenen wichtigen Indikatoren hat - die Ebene des Systems, die Ebene der Geschäftslogik und die Ebene der Gegenparteien.


Systemebene


Das Wichtigste dabei ist die Überwachung der Infrastruktur rund um die Uhr. Von den Tools, mit denen Zabbix Daten in Echtzeit erfasst, werden Informationen zum Betrieb von Servern und Rechenzentren, zur Qualität des Netzwerks, zur Verfügbarkeit von Komponenten und Datenquellen angezeigt.


Die Überwachung der IT-Infrastruktur ist eine sehr verantwortungsvolle Aufgabe, da ein Ausfall auf dieser Ebene mit Inoperabilität des Systems und verzweifelten Maßnahmen verbunden ist. Daher ist es wichtig, nicht nur auf „blinkende“ Probleme zu reagieren, sondern auch Trends und historische Daten zu analysieren. Dies ermöglicht eine rechtzeitige Warnung vor potenziellen Fehlerpunkten und die Vorhersage des Skalierungsbedarfs. Die Regel gilt für alle Indikatoren und Überwachungsebenen, einschließlich des Geschäfts.


Für kritische Punkte sollten unten Triggerschwellen ausgewählt werden. Wenn sich beispielsweise die Antwortzeit von einem Router erhöht, übertragen wir den Datenverkehr auf einen anderen und beseitigen die Ursache beim ersten. Dies löste einen Warnauslöser aus, mit dem Sie sehr früh Benachrichtigungen über potenzielle Probleme erhalten können. Dies gibt Ihnen eine Zeitreserve für die Reaktion, die Möglichkeit, Änderungen vorherzusagen und Katastrophen zu vermeiden.


Geschäftslogikebene


Jedes Team definiert die Prozesse, die verfolgt werden müssen, ihre Priorität und ihre persönlichen Kennzahlen. Das Kassiererteam verfügt beispielsweise über Dutzende von Geschäftsprozessen, z. B. die Zahlung mit jeder verfügbaren Methode - Karten, E-Wallets, Online-Banken und -Terminals, Mobile Commerce, Versandregister usw. Als Hauptwerkzeug zum Sammeln und Anzeigen von Daten zur Arbeit der Geschäftslogik verwenden wir Graphite in Verbindung mit Grafana.


Auf dieser Ebene ist es wichtig, sich an einen systematischen Ansatz zu halten und zu versuchen, sich von den binären und nicht informativen „Arbeiten / funktioniert nicht“ zu lösen.


Beispielsweise gibt es eine Metrik "Anzahl erfolgreicher Kartenzahlungen". Wenn es zu blinken beginnt, bedeutet dies, dass der Arbeitsablauf abgenommen hat. In diesem Fall müssen Sie verstehen, was genau der Grund ist, und alle Komponenten berücksichtigen, die an diesem Prozess beteiligt sind. Bei einem Rückgang der Anzahl der Transaktionen können Sie sofort daran denken, dass es auf Seiten der erwerbenden Bank Schwierigkeiten gibt. Die Grafiken zeigen jedoch, dass mit der Verfügbarkeit von Banken alles in Ordnung ist. Dann müssen Sie weitere Nachforschungen anstellen, und am Ende stellt sich beispielsweise heraus, dass alle Fragen im Layout enthalten sind: Aus irgendeinem Grund ist die Schaltfläche "Bezahlen" verschwunden oder inaktiv geworden.


Kontrahentenlevel


Hier geht es um bestimmte Gegenparteien - zum Beispiel um die Akquisition von Banken und Händlern.


Wir haben separate Zeitpläne und Trigger für Acquirer ausgewählt, deren Verfügbarkeit wir ständig verfolgen müssen. Für uns als Zahlungsdienstleister ist Stabilität sehr wichtig, daher übertragen wir im Falle eines Ausfalls einer der Banken den Strom sofort in die Reserve.



Eine Bank ist ausgefallen, eine andere automatisch verbunden


Wir haben gelernt, den Workflow ziemlich gut und rechtzeitig umzuleiten, wenn Fehler auftreten.



Eine der Banken verzeichnete einen Anstieg der Zahlungsfehler



Übersetzt - und alles ist in Ordnung. Y-Achsenwerte sind nicht angemessen


Acquirer können auf den bereits beschriebenen Ebenen aus verschiedenen Gründen scheitern - Systeme und Geschäftslogik. Niemand ist immun gegen unvorhergesehene Probleme und kann keine 100% ige Verfügbarkeit garantieren. Es lohnt sich auch, sich an die geplanten technischen Arbeiten und Veröffentlichungen zu erinnern, wenn Sie den Fortschritt der Dinge genau überwachen müssen. Das Problem der Redundanz und der automatischen Umschaltung ist von entscheidender Bedeutung, da einfach bedeutet, Zahlungen für das Unternehmen zu stoppen.


Wir arbeiten mit mehreren Banken gleichzeitig zusammen, um Ausfallzeiten zu minimieren und die Zahlungen mit SR-Karten zu optimieren. SR (Erfolgsrate) oder sonst Conversion ist eine Geschäftsmetrik, die als Verhältnis der Anzahl erfolgreicher Zahlungen zur Gesamtzahl der Transaktionen berechnet wird. Verschiedene Unternehmen messen die Conversion auf ihre eigene Weise: Beispielsweise beginnt jemand auf der Zahlungsseite mit der Messung, andere nach dem Klicken auf die Schaltfläche "Bezahlen". Im Allgemeinen wird SR jedoch von vielen verschiedenen Faktoren beeinflusst - MCC, unabhängig davon, ob die Zahlung 3D-sicher ist, die Geografie der Zahler, wiederkehrende Zahlungen oder nicht. Der „Krankenhausdurchschnitt“ SR ist nicht zu bestimmen und muss nicht bekannt sein - in jedem Fall ist es sein eigener Wert, der optimiert werden muss.


Die gesamte Fehlervielfalt kann in zwei große Gruppen unterteilt werden.


  1. Fehler, die verhindert werden können - beispielsweise die Zahlung aus diesem Land ist verboten. Wenn Sie sicher sind, dass dies kein betrügerischer Angriff ist und Sie Benutzer auf der ganzen Welt haben, ist es in diesem Fall erforderlich, die Möglichkeit der Zahlung mit Karten von Emittenten zu verbinden. Dies kann übrigens auf dem persönlichen Konto des Yandex-Kassierers erfolgen.
  2. Fehler, die nicht beeinflusst werden können - zum Beispiel ist die Karte gesperrt. Hier hilft nur die erneute Ausstellung oder der Versuch, die Zahlung mit einer anderen Karte im Rahmen einer neuen Transaktion zu wiederholen.

Viele wählen einen Zahlungsanbieter zu einem Preis. Tatsächlich ist die Rate nicht der einzige Wert, der berücksichtigt werden sollte. Sie müssen auch den Prozentsatz der erfolgreichen Zahlungen (SR) betrachten, da niemand eine 100% ige Umwandlung hat und dieser Wert von Bank zu Bank sehr unterschiedlich ist. Es muss auch berücksichtigt werden, wie das Benutzerszenario im Allgemeinen aussieht: Wie viele Schritte müssen Sie vor dem Bezahlen ausführen, wenn die Benutzeroberfläche klar ist usw.


Wie sich die Umwandlung auf den Gewinn auswirkt



Im zweiten Fall ist die Provision für Dienste höher, aber die Konvertierung ist auch höher, da die Reservierung und die ordnungsgemäße Konfiguration des Gateways verwendet werden.


Wie Sie dem Beispiel entnehmen können, wäre eine bessere Lösung für das Unternehmen ein besserer Service. Trotz der Tatsache, dass die Provision aufgrund der unterschiedlichen Qualität des Erwerbs höher ist, haben wir am Ende einen Unterschied von 3 538 080 - 2 847 000 = 691 080 Rubel pro Monat! Und das sind 8 Millionen pro Jahr, was eine Menge Geld für das Geschäft bedeutet.


Conversion, Umsatz und Raten sind willkürlich, aber das Beispiel zeigt, dass die Hauptsache des Service seine Stabilität und Qualität ist. Und dies bringt bereits eine erhöhte Umwandlung und infolgedessen einen größeren Umsatz für den Händler mit sich.


Wie der Händler verbunden ist


Wie bereits erwähnt, versuchen wir, alles mit Metriken und Triggern abzudecken, die bei einem Ereignis automatisch ausgelöst werden. Mal sehen, wie alles am Beispiel der Überwachung eines der Händler passiert.


Nach dem Herstellen einer Verbindung zum Kassierer wird der Händler bei Bedarf überwacht. Wir erstellen ein Diagramm in Grafana und konfigurieren die Metriken, mit denen automatische Warnungen ausgelöst werden, wenn von den angegebenen "normalen" Werten abgewichen wird.


Wir verwenden Moira, um Benachrichtigungen an den Chat der Überwachungsgruppe zu senden, der die Details schnell überprüft. Die Benachrichtigung enthält einen Link zum Zeitplan und Details zum Vorfall.



Absolut ein echtes Beispiel für eine Nachricht von einem Bot


Nach der Analyse des Diagramms verwendet der Spezialist der Überwachungsgruppe am häufigsten Kibana, um die Protokolle anzuzeigen. Hier kann die Situation prosaisch sein, und dann wird in den Protokollen offensichtlich ein Fehler sichtbar, oder es ist eine zusätzliche Beteiligung von Analysten erforderlich, um die Ursachen des Fehlers zu analysieren.


In Zukunft möchten wir eine automatische Benachrichtigung von Händlern über Fehler auf ihrer Seite einrichten, z. B. über Serverunzugänglichkeit oder nicht protokollierte Antworten. Auf diese Weise können Sie schnell auf einen Fehler reagieren und Kontrahenten Informationen geben, um die Ursachen zu beseitigen.


Neben der technischen Seite überwachen wir auch sorgfältig Geschäftskennzahlen wie Umsatz, Einkommen und Abfluss. Dies scheint jedoch das Thema für die folgenden Geschichten zu sein.


Das Wichtigste


Mein "Tag des Ungehorsams" (was wir einen vorübergehenden Übergang zu einer anderen Abteilung nennen) endete und ich kehrte nach Moskau zurück. Für 2 Tage in der Überwachungsabteilung habe ich viel gelernt und das aktuelle Wissen gestrafft.


  • Die Überwachungsaufgabe besteht darin, auf allen Ebenen relevante Informationen über den Zustand des Systems bereitzustellen.
  • Wählen Sie kompetente Metriken und Trigger - 90% Erfolg;
  • Bei Zahlungsdiensten trifft die Conversion das Gebot.
  • Sie müssen der Technik folgen und sich an Geschäftsmetriken erinnern.
  • Wir brauchen eine systematische Sicht auf Prozesse und die Fähigkeit, Beziehungen zu analysieren.

Und doch - sei dankbar. Leute überwachen, danke!




Das ist alles Stellen Sie Fragen, abonnieren Sie unseren Blog und besuchen Sie uns.

Source: https://habr.com/ru/post/de426583/


All Articles