| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package com.jjt.biz.service.impl;
- import com.alibaba.fastjson2.JSONArray;
- import com.alibaba.fastjson2.JSONObject;
- import com.jjt.biz.service.IPrometheusService;
- import com.jjt.common.core.redis.RedisCache;
- import com.jjt.common.utils.StringUtils;
- import com.jjt.common.utils.http.HttpUtils;
- import com.jjt.system.service.ISysConfigService;
- import org.springframework.stereotype.Service;
- import org.yaml.snakeyaml.util.UriEncoder;
- import javax.annotation.Resource;
- import java.text.DecimalFormat;
- /**
- * 告警记录Service业务层处理
- *
- * @author jjt
- * @date 2024-08-08
- */
- @Service
- public class PrometheusServiceImpl implements IPrometheusService {
- @Resource
- private ISysConfigService configService;
- @Resource
- private RedisCache redisCache;
- /**
- * 获取接口地址
- *
- * @return 接口地址
- */
- private String baseUri() {
- return configService.selectConfigByKey("pm.url");
- }
- /**
- * 即时查询
- *
- * @param param 查询参数
- * @return 结果
- */
- @Override
- public Float query(String param) {
- if (StringUtils.isNotEmpty(param)) {
- String uri = baseUri() + "/api/v1/query?query=";
- uri += UriEncoder.encode(param);
- String result = HttpUtils.sendGet(uri);
- JSONObject jsonObject = JSONObject.parseObject(result);
- try {
- JSONArray array = jsonObject.getJSONObject("data").getJSONArray("result");
- JSONArray value = array.getJSONObject(0).getJSONArray("value");
- DecimalFormat df = new DecimalFormat("#0.00");
- return Float.parseFloat(df.format(value.getFloat(1)));
- } catch (Exception ignored) {
- return null;
- }
- } else {
- return null;
- }
- }
- /**
- * 普罗米修斯接口
- *
- * @return 结果
- */
- @Override
- public JSONObject range() {
- return null;
- }
- }
|