Zabezpečenie, monitorovanie a monitoring MongoDB Zálohovanie (Mongodump)

Obsah:

Anonim

Jedným z kľúčových konceptov v MongoDB je správa databáz. Dôležité aspekty ako bezpečnosť, zálohovanie, prístup k databázam sú všetky dôležité pojmy, pokiaľ ide o správu databázy.

V tomto výučbe sa dozviete -

  • Prehľad zabezpečenia databázy
  • Postupy zálohovania - mongodump
  • Monitorovanie Mongodb
  • Úvahy o indexovaní a výkonnosti

Prehľad zabezpečenia MongoDB

MongoDB má schopnosť definovať bezpečnostné mechanizmy pre databázy. V predvolenom nastavení by sme nechceli, aby mal každý otvorený prístup ku každej databáze v MongoDB, a preto je dôležitá požiadavka na nejaký bezpečnostný mechanizmus v MongoDB.

Nasledujú osvedčené postupy pri implementácii zabezpečenia do databáz

  1. Povoliť riadenie prístupu - Vytvorte používateľov tak, aby všetky aplikácie a používatelia boli nútení mať pri prístupe k databázam na serveri MongoDB nejaký druh autentifikačného mechanizmu.

  2. Konfigurácia riadenia prístupu na základe rolí - Niekedy môže existovať logické zoskupenie povolení, ktoré môžu byť potrebné, a ktoré sa dajú združiť do rolí. Používateľom potom možno priradiť tieto roly.

  3. Pokúste sa nakonfigurovať MongoDB tak, aby používal akýsi šifrovací protokol, ako je TLS alebo SSL. Tieto protokoly sa dajú použiť na šifrovanie prenosu, ktorý prúdi medzi klientom a prostredím mongo DB.

  4. Konfigurácia auditu - správcovia zvyčajne musia vedieť, kto čo robí, čo pomáha pri neskoršej analýze problémov. Najlepším spôsobom je povoliť auditovanie v MongoDB.

  5. Spustite inštanciu servera MongDB so samostatným ID užívateľa, ktorý má prístup k požadovaným prostriedkom v prostredí servera.

Postupy zálohovania Mongodb - mongodump

Pri práci s MongDB je dôležité vždy zabezpečiť zavedenie postupu zálohovania pre prípad, že by sa dáta v MongoDB z nejakého dôvodu poškodili.

Ďalej sú uvedené mechanizmy zálohovania dostupné v rámci MongoDB

  1. Zálohovanie kopírovaním základných dátových súborov - toto je pravdepodobne najjednoduchší mechanizmus, všetko, čo je potrebné urobiť, je skopírovať dátové súbory, na ktorých je MongoDB, a skopírovať ich na iné miesto, čo by v ideálnom prípade mal byť iný server.
  2. Zálohujte databázu pomocou mongodump - nástroj mongodump číta dáta z databázy MongoDB a vytvára súbory BSON s vysokou vernosťou. Je potrebné vziať do úvahy, že ak je množina dát veľká, potom môže byť mongodump veľmi náročný na zdroje, takže na zmiernenie tohto problému by mal byť obslužný program spustený na sekundárnom serveri.
  3. Záloha MongoDB Cloud Manager - MongoDB Cloud Manager nepretržite zálohuje sady replík MongoDB a shardované klastre načítaním údajov oplog z prostredia MongoDB. Správca cloudu MongoDB môže vytvoriť bodové časové zotavenie uložením údajov oplogu, aby mohol vytvoriť obnovenie kedykoľvek pre konkrétnu množinu replík alebo zlomok klastra.

Monitorovanie Mongodb

Monitorovanie je jednou z najdôležitejších administratívnych činností v MongoDB. Je to tak preto, lebo môžete byť iniciatívnejší sledovaním prostredia, či neobsahujú potenciálne problémy, ktoré by sa mohli vyskytnúť.

Ďalej uvádzame niektoré z príkladov implementácie monitorovania

  1. mongostat vám povie, koľko časových operácií s databázou, ako je vkladanie, dopytovanie, aktualizácia, mazanie atď., sa na serveri skutočne vyskytnú. To poskytne dobrú predstavu o tom, koľko záťaže server spracováva, a ukáže, či na rozloženie záťaže potrebujete ďalšie zdroje na serveri alebo možno ďalšie servery.
  2. mongotop sleduje a hlási aktuálnu aktivitu čítania a zápisu inštancie MongoDB a tieto štatistiky hlási podľa jednotlivých zbierok.
  3. MongoDB poskytuje webové rozhranie, ktoré sprístupňuje diagnostické a monitorovacie informácie na jednoduchej webovej stránke. Jeden môže prejsť na nižšie uvedenú adresu URL na vašom lokálnom serveri a otvoriť nástroj na správu webu http: // localhost: 28017
  4. Príkaz serverStatus alebo db.serverStatus () z shellu vráti prehľad stavu databázy s podrobnosťami o využití disku, využití pamäte, pripojeniach nadviazaných na prostredie MongoDB atď.

Úvahy o indexovaní a výkonnosti MongoDB

  1. Indexy sú veľmi dôležité v akejkoľvek databáze a dajú sa použiť na zlepšenie efektívnosti vyhľadávacích dotazov v MongoDB. Ak v dokumente neustále vyhľadávate, je lepšie pridať indexy do polí dokumentu, ktoré sa používajú v kritériách vyhľadávania.
  2. Snažte sa vždy obmedziť počet vrátených výsledkov dotazu. Predpokladajme, že v dokumente máte 2 názvy polí, ale chcete iba vidieť 2 polia z dokumentu. Potom sa uistite, že je váš dopyt zameraný iba na zobrazenie dvoch požadovaných polí, a nie všetkých.
  3. Ak chcete zobraziť určité hodnoty polí, použite tieto polia iba v dotaze. Ak nie sú povinné, nevykonávajte dopyt na všetky polia v kolekcii.

Zhrnutie:

  • Je veľmi dôležité implementovať zabezpečenie do databáz, aby bola zaistená bezpečnosť údajov v databáze.
  • Používateľov je možné vytvárať v databáze pomocou príkazu createUser. Užívateľom je možné priradiť konkrétne roly, ktoré im poskytnú konkrétne oprávnenia k samotnej databáze.
  • Je možné pridať správcov pre všetky databázy, ktoré sú určené iba pre konkrétne databázy. To sa dosiahne pridelením role userAdmin alebo userAdminAnyDatabase.
  • Svoje prostredie MongoDB vždy zálohujte, aby v prípade katastrofy mohli byť dáta ľahko obnoviteľné.
  • Vždy sledujte svoje prostredie MongoDB, aby bolo proaktívnejšie, a pozrite si problémy skôr, ako sa vyskytnú.