Hur man övervakar MongoDB med Grafana och Prometheus på Ubuntu 20.04

Hur man övervakar MongoDB med Grafana och Prometheus på Ubuntu 20.04

Inledning

MongoDB är en populär NoSQL-databas som har fått mycket uppmärksamhet på senare tid. Den erbjuder hög prestanda, skalbarhet och flexibilitet, vilket gör den väl lämpad för en mängd olika applikationer. Att övervaka MongoDB-prestanda är avgörande för att säkerställa att databasen fungerar smidigt och identifiera eventuella problem i tid.

Grafana är ett kraftfullt visualiseringssystem för övervakningsdata som gör det möjligt för användare att skapa anpassade instrumentpaneler för att visualisera metrics och loggar. Prometheus är ett open source-övervakningssystem som samlar in och lagrar metrics från olika källor.

I den här guiden kommer vi att visa dig hur du konfigurerar MongoDB med Grafana och Prometheus på Ubuntu 20.04. Vi kommer att gå igenom stegen för att installera nödvändig programvara, konfigurera Prometheus för att samla in metrics från MongoDB och slutligen skapa en Grafana-instrumentpanel för att visualisera data.

Installation

Installera MongoDB

1. Importera MongoDB-nyckeln:


wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

2. Skapa MongoDB-arkivet:


echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

3. Uppdatera paketlistan:


sudo apt update

4. Installera MongoDB:


sudo apt install -y mongodb-org

Installera Prometheus

1. Lägg till Prometheus-arkiv:


wget -q https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /etc/apt/trusted.gpg.d/google-cloud-apt.gpg add -
echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

2. Uppdatera paketlistan:


sudo apt update

3. Installera Prometheus:


sudo apt install -y prometheus

Installera Grafana

1. Lägg till Grafana-arkiv:


wget -q -O- https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

2. Uppdatera paketlistan:


sudo apt update

3. Installera Grafana:


sudo apt install -y grafana

Konfigurering

Konfigurera Prometheus

1. Ändra Prometheus-konfigurationsfil:


sudo vim /etc/prometheus/prometheus.yml

2. Lägg till följande remskivor:


scrape_configs:
- job_name: 'mongodb'
static_configs:
- targets: ['localhost:27017']

3. Starta om Prometheus:


sudo systemctl restart prometheus

Konfigurera MongoDB

1. Aktivera MongoDB-övervakning:


sudo vim /etc/mongod.conf

2. Lägg till följande rader:


net:
port: 27017
bindIp: 0.0.0.0
management:
metrics:
enabled: true
interface: "0.0.0.0"
port: 9216

3. Starta om MongoDB:


sudo systemctl restart mongod

Grafana

Lägg till Prometheus-datakälla

1. Logga in på Grafana-webgränssnittet.
2. Gå till ”Configuration” > ”Data Sources”.
3. Klicka på ”Add data source”.
4. Välj ”Prometheus” som typ.
5. Ange följande inställningar:

* Name: MongoDB Metrics
* URL: http://localhost:9090

Skapa Grafana-instrumentpanel

1. Gå till ”Dashboards” > ”New Dashboard”.
2. Ge instrumentpanelen ett namn (t.ex. ”MongoDB Overview”).
3. Dra och släpp ”MongoDB Overview” panelen.
4. Välj ”MongoDB Metrics” som datakälla.
5. Välj de metrics du vill visualisera.

Slutsats

Genom att konfigurera MongoDB med Grafana och Prometheus kan du få värdefulla insikter i din MongoDB-prestanda. Grafana-instrumentpanelen ger en visuell representation av data som hjälper dig att snabbt identifiera trender, upptäcka fel och optimera din databas. Att övervaka din MongoDB-prestanda regelbundet är avgörande för att säkerställa att den fungerar optimalt och att dina applikationer har tillförlitlig tillgång till data.

Vanliga frågor

1. Varför ska jag övervaka MongoDB-prestanda?
För att säkerställa att databasen fungerar smidigt, identifiera flaskhalsar och proaktivt lösa eventuella problem.

2. Vilka är fördelarna med att använda Grafana och Prometheus?
Grafana erbjuder en anpassningsbar instrumenteringspanel för att visualisera metrics, medan Prometheus samlar in och lagrar metrics från olika källor.

3. Kan jag övervaka flera MongoDB-instanser?
Ja, du kan konfigurera Prometheus för att samla in metrics från flera MongoDB-instanser genom att lägga till ytterligare ”scrape_configs” i konfigurationsfilen.

4. Vilka metrics kan jag övervaka?
Prometheus samlar in en mängd olika MongoDB-metrics, inklusive minnesanvändning, diskutrymmesanvändning, antalet anslutningar, frågeprestanda och mycket mer.

5. Hur ofta samlas metrics in?
Prometheus samlar in metrics med ett intervall som kan konfigureras i konfigurationen. Standardintervallet är 15 sekunder.

6. Kan jag skapa anpassade vyer i Grafana?
Ja, Grafana låter dig skapa anpassade vyer genom att kombinera olika panels och använda olika visualiseringstyper.

7. Hur säkrar jag min MongoDB-övervakningsstack?
Se till att Prometheus körs på ett säkert nätverk, och använd autentisering och auktorisering för att skydda åtkomsten till Grafana.

8. Vilka ytterligare verktyg kan jag använda för att övervaka MongoDB?
MongoDB Enterprise Advanced inkluderar avancerade övervakningsfunktioner och MongoDB Ops Manager erbjuder molnbaserad övervakning.