问题标签 [opentsdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
295 浏览

hadoop - 竞争条件警告 OpenTSDB

我在同时向 openTSDB 运行多个导入时收到竞争条件警告。以下是显示竞态条件的日志序列之一。

2013-08-21 14:34:24,745 INFO [main] UniqueId:为 kind='tagv' name='25447' 创建 ID

2013-08-21 14:34:24,747 INFO [main] UniqueId:得到 ID = 307 for kind='tagv' name='25447'

2013-08-21 14:34:24,752 WARN [main] UniqueId: Race condition: 试图将 ID 307 分配给 tagv:25447,但 CAS 在 PutRequest(table="tsdb-uid", key="25447", family =“id”,限定符=[“tagv”],值=[“\x00\x013”],时间戳=9223372036854775807,lockid=-1,持久=真,可缓冲=真,尝试= 0,区域=空),这表明此 UID 必须已由另一个 TSD 同时分配。所以 ID 307 被泄露了。

我有以下问题:

  1. 既然是警告,那是不是记录是真的写了,没有跳过?
  2. 最后它说,“ID 307 已泄露”,那么是否为该记录分配了其他 ID?
  3. 如何验证该记录是否已写入 HBase 名为 'tsdb-uid' 的表中?(HBase shell 命令,我尝试了一些但徒劳无功)。
0 投票
2 回答
2157 浏览

c# - JSON 对象反序列化为 c# 对象 - OpenTSDB

我第一次处理 JSON 并从 OpenTSDB 获取数据。我创建了 ac# 类以将 JSON 反序列化为,但我收到错误“无法反序列化当前 JSON 数组”,如下所述。

我获取 JSON 的 c# 代码:

我从上述代码中收到的 JSON(即“文本”变量):

我的 C# 课程

反序列化对象时的错误:

无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型“MyNamespace.OpenTSDBResponse”,因为该类型需要 JSON 对象(例如 {"name":"value"})才能正确反序列化。修复此错误要么将 JSON 更改为 JSON 对象(例如 {"name":"value"}),要么将反序列化类型更改为数组或实现集合接口的类型(例如 ICollection、IList),例如可以从JSON 数组。也可以将 JsonArrayAttribute 添加到类型以强制它从 JSON 数组反序列化。Path '', line 1, position 1。

附加信息

我使用 codeproject 反序列化 JSON 项目来创建我的基本类,但它为每个 '"1377050434":1271779.0' 创建了一个新的 c# 属性,因此我更新为使用我的 TimeValue 类。http://www.codeproject.com/Tips/79435/Deserialize-JSON-with-C

问题:

如何将其放入适当的 c# 类结构中?

针对以下用户评论的附加信息:

  • bjaminn 的评论: 我相信您收到的 JSON 是一个数组。例外是当您真正想要 OpenTSDBResponse[] 时,您正在将 object[] 转换为 OpenTSDBResponse。另一种调试方法是查看变量变量并查看它在调试器中的类型。当然,引发异常的行需要被注释掉。

    结果:我像这样修改了反序列化

    OpenTSDBResponse[] myObject = (OpenTSDBResponse[])Newtonsoft.Json.JsonConvert.DeserializeObject(text, typeof(OpenTSDBResponse[]));

    但是当我运行它时收到以下错误:

    无法将当前 JSON 对象(例如 {"name":"value"})反序列化为类型“System.Collections.Generic.List`1[MyNamespace.OpenTSDBResponseJsonTypes.TimeValue]”,因为该类型需要 JSON 数组(例如 [1, 2,3]) 以正确反序列化。要修复此错误,请将 JSON 更改为 JSON 数组(例如 [1,2,3])或更改反序列化的类型,使其成为普通的 .NET 类型(例如,不是原语可以从 JSON 对象反序列化的整数类型,而不是数组或列表等集合类型。JsonObjectAttribute 也可以添加到类型中以强制它从 JSON 对象反序列化。路径 '[0].dps.1377050434',第 1 行,位置 121。

关于其他 JSON 新手的工作解决方案的附加说明 我在我的字典类中添加了另一个属性,因为它实际上是“unix-time-stamp-data”、“Value”。这使我可以使用日期时间/值在 c# 中工作。可能有更好的投射方法,但这不会对我的场景造成任何明显的性能问题。

0 投票
1 回答
4220 浏览

c# - OpenTSDB - 通过 http 获取所有指标

我从 OpenTSDB 获取一些数据,但无法弄清楚如何通过 http 获取指标列表?

作为参考,这是我用来获取数据的 c# 代码。是否有可以返回所有指标的 url?

默认的 OpenTSDB 网站按照以下屏幕截图提供此功能,我想从我的 asp 网站中模仿此功能。

在此处输入图像描述

0 投票
1 回答
1302 浏览

java - 如何使用 tCollector 通过 java 在 openTSDB 中添加数据

我的目标是通过java代码直接将数据插入TSDB,为此,我尝试创建将数据打印到STDOUT的可执行jar。然后我写了收集器来运行这个 jar 并把它放进去tcollector/collectors/0。最后,我尝试以两种方式执行收集器,一种在 shell 脚本中,另一种在 python 中。

Python 收集器:

上面的收集器工作得很好,但是当我尝试从 shell 脚本运行同一个 jar 时,收集器没有选择 shell 脚本。

Shell 脚本收集器:

我必须配置一些东西来注册这个收集器吗?如果我们必须通过 Java 插入数据,那么使用 Collector 做同样的事情的最好方法是什么?

0 投票
1 回答
3903 浏览

monitoring - OpenTSDB 如何对数据进行下采样

我有一个关于 OpenTSDB 下采样的两部分问题。

首先是我想知道是否有人知道 OpenTSDB 在计算下采样时是否采用最后一个端点(包含或不包含),或者它是否计算结束数据点两次?

例如,如果我的时间间隔是下午 12:30 到下午 1:30,并且我从下午 12:29:44 开始每 5 分钟获取一次 DP,并且我的下采样间隔是每 10 分钟求和一次,那么系统是否从 12:30 开始获取 DP -12:39 和它们相加,12:40-12:49 和它们相加,等等,或者它从 12:30-12:40 开始,然后从 12:40-12:50 开始等等。是的,我知道我的数据关闭了 15 秒,但我无法控制。

我试图手动计算它,但我拥有的数据对我没有帮助。我计算的数字与上述不相加,也不与图表显示的相匹配。我无权访问将数字推送到 OpenTSDB 的系统,因此我无法设置要检查的虚拟数据。

第二个问题是下采样如何根据我的时间范围和下采样间隔在图表上绘制它的点?我将下采样设置为总和 10 分钟块。我将我的范围设置为下午 12:30 到下午 1:30。该图显示了从下午 12:35 开始的下采样图的第一个点。这是合乎逻辑的。
我将范围更改为 12:24 pm-1:29 pm,并预计第一个点从 12:30 开始,但显示的第一个点是 12:25 pm。

希望有人可以为我回答这些问题。与此同时,我将继续尝试在我的系统中找到一些有助于显示/证明下采样应该如何工作的数据。

在此先感谢您的帮助。

0 投票
1 回答
1726 浏览

hadoop - 配置多个 OpenTSDB 以使用单个 HBase 后端

我必须配置多个 openTSDB 才能将数据放入一个单 HBase。在所有 TSD 中,一个将在 Hbase 本地运行,而其他将在远程运行。为此,我尝试使用 --zkquorum=xxx:xxx:xxx:xxx:YY 的额外参数运行 TSD,尽管它能够连接但内部出现了一些异常。有人可以告诉我我必须配置什么才能运行多个 TSD 以使用单个 Hbase。

0 投票
0 回答
1592 浏览

cassandra - 直接查询 kairosdb 列族

我正在尝试从 Cassandra 中提取一些时间序列数据。数据由外部应用程序放在那里,它使用 KairosDB 写入数据(基于 OpenTSDB)。我无法选择将 KairosDB 库放入我正在开发的应用程序中,但 Datastax Cassandra 库已经可供我使用。

我将如何编写基本查询以以可用的方式直接从 Cassandra 检索信息?我可以为行键索引指定开始/结束时间和附加标签的查询。其中一些可能是我缺少的基本 Cassandra 知识,但存在特定于架构的问题,例如采样时间存储为 row_key_index 中绝对时间戳的相对值,或者数据可以拆分为多个 row_key_index 的事实列取决于数据的保留和请求的时间跨度。

如果我直接从列族中查询数据,我会得到如下信息:

如果我对 row_key_index 表进行查询,则数据全部存储为 blob。进行 blob->ascii 转换给出:

column1 上的相同转换给出:

和数据点:

我看不到时间。我期待 row_key_index 中的绝对时间和 data_points 中的相对偏移量。我有时看不到价值。我没有看到查询特定机器统计信息的方法,因为该信息似乎嵌入到 row_key_index.column1 中的标签中,而且我不知道 cql 中有任何 LIKE 或范围切片等效项。

0 投票
3 回答
3089 浏览

ubuntu - HBaseClient:-ROOT- 区域的 znode 不存在

我按照说明设置 OpenTSDB: http: //opentsdb.net/getting-started.htmlhttp://opentsdb.net/setup-hbase.html。在我使用命令启动 opentsdb 后:

我收到以下错误:

2013-10-04 22:59:40,577 ERROR [main-EventThread] HBaseClient: The znode for the -ROOT- region doesn't exist!

这是来自 hbase 的日志文件:

0 投票
3 回答
547 浏览

opentsdb - openTSDB 查询没有标签的指标

有什么方法可以查询没有标签的度量值?例如 metric1 是用 tag1、tag2 或只有 tag1 记录的。我怎样才能得到所有只有 tag1nd 而不是同时有 tag1 和 tag2 的图形?

0 投票
3 回答
2008 浏览

java - OPENTSDB fsck --fix 不纠正重复点

我正在使用 OPENTSDB,在查询时我得到了这个:

我尝试过使用 fsck --fix ,但这就是说没有发现错误。有没有办法: 1. 除了手动删除数据点之外解决这个问题 2. 了解发生了什么以及如何防止这种情况。

谢谢