Instalacja i konfiguracja banku danych InfluxDB w Ubuntu Server 18.04
Instalacja i konfiguracja banku danych InfluxDB w Ubuntu Server 18.04
InfluxDB jest bazą danych open source z serii Time Series Database (TSDB). Jest zaprojektowany z myślą o dużych obciążeniach zapisu i zapytań, i stanowi integralną część stosu TICK (Telegraf, InfluxDB, Chronograf, Kapacitor). InfluxDB jest idealnym rozwiązaniem dla projektów, w których generowane są duże ilości danych opatrzonych stemplem czasowym, w tym monitorowania DevOps, metryk aplikacji, danych z czujników IoT i analizy w czasie rzeczywistym.[1] OPNsense oferuje możliwość instalacji agenta Telegraf jako agenta na firewallu. Pozwala to na wysłanie wybranych wartości pomiarowych do InfluxDB, a następnie ich wyświetlenie z frontendem takim jak Grafana. Ten artykuł pokazuje jak zainstalować i skonfigurować InfluxDB w Ubuntu 18.04.
Instalacja
Instalacja InfluxDB odbywa się pod Debianem i Ubuntu w następujący sposób:[2]
Dodawanie repozytorium i aktualizacja źródeł pakietów
Dodaj klucz archiwum i zaktualizuj źródła pakietów:
tk@monitoringlesv2:~$ wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add - [sudo] password for tk: OK tk@monitoringlesv2:~$ source /etc/lsb-release tk@monitoringlesv2:~$ echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list deb https://repos.influxdata.com/ubuntu bionic stable tk@monitoringlesv2:~$ sudo apt update
Instalacja InfluxDB
Za pomocą poniższego polecenia można zainstalować InfluxDB, zostanie przy tym utworzona usługa Systemd:
tk@monitoringlesv2:~$ sudo apt install influxdb [...] The following NEW packages will be installed: influxdb [...] Setting up influxdb (1.7.10-1) ... Created symlink /etc/systemd/system/influxd.service → /lib/systemd/system/influxdb.service. Created symlink /etc/systemd/system/multi-user.target.wants/influxdb.service → /lib/systemd/system/influxdb.service. Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Aktywacja usługi InfluxDB i jej uruchomienie
Po udanej instalacji InfluxDB może teraz zostać uruchomiony.
Usługa nie jest jeszcze aktywna
tk@monitoringlesv2:~$ sudo systemctl status influxdb.service ● influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: https://docs.influxdata.com/influxdb/
Aktywacja usługi
tk@monitoringlesv2:~$ sudo systemctl unmask influxdb.service tk@monitoringlesv2:~$ sudo systemctl status influxdb.service ● influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: https://docs.influxdata.com/influxdb/
Uruchomienie usługi
tk@monitoringlesv2:~$ sudo systemctl start influxdb tk@monitoringlesv2:~$ sudo systemctl status influxdb.service ● influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-02-20 12:17:37 UTC; 2s ago Docs: https://docs.influxdata.com/influxdb/ Main PID: 2354 (influxd) Tasks: 9 (limit: 2124) CGroup: /system.slice/influxdb.service └─2354 /usr/bin/influxd -config /etc/influxdb/influxdb.conf Feb 20 12:17:37 monitoringlesv2 systemd[1]: Started InfluxDB is an open-source, distributed, time series database.
Uruchomienie bazy danych InfluxDB podczas uruchamiania systemu
Wygodniejszym rozwiązaniem jest aktywacja InfluxDB, dzięki czemu jest on uruchamiany podczas uruchamiania systemu:
tk@monitoringlesv2:~$ sudo systemctl enable influxdb.service
Konfiguracja bazy danych InfluxDB
Po zainstalowaniu i uruchomieniu InfluxDB, w tej części dowiesz się jak skonfigurować bazę danych.
Tworzenie bazy danych i użytkownika
InfluxDB oferuje z "influx" narzędzie do komfortowej administracji. Poniższy przykład pokazuje konfigurację bazy danych o nazwie "opnsense" i użytkownika o nazwie "opnsense", następnie ten użytkownik otrzymuje niezbędne uprawnienia do bazy danych "opnsense".
$ influx Connected to http://localhost:8086 version 1.7.10 InfluxDB shell version: 1.7.10 > CREATE DATABASE "opnsense" > CREATE USER "opnsense" WITH PASSWORD '<Passwort>' > SHOW GRANTS FOR "opnsense" database privilege -------- --------- > GRANT ALL ON "opnsense" to "opnsense" > SHOW GRANTS FOR "opnsense" database privilege -------- --------- opnsense ALL PRIVILEGES
Wyświetlenie informacji o bazie danych
Za pomocą polecenia "SHOW DATABASES" można wyświetlić wszystkie utworzone bazy danych:
$ influx Connected to http://localhost:8086 version 1.7.10 InfluxDB shell version: 1.7.10 > SHOW DATABASES name: databases name ---- _internal opnsense > SHOW USERS user admin ---- ----- opnsense false
Zakończenie CLI InfluxDB
Za pomocą "quit" można zakończyć CLI InfluxDB.
Zabezpieczenie InfluxDB
W tej części jest pokazane, jak można zabezpieczyć bazę danych InfluxDB.
Tworzenie użytkownika Admin[3]
$ influx Connected to http://localhost:8086 version 1.7.10 InfluxDB shell version: 1.7.10 > CREATE USER admin WITH PASSWORD '<Passwort>' WITH ALL PRIVILEGES < quit
Następnie należy się zalogować za pomocą nazwy użytkownika i hasła
$ influx -username <Nazwa_użytkownika> -password <hasło>
Szyfrowana komunikacja z TLS: Utwórz certyfikat, a następnie dostosuj ustawienia protokołu HTTP dla Grafana.[4]
Tworzenie certyfikatu:
tk@monitoringlesv2:~$ sudo openssl req -x509 -nodes -newkey rsa:2048 \ > -keyout /etc/ssl/influxdb-selfsigned.key \ > -out /etc/ssl/influxdb-selfsigned.crt \ > -days 365
Dostosuj następujące wartości w sekcji [http] konfiguracji:
$ sudo vi /etc/influxdb/influxdb.conf
enabled = true bind-address = ":8086" auth-enabled = true log-enabled = true write-tracing = false pprof-enabled = true pprof-auth-enabled = true debug-pprof-enabled = false ping-auth-enabled = true https-enabled = true # Funktioniert nicht in Verbindung mit Telegraf auf einer OPNsense Firewall, das selbstsignierte Zertifikat wird nicht akzeptiert. https-certificate = "/etc/ssl/influxdb-selfsigned.crt" https-private-key = "/etc/ssl/influxdb-selfsigned.key"
Restart usługi InfluxDB:
tk@monitoringlesv2:~$ sudo systemctl restart influxdb.service
Wyświetlenie baz danych i pomiarów InfluxDB
Wykonaj następujące kroki, aby wyświetlić bazy danych i pomiary.
Logowanie w konsoli:
tk@monitoringlesv2:~$ influx -username admin -password <admin-pw> Connected to http://localhost:8086 version 1.7.10 InfluxDB shell version: 1.7.10
Wybór bazy danych:
> use opnsense Using database opnsense
Wyświetlenie pomiarów:
> show measurements name: measurements name ---- cpu disk diskio mem net processes system
Wizualizacja danych z Grafana
Teraz zebrane dane w bazie danych InfluxDB mogą być wyświetlane i przeglądane za pomocą pulpitu monitorującego, np. Grafana.[5]
Odnośniki
- ↑ InfluxDB 1.7 documentation (docs.influxdata.com)
- ↑ Installing InfluxDB OSS (docs.influxdata.com)
- ↑ Authorization (docs.influxdata.com)
- ↑ Enabling HTTPS with InfluxDB (docs.influxdata.com)
- ↑ Using InfluxDB in Grafana (grafana.com)
Autor: Thomas Niedermeier