千家信息网

OpentTsdb官方文档中文版----查询示例

发表于:2024-10-15 作者:千家信息网编辑
千家信息网最后更新 2024年10月15日,  以下是使用示例数据集合的查询示例列表。我们将说明可能遇到的一些常见查询类型,以便了解查询系统的工作原理。示例集合中的每个时间序列都只存储一个数据点,并且UID已被截断为单个字节,以便于阅读。示例查
千家信息网最后更新 2024年10月15日OpentTsdb官方文档中文版----查询示例

  以下是使用示例数据集合的查询示例列表。我们将说明可能遇到的一些常见查询类型,以便了解查询系统的工作原理。示例集合中的每个时间序列都只存储一个数据点,并且UID已被截断为单个字节,以便于阅读。示例查询都是来自HTTP API的指标查询,并且仅显示m=组件。有关详细信息,请参阅/api/query。如果使用的是CLI工具,查询格式会略有不同,请阅读特定命令的文档。

时间序列指标标签TSUID
1sys.cpu.systemdc=dal host=web010102040101
2sys.cpu.systemdc=dal host=web020102040102
3sys.cpu.systemdc=dal host=web030102040103
4sys.cpu.systemhost=web01010101
5sys.cpu.systemhost=web01 owner=jdoe0101010306
6sys.cpu.systemdc=lax host=web01010102050101
7sys.cpu.systemdc=lax host=web02010102050102
8sys.cpu.systemdc=dal host=web01020202040101
9sys.cpu.systemdc=dal host=web02020202040102

UIDS

NameUID
Metrics
cpu.system01
cpu.user02
Tagks
host01
dc02
owner03
Tagvs
web0101
web0202
web0303
dal04
lax05
jdoe06

警告:
  这并不是设置指标和标签的最佳方式,而是为了说明查询系统的工作原理。特别是,TS#4和5,虽然是合法的时间序列,但可能会搞砸你的查询,除非你知道它们是如何工作的。一般来说,尽量为每个时间序列保留相同数量和类型的标签。

Under the hood

  您可能想了解OpenTSDB如何在这里存储时间序列数据:存储。否则,请记住存储器中的每一行都有一个唯一的格式化的键:

    [...  ]

上面的数据表将被存储为

01 < TS > 0101 01 < TS > 01010306 01 < TS > 02040101 01 < TS > 02040102 01 < TS > 02040103 01 < TS > 02050101 01 < TS > 02050102 02 < TS > 02040101 02 < TS > 02040102

  当你查询OpenTSDB时:

  • 查询将被解析并进行验证,以确保格式正确,并且存在指标,标签名称和标签值。如果系统中不存在单个指标,标签名称或值,则会返回错误。
  • 然后它为底层存储系统设置扫描程序。
    1. 如果查询没有任何标签或标签值,那么它将抓取任何匹配的数据行,因此如果您有特定度量标准的大量时间序列,则这可能是许多行。
    2. 如果查询确实定义了一个或多个标记,则它仍将扫描匹配的所有行,但也会执行正则表达式以仅返回包含所请求标记的行。
  • 一旦所有数据都被返回,OpenTSDB将其组织成组,如果需要的话
  • 如果要求下采样,则使用适当的聚合器将每个单独的时间序列下采样到更小的时间跨度中
  • 然后使用特定的聚合函数聚合每组数据
  • 如果rate检测到该标志,则会调整每个汇总以获得汇率。
  • 结果返回给调用者
0