pdffiller / laravel-influx-provider
Laravel 5 中设置和使用 InfluxDB SDK 的服务提供程序
v1.6.6
2019-12-03 17:09 UTC
Requires
- php: ^5.6 || ^7.0 || ^7.1.3
- illuminate/log: 5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|^6.0
- illuminate/support: 5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|^6.0
- influxdb/influxdb-php: 1.14.*
- monolog/monolog: ^1.19
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.0
README
一个最小的服务提供程序,用于在 Laravel 5 中设置和使用 InfluxDB SDK
安装
- 将一行添加到 require 部分
composer.json
并执行$ composer install
"require": { // ... "pdffiller/laravel-influx-provider": "^1.6" }
- 将这些行添加到
config/app.php
'providers' => [ // ... Pdffiller\LaravelInfluxProvider\InfluxDBServiceProvider::class, ] 'aliases' => [ // ... 'Influx' => Pdffiller\LaravelInfluxProvider\InfluxDBFacade::class, ]
- 定义环境变量以连接到 InfluxDB
LARAVEL_INFLUX_PROVIDER_PROTOCOL=http
LARAVEL_INFLUX_PROVIDER_USER=some_user
LARAVEL_INFLUX_PROVIDER_PASSWORD=some_password
LARAVEL_INFLUX_PROVIDER_HOST=host
LARAVEL_INFLUX_PROVIDER_PORT=8086
LARAVEL_INFLUX_PROVIDER_DATABASE=database_name
LARAVEL_INFLUX_PROVIDER_VERIFY_SSL=false
LARAVEL_INFLUX_PROVIDER_TIMEOUT=0
LARAVEL_INFLUX_PROVIDER_CONNECT_TIMEOUT=0
如何使用
$client = new \Influx; $data = $client::query('SELECT * from "data" ORDER BY time DESC LIMIT 1');
$point = [ new \InfluxDB\Point( 'name' => 'some_name', 'value' => 1, // some value for some_name 'tags' => [ // array of string values ], 'fields' => [ // array of numeric values ], 'timestamp' => exec('date +%s%N') // timestamp in nanoseconds on Linux ONLY ) ]; try { Influx::writePoints($point); } catch (\InfluxDB\Exception $e) { // something is wrong, track this }
您还可以像这样将数据发送到另一个数据库
Influx::selectDB($dbName)->writePoints($point);
许可证
airSlate 和此项目的任何贡献者各自授予您在本项目的 MIT 许可证下使用 Laravel InfluxDB 提供程序和本存储库中其他内容的许可,有关更多信息,请参阅 LICENSE 文件。