MongoDB-säkerhet, övervakning & Backup (Mongodump)

Innehållsförteckning:

Anonim

Ett av de viktigaste begreppen i MongoDB är hanteringen av databaser. Viktiga aspekter som säkerhet, säkerhetskopiering, åtkomst till databaser är alla viktiga begrepp när det gäller databasadministration.

I den här handledningen lär du dig -

  • Översikt över databassäkerhet
  • Säkerhetskopiering - mongodump
  • Mongodb-övervakning
  • Hänsyn till indexering och prestanda

MongoDB säkerhetsöversikt

MongoDB har förmågan att definiera säkerhetsmekanismer till databaser. Som standard vill man inte att alla ska ha en öppen åtkomst till varje databas i MongoDB, varför kravet på att ha någon form av säkerhetsmekanism i MongoDB är viktigt.

Följande är de bästa metoderna när du implementerar säkerhet i databaser

  1. Aktivera åtkomstkontroll - Skapa användare så att alla applikationer och användare tvingas ha någon form av autentiseringsmekanism när de får åtkomst till databaser på MongoDB.

  2. Konfigurera rollbaserad åtkomstkontroll - Ibland kan det finnas en logisk gruppering av behörigheter som kan krävas, som kan klubbas i roller. Användare kan sedan tilldelas dessa roller.

  3. Försök att konfigurera MongoDB för att använda något slags krypteringsprotokoll som TLS eller SSL. Dessa protokoll kan användas för att kryptera trafiken som flyter mellan klienten och mongo DB-miljön.

  4. Konfigurera granskning - Administratörer behöver normalt veta vem som gör vad, vilket hjälper till att analysera problem senare. Det bästa sättet är att möjliggöra revision i MongoDB.

  5. Kör MongDB-serverinstansen med ett separat användar-id som har åtkomst till de nödvändiga resurserna i servermiljön.

Mongodb Backup Procedures - mongodump

När du arbetar med MongDB är det viktigt att alltid se till att en säkerhetskopieringsprocedur är på plats om data inom MongoDB skadas av någon anledning.

Nedan finns säkerhetskopieringsmekanismerna tillgängliga inom MongoDB

  1. Säkerhetskopiering genom att kopiera underliggande datafiler - Detta är förmodligen den enklaste mekanismen, allt som behöver göras är att kopiera datafilerna som MongoDB finns på och kopiera den till en annan plats som helst borde vara en annan server.
  2. Säkerhetskopiera en databas med mongodump - Mongodump-verktyget läser data från en MongoDB-databas och skapar högkvalitativa BSON-filer. Vad som måste tas i beaktande är att om datamängden är stor i volym kan mongodump vara mycket resurskrävande, så för att mildra detta problem bör verktyget köras på en sekundär server.
  3. MongoDB Cloud Manager Backup - MongoDB Cloud Manager säkerhetskopierar kontinuerligt MongoDB-replikuppsättningar och skärmade kluster genom att läsa oploggdata från MongoDB-miljön. MongoDB Cloud Manager kan skapa en återställningspunkt i tid genom att lagra oplogdata så att den kan skapa en återställning när som helst för en viss replikuppsättning eller fragmenterat kluster.

Mongodb-övervakning

Övervakning är en av de mest kritiska administrativa aktiviteterna i MongoDB. Detta beror på att du kan vara mer proaktiv genom att övervaka miljön för eventuella problem som kan dyka upp.

Nedan följer några exempel för implementering av övervakning

  1. mongostat berättar hur många tidsdatabasåtgärder som infogning, förfrågan, uppdatering, radering etc. faktiskt sker på servern. Detta kommer att ge en god uppfattning om hur mycket belastningen servern hanterar och kommer att indikera om du behöver ytterligare resurser på servern eller kanske ytterligare servrar för att distribuera belastningen.
  2. mongotop spårar och rapporterar den aktuella läs- och skrivaktiviteten för en MongoDB-instans och rapporterar denna statistik per samlingsbasis.
  3. MongoDB tillhandahåller ett webbgränssnitt som visar diagnos- och övervakningsinformation på en enkel webbsida. Man kan bläddra till webbadressen nedan på din lokala server för att öppna webbadministrationsverktyget http: // localhost: 28017
  4. ServerStatus-kommandot, eller db.serverStatus () från skalet, ger en översikt över databasens status med information om skivanvändning, minnesanvändning, anslutningar upprättade till MongoDB-miljön etc.

MongoDB-indexering och prestandaöverväganden

  1. Index är mycket viktiga i vilken databas som helst och kan användas för att förbättra effektiviteten i sökfrågor i MongoDB. Om du kontinuerligt utför sökningar i ditt dokument är det bättre att lägga till index på de fält i dokumentet som används i sökkriterierna.
  2. Försök att alltid begränsa antalet returnerade sökresultat. Antag att du har två fältnamn i ett dokument, men du vill bara se två fält från dokumentet. Se sedan till att din fråga bara är inriktad på att visa de två fälten du behöver och inte alla fälten.
  3. Om du vill visa vissa fältvärden, använd bara dessa fält i frågan. Fråga inte efter alla fält i samlingen om de inte krävs.

Sammanfattning:

  • Det är mycket viktigt att implementera säkerhet i databaser för att säkerställa att data i databasen hålls säkra.
  • Användare kan skapas i databasen med kommandot createUser. Specifika roller kan tilldelas användarna för att ge dem specifika behörigheter i själva databasen.
  • Administratörer kan läggas till för alla databaser för endast specifika databaser. Detta uppnås genom att antingen ge rollen userAdmin eller userAdminAnyDatabase.
  • Säkerhetskopiera alltid din MongoDB-miljö så att i händelse av en katastrof skulle data lätt kunna återställas.
  • Övervaka alltid din MongoDB-miljö för att vara mer proaktiv och se problem innan de uppstår.