Jak monitorovat MongoDB s Grafana a Prometheus na Ubuntu 20.04

Úvodní poznámka

MongoDB, uznávaný databázový systém NoSQL, je široce akceptován pro ukládání a efektivní správu rozsáhlých dat. Pro zachování optimálního výkonu a celkového stavu MongoDB clusteru je klíčové implementovat spolehlivý systém monitorování. Grafana a Prometheus se představují jako excelentní nástroje, které poskytují ucelený přehled a vizualizaci metrik. Následující průvodce vás provede nezbytnými kroky pro nastavení monitorování MongoDB za použití Grafana a Prometheus na operačním systému Ubuntu 20.04.

Instalace Promethea

1. Aktualizace operačního systému: Před samotnou instalací nového softwaru je nezbytné aktualizovat váš systém. K tomu poslouží následující příkazy:


sudo apt update
sudo apt upgrade

2. Instalace Promethea: Přidejte repozitář Promethea do seznamu zdrojů APT:


echo "deb http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt update

Následně nainstalujte samotný Prometheus:


sudo apt install prometheus

3. Spuštění a aktivace Promethea:


sudo systemctl start prometheus
sudo systemctl enable prometheus

Instalace Grafany

1. Přidání repozitáře Grafany: Přidejte repozitář Grafany do seznamu zdrojů APT:


sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
wget -q -O- https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo apt update

2. Instalace Grafany:


sudo apt install grafana

3. Spuštění a aktivace Grafany:


sudo systemctl start grafana-server
sudo systemctl enable grafana-server

Konfigurace MongoDB Exporteru

1. Instalace MongoDB Exporteru:


sudo wget https://github.com/mongodb/mongo-go-driver/releases/download/v1.8.7/mongo-exporter-linux-amd64.tar.gz
sudo tar -zxvf mongo-exporter-linux-amd64.tar.gz
sudo mv mongo-exporter /usr/local/bin

2. Konfigurace MongoDB Exporteru: Vytvořte konfigurační soubor pro MongoDB Exporter:


sudo vim /etc/mongo-exporter.yml

Do souboru vložte následující konfiguraci:


yaml
uri: "mongodb://<username>:<password>@<host>:<port>"
metrics:
  enabled: true
  namespace: "mongodb"
  collectors:
    databaseStats: true
    collectionStats: true
    replicationMetrics: true
    topMetrics: true
  clusterMetrics:
    enabled: true

Nezapomeňte nahradit <username>, <password>, <host> a <port> odpovídajícími přihlašovacími údaji a adresou vašeho MongoDB serveru.

3. Spuštění MongoDB Exporteru:


sudo mongo-exporter

Nastavení zdroje dat v Grafaně

1. Přístup k webovému rozhraní Grafany: Otevřete webový prohlížeč a navštivte adresu http://localhost:3000. Přihlaste se pomocí uživatelského jména „admin“ a hesla „admin“.

2. Přidání datového zdroje Prometheus: Klikněte na ikonu ozubeného kola v levém horním rohu a vyberte „Data sources“. Následně klikněte na tlačítko „Add data source“ a vyberte „Prometheus“.

3. Konfigurace datového zdroje: Zadejte následující parametry:
– URL: http://localhost:9090
– Základní cesta: /api/v1

4. Uložení nastavení: Klikněte na tlačítko „Add“ pro uložení nového datového zdroje.

Tvorba dashboardu v Grafaně

1. Vytvoření nového dashboardu: Klikněte na ikonu plus (+) v levém horním rohu a vyberte „New dashboard“.

2. Přidání panelů: Klikněte na tlačítko „Add panel“ a zvolte typ panelu, například „Graph“ nebo „Singlestat“.

3. Konfigurace panelu: Nastavte panel tak, aby zobrazoval metriky MongoDB, které chcete sledovat. Například pro zobrazení aktuálního počtu připojení k databázi, použijte následující dotaz:


mongodb_connections{instance="cluster0"}

4. Uložení dashboardu: Klikněte na tlačítko „Save“ pro uložení vašeho dashboardu.

Závěrečné shrnutí

Úspěšným dodržením kroků v tomto návodu jste dosáhli nastavení monitorování vaší MongoDB databáze pomocí nástrojů Grafana a Prometheus na systému Ubuntu 20.04. Tato konfigurace vám zprostředkuje hodnotné náhledy a vizualizace, které vám pomohou identifikovat a efektivně řešit případné problémy s výkonem a zajistit stabilní chod vašeho MongoDB clusteru.

Pravidelným monitorováním získáte hluboké porozumění chování vaší databáze, včas odhalíte odchylky od normálu a zabezpečíte tak spolehlivost a dostupnost vašich aplikací a služeb. Grafana a Prometheus jsou výkonné nástroje, které vám pomohou maximalizovat výkon vaší MongoDB databáze a zajistit hladký a bezproblémový provoz.

Časté dotazy (FAQ)

1. Jaké jsou výhody používání Grafana a Prometheus pro monitorování MongoDB?
Grafana a Prometheus tvoří synergickou dvojici, která poskytuje komplexní přehled a vizualizaci metrik MongoDB. Grafana umožňuje vytvářet personalizované dashboardy a vizualizovat sesbíraná data, zatímco Prometheus shromažďuje a ukládá metriky. Společně tyto nástroje poskytují detailní pohled na výkon a stav vašeho MongoDB clusteru.

2. Jak často bych měl monitorovat cluster MongoDB?
Frekvence monitorování se odvíjí od kritičnosti a rozsahu vašeho MongoDB clusteru. Doporučuje se monitorovat minimálně jednou za hodinu, avšak v závislosti na potřebách můžete frekvenci monitorování zvýšit.

3. Jaké metriky by se měly monitorovat?
Konkrétní metriky, které byste měli monitorovat, se budou lišit v závislosti na vašich individuálních potřebách. Nicméně mezi základní metriky patří využití CPU, využití paměti, využití disku, počet aktivních připojení a zpoždění replikace.

4. Jak zjistím, zda existují problémy s výkonem MongoDB?
Mezi obvyklé příznaky problémů s výkonem MongoDB patří pomalé dotazy, časté připojování a odpojování klientů, a také zvýšené využití procesoru nebo paměti. Monitorovací nástroje, jako jsou Grafana a Prometheus, vám mohou pomoci tyto problémy identifikovat a řešit dříve, než se projeví vážnějšími důsledky.

5. Jaké další nástroje mohu použít pro monitorování MongoDB?
Kromě Grafana a Prometheus existují i další nástroje pro monitorování MongoDB, jako jsou například MongoDB Cloud Manager, Ops Manager a mtop. Volba nástroje závisí na vašich specifických potřebách a preferencích.

6. Jaké jsou osvědčené postupy pro monitorování MongoDB?
Osvědčené postupy pro monitorování MongoDB zahrnují definování základních hodnot (baseline), nastavení prahových hodnot pro upozornění, pravidelnou analýzu metrik a proaktivní přístup k řešení problémů.

7. Jak mohu zlepšit výkon MongoDB?
Existuje mnoho strategií pro zlepšení výkonu MongoDB, včetně optimalizace schématu databáze, využití indexů, aktivace write ahead log (WAL) a jemného ladění konfiguračních nastavení.

8. Jaké jsou nejčastější chyby při monitorování MongoDB a jak se jim vyhnout?
Mezi typické chyby při monitorování MongoDB patří nesprávné nastavení prahových hodnot upozornění, opomíjení klíčových metrik a zpožděná reakce na generovaná upozornění.