如何使用tcollector通过java在opentsdb中添加数据

mkh04yzy  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(338)

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

def main():
    while True:
        os.system("java -jar ./TCollectorTSDB.jar")
        sys.stdout.flush()
        time.sleep(COLLECTION_INTERVAL)    
if __name__ == "__main__":
    sys.stdin.close()
    sys.exit(main())

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

java -jar "./TCollectorTSDB.jar"

我必须配置一些东西才能注册这个收集器吗?如果我们必须通过java插入数据,那么用collector插入数据的最佳方法是什么?

yhxst69z

yhxst69z1#

tcollector并不关心您编写的收集器是python还是shell脚本之类的。只要你把收集器放进去 tcollector/collectors/0 它应该是自动拾取的。如果不是,那么检查shell脚本是否可执行( chmod a+x )而且是从一个雪邦开始的( #!/bin/sh 例如)。

相关问题