InfluxDB je open-source databáze časových řad napsaná v Go. Optimalizováno pro rychlé úložiště s vysokou dostupností a používané jako úložiště dat pro jakýkoli případ použití, který zahrnuje velké množství dat s časovou značkou, včetně monitorování DevOps, dat protokolů, metrik aplikací, dat ze senzorů IoT a analýzy v reálném čase.
Telegraf je agent pro sběr, zpracování, agregaci a zápis metrik. Podporuje různé výstupní pluginy, jako je influxdb, Graphite, Kafka, OpenTSDB atd.
Grafana je open source sada pro vizualizaci a monitorování dat. Nabízí podporu pro databáze Graphite, Elasticsearch, Prometheus, influxdb a mnoho dalších. Tento nástroj poskytuje krásný řídicí panel a analýzu metrik s možností spravovat a vytvářet vlastní řídicí panel pro sledování výkonu vašich aplikací nebo infrastruktury.
V tomto tutoriálu vám ukážu, jak nainstalovat a nakonfigurovat TIG Stack (Telegraf, influxdb a Grafana) pomocí jediného serveru Ubuntu 18.04. Budeme používat TIG Stack pro monitorování zatížení systému, jako je síť, paměť RAM, doba provozu atd.
Předpoklady
- Ubuntu 18.04
- Oprávnění uživatele root
Co uděláme?
- Nainstalujte InfluxDB
- Vytvoření databáze InfluxDB a uživatele
- Nainstalujte Telegraf Agent
- Nakonfigurujte Telegraf
- Nainstalujte Grafana
- Nastavení zdroje dat Grafana
- Nastavení Grafana Dashboard
Krok 1 – Instalace InfluxDB
V tomto prvním kroku nainstalujeme databázi časových řad influxdb na systém Ubuntu. Nainstalujeme 'influxdb' i 'telegraf' ze stejného úložiště 'influxdata', oba software vytvořila stejná organizace.
Přidejte klíč influxdata Key.
sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
Přidejte úložiště influxdata.
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
Nyní aktualizujte úložiště a nainstalujte balíček 'influxdb' pomocí příkazu apt níže.
sudo apt update
sudo apt install influxdb -y
Po dokončení instalace spusťte službu influxdb a povolte její spuštění při každém spuštění systému.
sudo systemctl start influxdb
sudo systemctl enable influxdb
Nyní zkontrolujte otevřené porty v systému.
netstat -plntu
A ujistěte se, že máte porty influxdb '8088' a '8086' ve stavu 'LISTEN'.
Krok 2 – Vytvoření databáze InfluxDB a uživatele
Abychom uložili všechna data od telegrafových agentů, musíme nastavit databázi influxdb a uživatele.
InfluxDB poskytuje nástroj CLI s názvem 'influx' pro interakci se serverem InfluxDB. Příkaz Influx je jako 'mysql' v MySQL a 'mongo' v databázi MongoDB.
Spusťte níže uvedený příkaz 'influx'.
influx
Nyní jste připojeni k výchozímu serveru influxdb na portu '8086'.
Vytvořte novou databázi a uživatele 'telegraf' s heslem 'hakase-ndlr' spuštěním dotazů influxdb níže.
create database telegraf
create user telegraf with password 'hakase-ndlr'
Nyní zkontrolujte databázi a uživatele.
show databases
show users
Ujistěte se, že máte databázi a uživatele s názvem 'telegraf' na serveru influxdb.
Krok 3 – Instalace Telegraf Agent
Telegraf byl vytvořen 'influxdata', stejnou organizací, která vytvořila influxdb. Když tedy do systému přidáme klíč influxdata a úložiště, znamená to, že můžeme nainstalovat obě aplikace.
Nainstalujte balíček telegraf pomocí příkazu apt níže.
sudo apt install telegraf -y
Po dokončení instalace spusťte službu telegraf a povolte její spuštění při každém startu systému.
sudo systemctl start telegraf
sudo systemctl enable telegraf
Telegraf agent je v provozu, zkontrolujte to pomocí příkazu níže.
sudo systemctl status telegraf
Krok 4 – Konfigurace Telegraf
Telegraf je agent řízený pluginy a má 4 typy koncepčních pluginů.
- Použití 'Input Plugins' ke shromažďování metrik.
- Použití 'Procesor Plugins' k transformaci, zdobení a filtrování metrik.
- Použití 'Aggregator Plugins' k vytváření a agregaci metrik.
- A pomocí „Výstupních pluginů“ zapisovat metriky do různých cílů, včetně influxdb.
V tomto kroku nakonfigurujeme Telegraf tak, aby používal základní vstupní pluginy pro sběr systémových metrik serveru a použití influxdb jako výstupního pluginu.
Přejděte do adresáře '/etc/telegraf' a přejmenujte výchozí konfigurační soubor.
cd /etc/telegraf/
mv telegraf.conf telegraf.conf.default
Nyní vytvořte novou jinou konfiguraci 'telegraf.conf' pomocí editoru vim.
vim telegraf.conf
Vložte konfigurace níže.
# Global Agent Configuration [agent] hostname = "hakase-tig" flush_interval = "15s" interval = "15s" # Input Plugins [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs"] [[inputs.io]] [[inputs.mem]] [[inputs.net]] [[inputs.system]] [[inputs.swap]] [[inputs.netstat]] [[inputs.processes]] [[inputs.kernel]] # Output Plugin InfluxDB [[outputs.influxdb]] database = "telegraf" urls = [ "http://127.0.0.1:8086" ] username = "telegraf" password = "hakase-ndlr"
Uložte a ukončete.
Poznámka:
Telegraf poskytuje příkaz telegraf pro správu konfigurace, včetně generování samotné konfigurace, spusťte příkaz, jak je uvedeno níže.
telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf
cat telegraf.conf
Restartujte službu telegraf a ujistěte se, že nedošlo k chybě.
sudo systemctl restart telegraf
Nyní otestujte nastavení telegrafu pomocí příkazu níže.
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter cpu
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter net
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter mem
Konfigurace InfluxDB a Telegraf byla dokončena.
Krok 6 – Instalace Grafana
V tomto kroku nainstalujeme krásný Grafana Dashboard pro vizualizaci dat.
Přidejte klíč grafana a úložiště.
sudo curl https://packagecloud.io/gpg.key | sudo apt-key add -
echo 'deb https://packagecloud.io/grafana/stable/debian/ stretch main' > /etc/apt/sources.list.d/grafana.list
Aktualizujte úložiště a nainstalujte balíček grafana pomocí příkazu apt níže.
sudo apt update
sudo apt install grafana -y
Po dokončení instalace spusťte službu grafana a povolte její spuštění při každém startu systému.
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
Grafana-server běží na výchozím portu '3000', zkontrolujte to pomocí netstat.
netstat -plntu
A dostanete výsledek, jak je uvedeno níže.
Krok 7 – Nastavení zdroje dat Grafana
Otevřete webový prohlížeč a zadejte IP adresu serveru s portem 3000.
http://192.168.33.15:3000/
Přihlaste se pomocí výchozího uživatele 'admin' a hesla 'admin'.
Nyní budete na stránce vyzváni ke změně výchozího hesla, zadejte své nové heslo a klikněte na tlačítko 'Uložit'.
A budete přesměrováni na výchozí panel Grafana Dashboard.
Kliknutím na tlačítko 'Přidat zdroj dat' přidejte zdroj dat influxdb.
Zadejte podrobnosti o konfiguracích serveru influxdb.
- Název:influxdb
- Typ:influxdb
- Adresa URL:http://localhost:8086/
Přejděte na spodní stránku a zadejte podrobnosti o nastavení databáze influxdb.
- Databáze:telegraf
- Uživatel:telegraf
- Heslo:'hakase-ndlr'
Klikněte na tlačítko 'Uložit a otestovat' a ujistěte se, že máte výsledek 'Zdroj dat funguje'.
Zdroj dat InfluxDB byl přidán na server Grafana.
Krok 8 – Nastavení panelu Grafana
Po přidání influxdb jako zdroje dat na grafana server v tomto kroku naimportujeme grafana dashboard na základě našeho nastavení vstupních pluginů Telegraf.
Grafana poskytuje úložiště pro grafana pluginy a dashboardy.
- Pluginy Grafana
- Panely Grafana
Chcete-li importovat grafana dashboard, klikněte na nabídku „+“ na levém panelu a klikněte na „Importovat“.
Nyní otevřete ukázkový řídicí panel Grafana z adresy URL „https://grafana.com/dashboards/5955“ a klikněte na tlačítko „Zkopírovat ID do schránky“.
Vložte ID řídicího panelu.
A budete automaticky přesměrováni do nastavení řídicího panelu.
V sekci možností klikněte na InfluxDB a vyberte svůj server influxdb a poté klikněte na tlačítko 'Importovat'.
A níže jsou některé snímky obrazovky z importovaného řídicího panelu.
Instalace TIG Stack (Telegraf, InfluxDB a Grafana) na Ubuntu 18.04 byla úspěšně dokončena.