php写入\查询influxdb数据
namespace app\index\controller;
use InfluxDB2\Client;
use InfluxDB2\Model\WritePrecision;
use InfluxDB2\Point;
class Demo
{
/**
* 显示资源列表
*
* @return \think\Response
*/
public function index()
{
$token = '你的TOKEN';
$org = 'zzlichi';
$bucket = 'initdb';
$client = new Client([
"url" => "http://你的IP:8086",
"token" => $token,
]);
$writeApi = $client->createWriteApi();
$data = "mem,host=host1 used_percent=23.43234543";
$writeApi->write($data, WritePrecision::S, $bucket, $org);
$client->close();
return 'success';
}
/**
* 显示创建资源表单页.
*
* @return \think\Response
*/
public function queryData()
{
$token = 'Yours Token';
$org = 'zzlichi';
$bucket = 'initdb';
$client = new Client([
"url" => "http://你的IP:8086",
"token" => $token,
]);
$query = "from(bucket: \"initdb\") |> range(start: -1m)";
$tables = $client->createQueryApi()->query($query, $org);
// return json($tables);
foreach ($tables as $table) {
foreach ($table->records as $record) {
$time = $record->getTime();
$measurement = $record->getMeasurement();
$field = $record->getField();
$value = $record->getValue();
print "$time $measurement: $field=$value\n";
}
}
$client->close();
}
}
最关键的是安装influxdb php包
composer require influxdata/influxdb-client-php guzzlehttp/guzzle