mac安装 influxdb 2.0.8
brew install influxdb
启动
brew services start influxdb
查看日志目录
/usr/local/var/log/influxdb2
配置
首次访问http://localhost:8086/
设置用户名root,密码root8888
organization: galaxy
bucket: flink
通过influxdb java client写入influxdb
页面里面有详细的java example code。
首先创建一个token,例如flink。
选择新创建的"flink" token和已经创建的“flink”的bucket,在下面自动生成使用此token和bucket的示范代码
详细代码
package example;
import java.time.Instant;
import java.util.List;
import com.influxdb.annotations.Column;
import com.influxdb.annotations.Measurement;
import com.influxdb.client.InfluxDBClient;
import com.influxdb.client.InfluxDBClientFactory;
import com.influxdb.client.WriteApi;
import com.influxdb.client.domain.WritePrecision;
import com.influxdb.client.write.Point;
import com.influxdb.query.FluxTable;
public class InfluxDB2Example {
public static void main(final String[] args) {
// You can generate a Token from the "Tokens Tab" in the UI
String token = "4ALLUGlLVh6GwNqvbZ4IxOenyA_hOvL0c8Ac9dDloQp5kZt8VnNdgVeh4JCjDl1keL8mCG-1daoi_3SdbL8Zpg==";
String bucket = "flink";
String org = "galaxy";
InfluxDBClient client = InfluxDBClientFactory.create("http://localhost:8086", token.toCharArray());
String data = "mem,host=lineProtocolWay used_percent=23.43234543";
try (WriteApi writeApi = client.getWriteApi()) {
writeApi.writeRecord(bucket, org, WritePrecision.NS, data);
}
Point point = Point
.measurement("mem")
.addTag("host", "pointWay")
.addField("used_percent", 33.43234543)
.time(Instant.now(), WritePrecision.NS);
try (WriteApi writeApi = client.getWriteApi()) {
writeApi.writePoint(bucket, org, point);
}
Mem mem = new Mem();
mem.host = "pojoWay";
mem.used_percent = 43.43234543;
mem.time = Instant.now();
try (WriteApi writeApi = client.getWriteApi()) {
writeApi.writeMeasurement(bucket, org, WritePrecision.NS, mem);
}
String query = String.format("from(bucket: \"%s\") |> range(start: -1h)", bucket);
List<FluxTable> tables = client.getQueryApi().query(query, org);
System.out.println(tables.size());
}
@Measurement(name = "mem")
public static class Mem {
@Column(tag = true)
String host;
@Column
Double used_percent;
@Column(timestamp = true)
Instant time;
}
}
influxdb展示
在grafana中配置influxdb 2.0.8版本数据源
配置Organization,和之前独立创建的“flink”的token,并配置bucket为“flink”,保存。
画图
使用explore测试flux语法
from(bucket: "flink")
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) =>
r._measurement == "mem"
)
最终创建panel