- IoT Hub Core Settings
- MQTT Transport Settings
- HTTP Transport Settings
- CoAP Transport Settings
- LwM2M Transport Settings
- Logging
- thingsboard.conf
- logback.xml
This guide will help you to get familiar with IoT Hub configuration files and parameters.
Configuration files location depends on the IoT Hub installation type. If IoT Hub is installed as a monolithic application, you can find configuration files in the following directory:
1
2
Windows: YOUR_INSTALL_DIR/conf
Linux: /usr/share/thingsboard/conf
But if IoT Hub 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
IoT Hub 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:
1
2
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.
Property | Environment Variable | Default Value | Description |
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 IoT Hub 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 | iothub.magenta.at | 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 IoT Hub 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 IoT Hub entities (assets, devices, customers, etc.). Allowed values - cassandra OR sql |
database.ts.type | DATABASE_TS_TYPE | sql | Database type for IoT Hub 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 IoT Hub entities should be sql |
Cassandra database parameters | |||
cassandra.cluster_name | CASSANDRA_CLUSTER_NAME | IoT Hub Cluster | IoT Hub Cassandra cluster name |
cassandra.keyspace_name | CASSANDRA_KEYSPACE_NAME | thingsboard | IoT Hub 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. |
sql.ttl.rpc.enabled | SQL_TTL_RPC_ENABLED | true | Parameter to enable or disable TTL(Time To Live) for Persistent RPC. |
sql.ttl.rpc.checking_interval | SQL_RPC_TTL_CHECKING_INTERVAL | 7200000 | Parameter to specify how often TTL(Time To Live) will be checked. |
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 |
cache.attributes.enabled | CACHE_ATTRIBUTES_ENABLED | true | Cache attribute request in caffeine or redis |
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 | |
caffeine.specs.attributes.timeToLiveInMinutes | 1440 | attributes cache TTL | |
caffeine.specs.attributes.maxSize | 100000 | attributes 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.bind_address | MQTT_SSL_BIND_ADDRESS | 0.0.0.0 | MMQTT SSL bind address |
transport.mqtt.ssl.bind_port | MQTT_SSL_BIND_PORT | 8883 | MQTT SSL bind port |
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.mqtt.ssl.skip_validity_check_for_client_cert | MQTT_SSL_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT | false | Skip certificate validity check for client certificates |
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.kafka.consumer-stats.enabled | TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED | true | Prints lag between consumer group offset and last messages offset in Kafka topics |
queue.kafka.consumer-stats.print-interval-ms | TB_QUEUE_KAFKA_CONSUMER_STATS_MIN_PRINT_INTERVAL_MS | 60000 | Statistics printing interval for Kafka's consumer-groups stats |
queue.kafka.consumer-stats.kafka-response-timeout-ms | TB_QUEUE_KAFKA_CONSUMER_STATS_RESPONSE_TIMEOUT_MS | 1000 | Time to wait for the stats-loading requests to Kafka to finish |
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.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 3 | Max allowed time in seconds for pause between 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.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_HP_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 5 | Max allowed time in seconds for pause between 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.rule-engine.queues.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 5 | Max allowed time in seconds for pause between 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 |
IoT Hub 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
Property | Environment Variable | Default Value | Description |
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 IoT Hub 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 MQTTS support |
transport.mqtt.ssl.bind_address | MQTT_SSL_BIND_ADDRESS | 0.0.0.0 | MMQTT SSL bind address |
transport.mqtt.ssl.bind_port | MQTT_SSL_BIND_PORT | 8883 | MQTT SSL bind port |
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.mqtt.ssl.skip_validity_check_for_client_cert | MQTT_SSL_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT | false | Skip certificate validity check for client certificates |
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.kafka.consumer-stats.enabled | TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED | true | Prints lag between consumer group offset and last messages offset in Kafka topics |
queue.kafka.consumer-stats.print-interval-ms | TB_QUEUE_KAFKA_CONSUMER_STATS_MIN_PRINT_INTERVAL_MS | 60000 | Statistics printing interval for Kafka's consumer-groups stats |
queue.kafka.consumer-stats.kafka-response-timeout-ms | TB_QUEUE_KAFKA_CONSUMER_STATS_RESPONSE_TIMEOUT_MS | 1000 | Time to wait for the stats-loading requests to Kafka to finish |
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.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 3 | Max allowed time in seconds for pause between 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.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_HP_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 5 | Max allowed time in seconds for pause between 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.rule-engine.queues.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 5 | Max allowed time in seconds for pause between 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 |
IoT Hub 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
Property | Environment Variable | Default Value | Description |
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 IoT Hub 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.kafka.consumer-stats.enabled | TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED | true | Prints lag between consumer group offset and last messages offset in Kafka topics |
queue.kafka.consumer-stats.print-interval-ms | TB_QUEUE_KAFKA_CONSUMER_STATS_MIN_PRINT_INTERVAL_MS | 60000 | Statistics printing interval for Kafka's consumer-groups stats |
queue.kafka.consumer-stats.kafka-response-timeout-ms | TB_QUEUE_KAFKA_CONSUMER_STATS_RESPONSE_TIMEOUT_MS | 1000 | Time to wait for the stats-loading requests to Kafka to finish |
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.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 3 | Max allowed time in seconds for pause between 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.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_HP_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 5 | Max allowed time in seconds for pause between 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.rule-engine.queues.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 5 | Max allowed time in seconds for pause between 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 |
IoT Hub 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
Property | Environment Variable | Default Value | Description |
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 IoT Hub 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.kafka.consumer-stats.enabled | TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED | true | Prints lag between consumer group offset and last messages offset in Kafka topics |
queue.kafka.consumer-stats.print-interval-ms | TB_QUEUE_KAFKA_CONSUMER_STATS_MIN_PRINT_INTERVAL_MS | 60000 | Statistics printing interval for Kafka's consumer-groups stats |
queue.kafka.consumer-stats.kafka-response-timeout-ms | TB_QUEUE_KAFKA_CONSUMER_STATS_RESPONSE_TIMEOUT_MS | 1000 | Time to wait for the stats-loading requests to Kafka to finish |
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.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 3 | Max allowed time in seconds for pause between 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.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_HP_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 5 | Max allowed time in seconds for pause between 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.rule-engine.queues.processing-strategy.max-pause-between-retries | TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_MAX_RETRY_PAUSE | 5 | Max allowed time in seconds for pause between 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 |
IoT Hub 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 |
LwM2M Transport Settings
Property | Environment Variable | Default Value | Description |
Common | |||
transport.lwm2m.enabled | LWM2M_ENABLED | true | Enable/disable lvm2m transport protocol. |
transport.lwm2m.timeout | LWM2M_TIMEOUT | 120000 | - We choose a default timeout a bit higher to the MAX_TRANSMIT_WAIT(62-93s) which is the time from starting to send a Confirmable message to the time when an acknowledgement is no longer expected. - DEFAULT_TIMEOUT = 2 * 60 * 1000l; 2 min in ms |
transport.sessions.inactivity_timeout | TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT | 300000 | Used in initSessionTimeout. If (lastActivityTime of session < (currentTimeMillis - inactivity_timeout)) then the session is closed |
Create and Set DTLS Config | |||
transport.lwm2m.recommended_ciphers | LWM2M_RECOMMENDED_CIPHERS | false | Set usage of recommended cipher suites. * Params DTLS Connector config: -- recommendedCipherSuitesOnly = true allow only recommended cipher suites, -- recommendedCipherSuitesOnly = false, also allow not recommended cipher suites. |
transport.lwm2m.recommended_supported_groups | LWM2M_RECOMMENDED_SUPPORTED_GROUPS | true | Set usage of recommended supported groups (curves). * Params DTLS Connector config: -- recommendedSupportedGroupsOnly = true allow only recommended supported groups, -- recommendedSupportedGroupsOnly = false, also allow not recommended supported groups. Default value is true |
Registered/request/update pool | |||
transport.lwm2m.response_pool_size | LWM2M_RESPONSE_POOL_SIZE | 100 | Specify thread pool size for Transport Response from lwm2mClient |
transport.lwm2m.registered_pool_size | LWM2M_REGISTERED_POOL_SIZE | 10 | Specify thread pool size for Transport Registered of lwm2mClient |
transport.lwm2m.update_registered_pool_size | LWM2M_UPDATE_REGISTERED_POOL_SIZE | 10 | Specify thread pool size for Transport UpdateRegistered of lwm2mClient |
transport.lwm2m.un_registered_pool_size | LWM2M_UN_REGISTERED_POOL_SIZE | 10 | Specify thread pool size for Transport UnRegistered of lwm2mClient |
Keys by security | |||
transport.lwm2m.secure.key_store_type | LWM2M_KEYSTORE_TYPE | JKS | Certificate_x509: * To get helps about files format and how to generate it, see: https://github.com/eclipse/leshan/wiki/Credential-files-format. * If need to create new X509 Certificates: common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_credentials.sh |
transport.lwm2m.secure.key_store_path_file | KEY_STORE_PATH_FILE | Default path: * For core: -- key_store_path_file = "/common/transport/lwm2m/src/main/resources/credentials/serverKeyStore.jks" * For docker: -- key_store_path_file = "/transport/lwm2m/src/main/data/credentials/serverKeyStore.jks" |
|
transport.lwm2m.secure.key_store_password | LWM2M_KEYSTORE_PASSWORD_SERVER | server_ks_password | Key store password for file serverKeyStore.jks |
transport.lwm2m.secure.root_alias | LWM2M_SERVER_ROOT_CA | rootca | Alias of the Trust Certificate |
transport.lwm2m.secure.enable_gen_new_key_psk_rpk | ENABLE_GEN_NEW_KEY_PSK_RPK | false | Function for creating new keys for security mode: PSK and RPK. |
Server LwM2M | |||
transport.lwm2m.server.id | LWM2M_SERVER_ID | 123 | This is: * Default value in Lwm2mClient after start in mode Bootstrap for the object: name "LWM2M Security" field: "Short Server ID" (deviceProfile: Bootstrap.LWM2M SERVER.Short ID) * Default value for the object: name "LwM2M Server" field: "Short Server ID" (deviceProfile: Bootstrap.SERVERS.Short ID) |
transport.lwm2m.server.bind_address | LWM2M_BIND_ADDRESS | 0.0.0.0 | This is: * Hostname for unsecured LwM2M(CoAP) Server * Default Hostname in Lwm2mClient after start in mode Bootstrap for the object: name "LWM2M Security" field: "LWM2M Server URI" (deviceProfile: Bootstrap.LWM2M SERVER.Host) |
transport.lwm2m.server.bind_port_no_sec | LWM2M_BIND_PORT_NO_SEC | 5685 | This is: * Port for unsecured LwM2M(CoAP) Server * Default Port for unsecured CoAP Server in Lwm2mClient after start in mode Bootstrap for the object: name "LWM2M Security" field: "LWM2M Server URI" (deviceProfile: Bootstrap.LWM2M SERVER.Port) |
transport.lwm2m.server.secure.bind_address_security | LWM2M_BIND_ADDRESS_SECURITY | 0.0.0.0 | This is: * Hostname for secured LwM2M(CoAP) Server (Using DTLS) * Default Hostname for the object: name "LWM2M Security" field: "LWM2M Server URI" (deviceProfile: Bootstrap.LWM2M SERVER.Host) |
transport.lwm2m.server.secure.bind_port_security | LWM2M_BIND_PORT_SECURITY | 5686 | This is: * Port for secured LwM2M(Coap) Server (Using DTLS) * Default Port for secured CoAP Server (Using DTLS) in Lwm2mClient after start in mode Bootstrap for the object: name "LWM2M Security" field: "LWM2M Server URI" (deviceProfile: Bootstrap.LWM2M SERVER.Port) |
transport.lwm2m.server.secure.public_x | LWM2M_SERVER_PUBLIC_X | 05064b9e6762dd8d8b8a523 55d7b4d8b9a3d64e6d2ee27 7d76c248861353f358 |
For create of Public Key by LwM2M(Coap) Server (Using DTLS) Only for security mode RPK: If the keystore file is missing or not working |
transport.lwm2m.server.secure.public_y | LWM2M_SERVER_PUBLIC_Y | 5eeb1838e4f9e37b31fa347 aef5ce3431eb54e0a250691 0c5e0298817445721b |
For create of Public Key by LwM2M(Coap) Server (Using DTLS) Only for security mode RPK: If the keystore file is missing or not working - Elliptic Curve parameters : [secp256r1 [NIST P-256, X9.62 prime256v1] (1.2.840.10045.3.1.7)] |
transport.lwm2m.server.secure.private_encoded | LWM2M_SERVER_PRIVATE_ENCODED | 308193020100301306072a8 648ce3d020106082a8648ce 3d030107047930770201010 420dc774b309e547ceb48fe e547e104ce201a9c48c449d c5414cd04e7f5cf05f67ba0 0a06082a8648ce3d030107a 1440342000405064b9e6762 dd8d8b8a52355d7b4d8b9a3 d64e6d2ee277d76c2488613 53f3585eeb1838e4f9e37b3 1fa347aef5ce3431eb54e0a 2506910c5e0298817445721b |
For create of Private Key by LwM2M(Coap) Server (Using DTLS) Only for security mode RPK: If the keystore file is missing or not working |
transport.lwm2m.server.secure.alias | LWM2M_KEYSTORE_ALIAS_SERVER | server | Alias for certificate by LwM2M(Coap) Server (Using DTLS) Only Only for security mode X509 |
Bootstrap Server | |||
transport.lwm2m.bootstrap.enable | LWM2M_ENABLED_BS | true | Enable/disable Bootstrap Server |
transport.lwm2m.bootstrap.id | LWM2M_SERVER_ID_BS | 111 | This is: * Default value in Lwm2mClient after start in mode Bootstrap for the object : name "LWM2M Security" field: "Short Server ID" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Short ID) |
transport.lwm2m.bootstrap.bind_address | LWM2M_BIND_ADDRESS_BS | 0.0.0.0 | This is: * Hostname for unsecured LwM2M(CoAP) Bootstrap Server * Default Hostname in Lwm2mClient after start in mode Bootstrap for the object: name "LWM2M Security" field: "LWM2M Server URI" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Host) |
transport.lwm2m.bootstrap.bind_port_no_sec | LWM2M_BIND_PORT_NO_SEC_BS | 5687 | This is: * Port for unsecured LwM2M(CoAP) Bootstrap Server * Default Port for unsecured CoAP Bootstrap Server in Lwm2mClient after start in mode Bootstrap for the object: name "LWM2M Security" field: "LWM2M Server URI" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Port) |
transport.lwm2m.bootstrap.secure.bind_address_security | LWM2M_BIND_ADDRESS_BS | 0.0.0.0 | This is: * Hostname for secured LwM2M(CoAP) Bootstrap Server (Using DTLS) * Default Hostname in Lwm2mClient after start in mode Bootstrap for the object: name "LWM2M Security" field: "LWM2M Server URI" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Host) |
transport.lwm2m.bootstrap.bind_port_security | LWM2M_BIND_PORT_SECURITY_BS | 5688 | This is: * Port for secured LwM2M(Coap) Bootstrap Server (Using DTLS) * Default Port for secured CoAP Bootstrap Server (Using DTLS) in Lwm2mClient after start in mode Bootstrap for the object: name "LWM2M Security" field: "LWM2M Server URI" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Port) |
transport.lwm2m.bootstrap.public_x | LWM2M_SERVER_PUBLIC_X_BS | 5017c87a1c1768264656b3b 355434b0def6edb8b9bf166 a4762d9930cd730f91 |
For create of Public Key by LwM2M(Coap) Bootstrap Server (Using DTLS) Only for security mode RPK: If the keystore file is missing or not working |
transport.lwm2m.bootstrap.public_y | LWM2M_SERVER_PUBLIC_Y_BS | 3fc4e61bcd8901ec27c4241 14c3e887ed372497f0c2cf8 5839b8443e76988b34 |
For create of Public Key by LwM2M(Coap) Bootstrap Server (Using DTLS) Only for security mode RPK: If the keystore file is missing or not working - Elliptic Curve parameters : [secp256r1 [NIST P-256, X9.62 prime256v1] (1.2.840.10045.3.1.7)] |
transport.lwm2m.bootstrap.private_encoded | LWM2M_SERVER_PRIVATE_ENCODED_BS | 308193020100301306072a8 648ce3d020106082a8648ce 3d030107047930770201010 4205ecafd90caa7be45c42e 1f3f32571632b8409e6e624 9d7124f4ba56fab3c8083a0 0a06082a8648ce3d030107a 144034200045017c87a1c17 68264656b3b355434b0def6 edb8b9bf166a4762d9930cd 730f913fc4e61bcd8901ec2 7c424114c3e887ed372497f 0c2cf85839b8443e76988b34 |
|
transport.lwm2m.bootstrap.alias | |||
transport.lwm2m.bootstrap.private_encoded | LWM2M_KEYSTORE_ALIAS_BS | bootstrap | Alias for certificate by LwM2M(Coap) Bootstrap Server (Using DTLS) Only Only for security mode X509 |
Redis | |||
transport.lwm2m.redis.enabled | LWM2M_REDIS_ENABLED | false | Enable/disable Redis for lvm2m transport |
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.