sql >> Database >  >> NoSQL >> MongoDB

MongoDB uitvoeren met Ops Manager

Databasebeheer gaat verder dan het verzekeren van een soepele werking, het heeft historische prestaties die enkele basislijnen bieden voor capaciteitsplanning, realtime prestaties voor belastingpieken, het automatiseren van een groot cluster van knooppunten en het hebben van een back-upplan voor de databank.

Er zijn zoveel automatiseringstools die sommige van deze taken kunnen uitvoeren, zoals Ansible, Salt en Puppet, maar MongoDB Ops Manager biedt meer dan hun mogelijkheden. Bovendien moet men weten wat de status van de database is, op een bepaald moment en welke updates nodig zijn om het systeem up-to-date te houden.

Wat  is MongoDB Ops Manager?

Dit is een beheertoepassing voor MongoDB die is gemaakt door de database-engineers van MongoDB om de implementatie, bewaking, back-ups en schaling gemakkelijker te maken en te versnellen. Het is alleen beschikbaar met de MongoDB Enterprise Advanced-licentie.

Databasegebruik neemt met de tijd toe naarmate meer gebruikers het gebruiken en de kwetsbaarheid van de betrokken gegevens neemt ook toe. Een database kan worden blootgesteld aan risico's zoals netwerkgebrom en hacking, waardoor een bedrijfsvoering wordt aangetast. De databasebeheergroep moet de veranderende aantallen opmerken om de database in de nieuwste patches en servicemogelijkheden te houden. MongoDB Ops Manager biedt deze uitbreidingsmogelijkheden voor verbeterde databaseprestaties op de volgende manieren:

  1. Bescherming tegen gegevensverlies
  2. Eenvoudige automatisering van taken
  3. Het verstrekken van informatie over het aantal zoekopdrachten
  4. GUI algemene prestatiezichtbaarheid
  5. Beheer van elastische implementaties
  6. Integratie met cloudapplicaties

Over het algemeen helpt Ops Manager bij automatisering, bewaking en back-ups.

Ops Manager-automatiseringsfuncties

Het zelf beheren van een grote clusterimplementatie kan vervelend zijn, vooral wanneer u dezelfde instructies in de loop van de tijd uitvoert en (afhankelijk van de vraag) u omhoog of omlaag gaat schalen. Voor sommige van deze taken moet u mogelijk databasespecialisten inhuren om dit te doen. De Ops Manager GUI biedt een aantal van deze acties met slechts een paar klikken. U kunt het gebruiken om nodes aan uw cluster toe te voegen of te verwijderen op basis van de vraag en de MongoDB herschikt automatisch met betrekking tot de nieuwe topologie met minimale of geen downtime.

Sommige van de bewerkingen die u handmatig hebt uitgevoerd (zoals het implementeren van een nieuw cluster, het upgraden van knooppunten, het toevoegen van replicasetleden en shards) worden georkestreerd en geautomatiseerd door de Ops Manager. De volgende keer dat u de procedure uitvoert, hoeft u slechts op een knop te klikken en alle taken worden uitgevoerd. Er is ook een Ops Manager RESTful API waarmee u programmatisch beheer kunt integreren.

Met dit type automatisering kunt u uw operationele kosten en overhead verlagen.

MongoDG-bewaking met Ops Manager

Bewaking is een belangrijke functie voor elk databasesysteem met betrekking tot de toewijzing van bronnen en meldingen over de gezondheid van de database. Zonder enig idee hoe uw database presteert, is de kans op een technische storing groot en bijgevolg catastrofaal. MongoDB Ops Manager heeft zelfs een volledige prestatiezichtbaarheid in een grafische weergave, biedt realtime rapportage en een waarschuwingsmogelijkheid voor belangrijke prestatie-indicatoren zoals hardwarebronnen.

In het geval van capaciteitsplanning biedt de Ops Manager een historisch prestatieoverzicht waaruit de operationele baseline kan worden afgeleid.

De bewaking wordt bereikt door deze in dezelfde MongoDB-host in te schakelen. Monitoring verzamelt de gegevens van alle knooppunten in de implementatie en een agent verzendt deze statistieken naar de Ops Manager, die in realtime een rapport over de implementatiestatus maakt.

Vanuit de rapporten kunt u gemakkelijk langzame en snelle zoekopdrachten zien en uitzoeken hoe u deze kunt optimaliseren voor gemiddelde prestaties.

Ops Manager biedt aangepaste dashboards en grafieken voor het volgen van veel databases op belangrijke gezondheidsstatistieken, waaronder CPU-gebruik en geheugen.

Het is belangrijk om waarschuwingen in te schakelen in Ops Manager, omdat u wilt weten welke belangrijke statistieken uit de database buiten bereik zijn. Hun configuratie varieert in termen van parameters die van invloed zijn op individuele hosts, agents, replicasets en back-ups. De Ops Manager biedt 4 belangrijke rapportagestrategieën om u overhead te houden van mogelijke technische problemen:incidentbeheersysteem, sms, e-mail of slack.

Je kunt ook de Ops Manager RESTful API gebruiken en de gegevens naar platforms zoals APM sturen om de gezondheidsstatistieken te bekijken.

MongoDB-back-ups met Ops Manager

Gegevensverlies is een van de meest pijnlijke tegenslagen die de bedrijfsvoering van een bedrijf kunnen beïnvloeden. Met Ops Manager zijn gegevens echter beschermd. Downtime van de database kan op elk moment optreden, bijvoorbeeld als gevolg van stroomuitval of netwerkonderbrekingen. Lucky is de organisatie die de MongoDB Ops Manager gebruikt, omdat het continu back-ups bijhoudt, hetzij in een geplande snapshot-modus of een herstel op een bepaald tijdstip. Als de MongoDB-implementatie op een bepaald moment mislukt, zal de meest recente back-up slechts enkele ogenblikken achter de laatste databasestatus zijn voordat deze mislukt, waardoor er minder gegevens verloren gaan.

De tool biedt een venster voor het rechtstreeks uitvoeren van query's naar back-ups om het juiste punt voor herstel te vinden. Bovendien kun je dit gebruiken om te begrijpen hoe gegevensstructuren in de loop van de tijd zijn veranderd.

De Ops Manager-back-up werkt alleen met een cluster of replicaset, anders moet je voor een op zichzelf staand mongod-proces het omzetten in een replicaset met één lid.

Hoe back-up en herstel werken met Ops Manager

Na het inschakelen van back-up in MongoDB-implementatie, voert de back-up een eerste synchronisatie van de implementatiegegevens uit op dezelfde manier als het maken van een nieuw onzichtbaar lid van een replicaset. Een agent verzendt de eerste synchronisatie en oplog gegevens via de HTTPS terug naar Ops Manager. Tijdens het back-upproces houdt de database alle doorvoerbewerkingen tegen, maar ze worden wel vastgelegd in de oplog en wordt daarom ook verzonden om de laatste update te krijgen.

De back-up volgt dan de oplog van elke replicaset om een ​​zelfstandige database op schijf (headdatabase) bij te houden die door de Ops Manager wordt onderhouden voor elke geback-upte replicaset. Deze hoofddatabase blijft consistent met de oorspronkelijke primaire tot de laatste oplog die via de agent is geleverd.

Voor een shard-cluster kan een herstel worden uitgevoerd vanaf controlepunten tussen snapshots, terwijl voor een replicaset een herstel kan worden uitgevoerd vanaf geselecteerde tijdstippen.

Voor een snapshot-herstel leest de Ops Manager rechtstreeks uit de snapshot-opslag.

Bij gebruik van een tijdstip of controlepunt, herstelt de Ops-manager een volledige momentopname van de momentopnameopslag en past vervolgens de opgeslagen oplogs toe op een gespecificeerd punt. De Ops-manager levert de snapshot en oplog-update met behulp van een HTTPS-mechanisme.

Hoeveel oplog u per back-up bewaart, bepaalt hoeveel tijd een controlepunt en herstel op een bepaald tijdstip kan beslaan.

Integratie met cloudapplicaties

Niet alle MongoDB-implementaties worden uitgevoerd vanaf dezelfde clusterhost. Er zijn zoveel cloudhosts (zoals Red Hat OpenShift, Kubernates en Pivotal Cloud Foundry) die de integratie met andere tools ingewikkeld maken. Ops Manager kan echter worden geïntegreerd met deze verscheidenheid aan implementatieplatforms voor cloudapplicaties, waardoor het consistent en elegant is om workloads uit te voeren en te implementeren waar ze maar nodig zijn, dezelfde databaseconfiguratie in verschillende omgevingen te garanderen en ze vanaf één enkel platform te besturen.

Conclusie

Het beheren van een grote MongoDB-clusterimplementatie is geen gemakkelijke taak. Ops Manager is een automatiseringstool die een gevisualiseerde databasestatus en een waarschuwingssysteem biedt; belangrijke functies bij het verstrekken van informatie over de status van de database. Het vereist echter wel een Enterprise-licentie, wat voor sommige organisaties buiten het budget kan vallen.

ClusterControl biedt een alternatief en biedt veel van dezelfde kenmerken en functies van Ops Manager, maar tegen meer dan de helft van de kosten. U kunt hier meer lezen over wat ClusterControl voor MongoDB doet.


  1. MongoParseError:opties useCreateIndex, useFindAndModify worden niet ondersteund

  2. Een getal opmaken als valuta in SQL

  3. Basisoverwegingen voor het nemen van een MongoDB-back-up

  4. Voorloopnullen toevoegen in SQL