opentsdb的项目经验

  1. 首先官方并没有给出对应的Java api接口
  2. opentsdb官方地址
    官方图片
  3. 项目中我们采用http的方式对数据进行写入和读取

数据写入

public boolean addBDRecord(BDInfo record) {
		
		String addurl=opentsdburl+"api/put?details";
		long time = System.currentTimeMillis();
		JSONObject json=new JSONObject();
		json.put("metric", record.getYjjId()+".K11."+record.getDevno());
		json.put("timestamp", time);
		json.put("value", record.getLoctime());
		json.put("tags", JSONObject.toJSON(record));
		logger.info("opentsdb参数:{}",json.toJSONString());
		String result=httpClient.doPost(addurl, json);
		logger.info("opentsdb返回:{}",result);
		JSONObject resultobj=JSONObject.parseObject(result);
		if(resultobj.getInteger("success")>=1){
			return true;
		}
		return false;
	}

数据读取

public void getTLJRecordList(String yjjId, String typestr, Date startTime, Date endTime) {
		JSONObject json=new JSONObject();
		json.put("start",startTime.getTime());
		json.put("end", endTime.getTime());
		JSONArray queries=new JSONArray();
		JSONObject childjson=new JSONObject();
		json.put("queries", queries);
		queries.add(childjson);
		childjson.put("metric", yjjId+"."+typestr);
		childjson.put("aggregator", "sum");
		childjson.put("downsample", "5s-avg");
		childjson.put("rate", true);
		JSONObject tags=new JSONObject();
		childjson.put("tags", tags);
		tags.put("v1", "*");
		//tags.put("v2", "*");
		//tags.put("v3", "*");
		//tags.put("v4", "*");
		//tags.put("v5", "*");
		//String geturl=opentsdburl+"api/query";
		String geturl="http://47.99.194.20:4242/api/query";
		String result=httpClient.doPost(geturl, json);
		logger.info("返回数据:{}",result);
	}
  1. 可以在本机IP+:4242访问 官方提供的web界面
    如图
    web界面
  2. But,官方提供的web界面并不直观。grafana 提供了更多更全面的数据展示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值