Configuration
OpenTSDB can be configured via a file on the local system, via command line arguments or a combination or both.
Configuration File
The configuration file conforms to the java properties specification. Configuration names are lower-case, dotted string without spaces. Each name is followed by an equals sign, then the value for the property. All OpenTSDB properties start with tsd
. Comments or inactive configuration lines are blocked by a hash symbol#
. For example:
# List of Zookeeper hosts that manage the HBase cluster
tsd.storage.habse.zk_quorum = 192.168.1.100
with configure the TSD to connect to Zookeeper on 192.168.1.100
When combining configuration files and command line arguments, the order of processing is as follows:
- Default values are loaded
- Configuration files values for loaded, overriding default values
- Command line parameters are loaded, overriding config file and default files.
File Locations
You can use the --config
command line argument to specify the full path to a configuration file. Otherwise if not specified, OpenTSDB and some of the command-line tools will attempt to search for a valid configuration file in the following locations:
- /opentsdb.conf
- /etc/opentsdb.conf
- /etc/opentsdb/opentsdb.conf
- /opt/opentsdb/opentsdb.conf
In the event that a valid configuration file cannot be found and the required properties are not set, the TSD will not start. Please see the properties table below for a list required configuration settings.
Properites
The following is a table of configuration options for all tools. When applicable, the corresponding command line override is provided. Please note that individual command line tools may have their own values so see their documentation for details.
Note For additional parameters used for tuning the AsyncHBase client, see AsyncHBase Configuration
Property | Type | Required | Default | CLI | Description |
---|---|---|---|---|---|
tsd.core.auto_create_metrics | Boolean | Optional | False | --auto-metric | Whether or not a data point with a new metric will assign a UID to the metric. When false, a data point with a metric that is not in the database will be rejected and an exception will be thrown. |
tsd.core.auto_create_tagks(2.1) | Boolean | Optional | True | Whether or not a data point with a new tagk will assign a UID to the tag name. When false, a data point with a tag name that was not in the databse will be rejected and an exception will be thrown. | |
tsd.core.auto_create_tagvs(2.1) | Boolean | Optional | True | Whether or not a data point with a new tagv will assign a UID to the tag value. When false, a data point with a tag value that was not in the databse will be rejected and an exception will be thrown. |
Data Types
Some configuration values require special consideration:
Booleans - The following literals will parse to
True
:- 1
- true
- yes
Any other values will result in
False
. Parsing is case insensitive- Strings - Strings,even those with spaces, do not require quotation marks, but come considerations apply:
- Special characters must escaped with a backslash include:
#
,!
,=
, and:
e.g:my.property = Hello World\!
- Unicode characters must escaped with their hexadecimal representation, e.g:
my.propertity = \u0009
- Special characters must escaped with a backslash include: