diff --git a/_includes/docs/edge/faq.md b/_includes/docs/edge/faq.md index e3fad06e9a..ac63ef3eca 100644 --- a/_includes/docs/edge/faq.md +++ b/_includes/docs/edge/faq.md @@ -21,7 +21,10 @@ {% endif %} ### Does ThingsBoard Edge support clustering? -
No, ThingsBoard Edge does not support clustering at the moment. But cluster support will be added in the following releases.
+ +The **earlier versions** of **ThingsBoard Edge** do not support clustering. It is designed to operate, process and analyze data locally before synchronizing with the central **ThingsBoard Server**. + +Starting **with release 4.0**, Edge supports clustering. Multiple **Edge nodes** can be clustered to provide high availability. If one node fails, the others can seamlessly continue to handle workloads. ### Do I need an internet connection to use the ThingsBoard Edge?No, you can run it completely offline if you need to. The only connection required is to the ThingsBoard Server via gRPC.
@@ -93,7 +96,7 @@ If this is required, you'll need to provision multiple ThingsBoard Edge i ### How many devices can ThingsBoard Edge support? {% if docsPrefix == 'pe/edge/' %}The number of connected devices depends on your subscription plan.
-Some plans offer 'Unlimited Devices and Assets', thus there are no soft limits on creating devices and assets on the edge side.
+Some plans offer 'Unlimited Devices and Assets, thus there are no soft limits on creating devices and assets on the edge side.
{% else %}ThingsBoard Edge doesn’t impose a fixed limit on the number of devices you can connect.
In practice, the number of devices you can support depends largely on your hardware resources, system configuration, and the specific use case.
@@ -172,12 +175,12 @@ Some useful references include Installation Guidesfor more details.
In order to activate the software you will need to obtain the license key.
diff --git a/_includes/docs/edge/user-guide/alarms.md b/_includes/docs/edge/user-guide/alarms.md
index 18cc467de4..b9c8524d91 100644
--- a/_includes/docs/edge/user-guide/alarms.md
+++ b/_includes/docs/edge/user-guide/alarms.md
@@ -3,9 +3,10 @@
## Overview
-The **ThingsBoard Alarm** is an essential feature for monitoring and responding to entities events and conditions. For a comprehensive understanding of the **ThingsBoard Alarm** feature, please refer to the [Working with Alarms](/docs/{{cloudDocsPrefix}}user-guide/alarms/) documentation.
+The **ThingsBoard Alarm** is an essential feature for monitoring and responding to entity events and conditions.
+For a comprehensive understanding of the **ThingsBoard Alarm** feature, please refer to the [Working with Alarms](/docs/{{cloudDocsPrefix}}user-guide/alarms/){: target="_blank"} documentation.
-Although the **Alarm** feature for the **Edge** is designed in a similar manner to that of the **Cloud**, it includes several notable additions:
+Although the **Alarm** feature for the **Edge** is designed similarly to that of the **Cloud**, it includes several notable additions:
* Alarms are processed locally on the **Edge** and focused on the immediate conditions for alarm triggering without relying on connectivity.
* The Alarm data can be pushed from the **Edge** to the **Cloud** and can also be sent back from the **Cloud** to the **Edge**. This setup enables real-time monitoring and management of alarms across different locations.
* Edge Alarms can be integrated with other local systems or software solutions for further processing, notifications, or actions.
@@ -16,17 +17,18 @@ In essence, the **ThingsBoard Edge Alarms** provide real-time, localized alarm m
The **Edge Alarms** are created and configured in the same way as the **Cloud Alarms**. Therefore, it is necessary to define the **parameters and the rules** according to which the alarm is to be triggered.
-The easiest way to create an Alarm is to use the [Alarm Rules within the Device profile](/docs/{{cloudDocsPrefix}}user-guide/device-profiles/#alarm-rules). The majority of tasks can be configured with **Alarm Rules** with minimal effort.
+The easiest way to create an Alarm is to use the [Alarm Rules within the Device profile](/docs/{{cloudDocsPrefix}}user-guide/device-profiles/#alarm-rules){: target="_blank"}. The majority of tasks can be configured with **Alarm Rules** with minimal effort.
-If more complex logic is required, we suggest utilising the alternative option, namely the **["Create Alarm"](/docs/{{cloudDocsPrefix}}user-guide/rule-engine-2-0/action-nodes/#create-alarm-node)** and **["Clear Alarm"](/docs/{{cloudDocsPrefix}}user-guide/rule-engine-2-0/action-nodes/#clear-alarm-node)** rule nodes in the **[Rule Engine](/docs/{{cloudDocsPrefix}}user-guide/rule-engine-2-0/re-getting-started/)**. This is a more advanced option that requires a certain level of programming expertise. Please refer to the [corresponding example](/docs/user-guide/rule-engine-2-0/tutorials/create-clear-alarms/).
+If more complex logic is required, we suggest using the alternative option, namely the ["Create Alarm"](/docs/{{cloudDocsPrefix}}user-guide/rule-engine-2-0/action-nodes/#create-alarm-node){: target="_blank"} and ["Clear Alarm"](/docs/{{cloudDocsPrefix}}user-guide/rule-engine-2-0/action-nodes/#clear-alarm-node){: target="_blank"} rule nodes in the [Rule Engine](/docs/{{cloudDocsPrefix}}user-guide/rule-engine-2-0/re-getting-started/){: target="_blank"}. This is a more advanced option that requires a certain level of programming expertise. Please refer to the [corresponding example](/docs/user-guide/rule-engine-2-0/tutorials/create-clear-alarms/){: target="_blank"}.
## Alarms Pushing from the Cloud to the Edge
-The **ThingsBoard system** allows for pushing **Alarms** from the **Cloud** to the **Edge** in order to enhance operational efficiency and reduce reliance on **Cloud** resources.
+The **ThingsBoard system** allows for pushing **Alarms** from the **Cloud** to the **Edge** to enhance operational efficiency and reduce reliance on **Cloud** resources.
-### Prerequisite
-
-It is essential to determine which **Rule chain** you intend to use, as this will have a significant impact on the configuration process.
+{% capture prerequisite %}
+Determine the **Rule Chain** you intend to use in advance, as this will have a significant impact on the configuration process.
+{% endcapture %}
+{% include templates/info-banner.md content=prerequisite %}
### Guidelines
@@ -36,17 +38,15 @@ To push Alarms from the **Cloud** to the **Edge**, follow these steps:
## Alarms Pushing from the Edge to the Cloud
-The ThingsBoard system also allows for pushing Alarms from the **Edge** to the **Cloud**.
+**ThingsBoard** also allows for pushing alarms from the **Edge** to the **Cloud**.
{% capture local-deployment %}
**Please note!**
-You **cannot** create or edit the **Rule Chain** on the **Edge** itself. It must be configured as a template on the **Cloud (Server)**, and then assigned to the **Edge** instance. Only then will the actual **Rule Chain**, derived from that template, begin to function and process data from devices (entities) according to its configuration.
+If you use **earlier versions** of Edge, you **cannot** create or edit a **Rule Chain** on the **Edge** itself. It must be configured as a template in the **Cloud (Server)**, and then assigned to the **Edge** instance.
+
+Starting with **Edge version 4.0**, you can create and edit a **Rule Chain** on the **Edge**.
{% endcapture %}
{% include templates/info-banner.md content=local-deployment %}
-### Prerequisite
-
-It is essential to determine which **Rule chain** you intend to use, as this will have a significant impact on the configuration process.
-
### Guidelines
To push Alarms from the **Edge** to the **Cloud**, follow these steps:
diff --git a/_includes/docs/edge/user-guide/db-overview.md b/_includes/docs/edge/user-guide/db-overview.md
index f63e79a971..1273906b7c 100644
--- a/_includes/docs/edge/user-guide/db-overview.md
+++ b/_includes/docs/edge/user-guide/db-overview.md
@@ -5,11 +5,11 @@
The **Edge Dashboards** are robust and effective tools for local monitoring and management of IoT data. They can function and display data in real time, even when there is no connection to the Cloud. The data can be synchronized with the server when the connection is restored.
-The **Edge Dashboards** are designed in the same way as the [Platform (Cloud) Dashboards](/docs/{{cloudDocsPrefix}}user-guide/dashboards/). Please read the Platform Dashboard documentation for a general understanding of its functionality.
+The **Edge Dashboards** are designed in the same way as the [Platform (Cloud) Dashboards](/docs/{{cloudDocsPrefix}}user-guide/dashboards/){: target="_blank"}. Please read the Platform Dashboard documentation for a general understanding of its functionality.
## Dashboard Provision to ThingsBoard Edge
-The dashboards can be created and managed on the **ThingsBoard server**, and then [provisioned](/docs/{{docsPrefix}}getting-started/#step-5-provision-dashboard-to-thingsboard-edge) to the **Edge instance**. This approach enables the simultaneous deployment of changes to all Edge instances.
+The dashboards can be created and managed on the **ThingsBoard server**, and then [provisioned](/docs/{{docsPrefix}}getting-started/#step-5-provision-dashboard-to-thingsboard-edge){: target="_blank"} to the **Edge instance**. This approach enables the simultaneous deployment of changes to all Edge instances.
You can verify that the Dashboard is provisioned:
@@ -22,9 +22,9 @@ You can also create and manage **Dashboards** right from the **Edge** itself. Al
To **create** the Edge Dashboard on your **ThingsBoard Edge** instance, do the following:
{% include images-gallery.html imageCollection="create-dashboard" showListImageTitles="true" %}
-You can learn about **Widgets** [here](/docs/{{cloudDocsPrefix}}user-guide/widgets/)
+You can learn about **Widgets** [here](/docs/{{cloudDocsPrefix}}user-guide/widgets/){: target="_blank"}.
-Read more about the **Dashboard toolbar** [here](/docs/{{cloudDocsPrefix}}user-guide/dashboards/#dashboard-toolbar).
+Read more about the **Dashboard toolbar** [here](/docs/{{cloudDocsPrefix}}user-guide/dashboards/#dashboard-toolbar){: target="_blank"}.
To verify that the changes are successfully propagated:
@@ -34,7 +34,7 @@ If you have multiple instances of **ThingsBoard Edge**, you can delete the Dashb
### Assign/Remove Customers
-Before you assign customers to the Dashboard, make sure that you have assigned them to the **ThingsBoard Edge** instance first. You can read more about Customers [here](/docs/{{cloudDocsPrefix}}user-guide/ui/customers/).
+Before you assign customers to the Dashboard, make sure that you have assigned them to the **ThingsBoard Edge** instance first. You can read more about Customers [here](/docs/{{cloudDocsPrefix}}user-guide/ui/customers/){: target="_blank"}.
To **assign/unassign** customers to the **Edge Dashboard**, do the following:
diff --git a/_includes/docs/edge/user-guide/edge-attributes.md b/_includes/docs/edge/user-guide/edge-attributes.md
index bb4e817805..ab3712f305 100644
--- a/_includes/docs/edge/user-guide/edge-attributes.md
+++ b/_includes/docs/edge/user-guide/edge-attributes.md
@@ -49,6 +49,11 @@ To keep the **ThingsBoard Server** up to date with any attribute changes that ha
{% include images-gallery.html imageCollection="pushToCloud" %}
+{% capture edge-rule-chain %}
+Starting with **Edge 4.0**, you can create and edit a **Rule Chain** on the **Edge**.
+{% endcapture %}
+{% include templates/info-banner.md content=edge-rule-chain %}
+
Read about how to **subscribe to device attributes change** [here](/docs/{{docsPrefix}}config/subscribe-to-attribute/#step-3-subscribe-to-device-attributes-change-and-publish-device-attributes-message){: target="_blank"}.
## Custom Attributes for Edge Instance
@@ -58,7 +63,7 @@ The retrieved **Edge attributes** can be used for metadata enrichment, authentic
To assign a custom attribute to the **Edge** instance, follow these steps:
-* Log in to the **ThingsBoard Server**, go to the **Edge management > Instances** section and click on the **Edge** instance. On the **"Edge details"** page, select the **"Attributes"** tab.
+* Log in to the **ThingsBoard Server**, go to the **Edge management > Instances** section and click on the **Edge** instance. On the **"Edge details"** page, select the **"Attributes"** tab.
* Click the **“Add”** button and add a new custom attribute (_e.g. edgeAccessToken_).
* Confirm the assigned attribute.
* Select the **"Relations"** tab and click the **“Add”** button to add a new relation (_e.g. the relation between the Edge and the Device(s)_). Click the **“Add”** button.
@@ -67,7 +72,8 @@ To assign a custom attribute to the **Edge** instance, follow these steps:
{% include images-gallery.html imageCollection="addEdgeAttributes" %}
To use **Edge** attributes as placeholders in the **Rule Chain template**:
-* Go to the **ThingsBoard Server**, the **Edge management > Rule chains templates** section and click on the **Rule Chain** in question.
+* Go to the **ThingsBoard Server**, the **Edge management > Rule chains templates** section and click the appropriate **Rule Chain**.
+ * If you're using **Edge 4.0** or later, stay in your **Edge** instance and go to the **Rule chains** section. To edit a rule chain, click the appropriate **Rule Chain**.
* On the **Rule Chain** edit page, find the **"related entity data"** node using the **Node search** bar. Drag and drop the node onto the **Rule Chain sheet**. Fill in the following fields in the pop-up window:
* **Name:** Enter the node name.
* **Direction:** Select the relation direction (_From originator/To originator_).
@@ -97,7 +103,8 @@ Before configuring the alarm notifications, have these steps completed:
* [Set a relation](/docs/{{docsPrefix}}config/provision-asset/#creating-relations){: target="_blank"} between the **Asset** and **Device**.
Follow these steps to configure the alarm notifications:
-* Log in to the **ThingsBoard Server**, go to the **Edge management > Rule chains templates** section and click on the **Rule Chain** in question.
+* Log in to the **ThingsBoard Server**, go to the **Edge management > Rule chains templates** section and click the appropriate **Rule Chain**.
+ * If you're using **Edge 4.0** or later, stay in your **Edge** instance and go to the **Rule chains** section. To edit a rule chain, click the appropriate **Rule Chain**.
* On the **Rule Chain** edit page, find the **"related entity data"** node using the **Node search** bar. Drag and drop the node onto the **Rule Chain sheet**. Fill in the following fields in the pop-up window:
* **Name:** Enter the node name.
* **Direction:** Select the relation direction (_From originator/To originator_).
diff --git a/_includes/docs/edge/user-guide/edge-management.md b/_includes/docs/edge/user-guide/edge-management.md
index 6af3e26fd9..0763529913 100644
--- a/_includes/docs/edge/user-guide/edge-management.md
+++ b/_includes/docs/edge/user-guide/edge-management.md
@@ -5,9 +5,9 @@
**ThingsBoard** offers two distinct deployment options: **ThingsBoard Edge** and **ThingsBoard Cloud**.
-**ThingsBoard Edge** is designed specifically for local, distributed data processing, enabling data analysis and management directly at the source of data generation. This approach allows for local processing, storage, and immediate response to critical situations, even without a continuous connection to the central server. For more information, see the [What is ThingsBoard Edge](/docs/{{docsPrefics}}getting-started-guides/what-is-edge/){: target="_blank"} article.
+**ThingsBoard Edge** is designed specifically for local, distributed data processing, enabling data analysis and management directly at the source of data generation. This approach allows for local processing, storage, and immediate response to critical situations, even without a continuous connection to the central server. For more information, see the [What is ThingsBoard Edge](/docs/{{docsPrefix}}getting-started-guides/what-is-edge/){: target="_blank"} article.
-In contrast, **ThingsBoard Cloud**, is a fully managed, scalable, and fault-tolerant platform hosted in the cloud. The devices connected to the Cloud transfer data over the internet. It is perfect for centralized data collection, processing, and management. For more information, see the [What is ThingsBoard](/docs/{{peDocsPrefics}}getting-started-guides/what-is-thingsboard/){: target="_blank"} article.
+In contrast, **ThingsBoard Cloud** is a fully managed, scalable, and fault-tolerant platform hosted in the cloud. The devices connected to the cloud transfer data over the internet. It is perfect for centralized data collection, processing, and management. For more information, see the [What is ThingsBoard](/docs/{{docsPrefix}}getting-started-guides/what-is-edge/){: target="_blank"} article.
### The Key Differences Between Edge and Cloud
@@ -20,7 +20,8 @@ Although **Edge is designed similarly to Cloud**, the main difference lies **in
* Devices connected to the **Cloud** are **require internet connectivity** to communicate with the platform.
**Cluster deployment** refers to the deployment in a distributed architecture, where multiple nodes (instances) work together to ensure scalability, fault tolerance, and high availability.
-* **Edge does not support cluster deployment**. It is designed to operate, process and analyze data locally before synchronizing with the central ThingsBoard server.
+* The older versions of **Edge do not support cluster deployment**. It is designed to operate, process and analyze data locally before synchronizing with the central ThingsBoard server.
+* Starting with release 4.0 **Edge supports clustering**. Multiple Edge nodes can be clustered to provide high availability. If one node fails, the others can seamlessly continue to handle workloads.
* **Cloud supports cluster deployment** and is crucial for handling large-scale IoT applications with numerous devices and high data throughput.
## Synchronization Architecture
@@ -47,7 +48,7 @@ To force synchronization procedure, go to the **Edge management > Instances** se
## Entities Management
-Most entities can be created on the **Edge** instance, except for **Customers**, **Users**, and **Rule Chains** entities. To enable the use of these entities on the **Edge**, these entities must be **assigned** to the **Edge** prior to use.
+Most entities can be created on the **Edge** instance, except for **Customers**, and **Users**, entities. To enable the use of these entities on the **Edge**, these entities must be **assigned** to the **Edge** prior to use.
To **assign** specific entities to the **Edge**, log in to your **Cloud** and navigate to the **Edge management > Instances** section:
@@ -83,7 +84,7 @@ Basic information about the Edge configuration is provided on the Edge instance
The **Cloud Events** page shows events that ThingsBoard Edge pushes to the Cloud. To view this information, log in to your **Edge instance** and go to the **Edge > Cloud events** section. The following information is displayed:
* **Created time:** The date and time the event is created and pushed to the Cloud. Displayed in a format YYYY-MM-DD H:Min:Sec.
-* **Action:** The action pushed to the Cloud. Possible actions: Added, Deleted, Updated, Attributes Updated, Attributes Deleted, Timeseries Deleted, Timeseries Updated, RPC Call, Credentials Updated, Relation Add or Update, Relation Deleted, Relations Deleted, Alarm Ack, Alarm Clear, Attributes Request, Rule Chain Metadata Request, Relation Request, Credentials Request.
+* **Action:** The action pushed to the Cloud. Possible actions: Added, Deleted, Updated, Attributes Updated, Attributes Deleted, Timeseries Deleted, Timeseries Updated, RPC Call, Credentials Updated, Relation Add or Update, Relation Deleted, Relations Deleted, Alarm Ack, Alarm Clear, Attributes Request, Rule Chain Metadata Request, Relation Request, Credential Request.
* **Entity type:** The entity that created the event.
* **Entity ID:** The identification code of the entity.
* **Status:** Defines if the event has been pushed to the Cloud.
diff --git a/_includes/docs/edge/user-guide/entities-and-relations.md b/_includes/docs/edge/user-guide/entities-and-relations.md
index b124982a26..0c7327545e 100644
--- a/_includes/docs/edge/user-guide/entities-and-relations.md
+++ b/_includes/docs/edge/user-guide/entities-and-relations.md
@@ -9,8 +9,8 @@ In **ThingsBoard**, an **entity** is a core component that represents a physical
### Available Edge Entities
-* **Devices:** Physical IoT devices (sensors, actuators, controllers).
-* **Assets:** A real world object that helps group and manage the IoT ecosystem (e.g., machines, buildings, factories).
+* **Devices:** Physical IoT devices (_sensors, actuators, controllers_).
+* **Assets:** A real world object that helps group and manage the IoT ecosystem (_e.g., machines, buildings, factories_).
* **Customers:** Organizations or users assigned to specific devices/assets.
* **Users (for PE):** People who manage and interact with edge resources.
* **Entity Views:** Predefined views of selected entity data.
@@ -18,7 +18,7 @@ In **ThingsBoard**, an **entity** is a core component that represents a physical
* **Dashboards:** Visualizations of telemetry and device data.
* **Rule Chains:** Local data processing and automation logic.
-Most entities can be created on the **Edge**, except for **Customers**, **Users**, and **Rule Chain** entities. These entities can be created on the **Server** and then [assigned](/docs/{{docsPrefix}}config/management/#entities-management){: target="_blank"} to the **Edge instance**.
+Most entities can be created on the **Edge**, except for **Customers**, and **Users** entities. These entities can be created on the **Server** and then [assigned](/docs/{{docsPrefix}}config/management/#entities-management){: target="_blank"} to the **Edge instance**.
The **Devices** and **Assets** entities have the configuration templates as [Device Profiles](/docs/{{peDocsPrefix}}user-guide/device-profiles/){: target="_blank"} and [Asset Profiles](/docs/{{peDocsPrefix}}user-guide/asset-profiles/){: target="_blank"}, respectively.
@@ -47,7 +47,7 @@ Example:
"status": "ON"
}
```
-You can learn more about working with telemetry data [here](/{{peDocsPrefix}}docs/user-guide/telemetry/).
+You can learn more about working with telemetry data [here](/{{peDocsPrefix}}docs/user-guide/telemetry/){: target="_blank"}.
By default, **ThingsBoard Edge** synchronizes telemetry data with the **ThingsBoard Cloud**.
During an internet outage, telemetry is stored **locally** and sent to the **Cloud** once the connection is restored.
diff --git a/_includes/docs/edge/user-guide/install/config.md b/_includes/docs/edge/user-guide/install/config.md
index e6a2e38e0f..9f3bf6ba66 100644
--- a/_includes/docs/edge/user-guide/install/config.md
+++ b/_includes/docs/edge/user-guide/install/config.md
@@ -1,7 +1,7 @@
* TOC
{:toc}
-### Server common parameters
+#### Server common parameters
usage.stats.report.interval | USAGE_STATS_REPORT_INTERVAL | -10 | +60 | Statistics reporting interval, set to send summarized data every 10 seconds by default |
usage.stats.report.pack_size | +USAGE_STATS_REPORT_PACK_SIZE | +1024 | +Amount of statistic messages in pack | +|
usage.stats.check.cycle | USAGE_STATS_CHECK_CYCLE | @@ -631,7 +637,7 @@
4 | Thread pool size for actor system dispatcher that process messages for edge actors | +||
actors.system.cfm_dispatcher_pool_size | +ACTORS_SYSTEM_CFM_DISPATCHER_POOL_SIZE | +2 | +Thread pool size for actor system dispatcher that process messages for CalculatedField manager actors | +
actors.system.cfe_dispatcher_pool_size | +ACTORS_SYSTEM_CFE_DISPATCHER_POOL_SIZE | +8 | +Thread pool size for actor system dispatcher that process messages for CalculatedField entity actors | +
actors.tenant.create_components_on_init | ACTORS_TENANT_CREATE_COMPONENTS_ON_INIT | @@ -1617,18 +1635,30 @@true | Enable/disable actor statistics |
actors.statistics.js_print_interval_ms | -ACTORS_JS_STATISTICS_PRINT_INTERVAL_MS | -10000 | -Frequency of printing the JS executor statistics | -
actors.statistics.persist_frequency | ACTORS_STATISTICS_PERSIST_FREQUENCY | 3600000 | Actors statistic persistence frequency in milliseconds |
actors.calculated_fields.debug_mode_rate_limits_per_tenant.enabled | +ACTORS_CALCULATED_FIELD_DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLED | +true | +Enable/Disable the rate limit of persisted debug events for all calculated fields per tenant | +
actors.calculated_fields.debug_mode_rate_limits_per_tenant.configuration | +ACTORS_CALCULATED_FIELD_DEBUG_MODE_RATE_LIMITS_PER_TENANT_CONFIGURATION | +50000:3600 | +The value of DEBUG mode rate limit. By default, no more than 50 thousand events per hour | +
actors.calculated_fields.calculation_timeout | +ACTORS_CALCULATION_TIMEOUT_SEC | +5 | +Time in seconds to receive calculation result. | +
debug.settings.default_duration | DEBUG_SETTINGS_DEFAULT_DURATION_MINUTES | @@ -1640,7 +1670,7 @@
cache.specs.relatedEdges.maxSize | CACHE_SPECS_RELATED_EDGES_MAX_SIZE | -0 | +10000 | 0 means the cache is disabled |
false | Enable dedicated datasource (a separate database) for events and audit logs. Before enabling this, make sure you have set up the following tables in the new DB: - error_event, lc_event, rule_chain_debug_event, rule_node_debug_event, stats_event, audit_log | + error_event, lc_event, rule_chain_debug_event, rule_node_debug_event, stats_event, audit_log, cf_debug_event
spring.datasource.events.driverClassName | @@ -2670,7 +2700,7 @@
W | Ota package logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operation | +||
audit-log.logging-level.mask."calculated_field" | +AUDIT_LOG_MASK_CALCULATED_FIELD | +W | +Calculated field logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operation | +
audit-log.sink.type | AUDIT_LOG_SINK_TYPE | @@ -2831,7 +2867,7 @@
true | Enable/disable SNMP transport protocol | +||||
transport.snmp.bind_address | +SNMP_BIND_ADDRESS | +0.0.0.0 | +SNMP bind address | +||
transport.snmp.bind_port | SNMP_BIND_PORT | -1620 | -Snmp bind port | +0 | +SNMP bind port. Zero (random) by default. When using SNMP TRAPs - make sure to specify some static value, e.g. 1620 |
transport.snmp.response_processing.parallelism_level | @@ -3797,7 +3839,7 @@|||||
transport.gateway.dashboard.sync.branch | TB_GATEWAY_DASHBOARD_SYNC_BRANCH | -main | +release/4.0.0 | Branch of gateways dashboard repository to work with | |
coap.enabled | +coap.server.enabled | COAP_SERVER_ENABLED | true | Enable/disable coap server. | @@ -3983,7 +4025,7 @@
5684 | Port of coap transport service. If empty, the default port for coaps will be used. | +||
device.connectivity.coaps.pem_cert_file | +DEVICE_CONNECTIVITY_COAPS_CA_ROOT_CERT | +cafile.pem | +Path to the COAP CA root certificate file | +
device.connectivity.gateway.image_version | +DEVICE_CONNECTIVITY_GATEWAY_IMAGE_VERSION | +3.7-stable | +The docker tag for thingsboard/tb-gateway image used in docker-compose file for gateway launch | +
queue.type | TB_QUEUE_TYPE | in-memory | -in-memory or kafka (Apache Kafka). The following queue types are deprecated and will no longer be supported in ThingsBoard 4.0: - aws-sqs (AWS SQS), pubsub (PubSub), service-bus (Azure Service Bus), rabbitmq (RabbitMQ) | +in-memory or kafka (Apache Kafka) | ||
queue.prefix | @@ -4567,17 +4620,44 @@600000 | Example of specific consumer properties value per topic for VC | ||||
queue.kafka.consumer-properties-per-topic.tb_edge.key | ++ | max.poll.records | +Properties for consumers targeting edge service update topics. | +|||
queue.kafka.consumer-properties-per-topic.tb_edge.key.value | +TB_QUEUE_KAFKA_EDGE_EVENTS_MAX_POLL_RECORDS | +10 | +Define the maximum number of records that can be polled from tb_edge topics per request. | +|||
queue.kafka.consumer-properties-per-topic.tb_edge.notifications.key | ++ | max.poll.records | +Properties for consumers targeting high-priority edge notifications. + These notifications include RPC calls, lifecycle events, and new queue messages, + requiring minimal latency and swift processing. | +|||
queue.kafka.consumer-properties-per-topic.tb_edge.notifications.key.value | +TB_QUEUE_KAFKA_EDGE_HP_EVENTS_MAX_POLL_RECORDS | +10 | +Define the maximum number of records that can be polled from tb_edge.notifications.SERVICE_ID topics. | +|||
queue.kafka.consumer-properties-per-topic.tb_edge_event.notifications.key | max.poll.records | -Example of specific consumer properties value per topic for edge event | +Properties for consumers targeting downlinks meant for specific edge topics. + Topic names are dynamically constructed using tenant and edge identifiers. | |||
queue.kafka.consumer-properties-per-topic.tb_edge_event.notifications.key.value | -TB_QUEUE_KAFKA_EDGE_EVENT_MAX_POLL_RECORDS | -50 | -Example of specific consumer properties value per topic for edge event | +TB_QUEUE_KAFKA_EDGE_NOTIFICATIONS_MAX_POLL_RECORDS | +10 | +Define the maximum number of records that can be polled from tb_edge_event.notifications.TENANT_ID.EDGE_ID topics. |
queue.kafka.consumer-properties-per-topic.tb_housekeeper.key | @@ -4627,6 +4707,30 @@50 | Amount of records to be returned in a single poll for cloud event timeseries topic | ||||
queue.kafka.consumer-properties-per-topic.edqs.events.key | ++ | max.poll.records | +Key-value properties for Kafka consumer for edqs.events topic | +|||
queue.kafka.consumer-properties-per-topic.edqs.events.key.value | +TB_QUEUE_KAFKA_EDQS_EVENTS_MAX_POLL_RECORDS | +512 | +Max poll records for edqs.events topic | +|||
queue.kafka.consumer-properties-per-topic.edqs.state.key | ++ | max.poll.records | +Key-value properties for Kafka consumer for edqs.state topic | +|||
queue.kafka.consumer-properties-per-topic.edqs.state.key.value | +TB_QUEUE_KAFKA_EDQS_STATE_MAX_POLL_RECORDS | +512 | +Max poll records for edqs.state topic | +|||
queue.kafka.other-inline | TB_QUEUE_KAFKA_OTHER_PROPERTIES | @@ -4711,6 +4815,36 @@retention.ms:2678400000;segment.bytes:52428800;retention.bytes:10485760000;partitions:1;min.insync.replicas:1 | Kafka properties for TsCloudEvent topic | |||
queue.kafka.topic-properties.calculated-field | +TB_QUEUE_KAFKA_CF_TOPIC_PROPERTIES | +retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 | +Kafka properties for Calculated Field topics | +|||
queue.kafka.topic-properties.calculated-field-state | +TB_QUEUE_KAFKA_CF_STATE_TOPIC_PROPERTIES | +retention.ms:-1;segment.bytes:52428800;retention.bytes:104857600000;partitions:1;min.insync.replicas:1;cleanup.policy:compact | +Kafka properties for Calculated Field State topics | +|||
queue.kafka.topic-properties.edqs-events | +TB_QUEUE_KAFKA_EDQS_EVENTS_TOPIC_PROPERTIES | +retention.ms:86400000;segment.bytes:52428800;retention.bytes:-1;partitions:1;min.insync.replicas:1 | +Kafka properties for EDQS events topics | +|||
queue.kafka.topic-properties.edqs-requests | +TB_QUEUE_KAFKA_EDQS_REQUESTS_TOPIC_PROPERTIES | +retention.ms:180000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 | +Kafka properties for EDQS requests topic (default: 3 minutes retention) | +|||
queue.kafka.topic-properties.edqs-state | +TB_QUEUE_KAFKA_EDQS_STATE_TOPIC_PROPERTIES | +retention.ms:-1;segment.bytes:52428800;retention.bytes:-1;partitions:1;min.insync.replicas:1;cleanup.policy:compact | +Kafka properties for EDQS state topic (infinite retention, compaction) | +|||
queue.kafka.consumer-stats.enabled | TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED | @@ -4729,330 +4863,6 @@1000 | Time to wait for the stats-loading requests to Kafka to finish | |||
queue.aws_sqs.use_default_credential_provider_chain | -TB_QUEUE_AWS_SQS_USE_DEFAULT_CREDENTIAL_PROVIDER_CHAIN | -false | -Use the default credentials provider for AWS SQS | -|||
queue.aws_sqs.access_key_id | -TB_QUEUE_AWS_SQS_ACCESS_KEY_ID | -YOUR_KEY | -Access key ID from AWS IAM user | -|||
queue.aws_sqs.secret_access_key | -TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY | -YOUR_SECRET | -Secret access key from AWS IAM user | -|||
queue.aws_sqs.region | -TB_QUEUE_AWS_SQS_REGION | -YOUR_REGION | -Region from AWS account | -|||
queue.aws_sqs.threads_per_topic | -TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC | -1 | -Number of threads per each AWS SQS queue in consumer | -|||
queue.aws_sqs.producer_thread_pool_size | -TB_QUEUE_AWS_SQS_EXECUTOR_THREAD_POOL_SIZE | -50 | -Thread pool size for aws_sqs queue producer executor provider. Default value equals to AmazonSQSAsyncClient.DEFAULT_THREAD_POOL_SIZE | -|||
queue.aws_sqs.queue-properties.rule-engine | -TB_QUEUE_AWS_SQS_RE_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.core | -TB_QUEUE_AWS_SQS_CORE_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.transport-api | -TB_QUEUE_AWS_SQS_TA_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.notifications | -TB_QUEUE_AWS_SQS_NOTIFICATIONS_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.js-executor | -TB_QUEUE_AWS_SQS_JE_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -|||
queue.aws_sqs.queue-properties.ota-updates | -TB_QUEUE_AWS_SQS_OTA_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.version-control | -TB_QUEUE_AWS_SQS_VC_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.edge | -TB_QUEUE_AWS_SQS_EDGE_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.pubsub.project_id | -TB_QUEUE_PUBSUB_PROJECT_ID | -YOUR_PROJECT_ID | -Project ID from Google Cloud | -|||
queue.pubsub.service_account | -TB_QUEUE_PUBSUB_SERVICE_ACCOUNT | -YOUR_SERVICE_ACCOUNT | -API Credentials in JSON format | -|||
queue.pubsub.max_msg_size | -TB_QUEUE_PUBSUB_MAX_MSG_SIZE | -1048576 | -Message size for PubSub queue.Value in bytes | -|||
queue.pubsub.max_messages | -TB_QUEUE_PUBSUB_MAX_MESSAGES | -1000 | -Number of messages per consumer | -|||
queue.pubsub.executor_thread_pool_size | -TB_QUEUE_PUBSUB_EXECUTOR_THREAD_POOL_SIZE | -0 | -Thread pool size for pubsub queue executor provider. If set to 0 - default pubsub executor provider value will be used (5 * number of available processors) | -|||
queue.pubsub.queue-properties.rule-engine | -TB_QUEUE_PUBSUB_RE_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Rule Engine subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.core | -TB_QUEUE_PUBSUB_CORE_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Core subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.transport-api | -TB_QUEUE_PUBSUB_TA_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Transport API subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.notifications | -TB_QUEUE_PUBSUB_NOTIFICATIONS_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Version Control subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.js-executor | -TB_QUEUE_PUBSUB_JE_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -PubSub queue properties | -|||
queue.pubsub.queue-properties.version-control | -TB_QUEUE_PUBSUB_VC_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Transport Api subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.edge | -TB_QUEUE_PUBSUB_EDGE_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Edge subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.service_bus.namespace_name | -TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME | -YOUR_NAMESPACE_NAME | -Azure namespace | -|||
queue.service_bus.sas_key_name | -TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME | -YOUR_SAS_KEY_NAME | -Azure Service Bus Shared Access Signatures key name | -|||
queue.service_bus.sas_key | -TB_QUEUE_SERVICE_BUS_SAS_KEY | -YOUR_SAS_KEY | -Azure Service Bus Shared Access Signatures key | -|||
queue.service_bus.max_messages | -TB_QUEUE_SERVICE_BUS_MAX_MESSAGES | -1000 | -Number of messages per a consumer | -|||
queue.service_bus.queue-properties.rule-engine | -TB_QUEUE_SERVICE_BUS_RE_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Rule Engine queues | -|||
queue.service_bus.queue-properties.core | -TB_QUEUE_SERVICE_BUS_CORE_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Core queues | -|||
queue.service_bus.queue-properties.transport-api | -TB_QUEUE_SERVICE_BUS_TA_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Transport Api queues | -|||
queue.service_bus.queue-properties.notifications | -TB_QUEUE_SERVICE_BUS_NOTIFICATIONS_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Notification queues | -|||
queue.service_bus.queue-properties.js-executor | -TB_QUEUE_SERVICE_BUS_JE_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus queue properties | -|||
queue.service_bus.queue-properties.version-control | -TB_QUEUE_SERVICE_BUS_VC_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Version Control queues | -|||
queue.service_bus.queue-properties.edge | -TB_QUEUE_SERVICE_BUS_EDGE_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Edge queues | -|||
queue.rabbitmq.exchange_name | -TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME | -- | By default empty | -|||
queue.rabbitmq.host | -TB_QUEUE_RABBIT_MQ_HOST | -localhost | -RabbitMQ host used to establish connection | -|||
queue.rabbitmq.port | -TB_QUEUE_RABBIT_MQ_PORT | -5672 | -RabbitMQ host used to establish a connection | -|||
queue.rabbitmq.virtual_host | -TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST | -/ | -Virtual hosts provide logical grouping and separation of resources | -|||
queue.rabbitmq.username | -TB_QUEUE_RABBIT_MQ_USERNAME | -YOUR_USERNAME | -Username for RabbitMQ user account | -|||
queue.rabbitmq.password | -TB_QUEUE_RABBIT_MQ_PASSWORD | -YOUR_PASSWORD | -User password for RabbitMQ user account | -|||
queue.rabbitmq.automatic_recovery_enabled | -TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED | -false | -Network connection between clients and RabbitMQ nodes can fail. RabbitMQ Java client supports automatic recovery of connections and topology (queues, exchanges, bindings, and consumers) | -|||
queue.rabbitmq.connection_timeout | -TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT | -60000 | -The connection timeout for the RabbitMQ connection factory | -|||
queue.rabbitmq.handshake_timeout | -TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT | -10000 | -RabbitMQ has a timeout for connection handshake. When clients run in heavily constrained environments, it may be necessary to increase the timeout | -|||
queue.rabbitmq.max_poll_messages | -TB_QUEUE_RABBIT_MQ_MAX_POLL_MESSAGES | -1 | -The maximum number of messages returned in a single call of doPoll() method | -|||
queue.rabbitmq.queue-properties.rule-engine | -TB_QUEUE_RABBIT_MQ_RE_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Rule Engine queues | -|||
queue.rabbitmq.queue-properties.core | -TB_QUEUE_RABBIT_MQ_CORE_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Core queues | -|||
queue.rabbitmq.queue-properties.transport-api | -TB_QUEUE_RABBIT_MQ_TA_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Transport API queues | -|||
queue.rabbitmq.queue-properties.notifications | -TB_QUEUE_RABBIT_MQ_NOTIFICATIONS_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Notification queues | -|||
queue.rabbitmq.queue-properties.js-executor | -TB_QUEUE_RABBIT_MQ_JE_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ queue properties | -|||
queue.rabbitmq.queue-properties.version-control | -TB_QUEUE_RABBIT_MQ_VC_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Version Control queues | -|||
queue.rabbitmq.queue-properties.edge | -TB_QUEUE_RABBIT_MQ_EDGE_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Edge queues | -|||
queue.partitions.hash_function_name | TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME | @@ -5111,7 +4921,13 @@queue.core.topic | TB_QUEUE_CORE_TOPIC | tb_core | -Default topic name of Kafka, RabbitMQ, etc. queue | +Default topic name | +
queue.core.notifications_topic | +TB_QUEUE_CORE_NOTIFICATIONS_TOPIC | +tb_core.notifications | +For high-priority notifications that require minimum latency and processing time | |||
queue.core.poll-interval | @@ -5159,7 +4975,7 @@queue.core.usage-stats-topic | TB_QUEUE_US_TOPIC | tb_usage_stats | -Stats topic name for queue Kafka, RabbitMQ, etc. | +Stats topic name | |
queue.core.stats.enabled | @@ -5229,11 +5045,125 @@60000 | Statistics printing interval for Housekeeper | ||||
queue.edqs.sync.enabled | +TB_EDQS_SYNC_ENABLED | +false | +Enable/disable EDQS synchronization | +|||
queue.edqs.sync.entity_batch_size | +TB_EDQS_SYNC_ENTITY_BATCH_SIZE | +10000 | +Batch size of entities being synced with EDQS | +|||
queue.edqs.sync.ts_batch_size | +TB_EDQS_SYNC_TS_BATCH_SIZE | +10000 | +Batch size of timeseries data being synced with EDQS | +|||
queue.edqs.api.supported | +TB_EDQS_API_SUPPORTED | +false | +Whether to forward entity data query requests to EDQS (otherwise use PostgreSQL implementation) | +|||
queue.edqs.api.auto_enable | +TB_EDQS_API_AUTO_ENABLE | +true | +Whether to auto-enable EDQS API (if queue.edqs.api.supported is true) when sync of data to Kafka is finished | +|||
queue.edqs.mode | +TB_EDQS_MODE | +local | +Mode of EDQS: local (for monolith) or remote (with separate EDQS microservices) | +|||
queue.edqs.local.rocksdb_path | +TB_EDQS_ROCKSDB_PATH | +${user.home}/.rocksdb/edqs | +Path to RocksDB for EDQS backup when running in local mode | +|||
queue.edqs.partitions | +TB_EDQS_PARTITIONS | +12 | +Number of partitions for EDQS topics | +|||
queue.edqs.partitioning_strategy | +TB_EDQS_PARTITIONING_STRATEGY | +tenant | +EDQS partitioning strategy: tenant (partition is resolved by tenant id) or none (no specific strategy, resolving by message key) | +|||
queue.edqs.events_topic | +TB_EDQS_EVENTS_TOPIC | +edqs.events | +EDQS events topic | +|||
queue.edqs.state_topic | +TB_EDQS_STATE_TOPIC | +edqs.state | +EDQS state topic | +|||
queue.edqs.requests_topic | +TB_EDQS_REQUESTS_TOPIC | +edqs.requests | +EDQS requests topic | +|||
queue.edqs.responses_topic | +TB_EDQS_RESPONSES_TOPIC | +edqs.responses | +EDQS responses topic | +|||
queue.edqs.poll_interval | +TB_EDQS_POLL_INTERVAL_MS | +25 | +Poll interval for EDQS topics | +|||
queue.edqs.max_pending_requests | +TB_EDQS_MAX_PENDING_REQUESTS | +10000 | +Maximum amount of pending requests to EDQS | +|||
queue.edqs.max_request_timeout | +TB_EDQS_MAX_REQUEST_TIMEOUT | +20000 | +Maximum timeout for requests to EDQS | +|||
queue.edqs.string_compression_length_threshold | +TB_EDQS_STRING_COMPRESSION_LENGTH_THRESHOLD | +512 | +Strings longer than this threshold will be compressed | +|||
queue.edqs.stats.enabled | +TB_EDQS_STATS_ENABLED | +true | +Enable/disable statistics for EDQS | +|||
queue.edqs.stats.slow_query_threshold | +TB_EDQS_SLOW_QUERY_THRESHOLD_MS | +3000 | +Threshold for slow queries to log, in milliseconds | +|||
queue.vc.topic | TB_QUEUE_VC_TOPIC | tb_version_control | -Default topic name for Kafka, RabbitMQ, etc. | +Default topic name | ||
queue.vc.partitions | @@ -5263,7 +5193,7 @@queue.vc.msg-chunk-size | TB_QUEUE_VC_MSG_CHUNK_SIZE | 250000 | -Queue settings for Kafka, RabbitMQ, etc. Limit for single message size | +Limit for single queue message size | |
queue.js.request_topic | @@ -5313,6 +5243,12 @@tb_rule_engine | Deprecated. It will be removed in the nearest releases | ||||
queue.rule-engine.notifications_topic | +TB_QUEUE_RULE_ENGINE_NOTIFICATIONS_TOPIC | +tb_rule_engine.notifications | +For high-priority notifications that require minimum latency and processing time | +|||
queue.rule-engine.poll-interval | TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS | @@ -5355,6 +5291,60 @@12 | Size of the thread pool that handles such operations as partition changes, config updates, queue deletion | |||
queue.calculated_fields.event_topic | +TB_QUEUE_CF_EVENT_TOPIC | +tb_cf_event | +Topic name for Calculated Field (CF) events from Rule Engine | +|||
queue.calculated_fields.state_topic | +TB_QUEUE_CF_STATE_TOPIC | +tb_cf_state | +Topic name for Calculated Field (CF) compacted states | +|||
queue.calculated_fields.notifications_topic | +TB_QUEUE_CF_NOTIFICATIONS_TOPIC | +calculated_field.notifications | +For high-priority notifications that require minimum latency and processing time | +|||
queue.calculated_fields.poll_interval | +TB_QUEUE_CF_POLL_INTERVAL_MS | +1000 | +Interval in milliseconds to poll messages by CF (Rule Engine) microservices | +|||
queue.calculated_fields.pack_processing_timeout | +TB_QUEUE_CF_PACK_PROCESSING_TIMEOUT_MS | +60000 | +Timeout for processing a message pack by CF microservices | +|||
queue.calculated_fields.pool_size | +TB_QUEUE_CF_POOL_SIZE | +8 | +Thread pool size for processing of the incoming messages | +|||
queue.calculated_fields.rocks_db_path | +TB_QUEUE_CF_ROCKS_DB_PATH | +${user.home}/.rocksdb/edge_cf_states | +RocksDB path for storing CF states | +|||
queue.calculated_fields.init_fetch_pack_size | +TB_QUEUE_CF_FETCH_PACK_SIZE | +50000 | +The fetch size specifies how many rows will be fetched from the database per request for initial fetching | +|||
queue.calculated_fields.init_tenant_fetch_pack_size | +TB_QUEUE_CF_TENANT_FETCH_PACK_SIZE | +1000 | +The fetch size specifies how many rows will be fetched from the database per request for per-tenant fetching | +|||
queue.transport.notifications_topic | TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC | @@ -5371,7 +5361,21 @@queue.edge.topic | TB_QUEUE_EDGE_TOPIC | tb_edge | -Default topic name for Kafka, RabbitMQ, etc. | +Topic name to notify edge service on entity updates, assignment, etc. | +
queue.edge.notifications_topic | +TB_QUEUE_EDGE_NOTIFICATIONS_TOPIC | +tb_edge.notifications | +Topic prefix for high-priority edge notifications (rpc, lifecycle, new messages in queue) that require minimum latency and processing time. + Each tb-core has its own topic: PREFIX.SERVICE_ID | +|||
queue.edge.event_notifications_topic | +TB_QUEUE_EDGE_EVENT_NOTIFICATIONS_TOPIC | +tb_edge_event.notifications | +Topic prefix for downlinks to be pushed to specific edge. + Every edge has its own unique topic: PREFIX.TENANT_ID.EDGE_ID | |||
queue.edge.partitions | @@ -5443,7 +5447,7 @@
usage.stats.report.interval | USAGE_STATS_REPORT_INTERVAL | -10 | +60 | Statistics reporting interval, set to send summarized data every 10 seconds by default |
usage.stats.report.pack_size | +USAGE_STATS_REPORT_PACK_SIZE | +1024 | +Amount of statistic messages in pack | +|
usage.stats.check.cycle | USAGE_STATS_CHECK_CYCLE | @@ -631,7 +637,7 @@
ui.help.base-url | UI_HELP_BASE_URL | -https://raw.githubusercontent.com/thingsboard/thingsboard-pe-ui-help/release-3.9 | +https://raw.githubusercontent.com/thingsboard/thingsboard-pe-ui-help/release-4.0 | Base URL for UI help assets |
4 | Thread pool size for actor system dispatcher that process messages for edge actors | +||
actors.system.cfm_dispatcher_pool_size | +ACTORS_SYSTEM_CFM_DISPATCHER_POOL_SIZE | +2 | +Thread pool size for actor system dispatcher that process messages for CalculatedField manager actors | +
actors.system.cfe_dispatcher_pool_size | +ACTORS_SYSTEM_CFE_DISPATCHER_POOL_SIZE | +8 | +Thread pool size for actor system dispatcher that process messages for CalculatedField entity actors | +
actors.tenant.create_components_on_init | ACTORS_TENANT_CREATE_COMPONENTS_ON_INIT | @@ -1648,18 +1666,30 @@true | Enable/disable actor statistics |
actors.statistics.js_print_interval_ms | -ACTORS_JS_STATISTICS_PRINT_INTERVAL_MS | -10000 | -Frequency of printing the JS executor statistics | -
actors.statistics.persist_frequency | ACTORS_STATISTICS_PERSIST_FREQUENCY | 3600000 | Actors statistic persistence frequency in milliseconds |
actors.calculated_fields.debug_mode_rate_limits_per_tenant.enabled | +ACTORS_CALCULATED_FIELD_DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLED | +true | +Enable/Disable the rate limit of persisted debug events for all calculated fields per tenant | +
actors.calculated_fields.debug_mode_rate_limits_per_tenant.configuration | +ACTORS_CALCULATED_FIELD_DEBUG_MODE_RATE_LIMITS_PER_TENANT_CONFIGURATION | +50000:3600 | +The value of DEBUG mode rate limit. By default, no more than 50 thousand events per hour | +
actors.calculated_fields.calculation_timeout | +ACTORS_CALCULATION_TIMEOUT_SEC | +5 | +Time in seconds to receive calculation result. | +
debug.settings.default_duration | DEBUG_SETTINGS_DEFAULT_DURATION_MINUTES | @@ -1671,7 +1701,7 @@
integrations.converters.library.branch | TB_INTEGRATIONS_CONVERTERS_LIBRARY_REPO_BRANCH | -main | -Branch of the data converters repository to use | +release/4.0.0 | +Branch of the data converters repository to use. By default, a release branch with compatible version. + Whenever non-backward-compatible changes are needed in the library - a new branch with min supported TB version should be created, + and the default branch here - updated. |
integrations.converters.library.fetch_frequency | @@ -1805,7 +1837,7 @@
cache.specs.relatedEdges.maxSize | CACHE_SPECS_RELATED_EDGES_MAX_SIZE | -0 | +10000 | 0 means the cache is disabled |
false | Enable dedicated datasource (a separate database) for events and audit logs. Before enabling this, make sure you have set up the following tables in the new DB: - error_event, lc_event, rule_chain_debug_event, rule_node_debug_event, stats_event, converter_debug_event, integration_debug_event, raw_data_event, audit_log | + error_event, lc_event, rule_chain_debug_event, rule_node_debug_event, stats_event, converter_debug_event, integration_debug_event, raw_data_event, audit_log, cf_debug_event
spring.datasource.events.driverClassName | @@ -3022,7 +3054,7 @@
W | Ota package logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operation | +||
audit-log.logging-level.mask."calculated_field" | +AUDIT_LOG_MASK_CALCULATED_FIELD | +W | +Calculated field logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operation | +
audit-log.logging-level.mask."role" | AUDIT_LOG_MASK_ROLE | @@ -3225,7 +3263,7 @@
true | Enable/disable SNMP transport protocol | +||||
transport.snmp.bind_address | +SNMP_BIND_ADDRESS | +0.0.0.0 | +SNMP bind address | +||
transport.snmp.bind_port | SNMP_BIND_PORT | -1620 | -Snmp bind port | +0 | +SNMP bind port. Zero (random) by default. When using SNMP TRAPs - make sure to specify some static value, e.g. 1620 |
transport.snmp.response_processing.parallelism_level | @@ -4191,7 +4235,7 @@|||||
transport.gateway.dashboard.sync.branch | TB_GATEWAY_DASHBOARD_SYNC_BRANCH | -main | +release/4.0.0 | Branch of gateways dashboard repository to work with | |
coap.enabled | +coap.server.enabled | COAP_SERVER_ENABLED | true | Enable/disable coap server. | @@ -4377,7 +4421,7 @@
5684 | Port of coap transport service. If empty, the default port for coaps will be used. | +||
device.connectivity.coaps.pem_cert_file | +DEVICE_CONNECTIVITY_COAPS_CA_ROOT_CERT | +cafile.pem | +Path to the COAP CA root certificate file | +
queue.type | TB_QUEUE_TYPE | in-memory | -in-memory or kafka (Apache Kafka). The following queue types are deprecated and will no longer be supported in ThingsBoard 4.0: - aws-sqs (AWS SQS), pubsub (PubSub), service-bus (Azure Service Bus), rabbitmq (RabbitMQ) | +in-memory or kafka (Apache Kafka) | ||
queue.prefix | @@ -5027,6 +5076,30 @@50 | Amount of records to be returned in a single poll for cloud event timeseries topic | ||||
queue.kafka.consumer-properties-per-topic.edqs.events.key | ++ | max.poll.records | +Key-value properties for Kafka consumer for edqs.events topic | +|||
queue.kafka.consumer-properties-per-topic.edqs.events.key.value | +TB_QUEUE_KAFKA_EDQS_EVENTS_MAX_POLL_RECORDS | +512 | +Max poll records for edqs.events topic | +|||
queue.kafka.consumer-properties-per-topic.edqs.state.key | ++ | max.poll.records | +Key-value properties for Kafka consumer for edqs.state topic | +|||
queue.kafka.consumer-properties-per-topic.edqs.state.key.value | +TB_QUEUE_KAFKA_EDQS_STATE_MAX_POLL_RECORDS | +512 | +Max poll records for edqs.state topic | +|||
queue.kafka.other-inline | TB_QUEUE_KAFKA_OTHER_PROPERTIES | @@ -5117,6 +5190,36 @@retention.ms:2678400000;segment.bytes:52428800;retention.bytes:10485760000;partitions:1;min.insync.replicas:1 | Kafka properties for TsCloudEvent topic | |||
queue.kafka.topic-properties.calculated-field | +TB_QUEUE_KAFKA_CF_TOPIC_PROPERTIES | +retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 | +Kafka properties for Calculated Field topics | +|||
queue.kafka.topic-properties.calculated-field-state | +TB_QUEUE_KAFKA_CF_STATE_TOPIC_PROPERTIES | +retention.ms:-1;segment.bytes:52428800;retention.bytes:104857600000;partitions:1;min.insync.replicas:1;cleanup.policy:compact | +Kafka properties for Calculated Field State topics | +|||
queue.kafka.topic-properties.edqs-events | +TB_QUEUE_KAFKA_EDQS_EVENTS_TOPIC_PROPERTIES | +retention.ms:86400000;segment.bytes:52428800;retention.bytes:-1;partitions:1;min.insync.replicas:1 | +Kafka properties for EDQS events topics | +|||
queue.kafka.topic-properties.edqs-requests | +TB_QUEUE_KAFKA_EDQS_REQUESTS_TOPIC_PROPERTIES | +retention.ms:180000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 | +Kafka properties for EDQS requests topic (default: 3 minutes retention) | +|||
queue.kafka.topic-properties.edqs-state | +TB_QUEUE_KAFKA_EDQS_STATE_TOPIC_PROPERTIES | +retention.ms:-1;segment.bytes:52428800;retention.bytes:-1;partitions:1;min.insync.replicas:1;cleanup.policy:compact | +Kafka properties for EDQS state topic (infinite retention, compaction) | +|||
queue.kafka.consumer-stats.enabled | TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED | @@ -5135,354 +5238,6 @@1000 | Time to wait for the stats-loading requests to Kafka to finish | |||
queue.aws_sqs.use_default_credential_provider_chain | -TB_QUEUE_AWS_SQS_USE_DEFAULT_CREDENTIAL_PROVIDER_CHAIN | -false | -Use the default credentials provider for AWS SQS | -|||
queue.aws_sqs.access_key_id | -TB_QUEUE_AWS_SQS_ACCESS_KEY_ID | -YOUR_KEY | -Access key ID from AWS IAM user | -|||
queue.aws_sqs.secret_access_key | -TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY | -YOUR_SECRET | -Secret access key from AWS IAM user | -|||
queue.aws_sqs.region | -TB_QUEUE_AWS_SQS_REGION | -YOUR_REGION | -Region from AWS account | -|||
queue.aws_sqs.threads_per_topic | -TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC | -1 | -Number of threads per each AWS SQS queue in consumer | -|||
queue.aws_sqs.producer_thread_pool_size | -TB_QUEUE_AWS_SQS_EXECUTOR_THREAD_POOL_SIZE | -50 | -Thread pool size for aws_sqs queue producer executor provider. Default value equals to AmazonSQSAsyncClient.DEFAULT_THREAD_POOL_SIZE | -|||
queue.aws_sqs.queue-properties.rule-engine | -TB_QUEUE_AWS_SQS_RE_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.core | -TB_QUEUE_AWS_SQS_CORE_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.transport-api | -TB_QUEUE_AWS_SQS_TA_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.notifications | -TB_QUEUE_AWS_SQS_NOTIFICATIONS_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.js-executor | -TB_QUEUE_AWS_SQS_JE_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -|||
queue.aws_sqs.queue-properties.ota-updates | -TB_QUEUE_AWS_SQS_OTA_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.version-control | -TB_QUEUE_AWS_SQS_VC_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.edge | -TB_QUEUE_AWS_SQS_EDGE_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.aws_sqs.queue-properties.integration-api | -TB_QUEUE_AWS_SQS_INTEGRATION_QUEUE_PROPERTIES | -VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | -VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds | -|||
queue.pubsub.project_id | -TB_QUEUE_PUBSUB_PROJECT_ID | -YOUR_PROJECT_ID | -Project ID from Google Cloud | -|||
queue.pubsub.service_account | -TB_QUEUE_PUBSUB_SERVICE_ACCOUNT | -YOUR_SERVICE_ACCOUNT | -API Credentials in JSON format | -|||
queue.pubsub.max_msg_size | -TB_QUEUE_PUBSUB_MAX_MSG_SIZE | -1048576 | -Message size for PubSub queue.Value in bytes | -|||
queue.pubsub.max_messages | -TB_QUEUE_PUBSUB_MAX_MESSAGES | -1000 | -Number of messages per consumer | -|||
queue.pubsub.executor_thread_pool_size | -TB_QUEUE_PUBSUB_EXECUTOR_THREAD_POOL_SIZE | -0 | -Thread pool size for pubsub queue executor provider. If set to 0 - default pubsub executor provider value will be used (5 * number of available processors) | -|||
queue.pubsub.queue-properties.rule-engine | -TB_QUEUE_PUBSUB_RE_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Rule Engine subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.core | -TB_QUEUE_PUBSUB_CORE_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Core subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.transport-api | -TB_QUEUE_PUBSUB_TA_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Transport API subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.notifications | -TB_QUEUE_PUBSUB_NOTIFICATIONS_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Version Control subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.js-executor | -TB_QUEUE_PUBSUB_JE_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -PubSub queue properties | -|||
queue.pubsub.queue-properties.version-control | -TB_QUEUE_PUBSUB_VC_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Transport Api subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.edge | -TB_QUEUE_PUBSUB_EDGE_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Edge subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.pubsub.queue-properties.integration-api | -TB_QUEUE_PUBSUB_INTEGRATION_QUEUE_PROPERTIES | -ackDeadlineInSec:30;messageRetentionInSec:604800 | -Pub/Sub properties for Transport Api subscribers, messages which will commit after ackDeadlineInSec period can be consumed again | -|||
queue.service_bus.namespace_name | -TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME | -YOUR_NAMESPACE_NAME | -Azure namespace | -|||
queue.service_bus.sas_key_name | -TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME | -YOUR_SAS_KEY_NAME | -Azure Service Bus Shared Access Signatures key name | -|||
queue.service_bus.sas_key | -TB_QUEUE_SERVICE_BUS_SAS_KEY | -YOUR_SAS_KEY | -Azure Service Bus Shared Access Signatures key | -|||
queue.service_bus.max_messages | -TB_QUEUE_SERVICE_BUS_MAX_MESSAGES | -1000 | -Number of messages per a consumer | -|||
queue.service_bus.queue-properties.rule-engine | -TB_QUEUE_SERVICE_BUS_RE_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Rule Engine queues | -|||
queue.service_bus.queue-properties.core | -TB_QUEUE_SERVICE_BUS_CORE_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Core queues | -|||
queue.service_bus.queue-properties.transport-api | -TB_QUEUE_SERVICE_BUS_TA_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Transport Api queues | -|||
queue.service_bus.queue-properties.notifications | -TB_QUEUE_SERVICE_BUS_NOTIFICATIONS_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Notification queues | -|||
queue.service_bus.queue-properties.js-executor | -TB_QUEUE_SERVICE_BUS_JE_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus queue properties | -|||
queue.service_bus.queue-properties.version-control | -TB_QUEUE_SERVICE_BUS_VC_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Version Control queues | -|||
queue.service_bus.queue-properties.edge | -TB_QUEUE_SERVICE_BUS_EDGE_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Edge queues | -|||
queue.service_bus.queue-properties.integration-api | -TB_QUEUE_SERVICE_BUS_INTEGRATION_QUEUE_PROPERTIES | -lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | -Azure Service Bus properties for Integration Api queues | -|||
queue.rabbitmq.exchange_name | -TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME | -- | By default empty | -|||
queue.rabbitmq.host | -TB_QUEUE_RABBIT_MQ_HOST | -localhost | -RabbitMQ host used to establish connection | -|||
queue.rabbitmq.port | -TB_QUEUE_RABBIT_MQ_PORT | -5672 | -RabbitMQ host used to establish a connection | -|||
queue.rabbitmq.virtual_host | -TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST | -/ | -Virtual hosts provide logical grouping and separation of resources | -|||
queue.rabbitmq.username | -TB_QUEUE_RABBIT_MQ_USERNAME | -YOUR_USERNAME | -Username for RabbitMQ user account | -|||
queue.rabbitmq.password | -TB_QUEUE_RABBIT_MQ_PASSWORD | -YOUR_PASSWORD | -User password for RabbitMQ user account | -|||
queue.rabbitmq.automatic_recovery_enabled | -TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED | -false | -Network connection between clients and RabbitMQ nodes can fail. RabbitMQ Java client supports automatic recovery of connections and topology (queues, exchanges, bindings, and consumers) | -|||
queue.rabbitmq.connection_timeout | -TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT | -60000 | -The connection timeout for the RabbitMQ connection factory | -|||
queue.rabbitmq.handshake_timeout | -TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT | -10000 | -RabbitMQ has a timeout for connection handshake. When clients run in heavily constrained environments, it may be necessary to increase the timeout | -|||
queue.rabbitmq.max_poll_messages | -TB_QUEUE_RABBIT_MQ_MAX_POLL_MESSAGES | -1 | -The maximum number of messages returned in a single call of doPoll() method | -|||
queue.rabbitmq.queue-properties.rule-engine | -TB_QUEUE_RABBIT_MQ_RE_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Rule Engine queues | -|||
queue.rabbitmq.queue-properties.core | -TB_QUEUE_RABBIT_MQ_CORE_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Core queues | -|||
queue.rabbitmq.queue-properties.transport-api | -TB_QUEUE_RABBIT_MQ_TA_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Transport API queues | -|||
queue.rabbitmq.queue-properties.notifications | -TB_QUEUE_RABBIT_MQ_NOTIFICATIONS_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Notification queues | -|||
queue.rabbitmq.queue-properties.js-executor | -TB_QUEUE_RABBIT_MQ_JE_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ queue properties | -|||
queue.rabbitmq.queue-properties.version-control | -TB_QUEUE_RABBIT_MQ_VC_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Version Control queues | -|||
queue.rabbitmq.queue-properties.edge | -TB_QUEUE_RABBIT_MQ_EDGE_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Edge queues | -|||
queue.rabbitmq.queue-properties.integration-api | -TB_QUEUE_RABBIT_MQ_INTEGRATION_QUEUE_PROPERTIES | -x-max-length-bytes:1048576000;x-message-ttl:604800000 | -RabbitMQ properties for Integration Api queues | -|||
queue.partitions.hash_function_name | TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME | @@ -5541,7 +5296,13 @@queue.core.topic | TB_QUEUE_CORE_TOPIC | tb_core | -Default topic name of Kafka, RabbitMQ, etc. queue | +Default topic name | +
queue.core.notifications_topic | +TB_QUEUE_CORE_NOTIFICATIONS_TOPIC | +tb_core.notifications | +For high-priority notifications that require minimum latency and processing time | |||
queue.core.poll-interval | @@ -5589,7 +5350,7 @@queue.core.usage-stats-topic | TB_QUEUE_US_TOPIC | tb_usage_stats | -Stats topic name for queue Kafka, RabbitMQ, etc. | +Stats topic name | |
queue.core.stats.enabled | @@ -5665,11 +5426,113 @@60000 | Statistics printing interval for Housekeeper | ||||
queue.edqs.sync.enabled | +TB_EDQS_SYNC_ENABLED | +false | +Enable/disable EDQS synchronization | +|||
queue.edqs.sync.entity_batch_size | +TB_EDQS_SYNC_ENTITY_BATCH_SIZE | +10000 | +Batch size of entities being synced with EDQS | +|||
queue.edqs.sync.ts_batch_size | +TB_EDQS_SYNC_TS_BATCH_SIZE | +10000 | +Batch size of timeseries data being synced with EDQS | +|||
queue.edqs.api.supported | +TB_EDQS_API_SUPPORTED | +false | +Whether to forward entity data query requests to EDQS (otherwise use PostgreSQL implementation) | +|||
queue.edqs.api.auto_enable | +TB_EDQS_API_AUTO_ENABLE | +true | +Whether to auto-enable EDQS API (if queue.edqs.api.supported is true) when sync of data to Kafka is finished | +|||
queue.edqs.mode | +TB_EDQS_MODE | +local | +Mode of EDQS: local (for monolith) or remote (with separate EDQS microservices) | +|||
queue.edqs.local.rocksdb_path | +TB_EDQS_ROCKSDB_PATH | +${user.home}/.rocksdb/edqs | +Path to RocksDB for EDQS backup when running in local mode | +|||
queue.edqs.partitions | +TB_EDQS_PARTITIONS | +12 | +Number of partitions for EDQS topics | +|||
queue.edqs.partitioning_strategy | +TB_EDQS_PARTITIONING_STRATEGY | +tenant | +EDQS partitioning strategy: tenant (partition is resolved by tenant id) or none (no specific strategy, resolving by message key) | +|||
queue.edqs.events_topic | +TB_EDQS_EVENTS_TOPIC | +edqs.events | +EDQS events topic | +|||
queue.edqs.state_topic | +TB_EDQS_STATE_TOPIC | +edqs.state | +EDQS state topic | +|||
queue.edqs.requests_topic | +TB_EDQS_REQUESTS_TOPIC | +edqs.requests | +EDQS requests topic | +|||
queue.edqs.responses_topic | +TB_EDQS_RESPONSES_TOPIC | +edqs.responses | +EDQS responses topic | +|||
queue.edqs.poll_interval | +TB_EDQS_POLL_INTERVAL_MS | +125 | +Poll interval for EDQS topics | +|||
queue.edqs.max_pending_requests | +TB_EDQS_MAX_PENDING_REQUESTS | +10000 | +Maximum amount of pending requests to EDQS | +|||
queue.edqs.max_request_timeout | +TB_EDQS_MAX_REQUEST_TIMEOUT | +20000 | +Maximum timeout for requests to EDQS | +|||
queue.edqs.stats.enabled | +TB_EDQS_STATS_ENABLED | +true | +Enable/disable statistics for EDQS | +|||
queue.vc.topic | TB_QUEUE_VC_TOPIC | tb_version_control | -Default topic name for Kafka, RabbitMQ, etc. | +Default topic name | ||
queue.vc.partitions | @@ -5699,7 +5562,7 @@queue.vc.msg-chunk-size | TB_QUEUE_VC_MSG_CHUNK_SIZE | 250000 | -Queue settings for Kafka, RabbitMQ, etc. Limit for single message size | +Limit for single queue message size | |
queue.js.request_topic | @@ -5749,6 +5612,12 @@tb_rule_engine | Deprecated. It will be removed in the nearest releases | ||||
queue.rule-engine.notifications_topic | +TB_QUEUE_RULE_ENGINE_NOTIFICATIONS_TOPIC | +tb_rule_engine.notifications | +For high-priority notifications that require minimum latency and processing time | +|||
queue.rule-engine.poll-interval | TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS | @@ -5791,6 +5660,48 @@12 | Size of the thread pool that handles such operations as partition changes, config updates, queue deletion | |||
queue.calculated_fields.event_topic | +TB_QUEUE_CF_EVENT_TOPIC | +tb_cf_event | +Topic name for Calculated Field (CF) events from Rule Engine | +|||
queue.calculated_fields.state_topic | +TB_QUEUE_CF_STATE_TOPIC | +tb_cf_state | +Topic name for Calculated Field (CF) compacted states | +|||
queue.calculated_fields.notifications_topic | +TB_QUEUE_CF_NOTIFICATIONS_TOPIC | +calculated_field.notifications | +For high-priority notifications that require minimum latency and processing time | +|||
queue.calculated_fields.poll_interval | +TB_QUEUE_CF_POLL_INTERVAL_MS | +1000 | +Interval in milliseconds to poll messages by CF (Rule Engine) microservices | +|||
queue.calculated_fields.pack_processing_timeout | +TB_QUEUE_CF_PACK_PROCESSING_TIMEOUT_MS | +60000 | +Timeout for processing a message pack by CF microservices | +|||
queue.calculated_fields.pool_size | +TB_QUEUE_CF_POOL_SIZE | +8 | +Thread pool size for processing of the incoming messages | +|||
queue.calculated_fields.rocks_db_path | +TB_QUEUE_CF_ROCKS_DB_PATH | +${user.home}/.rocksdb/edge_cf_states | +RocksDB path for storing CF states | +|||
queue.transport.notifications_topic | TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC | @@ -5807,7 +5718,19 @@queue.edge.topic | TB_QUEUE_EDGE_TOPIC | tb_edge | -Default topic name for Kafka, RabbitMQ, etc. | +Default topic name | +
queue.edge.notifications_topic | +TB_QUEUE_EDGE_NOTIFICATIONS_TOPIC | +tb_edge.notifications | +For high-priority notifications that require minimum latency and processing time | +|||
queue.edge.event_notifications_topic | +TB_QUEUE_EDGE_EVENT_NOTIFICATIONS_TOPIC | +tb_edge_event.notifications | +For edge events messages | |||
queue.edge.partitions | @@ -5860,8 +5783,8 @@||||||
queue.integration.notifications_topic | TB_QUEUE_INTEGRATION_NOTIFICATIONS_TOPIC | -tb_ie.notifications | -Default notification topic name used by queue | +tb_integration_executor.notifications | +For high-priority notifications that require minimum latency and processing time | |
queue.integration.downlink_topic | @@ -5869,6 +5792,13 @@tb_ie.downlink | Default downlink topic name used by queue | ||||
queue.integration.downlink_topics | +TB_QUEUE_INTEGRATION_DOWNLINK_TOPICS | ++ | Downlink topic names for integration type (semicolon separated). Example: "MQTT:tb_ie.downlink.mqtt;HTTP:tb_ie.downlink.http" + If not specified, the default topic will construct as before - 'downlink_topic' + IntegrationType.name() | +|||
queue.integration.uplink_topic | TB_QUEUE_INTEGRATION_UPLINK_TOPIC | @@ -5957,7 +5887,7 @@
Available since TB Edge version {{sinceVersion}} | +