Dies ist eine Kurzgeschichte aus der Praxis, in der ein kleines Problem, das durch Fehlertoleranz gut getarnt ist, zu Kopfschmerzen wird.
Kleine Disposition
Als kleine Zweigstelle verfügt sie über eine eigene TK-Anlage (Sternchen + FreePBX), die auf Desktop-Eisen basiert, und denselben lokalen Terminalserver mit 1C, Dateispeicher und einem virtuellen RO-Domänencontroller. Das Internet verbreitet Mikrotik. Der kleine Ast reicht ihnen.
Alles begann mit der Überwachung (aus Zeit- und Faulheitsmangel, nicht alle Monitore), bei der die Überhitzung eines Servers (von der TK-Anlage) in der Zweigstelle gemeldet wurde. Während die Einheimischen das Problem lösten, stürzte der alte Mann ab und brach eine kleine MySQL-Datenbank.
Viel angeblicher Ärger, aber nicht das ...
Es spielt keine Rolle, die Basis wurde repariert, alles sollte funktionieren. Aber die Einheimischen beschweren sich, die Anrufe brechen zusammen. Okay - es gibt Probleme in FreePBX, ich mache ein Backup, stelle es bereit, alles ist in Ordnung.
Aber das Problem ist vorhanden, die Einheimischen beschweren sich immer noch, Anrufe gehen nicht gut. Vor ihnen wird der Anruf normal weitergeleitet, aber wenn sie selbst anrufen oder sich gegenseitig anrufen, wird eine Verzögerung von mehreren Sekunden erzielt. Ich schaue mir die umfangreichen und undurchsichtigen Protokolle von Asterisk und FreePBX an. Sie können das Problem nicht erkennen. Ich erinnere mich, dass es ein Problem mit STUN und ICE gab, das eine ähnliche Verzögerung verursachte. Ich schalte es zur Hölle aus, das Ergebnis ist Null.
Verzweiflung ist der Weg, um schlechte Entscheidungen zu treffen
Ich bin entmutigt, das Abholen der Telefonanlage für viele Stunden führt zu nichts Gutem, es ist bereits spät in der Nacht, aber das Problem ist nicht gelöst.
Er ließ das Problem bis zum Morgen und hoffte auf einen frischen Kopf. Am Morgen wurde eine weitere erfolglose Entscheidung getroffen: Da das System ausgefallen war (obwohl die Abhängigkeit nicht so zerstörerisch sein konnte), versuche ich, das System durch Neuinstallation aller Pakete zu reparieren. Das Ergebnis ist etwas mehr als Null, die Verzögerung wurde reduziert (nicht signifikant, aber bereits erfolgreich).
Ich treffe noch eine schlechte Entscheidung: Wenn eine teilweise Reparatur des Betriebssystems (und der Datenbanken aus dem Backup) wenig erfolgreich war und die Wurzel des Problems immer noch nicht klar ist und gleichzeitig bereits viel Zeit darauf verwendet wurde, die Ursache zu finden, entscheide ich mich, radikal zu handeln: Wir nehmen das Betriebssystem herunter und Wir rollen alles von Grund auf neu (der Vorteil der Automatisierung des Prozesses erledigt dies in einer akzeptablen Zeit). Ich rolle die FreePBX-Konfiguration von der Kopie. Ein weiterer Fehler. Das Ergebnis ist Null!
Verzweiflung - der Geist ist überschattet, Entscheidungen werden schlimmer
Ich falle in Verzweiflung. Es kommen sehr schlechte Gedanken, denke ich: Vielleicht ist das Conf in der Sicherung eine Kurve (ich hatte es nach einer Reihe von Updates, dass es nach ihnen nicht funktioniert hat, und ich konnte den Grund nicht finden), nichts bleibt übrig: Sie müssen alles von Grund auf mit Ihren Händen rollen. Was für eine Schande! Das Ergebnis ist streng Null und hat sogar viel Zeit verbracht!
Akzeptanz ist der Weg zum Bewusstsein
In verzweifelten Versuchen zu verstehen, was passiert, beginne ich, die Protokolle sorgfältig zu studieren. Ich bemerke ein Muster. Nebenstellenanrufe in genau 5 Sekunden und für eine Gruppe von Anrufen von 3 Nebenstellenanrufen in 15! Ich fange an, über Anrufverzögerung zu googeln, zeige aber bereits eine bestimmte Verzögerung an. Und ich stoße auf eine Antwort, die ich bereits gefunden habe. Die Leute sagen, dass das Problem im DNS liegt, aber ich weiß sicher, dass es kein Problem gibt, alle Adressen sind gelöst!
Das Offensichtliche ist das Unglaubliche
Nichts zu tun, nimm nslookup und Bingo (ich wünschte, ich könnte es sofort tun!) Das primäre DNS liegt (virtualka mit dem Controller), aber ich habe es nicht bemerkt! Es würde einen DNS geben, es würde sofort einen Fehler geben;)
Zusammenfassung
Ein elementares Problem, das bei der Überwachung auftreten konnte (es sollte immer noch für alle Knoten konfiguriert sein), das durch die DNS-Ausfallsicherheit maskiert wurde, führte zum Verlust von fast zwei Arbeitstagen, um die dumme Situation zu lösen. Zu faul den ganzen Schmutz, richten Sie die Überwachung eine Minute ein - suchen Sie nach einem Problem, wo es nicht existiert - zwei Tage.