sql >> Databáze >  >> NoSQL >> MongoDB

Monitorování serveru Percona pro MongoDB – klíčové metriky

Při spouštění kritických databázových služeb v produkci potřebujeme databázi znát a monitorovat. Musíte pochopit klíčové metriky v databázi, kterou používáte. Když například spouštíte MongoDB s úložištěm WiredTiger, potřebujete znát připojení, ověřování, operace, zpoždění replikace, chyby stránek, zamykání atd.

V tomto blogu vysvětlíme některé klíčové metriky, které se používají k monitorování serveru Percona pro MongoDB.

Připojení k databázi

Připojení k databázi je jednou z důležitých klíčových metrik v každé databázi. Sleduje vaše aktuální připojení/vlákna z aplikací do databáze. Aktuální připojení můžete zkontrolovat pomocí příkazu níže:

> db.serverStatus().connections

Poskytuje představu o tom, jak moc vaše aplikace přistupují k databázi. Náhlý nárůst počtu připojení může způsobit problémy s vašimi databázovými servery. Očekává se to nebo ne?.

ClusterControl poskytuje informace související s připojeními, jak je uvedeno níže:

Příkazové operace

Metriky operací příkazů sledují vaše aktuální operace, buď vkládání, aktualizace, odstraňování nebo výběr. Aktuální operace příkazů můžete sledovat provedením níže uvedeného příkazu:

>db.serverStatus().opcounters

Z příkazových operací můžete skutečně vidět vytížení vaší aplikace, zda jde o těžký zápis nebo čtení. Z tohoto hlediska můžete učinit některá rozhodnutí, např. pokud máte velký provoz při čtení, možná budete chtít škálovat sekundární uzly, aby distribuovaly čtené dotazy.

Monitorování operací příkazů v ClusterControl je přímočaré, stačí povolit Agent Based Monitoring, abyste viděli metriky OpsCounter na řídicím panelu serveru MongoDB, jak je znázorněno níže:

Prodleva sady ReplicaSet

Když spustíte architekturu ReplicaSet nebo ShardCluster, jednou z důležitých klíčových metrik je zpoždění replikace. Zpoždění replikace nastává, když sekundární uzly nemohou dohnat data zapisovaná do primárního uzlu. Důvody se mohou lišit od latence sítě, propustnosti disku, pomalých dotazů atd.

Informace o aktuálním zpoždění replikace můžete zkontrolovat spuštěním níže uvedeného příkazu na primárním uzlu:

> rs.printSlaveReplicationInfo() 

Metrika informací o zpoždění je v sekundách, takže u těžkých souběžných připojení se může na sekundárních uzlech zpozdit o několik sekund, protože replikace v mongodb je asynchronní.

V ClusterControl lze metriku Max Replication Lag nalézt v MongoDB Replicaseset monitorovací panel.

Chyby stránky

Chyby stránky se většinou vyskytují v aplikacích s vysokým souběžným provozem a vysokým zatížením. K chybám stránek dochází, když proces mongodb chce získat data, ale nejsou dostupná v paměti, pak server mongodb načte data z disku.

Pro sledování aktuálního stavu chyb stránky můžete použít následující příkaz:

>db.serverStatus().extra_info.page_faults

Udává počet chyb stránky. Hodnota se může zvýšit při velkém zatížení a server může mít špatný výkon. Možná budete chtít zkontrolovat také protokol pomalých dotazů.

Uzamykání

Zamykání je také důležitou metrikou v MongoDB, obvykle k němu dochází ve vysoce vytížených aplikacích s více transakcemi ve stejné datové sadě. Uzamčení může způsobit vážné problémy s výkonem.

Aktuální operace zamykání v databázi můžete zkontrolovat pomocí níže uvedeného příkazu:

>db.currentOp()

Když spustíme příkaz db.currentOp(), existují určité informace související se zamykáním. ClusterControl sleduje globální zámek na svém řídicím panelu MongoDB, jak je znázorněno níže:

Závěr

Toto jsou některé z důležitých klíčových metrik ke sledování v Percona Server pro MongoDB. Poskytují pohled v reálném čase na to, co se děje na serveru, a mohou odhalit jakékoli anomálie, se kterými můžete podniknout kroky. ClusterControl poskytuje několik řídicích panelů, které vám poskytují viditelnost vašich databází MongoDB.


  1. Získejte poslední vložené ID dokumentu v MongoDB pomocí ovladače Java

  2. Zkombinujte dva dotazy NEBO s AND v Mongoose

  3. Rychlost MongoDB {aggregation $match} vs {find}

  4. Mongoose Model.find není funkce?