Wir verwenden mongoDB als DBMS für unsere Produktionsdatenbank. Wir haben 2 Replica-Sets für unsere Datenbank aktiviert.dropDatabase wird für alle Datenbanken in mongoDB mit Replikatsätzen aufgerufen
Aus heiterem Himmel haben wir festgestellt, dass beide Datenbanken in unserer Produktion fallengelassen wurden. Wir sind absolut sicher, dass niemand mit Zugang das getan hat. Als wir die Protokolle durchforsteten, bemerkten wir, dass dropDatabase in beiden Datenbanken tatsächlich aufgerufen wurde. Für den Verbindungsaufbau konnten wir jedoch keine Protokollanweisungen finden. Wenn jemand mongo shell oder bash benutzt hat, um die DB zu löschen, sollte es auch Protokolle für neue Verbindungen geben.
Log-Anweisung für Primär:
2017-08-17T14:38:47.019+0000 I - [conn527] AssertionException handling request, closing client connection: 17132 SSL handshake received but server is started without SSL support
2017-08-22T00:18:22.694+0000 I COMMAND [conn541] dropDatabase db1 starting
2017-08-22T00:18:22.708+0000 I COMMAND [conn541] dropDatabase db1 finished
2017-08-22T00:18:23.832+0000 I COMMAND [conn542] dropDatabase db2 starting
2017-08-22T00:18:23.843+0000 I COMMAND [conn542] dropDatabase db2 finished
Wie aus dem Zeitstempel der ersten Zeile ganz klar ist, gab es keine neue Verbindung mit dem Mongo Server hergestellt in letzten 5 Tagen
Kann jemand bitte Hilf uns zu verstehen, was genau mit unserem mongodb-Server passiert ist. Außerdem werden alle Hinweise sehr geschätzt.
Um herauszufinden, "wer" war Verbindung 541, Suche durch mongodb Protokolle (Wenn Sie genug Protokolldateien haben) 'grep -R '\ # 541" * .log' – JJussi
Wir haben Logs für die letzten 3 Monate und konnten keine Verbindung 541 oder 542 finden. Können Sie uns bitte irgendeinen anderen Zeiger geben? – thrust
Das ist sehr seltsam, da alle Ereignisse "Verbindung akzeptiert von x.x.x.x" normal protokolliert werden. Und Ihre älteren Dateien, die Sie grep waren nicht "zip" (nur zu überprüfen). Dann hat 'jemand' diese Zeile entfernt. – JJussi