2013-08-28 52 views
3

我的目標添加的數據是直接通過java代碼將數據插入到TSDB,爲此,我嘗試創建這是打印數據傳輸到標準輸出可執行的JAR。然後我寫收集器來運行這個罐子,並將其放入tcollector/collectors/0。最後,我嘗試了兩種方式執行收集器,一個在shell腳本中,另一個在python中。如何openTSDB通過Java使用tCollector

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腳本一樣罐子收集未採摘的shell腳本。

shell腳本收集:

java -jar "./TCollectorTSDB.jar" 

我一定要配置什麼的,註冊這個收藏家? 如果我們必須通過Java插入數據,這是與收集器一樣的最佳方式?

回答

3

tcollector不關心你寫的收集器是否是在Python或shell腳本或什麼。只要您將收集器放入tcollector/collectors/0中,它應該自動拾取。如果不是,那麼請檢查你的shell腳本是可執行文件(chmod a+x),它與認領(#!/bin/sh例如)開始。