MongoDB logger alle spørsmål

MongoDB logger alle spørsmål
Logging er en av de essensielle tingene i moderne utvikling og applikasjoner. Logger gir en sporbar oversikt over alle operasjonene i en gitt applikasjon i et strømformat.

I kritiske miljøer som databaser kan det være gunstig å føre en oversikt over kommandoene som er utført på serveren.

I denne artikkelen lærer vi hvordan du kan gjøre det mulig for MongoDB -serveren å logge alle kommandoene som er utført på serveren.

MongoDB henter gjeldende loggnivå

Vi må endre loggingsnivået for å aktivere eller deaktivere logging av spørsmål i MongoDB -serveren. Loggnivået definerer hvilken informasjon som er og hvordan den er logget inn på serveren.

Det er godt å vite gjeldende status før du øker eller reduserer loggnivået. Dette vil tillate deg å gå tilbake til standardloggnivået.

I MongoDB kan vi bruke DB.GetProfilingStatus () -kommando for å få gjeldende loggnivå i en gitt database.

Begynn med å logge på MongoDB -skallet:

$ Mongosh

Når du er logget inn, bytter du til databasen du ønsker å administrere loggnivået. I vårt eksempel vil vi bruke 'Cinema' -database:

> Bruk kino
db.GetProfilingStatus ()
< was: 0, slowms: 100, sampleRate: 1, ok: 1

Kommandoen skal returnere gjeldende loggnivå definert i det var nøkkelen. For eksempel, i utdataene ovenfor, kan vi se gjeldende loggnivå for databasen er satt til 0.

MongoDB log alle spørsmål

Vi må øke loggnivået til 2 for å la MongoDB logge alle spørsmålene i en gitt database.

Vi kan oppnå dette ved å bruke DB.SetProfilingLevel () -kommando. Funksjonen godtar målnivået vi ønsker å angi som parameter.

https: // www.Mongodb.com/docs/manuell/referanse/metode/db.setProfilingLevel/

Angi loggnivå 2 samler alle dataene for operasjonene som er utført i databasen og logger dem.

Vi kan kjøre kommandoen som:

> DB.setProfilingLevel (2)
< was: 0, slowms: 100, sampleRate: 1, ok: 1

Kommandoen vil returnere informasjon som:

  • var - viser forrige nivå
  • Slowms - representerer den forrige sakteverdien
  • samplering - definerer den tidligere sampleringsverdien

Til slutt kan vi bekrefte det nye loggnivået med GetProfilingStatus () -kommandoen som vist:

> DB.GetProfilingStatus ()
< was: 2, slowms: 100, sampleRate: 1, ok: 1

Her kan vi se det gjeldende loggnivået er satt til 2.

Når du er oppdatert, kan du sjekke MongoDB -loggfilen for de opprettede oppføringene. Sjekk MongoDB.logg eller mongod.Logg.

Konklusjon

I dette innlegget lærte du hvordan du kan se gjeldende loggnivå for en MongoDB -database. Du lærte også hvordan du bruker SetProfilingLevel -kommandoen for å endre gjeldende loggnivå for en gitt database. Å sette loggnivået til 2 lar for eksempel MongoDB logge alle operasjoner i databasen.