InfluxDB: Pierwsze kroki
Jak szybko skonfigurować i zarządzać InfluxDB zgodnie z najlepszymi praktykami
👋 Witamy w dokumentacji Stackhero
Stackhero oferuje w pełni zarządzane środowisko InfluxDB cloud, zaprojektowane z myślą o szybkości i prostocie:
- Nielimitowane zapisy, zapytania, dashboardy, zadania i buckets.
- Nielimitowana retencja danych: przechowuj swoje metryki tak długo, jak potrzebujesz.
- Nielimitowane transfery sieciowe i dyskowe, bez ukrytych ograniczeń.
- Aktualizacje jednym kliknięciem: zawsze masz dostęp do najnowszych funkcji i poprawek.
- Stała wydajność i wysoki poziom bezpieczeństwa na Twojej własnej, prywatnej i dedykowanej infrastrukturze.
Dzięki Stackhero możesz skupić się na swoich danych i analizach. Rozpoczęcie pracy z InfluxDB cloud hosting zajmuje tylko kilka minut, a każda konfiguracja jest zoptymalizowana pod kątem długoterminowej niezawodności.
Zarządzanie użytkownikami InfluxDB
InfluxDB nie umożliwia zarządzania użytkownikami bezpośrednio przez interfejs webowy. Tworzenie i administrację użytkownikami można sprawnie realizować za pomocą InfluxDB CLI.
Korzystanie z InfluxDB CLI
Do InfluxDB CLI można uzyskać dostęp przez Docker. Na przykład, można uruchomić następujące polecenie:
docker run -it influxdb:2.8 /bin/bash
Pamiętaj, aby użyć odpowiedniego tagu wersji dla swojej instancji InfluxDB zamiast
2.8.
Po uruchomieniu kontenera utwórz konfigurację. Zamień <XXXXXX>.stackhero-network.com na rzeczywistą domenę swojej instancji InfluxDB:
influx config create \
--config-name adminConfig \
--active \
--username-password admin \
--org admin \
--host-url https://<XXXXXX>.stackhero-network.com
Po skonfigurowaniu możesz używać InfluxDB CLI do zarządzania użytkownikami. Na przykład, aby utworzyć nowego użytkownika:
influx user create --name <user> --password <password>
Zapobieganie zapełnieniu przestrzeni dyskowej
InfluxDB jest zoptymalizowany pod kątem dużych wolumenów danych szeregów czasowych. Ponieważ nie usuwa automatycznie starych danych, niezarządzana baza może szybko zapełnić dostępne miejsce na dysku. Stackhero pomaga temu zapobiec, wspierając natywne funkcje InfluxDB do efektywnego zarządzania danymi.
InfluxDB oferuje dwa główne rozwiązania:
- Polityki retencji: Automatyczne usuwanie danych starszych niż określony okres, np. 365 dni. Pozwala to przewidywalnie zarządzać wykorzystaniem przestrzeni dyskowej i unikać ręcznego czyszczenia.
- Downsampling danych: Przechowywanie danych o wysokiej rozdzielczości dla ostatnich okresów oraz danych zagregowanych dla starszych okresów. Przykładowo:
- Zachowaj rozdzielczość 1-sekundową dla ostatnich 5 minut.
- Przechowuj wartości maksymalne, minimalne i średnie w interwałach 1-minutowych dla ostatnich 24 godzin.
- Zachowuj zagregowane dane godzinowe dla starszych danych.
Polityki retencji pozwalają przechowywać istotną historię bez nadmiernego zużycia przestrzeni dyskowej. Więcej informacji o downsamplingu znajdziesz w oficjalnej dokumentacji InfluxDB dotyczącej downsamplingu.
Konfigurowanie retencji danych w InfluxDB
Domyślnie InfluxDB przechowuje dane bezterminowo. W większości zastosowań szeregów czasowych ustawienie okresu retencji dla każdego bucketu pozwala zachować tylko potrzebne dane i zapobiegać niekontrolowanemu wzrostowi wykorzystania przestrzeni dyskowej.
Aby skonfigurować retencję:
- Otwórz interfejs webowy InfluxDB.
- Przejdź do "Data", a następnie wybierz "Buckets".
- Kliknij "Settings" obok wybranego bucketu.
- W sekcji "Delete data older than" wybierz preferowany okres retencji.
Dane starsze niż wybrany okres retencji zostaną trwale usunięte.
InfluxDB przechowuje dane w shardach. Shardy zawierające wyłącznie dane, których okres retencji minął, są usuwane automatycznie. Jeśli shard zawiera zarówno dane przeterminowane, jak i aktualne, pozostaje on do czasu wygaśnięcia wszystkich danych. Domyślnie jeden shard obejmuje 7 dni danych. Po ustawieniu nowej polityki retencji, nawet do około 7 dni nieaktualnych danych może pozostać do następnego cyklu shardów. Szczegóły znajdziesz w dokumentacji InfluxDB dotyczącej shardów.
Wysyłanie danych z Node.js do InfluxDB
Praktyczne przykłady wysyłania danych z Node.js do InfluxDB znajdziesz w tym repozytorium InfluxDB Getting Started.