Das ist eine kleine Geschichte aus der realen Praxis, als ein kleines Problem, gut maskiert durch Redundanz, zu einem groĂen Kopfschmerz wurde.
Eine kleine Anordnung:
Eine kleine Filiale mit einer eigenen Telefonanlage (Asterisk + FreePBX) auf Desktop-Hardware und einem lokalen Terminalserver mit 1C, einer Dateischleuder und einem virtuellen RO-Domaincontroller. Das Internet wird ĂŒber Mikrotik bereitgestellt. Die Filiale ist klein, das ist ausreichend.
Alles begann mit einer Ăberwachung (aufgrund von Zeitmangel und Faulheit wird nicht alles ĂŒberwacht), die ĂŒber eine Ăberhitzung eines Server (mit der Telefonanlage) in der Filiale berichtete. WĂ€hrend die lokalen Mitarbeiter das Problem lösten, hing die alte Hardware und beschĂ€digte ein wenig die MySQL-Datenbank.
Vieles deutete auf ein UnglĂŒck hin, aber nicht auf diesesâŠ
Keine Sorge, die Datenbank wurde repariert, alles sollte funktionieren. Aber die lokalen Mitarbeiter beschweren sich, die Anrufe brechen ab. Gut â es gibt Probleme mit FreePBX, ich mache ein Backup, stelle es wieder her, alles in Ordnung.
Doch das UnglĂŒck bleibt, die lokalen Mitarbeiter beschweren sich weiterhin, die Anrufe laufen nicht richtig. Bei ihnen scheint der Anruf normal durchzukommen, aber wenn sie anrufen oder sich gegenseitig anrufen, gibt es eine Verzögerung von mehreren Sekunden. Ich beginne, die umfangreichen und unzureichenden Protokolle von Asterisk und FreePBX anzusehen, kann das Problem dort aber nicht erkennen. Ich erinnere mich, dass es ein Problem mit STUN und ICE gab, das eine Ă€hnliche Verzögerung verursachte. Ich schalte alles ab, aber das Ergebnis ist null.
Der Pessimismus â der Weg zu schlechten Entscheidungen:
Ich verfalle in Pessimismus, stundenlanges Herumdoktern an der Telefonanlage fĂŒhrt zu nichts Gutem, es ist schon tief in der Nacht und das Problem ist nicht gelöst.
Ich lasse das Problem bis zum Morgen ruhen, in der Hoffnung auf einen klaren Kopf. Am Morgen wurde eine weitere missratene Entscheidung getroffen: Da das System kaputt gegangen ist (obwohl der Ausfall nicht so katastrophal gewesen sein kann), versuche ich, das System durch die Neuinstallation aller Pakete zu reparieren. Das Ergebnis ist etwas besser als null, die Verzögerung hat sich verkĂŒrzt (nicht erheblich, aber ein Erfolg).
Ich treffe eine weitere schlechte Entscheidung: Wenn die teilweise Reparatur des Betriebssystems (und der Datenbank aus dem Backup) einen kleinen Erfolg hatte, die Ursache des Problems aber immer noch unklar ist und bereits sehr viel Zeit mit der Fehlersuche verstrichen ist, beschlieĂe ich, radikal zu handeln: Wir löschen das Betriebssystem und installieren alles von Grund auf neu (zum GlĂŒck macht die Automatisierung des Prozesses das in angemessener Zeit). Ich spiele die Konfiguration von FreePBX aus einer Kopie zurĂŒck. Ein weiterer Misserfolg. Das Ergebnis ist null!
Verzweiflung â der Verstand wird trĂŒb, die Entscheidungen werden noch schlechter.
Ich verfalle in Verzweiflung. Es kommen mir ganz verrĂŒckte Gedanken, ich denke: Vielleicht ist die Konferenz im Backup fehlerhaft (so ging es mir nach einigen Updates, dass danach nichts funktionierte und ich die Ursache nie fand), bleibt nichts anderes ĂŒbrig: Ich muss alles von Hand neu aufsetzen. Was fĂŒr eine Schande! Das Ergebnis ist genau null und ich habe auch noch eine Menge Zeit verloren!
Akzeptanz ist der Weg zum VerstÀndnis
In verzweifelten Versuchen, das Geschehen zu verstehen, beginne ich, die Logs genau zu studieren. Ich erkenne ein Muster. Der Aufruf der Extension erfolgt genau nach 5 Sekunden, wĂ€hrend der Aufruf einer Gruppe von 3 Extensions 15 Sekunden dauert! Ich beginne mit der Googlesuche zur Verzögerung des Aufrufs, aber bereits mit der Angabe einer konkreten Verzögerung. Und ich stoĂe auf die bereits von mir gefundene Antwort, die Leute sagen, das Problem liege beim DNS, aber ich weiĂ ganz genau, dass es kein Problem gibt, alle Adressen werden aufgelöst!
Das Offensichtliche ist nicht das Wahrscheinliche
Es bleibt mir nichts anderes ĂŒbrig, als nslookup in die Hand zu nehmen, und Bingo (hĂ€tte ich das nur sofort gemacht)! Der primĂ€re DNS ist down (virtuelle Maschine mit dem Controller), und ich habe es nicht einmal bemerkt! HĂ€tte ich nur einen DNS, wĂ€re sofort ein Fehler aufgetreten đ
Fazit
Ein elementares Problem, das durch das Monitoring (das fĂŒr alle Knoten eingerichtet werden sollte) hĂ€tte erkannt werden können, wurde durch die Ausfallsicherheit des DNS maskiert und fĂŒhrte zu fast zwei Arbeitstagen, die fĂŒr die Lösung einer dummen Situation verloren gingen. Faulheit ist eine groĂe Herausforderung, das Monitoring in einer Minute einzurichten â das Problem dort zu suchen, wo es nicht ist â zwei Tage.
Nur registrierte Benutzer können an der Umfrage teilnehmen. .
Hattest du so etwas schon einmal?
Ja, sehr selten
Ja, selten
Ja, oft
Ja, sehr oft
Nein, mit wem auch immer, nur nicht mit mir!
Nein, ich bin unfehlbar!
2 Benutzer haben abgestimmt. 1 Benutzer hat sich enthalten.
Quelle: habr.com
