Configuration

可以通过本地系统上的文件,命令行参数或两者的组合或两者来配置 OpenTSDB。

Configuration File

配置文件符合 Java 属性规范。配置名称是不带空格的小写点缀字符串。每个名称后跟一个等号,然后是属性的值。所有 OpenTSDB 属性都以tsd.开头,或者无效的配置行被井号#阻止。例如:

# List of Zookeeper hosts that manage the HBase cluster
tsd.storage.hbase.zk_quorum = 192.168.1.100

将配置 TSD 以连接到192.168.1.100上的 Zookeeper。

当组合配置文件和命令行参数时,处理 Sequences 如下:

File Locations

您可以使用--config命令行参数来指定配置文件的完整路径。否则,如果未指定,OpenTSDB 和某些命令行工具将尝试在以下位置搜索有效的配置文件:

如果找不到有效的配置文件并且未设置所需的属性,则 TSD 将不会启动。请参阅下面的属性表,以获取必需的配置设置列表。

Properties

下表是所有工具的配置选项表。如果适用,将提供相应的命令行替代。请注意,各个命令行工具可能具有各自的值,因此请参阅其文档以获取详细信息。

Note

有关用于调整 AsyncHBaseClient 端的其他参数,请参阅AsyncHBase Configuration

Property Type Required Description Default CLI
tsd.core.auto_create_metrics Boolean Optional 具有新度量标准的数据点是否会将 UID 分配给该度量标准。如果为 false,则将拒绝具有不在数据库中的度量标准的数据点,并将引发异常。 False --auto-metric
tsd.core.auto_create_tagks (2.1) Boolean Optional 具有新标签名称的数据点是否会将 UID 分配给标签。如果为 false,则将拒绝标签名称不在数据库中的数据点,并引发异常。 True
tsd.core.auto_create_tagvs (2.1) Boolean Optional 具有新标签值的数据点是否会将 UID 分配给标签 v。如果为 false,则将拒绝标签值不在数据库中的数据点,并引发异常。 True
tsd.core.connections.limit (2.3) Integer Optional 设置 TSD 将处理的最大连接数,其他连接将立即关闭。 0
tsd.core.enable_api (2.3) Boolean Optional 是否允许 2.x HTTP API 起作用。禁用后,对诸如/api/query/api/suggest之类的端点的调用将返回 404. True --disable-api
tsd.core.enable_ui (2.3) Boolean Optional 是否允许内置的 GUI 和旧版 HTTP API 起作用。禁用后,对根端点或诸如/logs/suggest之类的其他端点的调用将返回 404. True --disable-ui
tsd.core.histograms.config (2.4) JSON/File Path Optional 直方图编解码器类名称到数字标识的 Map,用于存储多测量数据。对于简单的配置,该值可以是用引号转义的 JSONMap,例如{\"net.opentsdb.core.SimpleHistogramDecoder\": 0,\"net.opentsdb.core.CompactQuantilesSketchCodec\":1}。如果该值以.json结尾,则它将被视为文件路径,并且将打开并解析给定的文件。数字 ID 必须在 0 到 255 之间。
tsd.core.meta.cache.enable (2.3) Boolean Optional 是否启用了元数据缓存插件。 False True
tsd.core.meta.cache.plugin (2.3) String Optional 实现元缓存接口的插件的类名。
tsd.core.meta.enable_realtime_ts Boolean Optional 是否启用实时 TSMeta 对象创建。见Metadata False
tsd.core.meta.enable_realtime_uid Boolean Optional 是否启用实时 UIDMeta 对象创建。见Metadata False
tsd.core.meta.enable_tsuid_incrementing Boolean Optional 每次记录数据点时是否通过增加计数器来启用对 TSUID 的跟踪。请参阅Metadata(替代“ tsd.core.meta.enable_tsuid_tracking”) False
tsd.core.meta.enable_tsuid_tracking Boolean Optional 每次记录数据点时是否通过将1与当前时间戳一起存储来启用 TSUID 跟踪。见Metadata False
tsd.core.plugin_path String Optional TSD 启动时搜索插件的路径。如果路径无效,则 TSD 将无法启动。如果插件在 Classpath 中,则仍然可以启用它们。
tsd.core.preload_uid_cache (2.1) Boolean Optional 启动 TSD 时启用 UID 缓存的预填充。 False
tsd.core.preload_uid_cache.max_entries (2.1) Integer Optional 要扫描以预装 UID 的行数。 300,000
tsd.core.stats_with_port (2.3) Boolean Optional 调用统计端点之一时,是否将 TSD 的侦听网络端口导出为带有统计信息的标记。 False True
tsd.core.storage_exception_handler.enable (2.2) Boolean Optional 是否启用已配置的存储异常处理程序插件。 False
tsd.core.storage_exception_handler.plugin (2.2) String Optional 您希望使用的存储异常处理程序插件的完整类名。
tsd.core.tag.allow_specialchars (2.3) String Optional 度量标准名称,标记名称和标记键中允许使用的 ASCII 字符的可选列表,超过 TSDB 已经允许的范围。允许有空格。 ! ~/
tsd.core.timezone String Optional 本地化的时区标识字符串,用于覆盖执行查询时将绝对时间转换为 UTC 时使用的本地系统时区。这不会影响传入的数据时间戳。例如。美国/洛杉矶 System Configured
tsd.core.tree.enable_processing Boolean Optional 是否启用通过树规则集处理新的/编辑的 TSMeta false
tsd.core.uid.random_metrics (2.2) Boolean Optional 创建新 Metrics 时是否将其随机分配给新 Metrics false
tsd.core.bulk.allow_out_of_order_timestamps *(2.3.2) Boolean Optional 从文本文件批量导入数据时是否允许无序值。 false
tsd.core.authentication.enable *(2.4) Boolean Optional 是否启用指定的身份验证插件 false
tsd.core.authentication.plugin *(2.4) String Optional 要实例化的身份验证插件的类名称。如果tsd.core.authentication.enable设置为 false,则忽略此值。
tsd.http.cachedir String Required 可以写入临时文件的位置的完整路径。例如。/tmp/opentsdb --cachedir
tsd.http.query.allow_delete Boolean Optional 在查询期间是否允许从存储中删除数据点。 False
tsd.query.enable_fuzzy_filter Boolean Optional 使用explicitTags标志进行查询时是否为 HBase 启用 FuzzyRowFilter。 True
tsd.http.header_tag (2.4) String Optional 可选的 HTTPHeaders,当传递到 HTTP/api/put API 时,将提取该 Headers 并将其添加到与内容一起发布的值的标记中。必须与 HTTPHeaders 完全匹配。 X-CustomTag
tsd.http.request.cors_domains String Optional 逗号分隔的域名列表,当 Client 端指定OriginHeaders 时,允许访问 OpenTSDB。如果为空,则 CORS 请求将未经验证通过。该列表不能同时包含公共通配符*和特定域。
tsd.http.request.cors_headers (2.1) String Optional 执行 CORs 请求时发送给 Client 端的 Headers 的逗号分隔列表。此选项的字面值将传递给 Client 端。 授权,Content Type,接受,原始,用户代理,DNT,缓存控制,X-Mx-ReqToken,保持活动,X 请求使用,If-Modified-Since
tsd.http.request.enable_chunked Boolean Optional 是否为 HTTP RPC 启用传入块支持 false
tsd.http.request.max_chunk Integer Optional 启用分块时支持传入 HTTP 请求的最大请求正文大小。 4096
tsd.http.rpc.plugins (2.2) String Optional 启动 TSD 时以逗号分隔的 RPC 插件列表。必须包含整个类名。
tsd.http.show_stack_trace Boolean Optional 发生异常时是否返回带有 API 查询响应的堆栈跟踪。 false
tsd.http.staticroot String Required 静态文件(例如,Web 界面的 JavaScript 文件)所在目录的位置。例如。/opt/opentsdb/staticroot --staticroot
tsd.mode (2.1) String Optional TSD 是否允许写入数据点。必须为rw以允许写入数据,或者为ro以阻止数据点写入。注意,诸如 UID 之类的元数据仍然可以写入/修改。 rw
tsd.network.async_io Boolean Optional 是否使用 NIO 或传统的阻塞 IO True --async-io
tsd.network.backlog Integer Optional 根据 os 的不同,已完成或未完成的连接请求的连接队列深度。默认值可能受“ somaxconn”内核设置的限制,或者由 Netty 设置为 3072. See Description --backlog
tsd.network.bind String Optional 绑定到传入请求的 IPv4 地址。默认为在所有接口上侦听。例如。 127.0.0.1 0.0.0.0 --bind
tsd.network.keep_alive Boolean Optional 是否允许保持活动连接 True
tsd.network.port Integer Required 用于接受连接的 TCP 端口 --port
tsd.network.reuse_address Boolean Optional 是否允许重用 Netty 中的绑定端口 True
tsd.network.tcp_no_delay Boolean Optional 发送数据前是否禁用 TCP 缓冲 True
tsd.network.worker_threads Integer Optional Netty 的异步 IO 工作线程数 #CPU 内核 2 * --worker-threads
tsd.no_diediedie (2.1) Boolean Optional 启用或禁用diediedie HTML 和 ASCII 命令以关闭 TSD。 False
tsd.query.allow_simultaneous_duplicates (2.2) Boolean Optional 是否允许来自同一主机的同时重复查询。如果禁用,则匹配已在运行中的第二个查询将收到异常。 False
tsd.query.filter.expansion_limit (2.2) Integer Optional 在扫描数据期间发送到存储的正则表达式中包含的最大标记值数量。较大的值表示在 HBase 区域服务器上进行更多的计算。 4096
tsd.query.limits.bytes.allow_override,(2.4) Boolean Optional 是否可以基于每个查询覆盖查询字节限制器。 False True
tsd.query.limits.bytes.default (2.4) Integer Optional 从存储中获取的字节数限制。达到此限制时,查询将返回异常。值为 0 将禁用限制器。 0 268435456
tsd.query.limits.data_points.allow_override (2.4) Boolean Optional 是否可以基于每个查询覆盖查询数据点限制器。 False True
tsd.query.limits.data_points.default (2.4) Integer Optional 从存储中获取的数据点数的限制。达到此限制时,查询将返回异常。值为 0 将禁用限制器。 0 1000000
tsd.query.limits.overrides.interval (2.4) Integer Optional 重新加载字节和数据点查询限制器插件配置的频率(以毫秒为单位)。 60000
tsd.query.limits.overrides.config (2.4) JSON/File Path Optional 查询限制配置的路径或完整配置,带有与度量标准名称匹配的选项。
tsd.query.multi_get.enable (2.4) Boolean Optional 是否与搜索插件一起启用多获取查询。 False True
tsd.query.multi_get.batch_size (2.4) Integer Optional 单个请求中发送到存储的获取请求数。 1024
tsd.query.multi_get.concurrent (2.4) Integer Optional 在任何给定时间对多获取查询未完成的同时批处理的数量。 20
tsd.query.multi_get.get_all_salts (2.4) Boolean Optional 是否为每个盐桶都触发了获取请求,或者是否计算了正确的盐桶。更改盐析配置时使用。 False True
tsd.query.skip_unresolved_tagvs (2.2) Boolean Optional 当查询中包含尚未分配 UID 且可能不存在的标签值时是否 continue 查询。 False
tsd.query.timeout (2.2) Integer Optional 取消正在运行的查询之前的时间(以毫秒为单位)。值为 0 表示查询不会超时。 0
tsd.rollups.config (2.4) String Optional 详细描述可用汇总表和聚合的配置文件的路径。必须将tsd.rollups.enable设置为true才能解析此选项。见汇总和预聚合 rollup_config.json
tsd.rollups.enable (2.4) Boolean Optional 是否启用汇总和预聚合存储和写入。 false
tsd.rollups.tag_raw (2.4) Boolean Optional 是否使用tsd.rollups.agg_tag_key中配置的标记键和tsd.rollups.raw_agg_tag_value中配置的值标记未汇总和未预汇总的值 false
tsd.rollups.agg_tag_key (2.4) String Optional 写入存储时标记预聚合数据的特殊键 _aggregate
tsd.rollups.raw_agg_tag_value (2.4) String Optional 写入存储时用于非汇总和非预聚合数据的特殊标记值。 tsd.rollups.tag_raw必须设置为 true。 RAW
tsd.rollups.block_derived (2.4) Boolean Optional 是否阻止存储派生的聚合,例如AVGDEV true
tsd.rpc.plugins String Optional 启动 TSD 时以逗号分隔的 RPC 插件列表。必须包含整个类名。
tsd.rpc.telnet.return_errors (2.4) Boolean Optional 通过putrollup写入数据时是否向 Telnet 样式套接字返回错误 true
tsd.rtpublisher.enable Boolean Optional 是否启用实时发布插件。如果为 true,则必须提供有效的tsd.rtpublisher.plugin类名 False
tsd.rtpublisher.plugin String Optional 要实例化的实时发布插件的类名。如果tsd.rtpublisher.enable设置为 false,则忽略此值。例如。 net.opentsdb.tsd.RabbitMQPublisher
tsd.search.enable Boolean Optional 是否启用搜索功能。如果为 true,则必须提供有效的tsd.search.plugin类名 False
tsd.search.plugin String Optional 要实例化的搜索插件的类名。如果tsd.search.enable设置为 false,则忽略此值。例如。 net.opentsdb.search.ElasticSearch
tsd.stats.canonical Boolean Optional FQDN 是否应随统计请求一起返回。默认统计信息以host=<hostname>返回,不能保证执行查找并返回 FQDN。将此设置为 true 将执行名称查找并返回 FQDN(如果找到),否则可能返回 IP。统计信息输出应为fqdn=<hostname> false
tsd.startup.enable (2.3) Boolean Optional 是否应在 TSD 之前加载 startu 插件。 False True
tsd.startup.plugin (2.3) String Optional 实现 StartupPlugin 接口的插件的名称。
tsd.storage.compaction.flush_interval (2.2) Integer Optional 在压缩队列刷新调用之间 await 的时间(以秒为单位) 10
tsd.storage.compaction.flush_speed (2.2) Integer Optional 一个乘数,用于确定尝试刷新压缩队列的速度。例如。值为 2 表示它将尝试在 30 分钟内刷新整个队列。值 1 将花费一个小时。 2
tsd.storage.compaction.max_concurrent_flushes (2.2) Integer Optional 在任何给定时间对 HBase 进行飞行的最大压缩调用次数 10000
tsd.storage.compaction.min_flush_threshold (2.2) Integer Optional 触发刷新之前必须超过的压缩队列大小 100
tsd.storage.enable_appends (2.2) Boolean Optional 写入数据点时是否将数据追加到列,而不是为每个值创建新列。避免在每个小时后进行压缩,但是可以在 HBase 上使用更多资源。 False
tsd.storage.enable_compaction Boolean Optional 是否启用压缩 True
tsd.storage.fix_duplicates (2.1) Boolean Optional 解析具有重复时间戳的数据点时是否接受最后写入的值。与压缩一起启用时,将使用最新数据点写入压缩列。 False
tsd.storage.flush_interval Integer Optional 刷新数据点存储写缓冲区的频率(以毫秒为单位) 1000 --flush-interval
tsd.storage.get_date_tiered_compaction_start Integer Optional 在 HBase 表上启用日期分层压缩时的 Unix Epoch 时间戳(以毫秒为单位)。这对于将现有 OpenTSDB 安装转移到 DTC 很有用。在此时间段之前开始的查询不会设置查询的时间范围。参见日期分层压缩 0 1514764800000
tsd.storage.hbase.data_table String Optional 存储数据点的 HBase 表的名称 tsdb --table
tsd.storage.hbase.meta_table String Optional 存储元数据的 HBase 表的名称 tsdb-meta
tsd.storage.hbase.prefetch_meta (2.2) Boolean Optional 在启动网络接口之前是否预取 TSDB 表的区域。这样可以提高性能。 False
tsd.storage.hbase.scanner.maxNumRows (2.3) Integer Optional 每次调用扫描仪的 nextRows()方法时,要从 HBase 获取的最大行数。 128 4096
tsd.storage.hbase.tree_table String Optional 存储树数据的 HBase 表的名称 tsdb-tree
tsd.storage.hbase.uid_table String Optional 存储 UID 信息的 HBase 表的名称 tsdb-uid --uidtable
tsd.storage.hbase.zk_basedir String Optional -ROOT-区域的 znode 所在的路径 /hbase --zkbasedir
tsd.storage.hbase.zk_quorum String Optional 用逗号分隔的 ZooKeeper 主机列表,可连接或不连接端口说明符。例如。 192.168.1.1:2181,192.168.1.2:2181 localhost --zkquorum
tsd.storage.repair_appends (2.2) Boolean Optional 当列中包含重复或无序数据时,是否在查询时重写附加数据点列。 False
tsd.storage.max_tags (2.2) Integer Optional 每个数据点允许的最大标签数。创建集群后可以更改此值。 注意 请注意过度使用标签写入的性能折衷 8
tsd.storage.salt.buckets (2.2) Integer Optional 用于在各个区域之间分配负载的盐桶数量。 注意 写入数据后更改此值可能会导致基于 TSUID 的查询失败。 20
tsd.storage.salt.width (2.2) Integer Optional 盐前缀的宽度(以字节为单位),用于指示时间序列所属的存储桶。值 0 表示禁用盐析。 警告 将数据写入 HBase 后请勿更改,否则将破坏表并且无法再查询。 0
tsd.timeseriesfilter.enable (2.3) Boolean Optional 是否启用了数据写入过滤器插件。 False True
tsd.timeseriesfilter.plugin (2.3) String Optional 插件的 Classpath,该插件实现 WriteableDataPointFilterPlugin 接口以过滤写入时的时间序列。
tsd.storage.uid.width.metric (2.2) Integer Optional 度量标准 UID 的宽度(以字节为单位)。最大值为 7. 警告 将数据写入 HBase 后请勿更改,否则将损坏表并且无法再查询。 3
tsd.storage.uid.width.tagk (2.2) Integer Optional 标签名称 UID 的宽度(以字节为单位)。最大值为 7. 警告 将数据写入 HBase 后请勿更改,否则将损坏表并且无法再查询。 3
tsd.storage.uid.width.tagv (2.2) Integer Optional 标签值 UID 的宽度(以字节为单位)。最大值为 7. 警告 将数据写入 HBase 后请勿更改,否则将损坏表并且无法再查询。 3
tsd.storage.use_max_value (2.4) Boolean Optional 找到重复项并且 tsd.storage.use_otsdb_timestamp 时是否在 TSDB 压缩期间选择较大的数值已设置为 true。 True False
tsd.storage.use_otsdb_timestamp (2.4) Boolean Optional 将数据点的时间戳用于存储中的编辑,而不是现在的默认值。参见日期分层压缩 False True
tsd.uidfilter.enable (2.3) Boolean Optional 是否启用了 UID 分配插件过滤器。 False True
tsd.uidfilter.plugin (2.3) String Optional 一个实现 UniqueIdFilterPlugin 接口的插件。
tsd.uid.lru.enable (2.4) Boolean Optional 将 UID 缓存从无限制 Map 更改为 LRU 缓存。 False True
tsd.uid.lru.id.size (2.4) Integer Optional 反向 UID 到字符串 Map 中的条目总数。将其乘以 3 可获得可用条目的总数,每种 UID 类型(度量,标记键,标记值)一个。 5000000 1000000
tsd.uid.lru.name.size (2.4) Integer Optional UID 转发字符串 Map 中的条目总数。将其乘以 3 可获得可用条目的总数,每种 UID 类型(度量,标记键,标记值)一个。 5000000 1000000
tsd.uid.use_mode (2.4) Boolean Optional 确定是否应基于 tsd.mode 设置填充名称和/或 ID 缓存。 False True

Data Types

一些配置值需要特别考虑:

其他任何值都将产生False。解析不区分大小写

my.property = Hello World\!
my.property = \u0009
首页