12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package io.github.pnoker.gateway.utils;
- import com.alibaba.fastjson.JSONObject;
- import org.influxdb.InfluxDB;
- import org.influxdb.InfluxDBFactory;
- import org.influxdb.dto.Point;
- import org.influxdb.dto.Query;
- import org.influxdb.dto.QueryResult;
- import java.text.SimpleDateFormat;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- import java.util.Date;
- import java.util.List;
- import java.util.concurrent.TimeUnit;
- /**
- * @ClassName TestUtil
- * @Description: TODO
- * @Author LX
- * @Date 2024/9/3
- * @Version V1.0
- **/
- public class TestUtil {
- private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- public static void main(String[] args) throws Exception{
- // 获取当前时间的整时0分0秒,这里的时主要还是定时器的执行任务时间去控制
- LocalDateTime now = LocalDateTime.now().withMinute(0).withSecond(0);
- // 使用提取的值构造新的LocalDateTime对象
- LocalDateTime firstDayOfMonthWithCurrentTime = now.minusHours(3);
- System.out.println(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
- System.out.println(firstDayOfMonthWithCurrentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("time","2024-09-03 09:54:00");
- Date timeStr = dateFormat.parse(jsonObject.getString("time"));
- // 连接到 InfluxDB
- String serverURL = "http://localhost:8086"; // InfluxDB 服务器地址
- String username = "admin"; // InfluxDB 用户名
- String password = "yourpassword"; // InfluxDB 密码
- String database = "mydb"; // 数据库名称
- InfluxDB influxDB = InfluxDBFactory.connect(serverURL, username, password);
- try {
- // 创建数据库
- influxDB.query(new Query("CREATE DATABASE " + database));
- // 设置要使用的数据库
- influxDB.setDatabase(database);
- // 写入数据
- Point point = Point.measurement("cpu")
- .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
- .addField("usage", 0.64)
- .addField("host", "server01")
- .build();
- influxDB.write(point);
- // 查询数据
- Query query = new Query("SELECT * FROM cpu", database);
- QueryResult result = influxDB.query(query);
- // 处理查询结果
- for (QueryResult.Result res : result.getResults()) {
- for (QueryResult.Series series : res.getSeries()) {
- System.out.println("Series: " + series.getName());
- System.out.println("Columns: " + series.getColumns());
- for (List<Object> values : series.getValues()) {
- System.out.println("Values: " + values);
- }
- }
- }
- } finally {
- // 关闭连接
- influxDB.close();
- }
- }
- }
|