TestUtil.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package io.github.pnoker.gateway.utils;
  2. import com.alibaba.fastjson.JSONObject;
  3. import org.influxdb.InfluxDB;
  4. import org.influxdb.InfluxDBFactory;
  5. import org.influxdb.dto.Point;
  6. import org.influxdb.dto.Query;
  7. import org.influxdb.dto.QueryResult;
  8. import java.text.SimpleDateFormat;
  9. import java.time.LocalDateTime;
  10. import java.time.format.DateTimeFormatter;
  11. import java.util.Date;
  12. import java.util.List;
  13. import java.util.concurrent.TimeUnit;
  14. /**
  15. * @ClassName TestUtil
  16. * @Description: TODO
  17. * @Author LX
  18. * @Date 2024/9/3
  19. * @Version V1.0
  20. **/
  21. public class TestUtil {
  22. private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  23. public static void main(String[] args) throws Exception{
  24. // 获取当前时间的整时0分0秒,这里的时主要还是定时器的执行任务时间去控制
  25. LocalDateTime now = LocalDateTime.now().withMinute(0).withSecond(0);
  26. // 使用提取的值构造新的LocalDateTime对象
  27. LocalDateTime firstDayOfMonthWithCurrentTime = now.minusHours(3);
  28. System.out.println(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
  29. System.out.println(firstDayOfMonthWithCurrentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
  30. JSONObject jsonObject = new JSONObject();
  31. jsonObject.put("time","2024-09-03 09:54:00");
  32. Date timeStr = dateFormat.parse(jsonObject.getString("time"));
  33. // 连接到 InfluxDB
  34. String serverURL = "http://localhost:8086"; // InfluxDB 服务器地址
  35. String username = "admin"; // InfluxDB 用户名
  36. String password = "yourpassword"; // InfluxDB 密码
  37. String database = "mydb"; // 数据库名称
  38. InfluxDB influxDB = InfluxDBFactory.connect(serverURL, username, password);
  39. try {
  40. // 创建数据库
  41. influxDB.query(new Query("CREATE DATABASE " + database));
  42. // 设置要使用的数据库
  43. influxDB.setDatabase(database);
  44. // 写入数据
  45. Point point = Point.measurement("cpu")
  46. .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
  47. .addField("usage", 0.64)
  48. .addField("host", "server01")
  49. .build();
  50. influxDB.write(point);
  51. // 查询数据
  52. Query query = new Query("SELECT * FROM cpu", database);
  53. QueryResult result = influxDB.query(query);
  54. // 处理查询结果
  55. for (QueryResult.Result res : result.getResults()) {
  56. for (QueryResult.Series series : res.getSeries()) {
  57. System.out.println("Series: " + series.getName());
  58. System.out.println("Columns: " + series.getColumns());
  59. for (List<Object> values : series.getValues()) {
  60. System.out.println("Values: " + values);
  61. }
  62. }
  63. }
  64. } finally {
  65. // 关闭连接
  66. influxDB.close();
  67. }
  68. }
  69. }