Star

Installation

Documentation for installation and configuration of ThingsBoard IoT Platform.

Configuration properties

This guide will help you to get familiar with ThingsBoard configuration files and parameters.

Configuration files location depends on the ThingsBoard installation type. If ThingsBoard is installed as a monolithic application, you can find configuration files in the following directory:

Windows: YOUR_INSTALL_DIR/conf
Linux: /usr/share/thingsboard/conf

But if ThingsBoard is installed as a microservice, then each component of the platform will have separate configuration files.

In this guide all application properties will be divided by components where they are applied. Note that in case of monolithic application all application properties are located in the single file - thingsboard.yml and all environment variables are in thingsboard.conf

ThingsBoard Core Settings

This is the main configuration file that contains configuration properties for transports (HTTP, MQTT, CoAP), database (Cassandra, PostgreSQL, TimescaleDB), clustering (Zookeeper and gRPC), etc. The configuration file is written in YAML.

All configuration parameters have corresponding environment variable name and default value. In order to change configuration parameter you can simply change it’s default value. For example:

server:
  address: "${HTTP_BIND_ADDRESS:0.0.0.0}"

In this case, ‘HTTP_BIND_ADDRESS’ is environment variable name and ‘0.0.0.0’ is a default value. Environment variables are useful in case of docker installation. See docker documentation for more details.

There is 190+ configuration parameters in thingsboard.yml file. You can review their description in the configuration file itself. We will list only main configuration parameters below to avoid duplication of the parameter descriptions and to simplify maintenance of this documentation page.

PropertyEnvironment VariableDefault ValueDescription
HTTP server parameters
server.address HTTP_BIND_ADDRESS 0.0.0.0 HTTP Server bind address
server.port HTTP_BIND_PORT 8080 HTTP Server bind port
server.ssl.enabled SSL_ENABLED false Enable/disable SSL support
server.ssl.key-store SSL_KEY_STORE classpath:keystore/keystore.p12 Path to the key store that holds the SSL certificate
server.ssl.key-store-password SSL_KEY_STORE_PASSWORD thingsboard Password used to access the key store
server.ssl.key-store-type SSL_KEY_STORE_TYPE PKCS12 Type of the key store
server.ssl.key-alias SSL_KEY_ALIAS tomcat Alias that identifies the key in the key store
server.log_controller_error_stack_trace HTTP_LOG_CONTROLLER_ERROR_STACK_TRACE true Log errors with stacktrace when REST API throws exception
server.ws.send_timeout TB_SERVER_WS_SEND_TIMEOUT 5000 Timeout for sending data to client WebSocket session in milliseconds
server.ws.limits.max_sessions_per_tenant TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_TENANT 0 Limit the amount of WebSocket sessions per each tenant available on each server. Zero value disables limitation.
server.ws.limits.max_sessions_per_customer TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_CUSTOMER 0 Limit the amount of WebSocket sessions per each customer available on each server. Zero value disables limitation.
server.ws.limits.max_sessions_per_regular_user TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_REGULAR_USER 0 Limit the amount of WebSocket sessions per each regular user available on each server. Zero value disables limitation.
server.ws.limits.max_sessions_per_public_user TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_PUBLIC_USER 0 Limit the amount of WebSocket sessions per each public user available on each server. Zero value disables limitation.
server.ws.limits.max_queue_per_ws_session TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_QUEUE_PER_WS_SESSION 500 Limit the size of pending message queue per each WebSocket session.
server.ws.limits.max_subscriptions_per_tenant TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_TENANT 0 Limit the amount of WebSocket subscriptions per each tenant available on each server. Zero value disables limitation.
server.ws.limits.max_subscriptions_per_customer TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_CUSTOMER 0 Limit the amount of WebSocket subscriptions per each customer available on each server. Zero value disables limitation.
server.ws.limits.max_subscriptions_per_regular_user TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_REGULAR_USER 0 Limit the amount of WebSocket subscriptions per each regular user available on each server. Zero value disables limitation.
server.ws.limits.max_subscriptions_per_public_user TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_PUBLIC_USER 0 Limit the amount of WebSocket subscriptions per each public user available on each server. Zero value disables limitation.
server.ws.limits.max_updates_per_session TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_UPDATES_PER_SESSION 300:1,3000:60 Limit the maximum data updates sent to WebSocket session for specified time intervals in seconds. Comma separated list of limit:seconds pairs.
server.rest.limits.tenant.enabled TB_SERVER_REST_LIMITS_TENANT_ENABLED false Enable/disable REST API rate limits per tenant.
server.rest.limits.tenant.configuration TB_SERVER_REST_LIMITS_TENANT_CONFIGURATION 100:1,2000:60 Limit the maximum REST API calls per tenant on each server for specified time intervals in seconds. Comma separated list of limit:seconds pairs.
server.rest.limits.customer.enabled TB_SERVER_REST_LIMITS_CUSTOMER_ENABLED false Enable/disable REST API rate limits per customer.
server.rest.limits.customer.configuration TB_SERVER_REST_LIMITS_CUSTOMER_CONFIGURATION 50:1,1000:60 Limit the maximum REST API calls per customer on each server for specified time intervals in seconds. Comma separated list of limit:seconds pairs.
Zookeeper connection parameters
zk.enabled ZOOKEEPER_ENABLED false Enable/disable zookeeper discovery service. Used for ThingsBoard cluster
zk.url ZOOKEEPER_URL localhost:2181 Zookeeper connect string
zk.retry_interval_ms ZOOKEEPER_RETRY_INTERVAL_MS 3000 Zookeeper retry interval in milliseconds
zk.connection_timeout_ms ZOOKEEPER_CONNECTION_TIMEOUT_MS 3000 Zookeeper connection timeout in milliseconds
zk.session_timeout_ms ZOOKEEPER_SESSION_TIMEOUT_MS 3000 Zookeeper session timeout in milliseconds
zk.zk_dir ZOOKEEPER_NODES_DIR /thingsboard Name of the directory in zookeeper 'filesystem'
Cluster stats parameters
cluster.stats.enabled TB_CLUSTER_STATS_ENABLED false
cluster.stats.print_interval_ms TB_CLUSTER_STATS_PRINT_INTERVAL_MS 10000
plugins.scan_packages PLUGINS_SCAN_PACKAGES org.thingsboard.server.extensions, org.thingsboard.rule.engine Comma separated package list used during classpath scanning for plugins
Security parameters
security.jwt.tokenExpirationTime JWT_TOKEN_EXPIRATION_TIME 900 User JWT Token expiration time in seconds
security.jwt.refreshTokenExpTime JWT_REFRESH_TOKEN_EXPIRATION_TIME 3600 User JWT Refresh Token expiration time in seconds
security.jwt.tokenIssuer JWT_TOKEN_ISSUER thingsboard.io User JWT Token issuer
security.jwt.tokenSigningKey JWT_TOKEN_SIGNING_KEY thingsboardDefaultSigningKey User JWT Token sign key
security.user_token_access_enabled SECURITY_USER_TOKEN_ACCESS_ENABLED true Enable/disable access to Tenant Administrators JWT token by System Administrator or Customer Users JWT token by Tenant Administrator
security.user_login_case_sensitive SECURITY_USER_LOGIN_CASE_SENSITIVE true Enable/disable case-sensitive username login
Dashboard parameters
dashboard.max_datapoints_limit DASHBOARD_MAX_DATAPOINTS_LIMIT 50000 Maximum allowed datapoints fetched by ThingsBoard UI widgets
Common database parameters
database.ts_max_intervals DATABASE_TS_MAX_INTERVALS 700 Max number of DB queries generated by single API call to fetch telemetry records
database.entities.type DATABASE_ENTITIES_TYPE sql Database type for ThingsBoard entities (assets, devices, customers, etc.). Allowed values - cassandra OR sql
database.ts.type DATABASE_TS_TYPE sql Database type for ThingsBoard timeseries data. Allowed values - cassandra, sql OR timescale. For hybrid mode or for using PostgreSQL + TimescaleDB extension) this value should be cassandra or timescale in accordance. Please, note that in these cases the database type for ThingsBoard entities should be sql
Cassandra database parameters
cassandra.cluster_name CASSANDRA_CLUSTER_NAME Thingsboard Cluster Thingsboard Cassandra cluster name
cassandra.keyspace_name CASSANDRA_KEYSPACE_NAME thingsboard Thingsboard keyspace name
cassandra.url CASSANDRA_URL 127.0.0.1:9042 Cassandra seed nodes, comma separated
cassandra.ssl CASSANDRA_USE_SSL false Enable/disable Cassandra secure connection
cassandra.jmx CASSANDRA_USE_JMX true Enable/disable Casandra JMX
cassandra.metrics CASSANDRA_DISABLE_METRICS true Enable/disable Cassandra metrics collection.
cassandra.compression CASSANDRA_COMPRESSION none Cassandra compression type. Allowed values - NONE SNAPPY LZ4
cassandra.init_timeout_ms CASSANDRA_CLUSTER_INIT_TIMEOUT_MS 300000 Specify cassandra cluster initialization timeout in milliseconds (if no hosts available during startup)
cassandra.init_retry_interval_ms CASSANDRA_CLUSTER_INIT_RETRY_INTERVAL_MS 3000 Specify cassandra cluster initialization retry interval in milliseconds (if no hosts available during startup)
cassandra.max_requests_per_connection_local CASSANDRA_MAX_REQUESTS_PER_CONNECTION_LOCAL 32768 Cassandra max local requests per connection
cassandra.max_requests_per_connection_remote CASSANDRA_MAX_REQUESTS_PER_CONNECTION_REMOTE 32768 Cassandra max remote requests per connection
cassandra.credentials CASSANDRA_USE_CREDENTIALS false Enable/Disable Cassandra credentials
cassandra.username CASSANDRA_USERNAME Casandra username
cassandra.password CASSANDRA_PASSWORD Cassandra password
cassandra.socket.connect_timeout CASSANDRA_SOCKET_TIMEOUT 5000
cassandra.socket.read_timeout CASSANDRA_SOCKET_READ_TIMEOUT 20000
cassandra.socket.keep_alive CASSANDRA_SOCKET_KEEP_ALIVE true
cassandra.socket.reuse_address CASSANDRA_SOCKET_REUSE_ADDRESS true
cassandra.socket.so_linger CASSANDRA_SOCKET_SO_LINGER
cassandra.socket.tcp_no_delay CASSANDRA_SOCKET_TCP_NO_DELAY false
cassandra.socket.receive_buffer_size CASSANDRA_SOCKET_RECEIVE_BUFFER_SIZE
cassandra.socket.send_buffer_size CASSANDRA_SOCKET_SEND_BUFFER_SIZE
cassandra.query.read_consistency_level CASSANDRA_READ_CONSISTENCY_LEVEL ONE Cassandra read consistency level
cassandra.query.write_consistency_level CASSANDRA_WRITE_CONSISTENCY_LEVEL ONE Cassandra write consistency level
cassandra.query.default_fetch_size CASSANDRA_DEFAULT_FETCH_SIZE 2000 Cassandra query fetch size
cassandra.query.ts_key_value_partitioning TS_KV_PARTITIONING MONTHS Specify partitioning size for timestamp key-value storage. Allowed values MINUTES, HOURS, DAYS, MONTHS, INDEFINITE. In case of INDEFINITE - timeseries data partitioning is disabled
cassandra.query.ts_key_value_ttl TS_KV_TTL 0 Timeseries Time To Live (in seconds) for Cassandra Record. 0 - record is never expired.
cassandra.query.events_ttl TS_EVENTS_TTL 0 Events(LC_EVENT, STATS) Time To Live (in seconds) for Cassandra Record. 0 - record is never expired.
cassandra.query.debug_events_ttl DEBUG_EVENTS_TTL 604800 Debug Events(DEBUG_CONVERTER, DEBUG_INTEGRATION, DEBUG_RULE_NODE, DEBUG_RULE_CHAIN) Time To Live (in seconds) for Cassandra Record. 0 - record is never expired.
cassandra.query.buffer_size CASSANDRA_QUERY_BUFFER_SIZE 200000 Max number of Cassandra queries that are waiting for execution
cassandra.query.concurrent_limit CASSANDRA_QUERY_CONCURRENT_LIMIT 1000 MAx number of concurrent Cassandra queries
cassandra.query.permit_max_wait_time PERMIT_MAX_WAIT_TIME 120000 Max time in milliseconds query waits for execution
cassandra.query.dispatcher_threads CASSANDRA_QUERY_DISPATCHER_THREADS 2 Amount of threads to dispatch cassandra queries
cassandra.query.callback_threads CASSANDRA_QUERY_CALLBACK_THREADS 4 Amount of threads used to invoke callbacks for queries results
cassandra.query.poll_ms CASSANDRA_QUERY_POLL_MS 50 Cassandra query queue polling interval in milliseconds
cassandra.query.rate_limit_print_interval_ms CASSANDRA_QUERY_RATE_LIMIT_PRINT_MS 10000 Interval in milliseconds for printing Cassandra query queue statistic
cassandra.query.tenant_rate_limits.enabled CASSANDRA_QUERY_TENANT_RATE_LIMITS_ENABLED false Enable/disable cassandra query rate limits per tenant
cassandra.query.tenant_rate_limits.configuration CASSANDRA_QUERY_TENANT_RATE_LIMITS_CONFIGURATION 1000:1,30000:60 Limit the maximum Cassandra queries per tenant on each server for specified time intervals in seconds. Comma separated list of limit:seconds pairs.
cassandra.query.tenant_rate_limits.print_tenant_names CASSANDRA_QUERY_TENANT_RATE_LIMITS_PRINT_TENANT_NAMES false Whether to print rate-limited tenant names when printing Cassandra query queue statistic
Common SQL database parameters
sql.attributes.batch_size SQL_ATTRIBUTES_BATCH_SIZE 10000 Batch size for persisting attribute updates
sql.attributes.batch_max_delay SQL_ATTRIBUTES_BATCH_MAX_DELAY_MS 100 Max timeout for attributes entries queue polling. Value set in milliseconds.
sql.attributes.stats_print_interval_ms SQL_ATTRIBUTES_BATCH_STATS_PRINT_MS 10000 Interval in milliseconds for printing attributes updates statistic
sql.ts.batch_size SQL_TS_BATCH_SIZE 10000 Batch size for persisting timeseries inserts
sql.ts.batch_max_delay SQL_TS_BATCH_MAX_DELAY_MS 100 Max timeout for time-series entries queue polling. Value set in milliseconds.
sql.ts.stats_print_interval_ms SQL_TS_BATCH_STATS_PRINT_MS 10000 Interval in milliseconds for printing timeseries insert statistic
sql.ts_latest.batch_size SQL_TS_LATEST_BATCH_SIZE 10000 Batch size for persisting latest telemetry updates
sql.ts_latest.batch_max_delay SQL_TS_LATEST_BATCH_MAX_DELAY_MS 100 Max timeout for latest telemetry entries queue polling. The value set in milliseconds.
sql.ts_latest.stats_print_interval_ms SQL_TS_LATEST_BATCH_STATS_PRINT_MS 10000 Interval in milliseconds for printing latest telemetry updates statistic
sql.remove_null_chars SQL_REMOVE_NULL_CHARS true Parameter to specify whether to remove null characters from strValue of attributes and timeseries before insert execution
sql.ttl.ts.enabled SQL_TTL_TS_ENABLED true The parameter to specify whether to use TTL (Time To Live) for timeseries records.
sql.ttl.ts.execution_interval_ms SQL_TTL_TS_EXECUTION_INTERVAL 86400000 The parameter to specify the period of execution TTL task for timeseries records. Value set in milliseconds. Default value corresponds to one day.
sql.ttl.ts.ts_key_value_ttl SQL_TTL_TS_TS_KEY_VALUE_TTL 0 The parameter to specify system TTL(Time To Live) value for timeseries records. Value set in seconds. 0 - records are never expired. System TTL value can be overwritten for a particular Tenant, or parent Customer entity by setting the server-side attribute TTL to the corresponding Tenant or parent Customer entity. Please, note that the value should be set as long value, otherwise the TTL will be used from the higher level(Tenant or System).
sql.ttl.events.enabled SQL_TTL_EVENTS_ENABLED true The parameter to specify whether to use TTL (Time To Live) for events records.
sql.ttl.events.execution_interval_ms SQL_TTL_EVENTS_EXECUTION_INTERVAL 86400000 The parameter to specify the period of execution TTL task for events records. Value set in milliseconds. Default value corresponds to one day.
sql.ttl.events.events_ttl SQL_TTL_EVENTS_EVENTS_TTL 0 The parameter to specify TTL(Time To Live) value for Events(LC_EVENT, STATS) records. Value set in seconds. 0 - records are never expired.
sql.ttl.events.debug_events_ttl SQL_TTL_EVENTS_DEBUG_EVENTS_TTL 604800 The parameter to specify TTL(Time To Live) value for Debug Events(DEBUG_CONVERTER, DEBUG_INTEGRATION, DEBUG_RULE_NODE, DEBUG_RULE_CHAIN) records. Value set in seconds. 0 - records are never expired. Default value corresponds to one week.
PostgreSQL database parameters
sql.postgres.ts_key_value_partitioning SQL_POSTGRES_TS_KV_PARTITIONING MONTHS Parameter to specify partitioning size for timestamp key-value storage. Allowed values DAYS, MONTHS, YEARS, INDEFINITE. In case of INDEFINITE - timeseries data partitioning is disabled. Please, note that this value can be set only once.
TimescaleDB database parameters
sql.timescale.chunk_time_interval SQL_TIMESCALE_CHUNK_TIME_INTERVAL 604800000 The parameter to specify the interval size for data chunks storage. Value set in milliseconds. Default value corresponds to one week. Please, note that this value can be set only once.
Actor system parameters
actors.tenant.create_components_on_init ACTORS_TENANT_CREATE_COMPONENTS_ON_INIT true Create components in initialization
actors.session.max_concurrent_sessions_per_device ACTORS_MAX_CONCURRENT_SESSION_PER_DEVICE 1 Max number of concurrent sessions per device
actors.session.sync.timeout ACTORS_SESSION_SYNC_TIMEOUT 10000 Default timeout for processing request using synchronous session (HTTP, CoAP) in milliseconds
actors.rule.db_callback_thread_pool_size ACTORS_RULE_DB_CALLBACK_THREAD_POOL_SIZE 1 Specify thread pool size for database request callbacks executor service
actors.rule.js_thread_pool_size ACTORS_RULE_JS_THREAD_POOL_SIZE 10 Specify thread pool size for javascript executor service
actors.rule.mail_thread_pool_size ACTORS_RULE_MAIL_THREAD_POOL_SIZE 10 Specify thread pool size for mail sender executor service
actors.rule.allow_system_mail_service ACTORS_RULE_ALLOW_SYSTEM_MAIL_SERVICE true Whether to allow usage of system mail service for rules
actors.rule.external_call_thread_pool_size ACTORS_RULE_EXTERNAL_CALL_THREAD_POOL_SIZE 10 Specify thread pool size for external call service
actors.rule.chain.error_persist_frequency ACTORS_RULE_CHAIN_ERROR_FREQUENCY 3000 Errors for particular actor are persisted once per specified amount of milliseconds
actors.rule.node.error_persist_frequency ACTORS_RULE_NODE_ERROR_FREQUENCY 3000 Errors for particular actor are persisted once per specified amount of milliseconds
actors.statistics.enabled ACTORS_STATISTICS_ENABLED true Enable/disable actor statistics
actors.statistics.persist_frequency ACTORS_STATISTICS_PERSIST_FREQUENCY 3600000 Actors statistic persistence frequency in milliseconds
actors.queue.enabled ACTORS_QUEUE_ENABLED true Enable/disable persistence of un-processed messages to the queue
actors.queue.timeout ACTORS_QUEUE_PERSISTENCE_TIMEOUT 30000 Maximum allowed timeout for persistence into the queue in milliseconds
Cache parameters
cache.type CACHE_TYPE caffeine Cache provider. caffeine for stand alone installations and redis for clustered installations
caffeine.specs.relations.timeToLiveInMinutes 1440 Relations cache TTL
caffeine.specs.relations.maxSize 100000 Relations cache max size
caffeine.specs.deviceCredentials.timeToLiveInMinutes 1440 deviceCredentials cache TTL
caffeine.specs.deviceCredentials.maxSize 100000 deviceCredentials cache max size
caffeine.specs.devices.timeToLiveInMinutes 1440 devices cache TTL
caffeine.specs.devices.maxSize 100000 devices cache max size
caffeine.specs.sessions.timeToLiveInMinutes 1440 sessions cache TTL
caffeine.specs.sessions.maxSize 100000 sessions cache max size
caffeine.specs.assets.timeToLiveInMinutes 1440 assets cache TTL
caffeine.specs.assets.maxSize 100000 assets cache max size
caffeine.specs.entityViews.timeToLiveInMinutes 1440 entityViews cache TTL
caffeine.specs.entityViews.maxSize 100000 entityViews cache max size
redis.connection.type standalone Redis connection type - standalone or cluster
redis.connection.host REDIS_HOST localhost Redis connection host
redis.connection.port REDIS_PORT 6379 Redis connection port
redis.connection.db REDIS_DB 0 Redis database index
redis.connection.password REDIS_PASSWORD Redis password
Check new version updates parameters
updates.enabled UPDATES_ENABLED true Enable/disable thingsboard updates checking
Spring MVC/Resources parameters
spring.mvc.cors.mappings.* Spring CORS configuration
spring.resources.chain.gzipped true Enable/disable gzip compression of static resources
spring.resources.chain.strategy.content.enabled true
Spring JPA datasource parameters (for SQL database)
spring.jpa.database-platform SPRING_JPA_DATABASE_PLATFORM org.hibernate.dialect.PostgreSQLDialect Database SQL dialect for Spring JPA - org.hibernate.dialect.PostgreSQLDialect or org.hibernate.dialect.HSQLDialect
spring.datasource.driverClassName SPRING_DRIVER_CLASS_NAME org.postgresql.Driver Database driver for Spring JPA - org.postgresql.Driver or org.hsqldb.jdbc.JDBCDriver
spring.datasource.url SPRING_DATASOURCE_URL Database URL
spring.datasource.username SPRING_DATASOURCE_USERNAME sa Database Username
spring.datasource.password SPRING_DATASOURCE_PASSWORD Database password
spring.datasource.hikari.maximumPoolSize SPRING_DATASOURCE_MAXIMUM_POOL_SIZE 5 This property allows the number of connections in the pool to increase as demand increases. At the same time, the property ensures that the pool doesn't grow to the point of exhausting a system's resources, which ultimately affects an application's performance and availability.
Audit log parameters
audit_log.enabled AUDIT_LOG_ENABLED true Enable/disable audit log functionality.
audit_log.by_tenant_partitioning AUDIT_LOG_BY_TENANT_PARTITIONING MONTHS Specify partitioning size for audit log by tenant id storage. Example MINUTES, HOURS, DAYS, MONTHS
audit_log.default_query_period AUDIT_LOG_DEFAULT_QUERY_PERIOD 30 Number of days as history period if startTime and endTime are not specified
audit_log.logging_level.mask."device" AUDIT_LOG_MASK_DEVICE W Device logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operations)
audit_log.logging_level.mask."asset" AUDIT_LOG_MASK_ASSET W Asset logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operations)
audit_log.logging_level.mask."dashboard" AUDIT_LOG_MASK_DASHBOARD W Dashboard logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operations)
audit_log.logging_level.mask."customer" AUDIT_LOG_MASK_CUSTOMER W Customer logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operations)
audit_log.logging_level.mask."user" AUDIT_LOG_MASK_USER W User logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operations)
audit_log.logging_level.mask."rule_chain" AUDIT_LOG_MASK_RULE_CHAIN W Rule Chain logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operations)
audit_log.logging_level.mask."alarm" AUDIT_LOG_MASK_ALARM W Alarm logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operations)
audit_log.logging_level.mask."entity_view" AUDIT_LOG_MASK_ENTITY_VIEW W Entity View logging levels. Allowed values: OFF (disable), W (log write operations), RW (log read and write operations)
audit_log.sink.type AUDIT_LOG_SINK_TYPE none Type of external sink system to forward audit logs records. Possible options: none, elasticsearch
audit_log.sink.index_pattern AUDIT_LOG_SINK_INDEX_PATTERN @{TENANT}_AUDIT_LOG_@{DATE} Name of the index where audit logs stored. Index name could contain next placeholders (not mandatory): @{TENANT} - substituted by tenant ID @{DATE} - substituted by current date in format provided in audit_log.sink.date_format
audit_log.sink.date_format AUDIT_LOG_SINK_DATE_FORMAT YYYY.MM.DD Date format. Details of the pattern could be found in this link
audit_log.sink.scheme_name AUDIT_LOG_SINK_SCHEME_NAME http http or https
audit_log.sink.host AUDIT_LOG_SINK_HOST localhost Host of external sink system
audit_log.sink.port AUDIT_LOG_SINK_PORT 9200 Port of external sink system
audit_log.sink.user_name AUDIT_LOG_SINK_USER_NAME Username used to access external sink system
audit_log.sink.password AUDIT_LOG_SINK_PASSWORD Password used to access external sink system
Device connectivity state parameters
state.defaultInactivityTimeoutInSec DEFAULT_INACTIVITY_TIMEOUT 10 Device inactivity timeout in seconds
state.defaultStateCheckIntervalInSec DEFAULT_STATE_CHECK_INTERVAL 10 Device inactivity check period in seconds
JavaScript evaluator parameters
js.evaluator JS_EVALUATOR local Javascript evaluator type - local (Built-in JVM JavaScript environment properties) or remote (Remote JavaScript environment )
js.local.use_js_sandbox USE_LOCAL_JS_SANDBOX true Use Sandboxed (secured) JVM JavaScript environment
js.local.monitor_thread_pool_size LOCAL_JS_SANDBOX_MONITOR_THREAD_POOL_SIZE 4 Specify thread pool size for JavaScript sandbox resource monitor
js.local.max_cpu_time LOCAL_JS_SANDBOX_MAX_CPU_TIME 100 Maximum CPU time in milliseconds allowed for script execution
js.local.max_errors LOCAL_JS_SANDBOX_MAX_ERRORS 3 Maximum allowed JavaScript execution errors before JavaScript will be blacklisted
js.local.max_requests_timeout LOCAL_JS_MAX_REQUEST_TIMEOUT 0 JS Eval max request timeout. 0 - no timeout
js.local.max_black_list_duration_sec max_black_list_duration_sec 60 Maximum time in seconds for black listed function to stay in the list
js.remote.max_errors REMOTE_JS_SANDBOX_MAX_ERRORS 3 Maximum allowed JavaScript execution errors before JavaScript will be blacklisted
js.remote.max_black_list_duration_sec max_black_list_duration_sec 60 Maximum time in seconds for black listed function to stay in the list
Transport parameters
transport.sessions.inactivity_timeout TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT 300000
transport.sessions.report_timeout TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT 30000
transport.rate_limits.enabled TB_TRANSPORT_RATE_LIMITS_ENABLED false
transport.rate_limits.tenant TB_TRANSPORT_RATE_LIMITS_TENANT 1000:1,20000:60
transport.rate_limits.device TB_TRANSPORT_RATE_LIMITS_DEVICE 10:1,300:60
transport.json.type_cast_enabled JSON_TYPE_CAST_ENABLED true Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON
transport.json.max_string_value_length JSON_MAX_STRING_VALUE_LENGTH 0 Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
transport.client_side_rpc.timeout CLIENT_SIDE_RPC_TIMEOUT 60000
transport.http.enabled HTTP_ENABLED true Enable\Disable local HTTP transport
transport.http.request_timeout HTTP_REQUEST_TIMEOUT 60000
transport.mqtt.enabled MQTT_ENABLED true Enable/Disable local MQTT transport
transport.mqtt.bind_address MQTT_BIND_ADDRESS 0.0.0.0
transport.mqtt.bind_port MQTT_BIND_PORT 1883
transport.mqtt.timeout MQTT_TIMEOUT 10000
transport.mqtt.netty.leak_detector_level NETTY_LEAK_DETECTOR_LVL DISABLED
transport.mqtt.netty.boss_group_thread_count NETTY_BOSS_GROUP_THREADS 1
transport.mqtt.netty.worker_group_thread_count NETTY_WORKER_GROUP_THREADS 12
transport.mqtt.netty.max_payload_size NETTY_MAX_PAYLOAD_SIZE 65536
transport.mqtt.netty.so_keep_alive NETTY_SO_KEEPALIVE false
transport.mqtt.ssl.enabled MQTT_SSL_ENABLED false Enable/disable MQTTS support
transport.mqtt.ssl.protocol MQTT_SSL_PROTOCOL TLSv1.2 SSL protocol
transport.mqtt.ssl.key_store MQTT_SSL_KEY_STORE mqttserver.jks Path to the key store that holds the SSL certificate
transport.mqtt.ssl.key_store_password MQTT_SSL_KEY_STORE_PASSWORD server_ks_password Password used to access the key store
transport.mqtt.ssl.key_password MQTT_SSL_KEY_PASSWORD server_key_password Password used to access the key
transport.mqtt.ssl.key_store_type MQTT_SSL_KEY_STORE_TYPE JKS Type of the key store
transport.coap.enabled COAP_ENABLED true Enable/Disable local CoAP transport
transport.coap.bind_address COAP_BIND_ADDRESS 0.0.0.0
transport.coap.bind_port COAP_BIND_PORT 5683
transport.coap.timeout COAP_TIMEOUT 10000
Queue parameters
queue.type TB_QUEUE_TYPE in-memory Queue type. Can be: in-memory or kafka (Apache Kafka) or aws-sqs (AWS SQS) or pubsub (PubSub) or service-bus (Azure Service Bus) or rabbitmq (RabbitMQ)
queue.kafka.bootstrap.servers TB_KAFKA_SERVERS localhost:9092 List of kafka bootstrap servers used to establish connection
queue.kafka.acks TB_KAFKA_ACKS all The number of acknowledgments the producer requires the leader to have received before considering a request complete
queue.kafka.retries TB_KAFKA_RETRIES 1 Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error
queue.kafka.batch.size TB_KAFKA_BATCH_SIZE 16384 The producer will attempt to batch records together into fewer requests whenever multiple records are being sent to the same partition
queue.kafka.linger.ms TB_KAFKA_LINGER_MS 1 The producer groups together any records that arrive in between request transmissions into a single batched request
queue.kafka.buffer.memory TB_BUFFER_MEMORY 33554432 The total bytes of memory the producer can use to buffer records waiting to be sent to the server
queue.kafka.replication_factor TB_QUEUE_KAFKA_REPLICATION_FACTOR 1 Replication factor defines the number of copies of a topic in a Kafka cluster
queue.kafka.topic-properties.rule-engine TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Rule Engine topics
queue.kafka.topic-properties.core TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Core topics
queue.kafka.topic-properties.transport-api TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Transport Api topics
queue.kafka.topic-properties.notifications TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Notifications topics
queue.kafka.topic-properties.js-executor TB_QUEUE_KAFKA_JE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Js Executor topics
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.queue-properties.rule-engine TB_QUEUE_AWS_SQS_RE_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 AWS SQS properties for Rule Engine queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Core queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Transport Api queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Notifications queues, messages which will commit after visibility timeout period can be consume again. 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 AWS SQS properties for Transport Api queues, messages which will commit after visibility timeout period can be consume again. 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 Pub/Sub max message size. In bytes
queue.pubsub.max_messages TB_QUEUE_PUBSUB_MAX_MESSAGES 1000 Number of messages per a consumer
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 consume 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 consume 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 consume again
queue.pubsub.queue-properties.notifications TB_QUEUE_PUBSUB_NOTIFICATIONS_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Notifications subscribers, messages which will commit after ackDeadlineInSec period can be consume again
queue.pubsub.queue-properties.js-executor TB_QUEUE_PUBSUB_JE_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Js Executor subscribers, messages which will commit after ackDeadlineInSec period can be consume again
queue.service_bus.namespace_name TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME YOUR_NAMESPACE_NAME Azure namespace is a scoping container for all messaging components
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 Notifications queues
queue.service_bus.queue-properties.js-executor TB_QUEUE_SERVICE_BUS_JE_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus properties for Js Executor queues
queue.rabbitmq.exchange_name TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME 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 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 User name 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.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 Notifications queues
queue.rabbitmq.queue-properties.js-executor TB_QUEUE_RABBIT_MQ_JE_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ properties for Js Executor queues
queue.partitions.hash_function_name TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME murmur3_128 Name of hash function used for consistent hash ring in Cluster Mode. See architecture docs for more details.
queue.partitions.virtual_nodes_size TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE 16 Amount of virtual nodes in consistent hash ring.
queue.transport_api.requests_topic TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC tb_transport.api.requests Topic used to consume api requests from transport microservices
queue.transport_api.responses_topic TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC tb_transport.api.responses Topic used to produce api responses to transport microservices
queue.transport_api.max_pending_requests TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS 10000 Maximum pending api requests from transport microservices to be handled by server
queue.transport_api.request_timeout TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds to handle api request from transport microservice by server
queue.transport_api.max_callback_threads TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS 100 Amount of threads used to invoke callbacks
queue.transport_api.request_poll_interval TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api requests from transport microservices
queue.transport_api.response_poll_interval TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api response from transport microservices
queue.core.topic TB_QUEUE_CORE_TOPIC tb_core Topic name for Core microservices
queue.core.poll-interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Core microservices
queue.core.partitions TB_QUEUE_CORE_PARTITIONS 10 Amount of partitions used by Core microservices
queue.core.pack-processing-timeout TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack by Core microservices
queue.core.stats.enabled TB_QUEUE_CORE_STATS_ENABLED false Enable/disable statistics for Core microservices
queue.core.stats.print-interval-ms TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS 10000 Statistics printing interval for Core microservices
queue.js.request_topic REMOTE_JS_EVAL_REQUEST_TOPIC js_eval.requests Queue topic used for producing JavaScript evaluation requests
queue.js.response_topic_prefix REMOTE_JS_EVAL_RESPONSE_TOPIC js_eval.responses Prefix queue topic used to consume JavaScript evaluation responses
queue.js.max_pending_requests REMOTE_JS_MAX_PENDING_REQUESTS 10000 Maximum pending JavaScript evaluation requests
queue.js.max_eval_requests_timeout REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT 60000 Maximum timeout in milliseconds for JavaScript evaluation
queue.js.max_requests_timeout REMOTE_JS_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds for JavaScript execution
queue.js.response_poll_interval REMOTE_JS_RESPONSE_POLL_INTERVAL_MS 25 JavaScript evaluation responses poll interval
queue.js.response_auto_commit_interval REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS 100 JavaScript evaluation responses auto commit interval
queue.rule-engine.topic TB_QUEUE_RULE_ENGINE_TOPIC tb_rule_engine Topic name for Rule Engine microservices
queue.rule-engine.poll-interval TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Rule Engine microservices
queue.rule-engine.pack-processing-timeout TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack
queue.rule-engine.stats.enabled TB_QUEUE_RULE_ENGINE_STATS_ENABLED true Enable/disable statistics for Rule Engine microservices
queue.rule-engine.stats.print-interval-ms TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS 10000 Statistics printing interval for Rule Engine microservices
queue.rule-engine.queues.name TB_QUEUE_RE_MAIN_QUEUE_NAME Main Rule Engine Main queue (mustn't be renamed)
queue.rule-engine.queues.topic TB_QUEUE_RE_MAIN_TOPIC tb_rule_engine.main Topic for Main queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from Main queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_MAIN_PARTITIONS 10 Main queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from Main queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE BURST Main queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE 1000 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_TYPE SKIP_ALL_FAILURES Main queue processing strategy. Can be: SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES 3 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE 3 Time in seconds to wait in consumer thread before retries
queue.rule-engine.queues.name TB_QUEUE_RE_HP_QUEUE_NAME HighPriority Rule Engine HighPriority queue
queue.rule-engine.queues.topic TB_QUEUE_RE_HP_TOPIC tb_rule_engine.hp Topic for HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_HP_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_HP_PARTITIONS 10 HighPriority queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE BURST HighPriority queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE 100 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_HP_PROCESSING_STRATEGY_TYPE RETRY_FAILED_AND_TIMED_OUT SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES 0 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE 5 Time in seconds to wait in consumer thread before retries
queue.rule-engine.queues.name TB_QUEUE_RE_SQ_QUEUE_NAME SequentialByOriginator Rule Engine SequentialByOriginator queue
queue.rule-engine.queues.topic TB_QUEUE_RE_SQ_TOPIC tb_rule_engine.sq Topic for SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_SQ_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_SQ_PARTITIONS 10 SequentialByOriginator queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_SQ_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_TYPE SEQUENTIAL_BY_ORIGINATOR SequentialByOriginator queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_BATCH_SIZE 100 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_TYPE RETRY_FAILED_AND_TIMED_OUT SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRIES 3 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRY_PAUSE 5 Time in seconds to wait in consumer thread before retries
queue.transport.notifications_topic TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC tb_transport.notifications Transport nottifications topic
queue.transport.poll_interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Core microservices
ThingsBoard service parameters
service.type. TB_SERVICE_TYPE monolith Tb Queue service type. Can be: monolith or tb-core or tb-rule-engine
service.id. TB_SERVICE_ID Unique id for this service (autogenerated if empty)
service.tenant_id. TB_SERVICE_TENANT_ID Empty or specific tenant id

MQTT Transport Settings

PropertyEnvironment VariableDefault ValueDescription
spring.main.web-environment false
spring.main.web-application-type none
Zookeeper connection parameters
zk.enabled ZOOKEEPER_ENABLED false Enable/disable zookeeper discovery service. Used for ThingsBoard cluster
zk.url ZOOKEEPER_URL localhost:2181 Zookeeper connect string
zk.retry_interval_ms ZOOKEEPER_RETRY_INTERVAL_MS 3000 Zookeeper retry interval in milliseconds
zk.connection_timeout_ms ZOOKEEPER_CONNECTION_TIMEOUT_MS 3000 Zookeeper connection timeout in milliseconds
zk.session_timeout_ms ZOOKEEPER_SESSION_TIMEOUT_MS 3000 Zookeeper session timeout in milliseconds
zk.zk_dir ZOOKEEPER_NODES_DIR /thingsboard Name of the directory in zookeeper 'filesystem'
MQTT server parameters
transport.mqtt.bind_address MQTT_BIND_ADDRESS 0.0.0.0 MQTT bind address
transport.mqtt.bind_port MQTT_BIND_PORT 1883 MQTT bind port
transport.mqtt.adaptor MQTT_ADAPTOR_NAME JsonMqttAdaptor MQTT Adaptor name
transport.mqtt.timeout MQTT_TIMEOUT 10000 MQTT processing timeout in milliseconds
transport.mqtt.netty.leak_detector_level NETTY_LEAK_DETECTOR_LVL DISABLED Netty leak detector level
transport.mqtt.netty.boss_group_thread_count NETTY_BOSS_GROUP_THREADS 1 Netty BOSS threads count
transport.mqtt.netty.worker_group_thread_count NETTY_WORKER_GROUP_THREADS 12 Netty worker threads count
transport.mqtt.netty.max_payload_size NETTY_MAX_PAYLOAD_SIZE 65536 Max payload size in bytes
transport.mqtt.ssl.enabled MQTT_SSL_ENABLED false Enable/disable SSL support
transport.mqtt.ssl.protocol MQTT_SSL_PROTOCOL TLSv1.2 SSL protocol: See this link
transport.mqtt.ssl.key_store MQTT_SSL_KEY_STORE mqttserver.jks Path to the key store that holds the SSL certificate
transport.mqtt.ssl.key_store_password MQTT_SSL_KEY_STORE_PASSWORD server_ks_password Password used to access the key store
transport.mqtt.ssl.key_password MQTT_SSL_KEY_PASSWORD server_key_password Password used to access the key
transport.mqtt.ssl.key_store_type MQTT_SSL_KEY_STORE_TYPE JKS Type of the key store
transport.sessions.inactivity_timeout TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT 300000
transport.sessions.report_timeout TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT 30000
transport.rate_limits.enabled TB_TRANSPORT_RATE_LIMITS_ENABLED false Enabel/Disable rate limits on transport layer
transport.rate_limits.tenant TB_TRANSPORT_RATE_LIMITS_TENANT 1000:1,20000:60 Tenant Rate limit policy x:y where x = number of messages per time unit, y = timeunit size in seconds
transport.rate_limits.device TB_TRANSPORT_RATE_LIMITS_DEVICE 10:1,300:60 Device Rate limit policy x:y where x = number of messages per time unit, y = timeunit size in seconds
transport.json.type_cast_enabled JSON_TYPE_CAST_ENABLED true Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON
transport.json.max_string_value_length JSON_MAX_STRING_VALUE_LENGTH 0 Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
Queue parameters
queue.type TB_QUEUE_TYPE kafka Queue type. Can be: kafka (Apache Kafka) or aws-sqs (AWS SQS) or pubsub (PubSub) or service-bus (Azure Service Bus) or rabbitmq (RabbitMQ)
queue.kafka.bootstrap.servers TB_KAFKA_SERVERS localhost:9092 List of kafka bootstrap servers used to establish connection
queue.kafka.acks TB_KAFKA_ACKS all The number of acknowledgments the producer requires the leader to have received before considering a request complete
queue.kafka.retries TB_KAFKA_RETRIES 1 Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error
queue.kafka.batch.size TB_KAFKA_BATCH_SIZE 16384 The producer will attempt to batch records together into fewer requests whenever multiple records are being sent to the same partition
queue.kafka.linger.ms TB_KAFKA_LINGER_MS 1 The producer groups together any records that arrive in between request transmissions into a single batched request
queue.kafka.buffer.memory TB_BUFFER_MEMORY 33554432 The total bytes of memory the producer can use to buffer records waiting to be sent to the server
queue.kafka.replication_factor TB_QUEUE_KAFKA_REPLICATION_FACTOR 1 Replication factor defines the number of copies of a topic in a Kafka cluster
queue.kafka.topic-properties.rule-engine TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Rule Engine topics
queue.kafka.topic-properties.core TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Core topics
queue.kafka.topic-properties.transport-api TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Transport Api topics
queue.kafka.topic-properties.notifications TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Notifications topics
queue.kafka.topic-properties.js-executor TB_QUEUE_KAFKA_JE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Js Executor topics
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.queue-properties.rule-engine TB_QUEUE_AWS_SQS_RE_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 AWS SQS properties for Rule Engine queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Core queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Transport Api queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Notifications queues, messages which will commit after visibility timeout period can be consume again. 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 AWS SQS properties for Transport Api queues, messages which will commit after visibility timeout period can be consume again. 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 Pub/Sub max message size. In bytes
queue.pubsub.max_messages TB_QUEUE_PUBSUB_MAX_MESSAGES 1000 Number of messages per a consumer
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 consume 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 consume 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 consume again
queue.pubsub.queue-properties.notifications TB_QUEUE_PUBSUB_NOTIFICATIONS_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Notifications subscribers, messages which will commit after ackDeadlineInSec period can be consume again
queue.pubsub.queue-properties.js-executor TB_QUEUE_PUBSUB_JE_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Js Executor subscribers, messages which will commit after ackDeadlineInSec period can be consume again
queue.service_bus.namespace_name TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME YOUR_NAMESPACE_NAME Azure namespace is a scoping container for all messaging components
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 Notifications queues
queue.service_bus.queue-properties.js-executor TB_QUEUE_SERVICE_BUS_JE_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus properties for Js Executor queues
queue.rabbitmq.exchange_name TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME 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 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 User name 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.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 Notifications queues
queue.rabbitmq.queue-properties.js-executor TB_QUEUE_RABBIT_MQ_JE_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ properties for Js Executor queues
queue.partitions.hash_function_name TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME murmur3_128 Name of hash function used for consistent hash ring in Cluster Mode. See architecture docs for more details.
queue.partitions.virtual_nodes_size TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE 16 Amount of virtual nodes in consistent hash ring.
queue.transport_api.requests_topic TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC tb_transport.api.requests Topic used to consume api requests from transport microservices
queue.transport_api.responses_topic TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC tb_transport.api.responses Topic used to produce api responses to transport microservices
queue.transport_api.max_pending_requests TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS 10000 Maximum pending api requests from transport microservices to be handled by server
queue.transport_api.request_timeout TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds to handle api request from transport microservice by server
queue.transport_api.max_callback_threads TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS 100 Amount of threads used to invoke callbacks
queue.transport_api.request_poll_interval TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api requests from transport microservices
queue.transport_api.response_poll_interval TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api response from transport microservices
queue.core.topic TB_QUEUE_CORE_TOPIC tb_core Topic name for Core microservices
queue.core.poll-interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Core microservices
queue.core.partitions TB_QUEUE_CORE_PARTITIONS 10 Amount of partitions used by Core microservices
queue.core.pack-processing-timeout TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack by Core microservices
queue.core.stats.enabled TB_QUEUE_CORE_STATS_ENABLED false Enable/disable statistics for Core microservices
queue.core.stats.print-interval-ms TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS 10000 Statistics printing interval for Core microservices
queue.js.request_topic REMOTE_JS_EVAL_REQUEST_TOPIC js_eval.requests Queue topic used for producing JavaScript evaluation requests
queue.js.response_topic_prefix REMOTE_JS_EVAL_RESPONSE_TOPIC js_eval.responses Prefix queue topic used to consume JavaScript evaluation responses
queue.js.max_pending_requests REMOTE_JS_MAX_PENDING_REQUESTS 10000 Maximum pending JavaScript evaluation requests
queue.js.max_eval_requests_timeout REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT 60000 Maximum timeout in milliseconds for JavaScript evaluation
queue.js.max_requests_timeout REMOTE_JS_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds for JavaScript execution
queue.js.response_poll_interval REMOTE_JS_RESPONSE_POLL_INTERVAL_MS 25 JavaScript evaluation responses poll interval
queue.js.response_auto_commit_interval REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS 100 JavaScript evaluation responses auto commit interval
queue.rule-engine.topic TB_QUEUE_RULE_ENGINE_TOPIC tb_rule_engine Topic name for Rule Engine microservices
queue.rule-engine.poll-interval TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Rule Engine microservices
queue.rule-engine.pack-processing-timeout TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack
queue.rule-engine.stats.enabled TB_QUEUE_RULE_ENGINE_STATS_ENABLED true Enable/disable statistics for Rule Engine microservices
queue.rule-engine.stats.print-interval-ms TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS 10000 Statistics printing interval for Rule Engine microservices
queue.rule-engine.queues.name TB_QUEUE_RE_MAIN_QUEUE_NAME Main Rule Engine Main queue (mustn't be renamed)
queue.rule-engine.queues.topic TB_QUEUE_RE_MAIN_TOPIC tb_rule_engine.main Topic for Main queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from Main queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_MAIN_PARTITIONS 10 Main queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from Main queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE BURST Main queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE 1000 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_TYPE SKIP_ALL_FAILURES Main queue processing strategy. Can be: SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES 3 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE 3 Time in seconds to wait in consumer thread before retries
queue.rule-engine.queues.name TB_QUEUE_RE_HP_QUEUE_NAME HighPriority Rule Engine HighPriority queue
queue.rule-engine.queues.topic TB_QUEUE_RE_HP_TOPIC tb_rule_engine.hp Topic for HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_HP_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_HP_PARTITIONS 10 HighPriority queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE BURST HighPriority queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE 100 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_HP_PROCESSING_STRATEGY_TYPE RETRY_FAILED_AND_TIMED_OUT SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES 0 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE 5 Time in seconds to wait in consumer thread before retries
queue.rule-engine.queues.name TB_QUEUE_RE_SQ_QUEUE_NAME SequentialByOriginator Rule Engine SequentialByOriginator queue
queue.rule-engine.queues.topic TB_QUEUE_RE_SQ_TOPIC tb_rule_engine.sq Topic for SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_SQ_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_SQ_PARTITIONS 10 SequentialByOriginator queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_SQ_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_TYPE SEQUENTIAL_BY_ORIGINATOR SequentialByOriginator queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_BATCH_SIZE 100 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_TYPE RETRY_FAILED_AND_TIMED_OUT SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRIES 3 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRY_PAUSE 5 Time in seconds to wait in consumer thread before retries
queue.transport.notifications_topic TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC tb_transport.notifications Transport nottifications topic
queue.transport.poll_interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Core microservices
ThingsBoard service parameters
service.type. TB_SERVICE_TYPE monolith Tb Queue service type. Can be: monolith or tb-core or tb-rule-engine
service.id. TB_SERVICE_ID Unique id for this service (autogenerated if empty)
service.tenant_id. TB_SERVICE_TENANT_ID Empty or specific tenant id

HTTP Transport Settings

PropertyEnvironment VariableDefault ValueDescription
server.address HTTP_BIND_ADDRESS 0.0.0.0 HTTP Server bind address
server.port HTTP_BIND_PORT 8081 HTTP Server bind port
Zookeeper connection parameters
zk.enabled ZOOKEEPER_ENABLED false Enable/disable zookeeper discovery service. Used for ThingsBoard cluster
zk.url ZOOKEEPER_URL localhost:2181 Zookeeper connect string
zk.retry_interval_ms ZOOKEEPER_RETRY_INTERVAL_MS 3000 Zookeeper retry interval in milliseconds
zk.connection_timeout_ms ZOOKEEPER_CONNECTION_TIMEOUT_MS 3000 Zookeeper connection timeout in milliseconds
zk.session_timeout_ms ZOOKEEPER_SESSION_TIMEOUT_MS 3000 Zookeeper session timeout in milliseconds
zk.zk_dir ZOOKEEPER_NODES_DIR /thingsboard Name of the directory in zookeeper 'filesystem'
HTTP server parameters
transport.http.request_timeout HTTP_REQUEST_TIMEOUT 60000 Http request processing timeout in milliseconds
transport.sessions.inactivity_timeout TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT 300000
transport.sessions.report_timeout TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT 30000
transport.rate_limits.enabled TB_TRANSPORT_RATE_LIMITS_ENABLED false Enabel/Disable rate limits on transport layer
transport.rate_limits.tenant TB_TRANSPORT_RATE_LIMITS_TENANT 1000:1,20000:60 Tenant Rate limit policy x:y where x = number of messages per time unit, y = timeunit size in seconds
transport.rate_limits.device TB_TRANSPORT_RATE_LIMITS_DEVICE 10:1,300:60 Device Rate limit policy x:y where x = number of messages per time unit, y = timeunit size in seconds
transport.json.type_cast_enabled JSON_TYPE_CAST_ENABLED true Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON
transport.json.max_string_value_length JSON_MAX_STRING_VALUE_LENGTH 0 Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
Queue parameters
queue.type TB_QUEUE_TYPE kafka Queue type. Can be: kafka (Apache Kafka) or aws-sqs (AWS SQS) or pubsub (PubSub) or service-bus (Azure Service Bus) or rabbitmq (RabbitMQ)
queue.kafka.bootstrap.servers TB_KAFKA_SERVERS localhost:9092 List of kafka bootstrap servers used to establish connection
queue.kafka.acks TB_KAFKA_ACKS all The number of acknowledgments the producer requires the leader to have received before considering a request complete
queue.kafka.retries TB_KAFKA_RETRIES 1 Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error
queue.kafka.batch.size TB_KAFKA_BATCH_SIZE 16384 The producer will attempt to batch records together into fewer requests whenever multiple records are being sent to the same partition
queue.kafka.linger.ms TB_KAFKA_LINGER_MS 1 The producer groups together any records that arrive in between request transmissions into a single batched request
queue.kafka.buffer.memory TB_BUFFER_MEMORY 33554432 The total bytes of memory the producer can use to buffer records waiting to be sent to the server
queue.kafka.replication_factor TB_QUEUE_KAFKA_REPLICATION_FACTOR 1 Replication factor defines the number of copies of a topic in a Kafka cluster
queue.kafka.topic-properties.rule-engine TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Rule Engine topics
queue.kafka.topic-properties.core TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Core topics
queue.kafka.topic-properties.transport-api TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Transport Api topics
queue.kafka.topic-properties.notifications TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Notifications topics
queue.kafka.topic-properties.js-executor TB_QUEUE_KAFKA_JE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Js Executor topics
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.queue-properties.rule-engine TB_QUEUE_AWS_SQS_RE_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 AWS SQS properties for Rule Engine queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Core queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Transport Api queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Notifications queues, messages which will commit after visibility timeout period can be consume again. 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 AWS SQS properties for Transport Api queues, messages which will commit after visibility timeout period can be consume again. 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 Pub/Sub max message size. In bytes
queue.pubsub.max_messages TB_QUEUE_PUBSUB_MAX_MESSAGES 1000 Number of messages per a consumer
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 consume 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 consume 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 consume again
queue.pubsub.queue-properties.notifications TB_QUEUE_PUBSUB_NOTIFICATIONS_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Notifications subscribers, messages which will commit after ackDeadlineInSec period can be consume again
queue.pubsub.queue-properties.js-executor TB_QUEUE_PUBSUB_JE_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Js Executor subscribers, messages which will commit after ackDeadlineInSec period can be consume again
queue.service_bus.namespace_name TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME YOUR_NAMESPACE_NAME Azure namespace is a scoping container for all messaging components
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 Notifications queues
queue.service_bus.queue-properties.js-executor TB_QUEUE_SERVICE_BUS_JE_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus properties for Js Executor queues
queue.rabbitmq.exchange_name TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME 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 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 User name 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.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 Notifications queues
queue.rabbitmq.queue-properties.js-executor TB_QUEUE_RABBIT_MQ_JE_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ properties for Js Executor queues
queue.partitions.hash_function_name TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME murmur3_128 Name of hash function used for consistent hash ring in Cluster Mode. See architecture docs for more details.
queue.partitions.virtual_nodes_size TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE 16 Amount of virtual nodes in consistent hash ring.
queue.transport_api.requests_topic TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC tb_transport.api.requests Topic used to consume api requests from transport microservices
queue.transport_api.responses_topic TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC tb_transport.api.responses Topic used to produce api responses to transport microservices
queue.transport_api.max_pending_requests TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS 10000 Maximum pending api requests from transport microservices to be handled by server
queue.transport_api.request_timeout TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds to handle api request from transport microservice by server
queue.transport_api.max_callback_threads TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS 100 Amount of threads used to invoke callbacks
queue.transport_api.request_poll_interval TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api requests from transport microservices
queue.transport_api.response_poll_interval TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api response from transport microservices
queue.core.topic TB_QUEUE_CORE_TOPIC tb_core Topic name for Core microservices
queue.core.poll-interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Core microservices
queue.core.partitions TB_QUEUE_CORE_PARTITIONS 10 Amount of partitions used by Core microservices
queue.core.pack-processing-timeout TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack by Core microservices
queue.core.stats.enabled TB_QUEUE_CORE_STATS_ENABLED false Enable/disable statistics for Core microservices
queue.core.stats.print-interval-ms TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS 10000 Statistics printing interval for Core microservices
queue.js.request_topic REMOTE_JS_EVAL_REQUEST_TOPIC js_eval.requests Queue topic used for producing JavaScript evaluation requests
queue.js.response_topic_prefix REMOTE_JS_EVAL_RESPONSE_TOPIC js_eval.responses Prefix queue topic used to consume JavaScript evaluation responses
queue.js.max_pending_requests REMOTE_JS_MAX_PENDING_REQUESTS 10000 Maximum pending JavaScript evaluation requests
queue.js.max_eval_requests_timeout REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT 60000 Maximum timeout in milliseconds for JavaScript evaluation
queue.js.max_requests_timeout REMOTE_JS_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds for JavaScript execution
queue.js.response_poll_interval REMOTE_JS_RESPONSE_POLL_INTERVAL_MS 25 JavaScript evaluation responses poll interval
queue.js.response_auto_commit_interval REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS 100 JavaScript evaluation responses auto commit interval
queue.rule-engine.topic TB_QUEUE_RULE_ENGINE_TOPIC tb_rule_engine Topic name for Rule Engine microservices
queue.rule-engine.poll-interval TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Rule Engine microservices
queue.rule-engine.pack-processing-timeout TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack
queue.rule-engine.stats.enabled TB_QUEUE_RULE_ENGINE_STATS_ENABLED true Enable/disable statistics for Rule Engine microservices
queue.rule-engine.stats.print-interval-ms TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS 10000 Statistics printing interval for Rule Engine microservices
queue.rule-engine.queues.name TB_QUEUE_RE_MAIN_QUEUE_NAME Main Rule Engine Main queue (mustn't be renamed)
queue.rule-engine.queues.topic TB_QUEUE_RE_MAIN_TOPIC tb_rule_engine.main Topic for Main queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from Main queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_MAIN_PARTITIONS 10 Main queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from Main queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE BURST Main queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE 1000 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_TYPE SKIP_ALL_FAILURES Main queue processing strategy. Can be: SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES 3 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE 3 Time in seconds to wait in consumer thread before retries
queue.rule-engine.queues.name TB_QUEUE_RE_HP_QUEUE_NAME HighPriority Rule Engine HighPriority queue
queue.rule-engine.queues.topic TB_QUEUE_RE_HP_TOPIC tb_rule_engine.hp Topic for HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_HP_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_HP_PARTITIONS 10 HighPriority queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE BURST HighPriority queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE 100 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_HP_PROCESSING_STRATEGY_TYPE RETRY_FAILED_AND_TIMED_OUT SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES 0 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE 5 Time in seconds to wait in consumer thread before retries
queue.rule-engine.queues.name TB_QUEUE_RE_SQ_QUEUE_NAME SequentialByOriginator Rule Engine SequentialByOriginator queue
queue.rule-engine.queues.topic TB_QUEUE_RE_SQ_TOPIC tb_rule_engine.sq Topic for SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_SQ_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_SQ_PARTITIONS 10 SequentialByOriginator queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_SQ_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_TYPE SEQUENTIAL_BY_ORIGINATOR SequentialByOriginator queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_BATCH_SIZE 100 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_TYPE RETRY_FAILED_AND_TIMED_OUT SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRIES 3 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRY_PAUSE 5 Time in seconds to wait in consumer thread before retries
queue.transport.notifications_topic TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC tb_transport.notifications Transport nottifications topic
queue.transport.poll_interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Core microservices
ThingsBoard service parameters
service.type. TB_SERVICE_TYPE monolith Tb Queue service type. Can be: monolith or tb-core or tb-rule-engine
service.id. TB_SERVICE_ID Unique id for this service (autogenerated if empty)
service.tenant_id. TB_SERVICE_TENANT_ID Empty or specific tenant id

CoAP Transport Settings

PropertyEnvironment VariableDefault ValueDescription
spring.main.web-environment false
spring.main.web-application-type none
Zookeeper connection parameters
zk.enabled ZOOKEEPER_ENABLED false Enable/disable zookeeper discovery service. Used for ThingsBoard cluster
zk.url ZOOKEEPER_URL localhost:2181 Zookeeper connect string
zk.retry_interval_ms ZOOKEEPER_RETRY_INTERVAL_MS 3000 Zookeeper retry interval in milliseconds
zk.connection_timeout_ms ZOOKEEPER_CONNECTION_TIMEOUT_MS 3000 Zookeeper connection timeout in milliseconds
zk.session_timeout_ms ZOOKEEPER_SESSION_TIMEOUT_MS 3000 Zookeeper session timeout in milliseconds
zk.zk_dir ZOOKEEPER_NODES_DIR /thingsboard Name of the directory in zookeeper 'filesystem'
COAP server parameters
transport.coap.bind_address COAP_BIND_ADDRESS 0.0.0.0 CoAP bind address
transport.coap.bind_port COAP_BIND_PORT 5683 CoAP bind port
transport.coap.timeout COAP_TIMEOUT 10000 CoaP processing timeout in milliseconds
transport.sessions.inactivity_timeout TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT 300000
transport.sessions.report_timeout TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT 30000
transport.rate_limits.enabled TB_TRANSPORT_RATE_LIMITS_ENABLED false Enabel/Disable rate limits on transport layer
transport.rate_limits.tenant TB_TRANSPORT_RATE_LIMITS_TENANT 1000:1,20000:60 Tenant Rate limit policy x:y where x = number of messages per time unit, y = timeunit size in seconds
transport.rate_limits.device TB_TRANSPORT_RATE_LIMITS_DEVICE 10:1,300:60 Device Rate limit policy x:y where x = number of messages per time unit, y = timeunit size in seconds
transport.json.type_cast_enabled JSON_TYPE_CAST_ENABLED true Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON
transport.json.max_string_value_length JSON_MAX_STRING_VALUE_LENGTH 0 Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
Queue parameters
queue.type TB_QUEUE_TYPE kafka Queue type. Can be: kafka (Apache Kafka) or aws-sqs (AWS SQS) or pubsub (PubSub) or service-bus (Azure Service Bus) or rabbitmq (RabbitMQ)
queue.kafka.bootstrap.servers TB_KAFKA_SERVERS localhost:9092 List of kafka bootstrap servers used to establish connection
queue.kafka.acks TB_KAFKA_ACKS all The number of acknowledgments the producer requires the leader to have received before considering a request complete
queue.kafka.retries TB_KAFKA_RETRIES 1 Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error
queue.kafka.batch.size TB_KAFKA_BATCH_SIZE 16384 The producer will attempt to batch records together into fewer requests whenever multiple records are being sent to the same partition
queue.kafka.linger.ms TB_KAFKA_LINGER_MS 1 The producer groups together any records that arrive in between request transmissions into a single batched request
queue.kafka.buffer.memory TB_BUFFER_MEMORY 33554432 The total bytes of memory the producer can use to buffer records waiting to be sent to the server
queue.kafka.replication_factor TB_QUEUE_KAFKA_REPLICATION_FACTOR 1 Replication factor defines the number of copies of a topic in a Kafka cluster
queue.kafka.topic-properties.rule-engine TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Rule Engine topics
queue.kafka.topic-properties.core TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Core topics
queue.kafka.topic-properties.transport-api TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Transport Api topics
queue.kafka.topic-properties.notifications TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Notifications topics
queue.kafka.topic-properties.js-executor TB_QUEUE_KAFKA_JE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000 Kafka properties for Js Executor topics
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.queue-properties.rule-engine TB_QUEUE_AWS_SQS_RE_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 AWS SQS properties for Rule Engine queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Core queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Transport Api queues, messages which will commit after visibility timeout period can be consume again. 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 properties for Notifications queues, messages which will commit after visibility timeout period can be consume again. 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 AWS SQS properties for Transport Api queues, messages which will commit after visibility timeout period can be consume again. 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 Pub/Sub max message size. In bytes
queue.pubsub.max_messages TB_QUEUE_PUBSUB_MAX_MESSAGES 1000 Number of messages per a consumer
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 consume 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 consume 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 consume again
queue.pubsub.queue-properties.notifications TB_QUEUE_PUBSUB_NOTIFICATIONS_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Notifications subscribers, messages which will commit after ackDeadlineInSec period can be consume again
queue.pubsub.queue-properties.js-executor TB_QUEUE_PUBSUB_JE_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Js Executor subscribers, messages which will commit after ackDeadlineInSec period can be consume again
queue.service_bus.namespace_name TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME YOUR_NAMESPACE_NAME Azure namespace is a scoping container for all messaging components
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 Notifications queues
queue.service_bus.queue-properties.js-executor TB_QUEUE_SERVICE_BUS_JE_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus properties for Js Executor queues
queue.rabbitmq.exchange_name TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME 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 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 User name 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.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 Notifications queues
queue.rabbitmq.queue-properties.js-executor TB_QUEUE_RABBIT_MQ_JE_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ properties for Js Executor queues
queue.partitions.hash_function_name TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME murmur3_128 Name of hash function used for consistent hash ring in Cluster Mode. See architecture docs for more details.
queue.partitions.virtual_nodes_size TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE 16 Amount of virtual nodes in consistent hash ring.
queue.transport_api.requests_topic TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC tb_transport.api.requests Topic used to consume api requests from transport microservices
queue.transport_api.responses_topic TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC tb_transport.api.responses Topic used to produce api responses to transport microservices
queue.transport_api.max_pending_requests TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS 10000 Maximum pending api requests from transport microservices to be handled by server
queue.transport_api.request_timeout TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds to handle api request from transport microservice by server
queue.transport_api.max_callback_threads TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS 100 Amount of threads used to invoke callbacks
queue.transport_api.request_poll_interval TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api requests from transport microservices
queue.transport_api.response_poll_interval TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api response from transport microservices
queue.core.topic TB_QUEUE_CORE_TOPIC tb_core Topic name for Core microservices
queue.core.poll-interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Core microservices
queue.core.partitions TB_QUEUE_CORE_PARTITIONS 10 Amount of partitions used by Core microservices
queue.core.pack-processing-timeout TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack by Core microservices
queue.core.stats.enabled TB_QUEUE_CORE_STATS_ENABLED false Enable/disable statistics for Core microservices
queue.core.stats.print-interval-ms TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS 10000 Statistics printing interval for Core microservices
queue.js.request_topic REMOTE_JS_EVAL_REQUEST_TOPIC js_eval.requests Queue topic used for producing JavaScript evaluation requests
queue.js.response_topic_prefix REMOTE_JS_EVAL_RESPONSE_TOPIC js_eval.responses Prefix queue topic used to consume JavaScript evaluation responses
queue.js.max_pending_requests REMOTE_JS_MAX_PENDING_REQUESTS 10000 Maximum pending JavaScript evaluation requests
queue.js.max_eval_requests_timeout REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT 60000 Maximum timeout in milliseconds for JavaScript evaluation
queue.js.max_requests_timeout REMOTE_JS_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds for JavaScript execution
queue.js.response_poll_interval REMOTE_JS_RESPONSE_POLL_INTERVAL_MS 25 JavaScript evaluation responses poll interval
queue.js.response_auto_commit_interval REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS 100 JavaScript evaluation responses auto commit interval
queue.rule-engine.topic TB_QUEUE_RULE_ENGINE_TOPIC tb_rule_engine Topic name for Rule Engine microservices
queue.rule-engine.poll-interval TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Rule Engine microservices
queue.rule-engine.pack-processing-timeout TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack
queue.rule-engine.stats.enabled TB_QUEUE_RULE_ENGINE_STATS_ENABLED true Enable/disable statistics for Rule Engine microservices
queue.rule-engine.stats.print-interval-ms TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS 10000 Statistics printing interval for Rule Engine microservices
queue.rule-engine.queues.name TB_QUEUE_RE_MAIN_QUEUE_NAME Main Rule Engine Main queue (mustn't be renamed)
queue.rule-engine.queues.topic TB_QUEUE_RE_MAIN_TOPIC tb_rule_engine.main Topic for Main queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from Main queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_MAIN_PARTITIONS 10 Main queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from Main queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE BURST Main queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE 1000 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_TYPE SKIP_ALL_FAILURES Main queue processing strategy. Can be: SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES 3 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE 3 Time in seconds to wait in consumer thread before retries
queue.rule-engine.queues.name TB_QUEUE_RE_HP_QUEUE_NAME HighPriority Rule Engine HighPriority queue
queue.rule-engine.queues.topic TB_QUEUE_RE_HP_TOPIC tb_rule_engine.hp Topic for HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_HP_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_HP_PARTITIONS 10 HighPriority queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from HighPriority queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE BURST HighPriority queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE 100 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_HP_PROCESSING_STRATEGY_TYPE RETRY_FAILED_AND_TIMED_OUT SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES 0 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE 5 Time in seconds to wait in consumer thread before retries
queue.rule-engine.queues.name TB_QUEUE_RE_SQ_QUEUE_NAME SequentialByOriginator Rule Engine SequentialByOriginator queue
queue.rule-engine.queues.topic TB_QUEUE_RE_SQ_TOPIC tb_rule_engine.sq Topic for SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.poll-interval TB_QUEUE_RE_SQ_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages from SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.partitions TB_QUEUE_RE_SQ_PARTITIONS 10 SequentialByOriginator queue amount of partitions used by Rule Engine microservices
queue.rule-engine.queues.pack-processing-timeout TB_QUEUE_RE_SQ_PACK_PROCESSING_TIMEOUT_MS 60000 Timeout for processing a message pack from SequentialByOriginator queue by Rule Engine microservices
queue.rule-engine.queues.submit-strategy.type TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_TYPE SEQUENTIAL_BY_ORIGINATOR SequentialByOriginator queue submit strategy. Can be: BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
queue.rule-engine.queues.submit-strategy.batch-size TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_BATCH_SIZE 100 Maximum number of messages in batch. Only for submit strategy type: BATCH
queue.rule-engine.queues.processing-strategy.type TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_TYPE RETRY_FAILED_AND_TIMED_OUT SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.processing-strategy.retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRIES 3 Number of retries, 0 is unlimited. Use for RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT processing strategies
queue.rule-engine.queues.processing-strategy.failure-percentage TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages
queue.rule-engine.queues.processing-strategy.pause-between-retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRY_PAUSE 5 Time in seconds to wait in consumer thread before retries
queue.transport.notifications_topic TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC tb_transport.notifications Transport nottifications topic
queue.transport.poll_interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Core microservices
ThingsBoard service parameters
service.type. TB_SERVICE_TYPE monolith Tb Queue service type. Can be: monolith or tb-core or tb-rule-engine
service.id. TB_SERVICE_ID Unique id for this service (autogenerated if empty)
service.tenant_id. TB_SERVICE_TENANT_ID Empty or specific tenant id

Logging

thingsboard.conf

The configuration file for the startup script. Contains Java options and classpath related parameters.

logback.xml

The configuration file for logging. Allows controlling the log level, the size of log files and the total size/volume of logs.