Źródła
Źródło to sposób, w jaki Flowerer rozumie, gdzie Twoje dane powinny być klasyfikowane. Źródło określa, jak interfejsujesz z naszymi bazami danych i definiuje różne zasady określające jakość przechowywania i cykl życia danych.
Jak zacząć?
Aby zacząć, wystarczy utworzyć nowe źródło. Domyślnie przyjmie pewne polityki retencji, które można zmienić w dowolnym momencie, więc nie martw się nimi na początek. Ważniejsze są endpoints, na które będziesz wysyłać dane.
Jak wyglądają wysyłane dane:
Wysyłane dane muszą być w jakiś sposób sklasyfikowane, dlatego chcemy, abyś wysyłał swoje tagi.
Dobrym sposobem oznaczania danych jest określenie typu metryki (wykorzystanie CPU, pozycja pojazdu, cena ofertowa, kurs wymiany, status usługi), lub źródła danych (nazwa hosta, lokalizacja czujnika, rynek), lub innej wartości, która może być ważna do grupowania wszystkich danych w przyszłości podczas zapytań. Posiadanie wielu tagów nie spowolni zauważalnie zapytań. Liczba tagów nie wpływa na rozmiar końcowego przechowywania. Brak tagów zajmuje tyle samo miejsca co posiadanie 100 tagów.
Oprócz oznaczania danych musisz nadać wartości wysyłanym danym. Jak wcześniej, możesz wysłać tyle wartości, ile chcesz, w formacie JSON. Backend zidentyfikuje typ każdego parametru i przechowa je w najefektywniejszy możliwy sposób, aby zapytania lub zajęta przestrzeń były zawsze optymalne. Klucze wartości nie są liczone w potrzebach przechowywania.
Przykład dokumentu JSON, który możemy przyjąć:
{
"tags": {
"plugin": "network",
"unit": "bs",
"host": "cl12a212"
},
"value": {
"upload": 123121,
"download": 7823434,
}
}
W powyższym dokumencie przechowywanie policzy jeden punkt danych o rozmiarze 8 bajtów (4 bajty na element wartości).
Endpoints
Flowerer pozwala wysyłać dane na wiele różnych sposobów:
HTTP
Wysyłasz dokumenty JSON w wcześniej wskazanym formacie. URL zawiera identyfikator źródła. Pozwala indeksować dane w miarę ich przybywania lub wykonywać transformacje, abyś mógł bezpośrednio używać CollectD, a Flowerer automatycznie przekształci typ CollectD na schemat Flowerer.
MQTT
Wysyłasz dokumenty JSON w wcześniej wskazanym formacie. Temat, na którym publikujesz wiadomość, wskazuje źródło, w którym dane się znajdą.
Gniazdo TCP
Jako sposób integracji z lżejszymi protokołami oferujemy możliwość wysyłania danych za pomocą gniazd TCP, aby urządzenia IoT mogły łatwo i szybko zostać zintegrowane z systemem. Obciążenie powinno być zserializowane za pomocą Avro.
Gniazdo UDP
Jeśli masz ograniczenia przepustowości, ale nadal potrzebujesz danych w czasie rzeczywistym, lub Twoje połączenie jest niestabilne i nie przeszkadza Ci utrata części ruchu, możesz również wysyłać ruch przez UDP. Dane są obsługiwane w ten sam sposób co TCP. Tylko niezbędne dane binarne. Tylko 46 bajtów plus obciążenie!
Przyszły Prometheus
Zintegrujemy się również z Prometheus, więc możesz po prostu udostępnić nam swoje metryki, a my je pobierzemy i przetworzymy.