sql >> Databasteknik >  >> NoSQL >> MongoDB

Övervakning av Percona Server för MongoDB - nyckelmått

När vi kör kritiska databastjänster i produktion måste vi känna till och övervaka databasen. Du måste förstå nyckelmåtten i databasen som du använder. Till exempel, när du kör MongoDB med en WiredTiger-lagringsmotor behöver du känna till anslutningar, autentisering, operationer, replikeringsfördröjning, sidfel, låsning, etc.

I den här bloggen kommer vi att förklara några nyckeltal som används för att övervaka Percona Server för MongoDB.

Databasanslutningar

Databasanslutningar är en av viktiga nyckelmått i vilken databas som helst. Den övervakar dina aktuella anslutningar/trådar från applikationer till databasen. Du kan kontrollera aktuella anslutningar genom kommandot nedan:

> db.serverStatus().connections

Det ger en uppfattning om hur mycket dina program har åtkomst till databasen. En plötslig ökning av antalet anslutningar kan orsaka problem med dina databasservrar. Är det förväntat eller inte?.

ClusterControl tillhandahåller information relaterad till anslutningarna som visas nedan:

Kommandoåtgärder

Kommandooperationsmåtten övervakar dina nuvarande operationer, antingen infoga, uppdatera, ta bort eller välj. Du kan övervaka aktuella kommandooperationer genom att utföra kommandot nedan:

>db.serverStatus().opcounters

Från kommandooperationerna kan du verkligen se din applikationsbelastning, om det är tungt att skriva eller läsa. Ur denna synvinkel kan du fatta vissa beslut, t.ex. om du har stor lästrafik, kanske du vill skala de sekundära noderna för att distribuera läsfrågorna.

Övervakning av kommandooperationer i ClusterControl är enkel, du behöver bara aktivera agentbaserad övervakning för att se OpsCounter-mätvärdena i MongoDB Server-instrumentpanelen som visas nedan:

ReplicaSet Lags

När du kör ReplicaSet- eller ShardCluster-arkitekturen är ett viktigt nyckelmått replikeringsfördröjningen. Replikeringsfördröjning uppstår när sekundära noder inte kan hinna med data som skrivs till den primära noden. Orsakerna till detta kan variera från nätverkslatens, diskgenomströmning, långsamma frågor, etc.

Du kan kontrollera aktuell replikeringsfördröjningsinformation genom att köra kommandot nedan på den primära noden:

> rs.printSlaveReplicationInfo() 

Skyddsinformationsmåttet är i sekunder, så på tunga samtidiga anslutningar kan det släpa med några sekunder på sekundära noder eftersom replikeringen i mongodb är asynkron.

I ClusterControl kan mätvärdena Max Replication Lag hittas i MongoDB Replicaset övervakningsinstrumentpanel.

Sidfel

Sidfel uppstår oftast i applikationer med hög samtidig och hög belastning. Sidfel inträffar när mongodb-processen vill hämta data men den inte är tillgänglig i minnet, då läser mongodb-servern data från disken.

För att övervaka det aktuella tillståndet för sidfel kan du använda kommandot nedan:

>db.serverStatus().extra_info.page_faults

Det ger dig antalet sidfel. Värdet kan öka under hög belastning och servern kan uppleva dålig prestanda. Du kanske vill kontrollera den långsamma frågeloggen också.

Låsning

Låsning är också ett viktigt mått i MongoDB, det händer vanligtvis i högbelastningsapplikationer med flera transaktioner på samma datauppsättning. Låsning kan orsaka allvarliga prestandaproblem.

Du kan kontrollera aktuella låsoperationer i databasen med kommandot nedan:

>db.currentOp()

När vi kör kommandot db.currentOp() finns det en del information relaterad till låsning. ClusterControl övervakar Global Lock i sin MongoDB-instrumentpanel som visas nedan:

Slutsats

Det här är några av de viktiga nyckelmåtten att övervaka i Percona Server för MongoDB. De ger en realtidsvy av vad som händer på servern och kan avslöja eventuella anomalier som du kan vidta åtgärder mot. ClusterControl tillhandahåller några instrumentpaneler som ger dig synlighet över dina MongoDB-databaser.


  1. Topp 10 funktioner i Big Data Hadoop

  2. Hur man ställer in en Docker redis-behållare med ssl

  3. Hur visar man dokumentfält i mongo shell?

  4. Mongo försöker ansluta automatiskt till port 27017 (localhost)