MongoDB, en framstående NoSQL-databas, har vuxit i popularitet tack vare sin höga prestanda, skalbarhet och flexibilitet, vilket gör den passande för ett brett spektrum av applikationer. För att säkerställa en problemfri drift och snabbt identifiera eventuella problem är det avgörande att noggrant övervaka MongoDB:s prestanda.
Grafana är ett kraftfullt verktyg för visualisering av övervakningsdata. Det ger användare möjligheten att skapa skräddarsydda instrumentpaneler för att illustrera mätvärden och loggar på ett överskådligt sätt. Prometheus, å andra sidan, är ett system med öppen källkod som är dedikerat till att samla in och lagra data från olika källor.
Denna guide leder dig genom processen att konfigurera MongoDB för samarbete med Grafana och Prometheus på Ubuntu 20.04. Vi kommer att täcka installationen av nödvändig programvara, konfigurera Prometheus för att samla in mätvärden från MongoDB och slutligen skapa en instrumentpanel i Grafana för att visualisera denna data.
Installation av nödvändig programvara
Installera MongoDB
- Hämta och importera MongoDB:s nyckel:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
- 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
- Uppdatera paketlistan:
sudo apt update
- Installera MongoDB:
sudo apt install -y mongodb-org
Installera Prometheus
- Lägg till Prometheus-arkivet:
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
- Uppdatera paketlistan:
sudo apt update
- Installera Prometheus:
sudo apt install -y prometheus
Installera Grafana
- Lägg till Grafana-arkivet:
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
- Uppdatera paketlistan:
sudo apt update
- Installera Grafana:
sudo apt install -y grafana
Konfigurering av övervakningsverktygen
Konfigurera Prometheus
- Redigera Prometheus-konfigurationsfilen:
sudo vim /etc/prometheus/prometheus.yml
- Lägg till följande inställningar för att samla in MongoDB-mätvärden:
scrape_configs: - job_name: 'mongodb' static_configs: - targets: ['localhost:27017']
- Starta om Prometheus för att aktivera ändringarna:
sudo systemctl restart prometheus
Konfigurera MongoDB
- Aktivera MongoDB-övervakning genom att redigera konfigurationsfilen:
sudo vim /etc/mongod.conf
- Lägg till följande rader för att exponera mätvärden:
net: port: 27017 bindIp: 0.0.0.0 management: metrics: enabled: true interface: "0.0.0.0" port: 9216
- Starta om MongoDB för att tillämpa de nya inställningarna:
sudo systemctl restart mongod
Arbeta med Grafana
Lägg till Prometheus som datakälla
- Logga in på Grafana via webbgränssnittet.
- Navigera till ”Configuration” > ”Data Sources”.
- Klicka på ”Add data source”.
- Välj ”Prometheus” som datakällans typ.
- Ange följande information:
- Namn: MongoDB Metrics
- URL: http://localhost:9090
Skapa en Grafana-instrumentpanel
- Gå till ”Dashboards” > ”New Dashboard”.
- Ge instrumentpanelen ett relevant namn, exempelvis ”MongoDB Översikt”.
- Lägg till en panel med namnet ”MongoDB Översikt”.
- Välj ”MongoDB Metrics” som datakälla.
- Välj de mätvärden som ska visas i panelen.
Sammanfattning
Genom att kombinera MongoDB med Grafana och Prometheus får du tillgång till värdefull information om din MongoDB-databas prestanda. Grafana instrumentpanel erbjuder en grafisk representation av datan, vilket gör det lättare att snabbt se trender, identifiera fel och optimera databasen. Regelbunden övervakning av MongoDB:s prestanda är avgörande för att säkerställa dess optimala funktion och att applikationer kan lita på en stabil tillgång till data.
Vanliga Frågor
- Varför är det nödvändigt att övervaka MongoDB:s prestanda?
Det säkerställer en smidig drift, gör det möjligt att identifiera flaskhalsar och hantera eventuella problem proaktivt. - Vilka fördelar får man av att använda Grafana och Prometheus?
Grafana ger anpassningsbara instrumentpaneler för att visualisera data, medan Prometheus samlar in och lagrar data från olika system. - Kan man övervaka flera MongoDB-instanser samtidigt?
Absolut. Man kan konfigurera Prometheus att hämta mätdata från flera MongoDB-instanser genom att lägga till flera ”scrape_configs” i konfigurationen. - Vilka typer av mätvärden kan man övervaka?
Prometheus hämtar ett brett spektrum av MongoDB-mätvärden, inklusive minnesanvändning, diskutrymmesanvändning, anslutningsfrekvens, frågeprestanda och mycket mer. - Hur ofta samlas mätvärden in?
Prometheus samlar in data enligt ett konfigurerbart intervall. Standardvärdet är 15 sekunder. - Går det att skapa anpassade vyer i Grafana?
Ja, Grafana möjliggör att skapa anpassade vyer genom att kombinera olika paneler och visualiseringstyper. - Hur skyddar man sin MongoDB-övervakningsstack?
Se till att Prometheus körs på ett säkert nätverk, samt använd autentisering för att skydda åtkomst till Grafana. - Finns det andra verktyg för MongoDB-övervakning?
MongoDB Enterprise Advanced har avancerade övervakningsfunktioner. MongoDB Ops Manager ger molnbaserad övervakning.