Edge
ThingsBoard Edge Documentation
Cloud Professional Edition Community Edition Edge PE Edge IoT Gateway License Server Trendz Analytics Mobile Application PE Mobile Application
Try it now Pricing
Getting Started Documentation
Architecture API FAQ

On this page

Configuration properties

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

You can find configuration files in the following directory:

1
2
Windows: YOUR_INSTALL_DIR/conf
Linux: /usr/share/tb-edge/conf

All application properties are located in the file tb-edge.yml and all environment variables are in tb-edge.conf

ThingsBoard Edge Core Settings

This is the main configuration file that contains configuration properties for transports (HTTP, MQTT, CoAP), database (PostgreSQL), 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 200+ configuration parameters in tb-edge.yml file. We will list only main configuration parameters below to avoid duplication of the parameter descriptions and to simplify maintenance of this documentation page.

PropertyEnvironment VariableDefault ValueDescription
Cloud configuration
cloud.routingKey CLOUD_ROUTING_KEY Your edge key # e.g. 19ea7ee8-5e6d-e642-4f32-05440a529015
cloud.secret CLOUD_ROUTING_SECRET Your edge secret # e.g. bztvkvfqsye7omv9uxlp
cloud.reconnect_timeout CLOUD_RECONNECT_TIMEOUT 3000 Time to wait before reconnecting to cloud in case connectivity was lost
cloud.rpc.host CLOUD_RPC_HOST localhost IP address of the machine with the ThingsBoard platform # e.g. thingsboard.cloud, demo.thingsboard.io, X.X.X.X, localhost
cloud.rpc.port CLOUD_RPC_PORT 7070 Edge RPC port according to ThingsBoard server configuration
cloud.rpc.timeout CLOUD_RPC_TIMEOUT 5 Timeout in seconds for channel termination
cloud.rpc.keep_alive_time_sec CLOUD_RPC_KEEP_ALIVE_TIME_SEC 360 Number of seconds to keep alive connection. If after X seconds keep alive messages will not be colivered consider connection to cloud as lost
cloud.rpc.ssl.enabled CLOUD_RPC_SSL_ENABLED false Enable TLS communication between cloud and edge
cloud.rpc.ssl.cert CLOUD_RPC_SSL_CERT Cert file to be used during TLS connectivity to cloud
cloud.rpc.storage.max_read_records_count CLOUD_RPC_STORAGE_MAX_READ_RECORDS_COUNT 50 Max records of cloud event to read from local DB and sent to cloud
cloud.rpc.storage.no_read_records_sleep CLOUD_RPC_NO_READ_RECORDS_SLEEP 1000 Number of milliseconds to wait before next check of cloud events in local DB
cloud.rpc.storage.sleep_between_batches CLOUD_RPC_SLEEP_BETWEEN_BATCHES 1000 Number of milliseconds to wait before send failed batch of cloud events to cloud
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
Security parameters
security.jwt.tokenExpirationTime JWT_TOKEN_EXPIRATION_TIME 900 User JWT Token expiration time in seconds
security.jwt.refreshTokenExpTime JWT_REFRESH_TOKEN_EXPIRATION_TIME 3600 User JWT Refresh Token expiration time in seconds
security.jwt.tokenIssuer JWT_TOKEN_ISSUER thingsboard.io User JWT Token issuer
security.jwt.tokenSigningKey JWT_TOKEN_SIGNING_KEY thingsboardDefaultSigningKey User JWT Token sign key
security.user_token_access_enabled SECURITY_USER_TOKEN_ACCESS_ENABLED true Enable/disable access to Tenant Administrators JWT token by System Administrator or Customer Users JWT token by Tenant Administrator
security.user_login_case_sensitive SECURITY_USER_LOGIN_CASE_SENSITIVE true Enable/disable case-sensitive username login
Dashboard parameters
dashboard.max_datapoints_limit DASHBOARD_MAX_DATAPOINTS_LIMIT 50000 Maximum allowed datapoints fetched by ThingsBoard UI widgets
Common database parameters
database.ts_max_intervals DATABASE_TS_MAX_INTERVALS 700 Max number of DB queries generated by single API call to fetch telemetry records
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.
sql.ttl.cloud_events.enabled SQL_TTL_CLOUD_EVENTS_ENABLED true Parameter to enable or disable TTL(Time To Live) for cloud events.
sql.ttl.cloud_events.execution_interval_ms SQL_TTL_CLOUD_EVENTS_EXECUTION_INTERVAL 86400000 Parameter to specify how often TTL(Time To Live) will be checked.
sql.ttl.cloud_events.cloud_events_ttl SQL_TTL_CLOUD_EVENTS_TTL 2628000 The parameter to specify TTL(Time To Live) value for cloud event records. Value set in seconds. 0 - records are never expired.
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.
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.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
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}[email protected]{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

Logging

tb-edge.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.