# Features

This section briefly describes currently implemented features. For details on a certain feature, follow detailed corresponding description page.

Features planned to be implemented in future releases are listed in section Roadmap.

## Deploy

There are multiple options to install and run Industrial Data Collector:

- using Docker image

- portable: using distribution package (zip file) for Windows or Linux

- installer for Windows

- Kafka Source Connector packaged as fat JAR file (for use cases when the destination is Apache Kafka / Confluent / Redpanda).

For details please refer the section Deploy.

## Activate

Starting from version 0.7.0, Industrial Data Collector requires activation using software license key (free for Community and Academic Editions). For instructions on how easily this can be done, please refer to section Activate.

## Configure

- Web GUI

  Web based GUI is provided to edit OPC UA Server connection settings, browse server address space, modify data collection parameters such as publishing interval, sampling rate, deadband, queue size.

  Only authenticated and authorized users can view and change configuration settings.

  Communication with configuration backend server can be established over secured connection (https protocol is supported).

- Bulk configuration.

  Import and export of configuration settings from/to CSV files using SQL server tools is possible.

## Collect

Industrial Data Collector can connect to OPC UA Servers and collect data for configured variables using subscriptions and monitored items mechanizm. Variable values can also be of complex data type. To serve SimpleJson requests coming from Grafana, it can also retrieve real time data using Read requests, and historical data using HistoryRead requests.

Some highlithgs of OPC UA connectivity features are listed below:

- opc.tcp protocol with binary encoding

- None-secure and secure connections.

- OPC UA Session’s user authentication (identity token types `UserName/Password` and `Anonymous` are supported).

- Collection parameters are configurable through Web GUI. To speed-up configuration, variables can be discovered and selected automatically following logic defined in custom Python scripts.

Note

If you need to collect data from classic OPC DA Servers, it is possible too, using third party protocol converter applications, like Matrikon OPC UA Tunneller.

## Store and Forward

Once collected, data is temporarily stored in the persistent file-based Local Storage, and then forwarded to the destination time-series database. This provides guaranteed delivery of data even in cases of long connection interruptions with the time-series database.

For the list of supported time-series databases and on information how to install and configure them refer the section Time-Series Databases.

## Visualize

To visualize real time or historical data, open source visualization tool `Grafana` is used.

## Analyze

Once stored in persistent storage, data can be analized by using queries. Query language depends on type of selected time-series database: for PostgreSQL/TimescaleDB it is standard SQL, for InfluxDb and Apache Kafka - their own query languages.

## High Availability

Starting from the version 4.2.0, the Industrial Data Collector supports High Availability feature. 2 or more instances of the application can run as a cluster of high availability nodes. Each node runs an instance of the application. Only one of the instances, which is in the Active mode, connects to OPC UA Servers and collects data. Other instances run in Standby mode, and do not connect to OPC UA Servers. If Active mode fails, then another node becomes Active and continues collecting data.

> Tip

> To learn more about the HA feature watch this demonstration video: https://youtu.be/ND5PoKYOgc4

## Troubleshoot

- Connection errors reported in detail with popup messages on GUI.

- Application level and OPC UA SDK level log fil. es are available via Web GUI.

- Latest values, timestamps and status codes returned for monitored variables by OPC UA Servers are displayed in Web GUI.

- Status of the connection with the time-series database and metrics on number of collected values, number of stored in the Local Storage and forwarded to the destination database values, and other useful information can be viewed in the `Statistics` dialog window.

## Target Platforms

The Industrial Data Collector is cross-platform application, and can be built for variety of targets. Currently distribution packages are created for and tested on:

- Windows 10/11

- Ubuntu 22.04 TLS

- Oracle Linux 8

- PCs with 64 bit ARM CPU - Siemens IoT2050, Raspberry Pi

- Confluent Platform - by implementing Kafka Source Connector interface.

For other target platforms please contact Support.

## More features are coming

For features planned or considered to implement in the next versions please refer section Roadmap