【问题标题】:OpenTSDB - Clean install rejects all metricsOpenTSDB - 全新安装拒绝所有指标
【发布时间】:2014-07-22 14:40:01
【问题描述】:

我已经安装了一个 openTSDB 2.0 实例进行测试,但服务器拒绝所有插入指标的尝试。

这两个来自文档:

$ telnet localhost 8020
Trying ::1...
Connected to localhost.
Escape character is '^]'.
put sys.cpu.nice 1346846400 50 hostname=test1
put: unknown metric: No such name for 'metrics': 'sys.cpu.nice'
put http.hits 1234567890 34877 host=A
put: unknown metric: No such name for 'metrics': 'http.hits'

我的 hbase 服务器似乎配置正确:

hbase(main):012:0> list
TABLE                                                                                                                                                                                    
tsdb                                                                                                                                                                                     
tsdb-meta                                                                                                                                                                                
tsdb-tree                                                                                                                                                                                
tsdb-uid                                                                                                                                                                                 
4 row(s) in 0.0130 seconds

=> ["tsdb", "tsdb-meta", "tsdb-tree", "tsdb-uid"]

我尝试了两种方式的服务器设置自动创建指标: tsd.core.auto_create_metrics = true tsd.core.meta.enable_realtime_ts = true tsd.core.meta.enable_realtime_uid = true

任何关于我做错了什么的建议将不胜感激。

【问题讨论】:

    标签: opentsdb


    【解决方案1】:

    试试rest api,它将json作为4242端口的输入:

    curl -i  -H "Content-Type: application/json" -X POST -d '{"metric": "sys.cpu.nice", "timestamp": 1346846400,"value": 18, "tags": { "host": "web01"}}' http://localhost:4242/api/put/?details
    

    如果你想用代码来做:

    import requests
    import json
    
    def SendTSDBMetrics(metrics):
        response = requests.post(url=tsdburi, data=metrics,headers=headers)
        print response.text # print what was inserted
    
    metric = 'sys.cpu.nice'
    metrics = []
    
    metrics.append({'metric':metric, 'timestamp':time.now(), 'value':18, 'tags':{"device_id":"1"}})
    metrics.append({'metric':metric, 'timestamp':time.now(), 'value':100, 'tags':{"device_id":"1"}})
    
    SendTSDBMetrics(json.dumps(metrics))
    

    【讨论】:

    • 我不得不切换到端口 8020(我设置 openTsdb 运行的端口),这很有效。
    猜你喜欢
    • 1970-01-01
    • 2014-03-07
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多