Fuentes
Una fuente es la forma en que Flowerer entiende dónde deben clasificarse tus datos. Una fuente especifica cómo interactúas con nuestras bases de datos y define diferentes reglas que especifican la calidad del almacenamiento y el ciclo de vida de los datos.
¿Cómo empiezo?
Para empezar, simplemente crea una nueva fuente. Por defecto, adoptará algunas políticas de retención que se pueden cambiar en cualquier momento, así que no te preocupes por ellas inicialmente. Lo que importa más son los puntos de acceso donde vas a enviar los datos.
¿Cómo se ven los datos que envías?
Los datos que estás enviando necesitan ser de alguna manera clasificados, por eso queremos que envíes tus etiquetas.
Una buena forma de etiquetar tus datos es especificar el tipo de métrica (uso de CPU, posición del vehículo, precio de puja, tipo de cambio, estado del servicio), o la fuente de los datos (nombre del host, ubicación del sensor, mercado), o cualquier otro valor que pueda ser importante para agrupar todos los datos en el futuro al consultar. Tener muchas etiquetas no hará que las consultas sean notablemente más lentas. El número de etiquetas no afecta el tamaño del almacenamiento final. Sin etiquetas se calcula el mismo espacio que con 100 etiquetas especificadas para el almacenamiento.
Además del etiquetado de los datos, necesitas dar valores a los datos enviados. Como antes, puedes enviar tantos valores como desees en formato JSON. El backend identificará el tipo de cada parámetro y los almacenará de la forma más eficiente posible para que la consulta o el espacio usado sean siempre óptimos. Las claves de los valores no se contabilizan para las necesidades de almacenamiento.
Un ejemplo de un documento JSON que podemos ingerir es:
{
"tags": {
"plugin": "network",
"unit": "bs",
"host": "cl12a212"
},
"value": {
"upload": 123121,
"download": 7823434,
}
}
En el documento anterior, el almacenamiento contará un punto de datos de 8 bytes (4 bytes por elemento de valor).
Puntos de acceso
Flowerer te permite enviarnos los datos de muchas formas diferentes:
HTTP
Envías documentos JSON con el formato indicado anteriormente. La URL contiene el identificador de la fuente. Permite indexar los datos a medida que llegan, o hacer transformaciones para que puedas usar CollectD directamente y Flowerer transformará automáticamente el tipo CollectD al esquema de Flowerer.
MQTT
Envías documentos JSON con el formato indicado anteriormente. El tema donde publicas tu mensaje indica la fuente donde llegarán los datos.
Socket TCP
Como forma de integración con protocolos más ligeros, ofrecemos la posibilidad de enviar los datos usando sockets TCP, para que los dispositivos IoT puedan integrarse fácilmente y rápidamente en el sistema. La carga debe estar serializada usando Avro.
Socket UDP
Si tienes restricciones de ancho de banda pero aún necesitas datos en tiempo real, o tu conexión no es estable y no te importa perder parte del tráfico, también puedes enviar el tráfico sobre UDP. Los datos se manejan de la misma manera que con TCP. Solo los datos binarios necesarios. ¡Solo 46 bytes más la carga!
Prometheus en el futuro
También nos integraremos con Prometheus, para que simplemente expongas tus métricas y las recuperaremos y procesaremos.