InfluxDB: Pierwsze kroki

Jak zacząć z InfluxDB

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie InfluxDB cloud, które zapewnia wiele korzyści, w tym:

  • Nieograniczone zapisy, zapytania, pulpity, zadania i kubełki.
  • Nieograniczony czas przechowywania danych.
  • Nieograniczone transfery sieciowe i dyskowe.
  • Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
  • Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj sobie życie: wystarczy 5 minut, aby wypróbować rozwiązanie InfluxDB cloud hosting Stackhero!

InfluxDB nie oferuje możliwości tworzenia i zarządzania użytkownikami bezpośrednio przez interfejs webowy. Na szczęście można do tych zadań użyć InfluxDB CLI.

Możesz uzyskać dostęp do InfluxDB CLI za pomocą Dockera. Na przykład, uruchom następujące polecenie:

docker run -it -u 0 bitnami/influxdb:2.7.11 /bin/bash

Nie zapomnij zastąpić 2.7.11 swoją wersją InfluxDB.

Po uruchomieniu kontenera, utwórz konfigurację. Pamiętaj, aby zastąpić <XXXXXX>.stackhero-network.com swoją rzeczywistą domeną InfluxDB:

influx config create \
  --config-name adminConfig \
  --active \
  --username-password admin \
  --org admin \
  --host-url https://<XXXXXX>.stackhero-network.com

Po tym kroku będziesz mógł używać InfluxDB CLI. Na przykład, aby utworzyć nowego użytkownika, uruchom:

influx user create --name <user> --password <password>

InfluxDB jest zaprojektowany jako baza danych szeregów czasowych i często obsługuje dużą liczbę metryk. Ponieważ te bazy danych zazwyczaj nie usuwają danych automatycznie, Twoja baza danych może rosnąć w nieskończoność i zużywać całą dostępną przestrzeń dyskową.

Aby zapobiec nasyceniu przestrzeni dyskowej, InfluxDB oferuje dwa rozwiązania:

  1. Polityki retencji: Usuwanie danych starszych niż określona data. Na przykład, możesz zdecydować się na usunięcie danych starszych niż 365 dni.
  2. Redukcja danych: Zmniejszanie rozdzielczości danych w czasie. Na przykład, jeśli rejestrujesz temperaturę co sekundę, możesz chcieć:
    1. Przechowywać dane temperatury z rozdzielczością jednej sekundy przez ostatnie 5 minut.
    2. Utrzymywać maksymalne, minimalne i średnie temperatury z rozdzielczością jednej minuty przez ostatnie 24 godziny.
    3. Przechowywać maksymalne, minimalne i średnie temperatury z rozdzielczością jednej godziny dla starszych danych.

Korzystanie z polityk retencji pozwala przechowywać dane historyczne przez dłuższe okresy bez potrzeby terabajtów przestrzeni dyskowej. Więcej informacji o redukcji danych znajdziesz w oficjalnej dokumentacji.

Domyślnie InfluxDB przechowuje dane bezterminowo. Chociaż takie zachowanie jest typowe dla tradycyjnych baz danych, nie jest idealne dla baz danych szeregów czasowych, które powinny usuwać przestarzałe dane, aby zapobiec niekontrolowanemu wzrostowi.

Na przykład, jeśli przechowujesz dane o napięciu baterii, mogą być one istotne tylko przez kilka dni, a nie lat. Aby uniknąć zapełnienia dysku, kluczowe jest ustawienie okresu retencji dla każdego z Twoich bucketów.

Aby skonfigurować retencję danych:

  1. Otwórz swój interfejs webowy InfluxDB.
  2. Kliknij „Data”, a następnie „Buckets”.
  3. Kliknij „Settings” obok bucketa, który chcesz skonfigurować.
  4. Wybierz „Delete data older than” i wybierz pożądany okres retencji.

Nie zapomnij, że dane starsze niż wybrany okres retencji zostaną trwale usunięte!

Pamiętaj, że dane w InfluxDB są zorganizowane w shardach. Shardy zawierające tylko przestarzałe dane są usuwane automatycznie, ale jeśli shard zawiera mieszankę przestarzałych i aktualnych danych, nie zostanie usunięty. Domyślnie, bez zdefiniowanej polityki retencji, shardy przechowują 7 dni danych. Oznacza to, że gdy ustawisz politykę retencji, prawie 7 dni przestarzałych danych może być nadal przechowywane wraz z Twoimi aktualnymi danymi. Więcej informacji o shardach znajdziesz w oficjalnej dokumentacji.

Znajdziesz przykłady, jak wysyłać dane z Node.js do usługi InfluxDB w tym repozytorium: https://github.com/stackhero-io/influxdbGettingStarted