From 8a180e0df7186db0bfc06d611306d5d5721e0390 Mon Sep 17 00:00:00 2001 From: dongwei <838456736@qq.com> Date: Thu, 31 Jan 2019 15:06:30 +0800 Subject: [PATCH] push monitor to influxdb --- src/Middleware/TunnelMiddleware.php | 89 +++++++++++++++-------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/src/Middleware/TunnelMiddleware.php b/src/Middleware/TunnelMiddleware.php index 84370fd..ff59f5c 100644 --- a/src/Middleware/TunnelMiddleware.php +++ b/src/Middleware/TunnelMiddleware.php @@ -1,4 +1,5 @@ getOriginalContent(); - $status = isset($content['error']) ? $content['error']['code'] : 200; - - $client = new \InfluxDB\Client('127.0.0.1', '8086'); - $database = $client->selectDB('rpc_monitor'); - $points = array( - new Point( - 'monitor', - 0.64, - ['app' =>env('APP_NAME'), 'status' => $status], - ['content' => $request->getContent()] - ) - ); - $result = $database->writePoints($points, Database::PRECISION_SECONDS); - app('rpc.logger')->info('rpc tunnel ctx ' [$result]); - } - } - + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + // Pre-Middleware Action + $response = $next($request); + + // Post-Middleware Action + + return $response; + } + + /** + * @param \Illuminate\Http\Request $request + * @param \Closure $response + */ + public function terminate($request, $response) + { + //过滤tool返回结果 + if ($response instanceof JsonResponse) { + if (app()->environment('dev', 'production')) { + $content = $response->getOriginalContent(); + $status = isset($content['error']) ? $content['error']['code'] : 200; + $client = new \InfluxDB\Client("10.0.1.67"); + $database = $client->selectDB('rpc_monitor'); + $points = array( + new Point( + 'monitor', + null, + ['app' => env('APP_NAME'), 'status' => $status, 'env' => app()->environment()], + ['content' => $request->getContent()] + ) + ); + $database->writePoints($points, Database::PRECISION_SECONDS); + } + + } + } + } \ No newline at end of file