Our microservices

TeskaLabs products and technologies employ heavily microservice architecture. It means that each product consists of many so-called microservices that operate independently. Such an architecture provides implicit scalability (you can run many microservice instances); and high availability (you can run microservices in various locations).

ASAB

asab-config: Configurations

Management of the configurations for other microservices. Provides means for integration with user interface and dynamic reload of the services affected by the configuration changes.

asab-library: The library

The library contains the content (aka artefacts) used by other microservices. The content of the library is provided by the vendor and users can create and manage their own custom libraries.

asab-print: Exports, prints and emailing

The service manages exporting to structured formats suitable for reading, printing and also as eg. email attachments.

asab: Framework for microservices

Asynchronous Server App Boilerplate (ASAB) is a micro-service framework for Python. All Python-based microservices in the ecosystem are powered by ASAB.

Source | Documentation

asab-webui: Framework for React-based Web UIs

Frontend (web) framework that is companion to ASAB. It provides base for user-facing applications that interacts with (not only) ASAB-based microservices.

Source

BitSwan

bs-pump: Real-time stream processor

A real-time stream processor.

Source | Documentation

bs-query: Data exporter

This microservice provides data export features. It exports data from all base technologies such as ElasticSearch, Apache Kafka and even microservices APIs. The output could be CSV, Excel, HTML and other formats. Users may download exports from the Web UI or receive emails with attached exports. Exports can be scheduled up-front including recurring schedules.

bs-webui: React-based Web UIs

An extension to asab-webui framework that adds data and stream oriented components such as data widgets and dashboards.

SeaCat

seacat-auth: Authentication and Authorization

SeaCat Auth provides authentication, authorization, identity management, session management and other access control features.

Source | Documentation

seacat-pki: Public Key Infrastructure

SeaCat PKI implements Public key infrastructure services to create, manage, distribute, use, store and revoke digital certificates and manage public-key encryption.

SeaCat PKI offers support for X.509 and C-ITS families.

seacat-auth-webui: Login form and self-care Web UI

SeaCat Auth WebUI is a dedicated user interface for secure login and self-care user profile management.

seacat-webui: SeaCat Administration Web UI

Web User Interface for management of seacat-auth and seacat-pki. It provides an internal administration capabilities for admins and operators of Auth and PKIs.

LogMan.io

lmio-collector: Log collection

The LogMan.io Collector is responsible for log extration and collection for TeskaLabs LogMan.io. It is designed to operate in remote locations and it forwards collected logs securely to lmio-ingestor.

lmio-ingestor: Ingestion in the central system

The LogMan.io Ingestor is a central component responsible for receiving logs and other events from lmio-collector and feeding them into the central LogMan.io instance.

LogMan.io Ingestor can be integrated with other log collecting technologies such as Logstash, Elasitc Beats, syslog-ng and nxlog.

lmio-parser: Log parsing

The LogMan.io Parser is responsible for parsing, normalization, enrichment and schema enforcing of the incoming logs and events. It is a central component.

lmio-dispatcher: Log forwarding

The LogMan.io Dispatcher is responsible for storing logs and other events in the persistent storage of the LogMan.io (ElasticSearch, OpenSearch and so on).

lmio-lookup: LogMan.io lookups

This microservice manages lookups, which are auxiliary tables with various lists that supports event enrichment, correlations and other analytical functionalities of LogMan.io.

Lookups can be filled manually, over API or automatically from eg. correlation rules.

lmio-correlator: Correlation of logs an events

An advanced component responsible for event correlations and hence detection of the complex events based on observed patterns in event streams. The correlator supports persistency, which means that it can correlate events in very long time windows.

The correlators use correlation rules, defined provided by the vendor or created by users.

lmio-integ: Integrations

The microservice used for outbound integrations with third party systems such as SIEMs, SOARs and so on.

lmio-webui: LogMan.io Web UI

The web-based user interface of LogMan.io.

SP-Lang

splang: Language server

The microservice that provides language services for SP-Lang.

The user interface components related to SP-Lang, such as Blockly integration for visual programming or Apollo for computer-aided development of SP-Lang expressions.

C-ITS

cits-ea: C-ITS Enrollment Authority

A microservice that provides administrative functions of C-ITS Enrollment Authority.

cits-ea-portal: C-ITS Enrollment Authority User Portal

Web user interface for cits-ea. It provides self-care functions for users of C-ITS Enrollment Authority.

3rd Party

ElasticSearch

ElasticSearch is a schema-less database and a search (indexing) engine which enables storing and fast searching for individual events. ElasticSearch keeps data in the form of so called JSON documents stored within so called indexes – including their versing. In order to reach maximum scalability, the size of indexes can be modified automatically depending on the size of data or time window. To store data and create queries over them, ElasticSearch makes use of REST API. ElasticSearch is operated in a so-called cluster. Individual computing node determine the master junction all by themselves. ElasticSearch offers the possibility of acquiring information in real time as well as in batches.

Documentation

Apache Kafka

Apache Kafka (Kafka for short) is a stream-processing software platform which makes it possible to gather data within so called topics and enables individual consumer processes connected to read them in publish-subscribe or producer-consumer regimes. Kafka provides a flexibility in terms of integrated systems (log sources) as well as a throughput and real-time capabilities. Kafka is operated in a cluster in order to provide high-availability feature.

Homepage

Apache Zookeeper

Apache ZooKeeper is an open-source server for highly reliable distributed coordination of microservice-based applications. It is a project of the Apache Software Foundation.

Homepage

InfluxDB

InfluxDB is an open-source time series database developed by the company InfluxData. It is designed as the storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics.

Homepage

Kibana

Kibana is a visualisation tool (GUI) which enables to search data in ElasticSearch database interactively. It is a web application – it is therefore possible to access it via web browsers like Google Chrome, Mozilla Firefox, Microsoft Explorer etc. Kibana also supports access from mobile phone browsers. Users of Kibana can easily set time windows as well as other filters. Kibana is also able to search according to key words through search fields. Kibana enables to easily create visualisations, dashboards and time graphs capable of displaying the development of more complex metrics and aggregations in time. Visualisations include creation of tables, graphs, diagrams and maps and thus make it possible to get fast insight into the nature of information included in data.

Grafana

Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources.

ZooNavigator

ZooNavigator is a web-based ZooKeeper UI and editor/browser with many features.

Source | Documentation