Skip to content
Stand with Ukraine flag

Report Service Configuration

HTTP_BIND_ADDRESS · Default 0.0.0.0

Server bind-address

HTTP_BIND_PORT · Default 8081

Server bind port

ZOOKEEPER_ENABLED · Default true

Enable/disable zookeeper discovery service.

ZOOKEEPER_URL · Default localhost:2181

ZooKeeper connect string

ZOOKEEPER_RETRY_INTERVAL_MS · Default 3000

ZooKeeper retry interval in milliseconds

ZOOKEEPER_CONNECTION_TIMEOUT_MS · Default 3000

ZooKeeper connection timeout in milliseconds

ZOOKEEPER_SESSION_TIMEOUT_MS · Default 3000

ZooKeeper session timeout in milliseconds

ZOOKEEPER_NODES_DIR · Default /thingsboard

Name of the directory in zookeeper ‘filesystem’

ZOOKEEPER_RECALCULATE_DELAY_MS · Default 0

The recalculate_delay property is recommended in a microservices architecture setup for rule-engine services. This property provides a pause to ensure that when a rule-engine service is restarted, other nodes don’t immediately attempt to recalculate their partitions. The delay is recommended because the initialization of rule chain actors is time-consuming. Avoiding unnecessary recalculations during a restart can enhance system performance and stability.

TB_QUEUE_TYPE · Default kafka

kafka (Apache Kafka)

TB_QUEUE_PREFIX

Global queue prefix. If specified, prefix is added before default topic name: ‘prefix.default_topic_name’. Prefix is applied to all topics (and consumer groups for kafka).

TB_KAFKA_SERVERS · Default localhost:9092

Kafka Bootstrap nodes in “host:port” format

TB_KAFKA_SSL_ENABLED · Default false

Enable/Disable SSL Kafka communication

TB_KAFKA_SSL_TRUSTSTORE_LOCATION

The location of the trust store file

TB_KAFKA_SSL_TRUSTSTORE_PASSWORD

The password of trust store file if specified

TB_KAFKA_SSL_KEYSTORE_LOCATION

The location of the key store file. This is optional for the client and can be used for two-way authentication for the client

TB_KAFKA_SSL_KEYSTORE_PASSWORD

The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format

TB_KAFKA_SSL_KEY_PASSWORD

The password of the private key in the key store file or the PEM key specified in ‘keystore.key’

TB_KAFKA_ACKS · Default all

The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. The following settings are allowed:0, 1 and all

TB_KAFKA_RETRIES · Default 1

Number of retries. Resend any record whose send fails with a potentially transient error

TB_KAFKA_COMPRESSION_TYPE · Default none

none or gzip

TB_KAFKA_BATCH_SIZE · Default 16384

Default batch size. This setting gives the upper bound of the batch size to be sent

TB_KAFKA_LINGER_MS · Default 1

This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record

TB_KAFKA_MAX_REQUEST_SIZE · Default 1048576

The maximum size of a request in bytes. This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests

TB_KAFKA_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION · Default 5

The maximum number of unacknowledged requests the client will send on a single connection before blocking

TB_BUFFER_MEMORY · Default 33554432

The total bytes of memory the producer can use to buffer records waiting to be sent to the server

TB_QUEUE_KAFKA_REPLICATION_FACTOR · Default 1

The multiple copies of data over the multiple brokers of Kafka

TB_QUEUE_KAFKA_MAX_POLL_INTERVAL_MS · Default 300000

The maximum delay between invocations of poll() method when using consumer group management. This places an upper bound on the amount of time that the consumer can be idle before fetching more records

TB_QUEUE_KAFKA_MAX_POLL_RECORDS · Default 8192

The maximum number of records returned in a single call of poll() method

TB_QUEUE_KAFKA_MAX_PARTITION_FETCH_BYTES · Default 16777216

The maximum amount of data per-partition the server will return. Records are fetched in batches by the consumer

TB_QUEUE_KAFKA_FETCH_MAX_BYTES · Default 134217728

The maximum amount of data the server will return. Records are fetched in batches by the consumer

TB_QUEUE_KAFKA_REQUEST_TIMEOUT_MS · Default 30000

(30 seconds)

TB_QUEUE_KAFKA_SESSION_TIMEOUT_MS · Default 10000

(10 seconds)

TB_QUEUE_KAFKA_AUTO_OFFSET_RESET · Default earliest

earliest, latest or none

TB_QUEUE_KAFKA_USE_CONFLUENT_CLOUD · Default false

Enable/Disable using of Confluent Cloud

TB_QUEUE_KAFKA_CONFLUENT_SSL_ALGORITHM · Default https

The endpoint identification algorithm used by clients to validate server hostname. The default value is https

TB_QUEUE_KAFKA_CONFLUENT_SASL_MECHANISM · Default PLAIN

The mechanism used to authenticate Schema Registry requests. SASL/PLAIN should only be used with TLS/SSL as a transport layer to ensure that clear passwords are not transmitted on the wire without encryption

TB_QUEUE_KAFKA_CONFLUENT_SASL_JAAS_CONFIG · Default org.apache.kafka.common.security.plain.PlainLoginModule required username=“CLUSTER_API_KEY” password=“CLUSTER_API_SECRET”;

Using JAAS Configuration for specifying multiple SASL mechanisms on a broker

TB_QUEUE_KAFKA_CONFLUENT_SECURITY_PROTOCOL · Default SASL_SSL

Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL

TB_QUEUE_KAFKA_TASKS_MAX_POLL_RECORDS · Default 1

Max poll records for tasks topics

TB_QUEUE_KAFKA_OTHER_PROPERTIES

In this section you can specify custom parameters (semicolon separated) for Kafka consumer/producer/admin

TB_QUEUE_KAFKA_TASKS_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:104857600;partitions:1;min.insync.replicas:1

Kafka properties for tasks topics

TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED · Default true

Prints lag between consumer group offset and last messages offset in Kafka topics

TB_QUEUE_KAFKA_CONSUMER_STATS_MIN_PRINT_INTERVAL_MS · Default 60000

Statistics printing interval for Kafka’s consumer-groups stats

TB_QUEUE_KAFKA_CONSUMER_STATS_RESPONSE_TIMEOUT_MS · Default 1000

Time to wait for the stats-loading requests to Kafka to finish

TB_QUEUE_KAFKA_TOPICS_CACHE_TTL_MS · Default 300000

Topics cache TTL in milliseconds. 5 minutes by default

TB_QUEUE_TASKS_POLL_INTERVAL_MS · Default 500

Poll interval in milliseconds for tasks topics

TB_QUEUE_TASKS_PARTITIONS · Default 12

Partitions count for tasks queues

TB_QUEUE_TASKS_PARTITIONS_PER_TYPE

Custom partitions count for tasks queues per type. Format: ‘TYPE1:24;TYPE2:36’, e.g. ‘CF_REPROCESSING:24;TENANT_EXPORT:6’

TB_QUEUE_TASKS_PARTITIONING_STRATEGY · Default tenant

Tasks partitioning strategy: ‘tenant’ or ‘entity’. By default, using ‘tenant’ - tasks of a specific tenant are processed in the same partition. In a single-tenant environment, use ‘entity’ strategy to distribute the tasks among multiple partitions.

TB_QUEUE_REPORT_NOTIFICATIONS_TOPIC · Default tb_report.notifications

TB Report notifications topic name

TB_QUEUE_REPORT_POLL_INTERVAL_MS · Default 125

Poll interval in milliseconds for TB Report queues

TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME · Default murmur3_128

murmur3_32, murmur3_128 or sha256

TBEL_ENABLED · Default true

Enable/Disable TBEL feature.

TBEL_MAX_TOTAL_ARGS_SIZE · Default 100000

Limit the number of arguments that are passed to the function to execute the script

TBEL_MAX_RESULT_SIZE · Default 300000

Maximum allowed symbols in a result after processing a script

TBEL_MAX_SCRIPT_BODY_SIZE · Default 50000

Maximum allowed symbols in the script body

TBEL_MAX_MEMORY_LIMIT_MB · Default 8

Maximum allowed TBEL script execution memory

TBEL_MAX_ERRORS · Default 3

Maximum allowed TBEL script execution errors before it will be blacklisted

TBEL_MAX_REQUEST_TIMEOUT · Default 500

TBEL Eval max request timeout in milliseconds. 0 - no timeout

TBEL_MAX_BLACKLIST_DURATION_SEC · Default 60

Maximum time in seconds for black listed function to stay in the list.

TBEL_THREAD_POOL_SIZE · Default 50

Specify thread pool size for javascript executor service

TBEL_COMPILED_SCRIPTS_CACHE_SIZE · Default 1000

Maximum cache size of TBEL compiled scripts

TB_TBEL_STATS_ENABLED · Default false

Enable/Disable stats collection for TBEL engine

TB_TBEL_STATS_PRINT_INTERVAL_MS · Default 10000

Interval of logging for TBEL stats

TB_SERVICE_TYPE · Default tb-report

Type of report service

TB_SERVICE_ID

Unique id for this service (autogenerated if empty)

TB_CORE_BASE_URL · Default http://localhost:8080

Base URL of the ThingsBoard Core service

SSRF_PROTECTION_ENABLED · Default false

Enable/disable SSRF protection for report image resolution. When enabled, blocks file://, private IPs, cloud metadata endpoints, etc.

SSRF_ADDITIONAL_BLOCKED_HOSTS

Comma-separated list of additional blocked hosts/CIDRs for SSRF protection (e.g. “evil.corp,203.0.113.0/24”)

SSRF_ALLOWED_HOSTS

Comma-separated list of allowed destinations that bypass SSRF blocking (IPs, CIDR subnets, or hostnames). Use this when reports need to access resources on private networks (e.g., 192.168.1.0/24). Example: “192.168.1.0/24,10.0.0.0/8,my-internal-service.corp”

REPORTS_SERVER_ENDPOINT_URL · Default http://localhost:8383

Report server endpoint

MAX_RESPONSE_SIZE · Default 52428800

50MB

METRICS_ENABLED · Default false

Enable/disable actuator metrics.

METRICS_TIMER_PERCENTILES · Default 0.5

Metrics percentiles returned by actuator for timer metrics. List of double values (divided by ,).

METRICS_ENDPOINTS_EXPOSE · Default info

Expose metrics endpoint (use value ‘prometheus’ to enable prometheus metrics).