pdffiller/laravel-influx-provider

Laravel 5 中设置和使用 InfluxDB SDK 的服务提供程序

v1.6.6 2019-12-03 17:09 UTC

This package is auto-updated.

Last update: 2024-08-29 03:20:59 UTC


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 文件。