EKL PHP 调取_search接口查询 支付统计

发布时间:2020-07-12 12:27:30 作者:脱变_JACK
来源:网络 阅读:414

<?php

error_reporting( E_ALL&~E_NOTICE );

define('ELK_QUERY_RR_QUERY', '{

  "query": {

    "filtered": {

      "query": {

        "query_string": {

          "analyze_wildcard": true,

          "query": "type:phptestkv AND report_type:\"paycenter.dopayment\""

        }

      },

      "filter": {

        "bool": {

          "must": [

            {

              "range": {

                "@timestamp": {

                "gte": "now-15m"

                }

              }

            }

          ],

          "must_not": []

        }

      }

    }

  },

  "size": 0,

  "aggs": {

    "1": {

          "terms": {

            "field": "success",

            "size": 5,

            "order": {

              "_count": "desc"

            }

          }

        }

    }

  }

}');

define('ELK_QUERY_RR_URL', 'http://localhost:9200/logstash-phptest-*/_search?search_type=count&pretty');


     function curl_post($url, $content, $header=''){

        $curl = curl_init();

        curl_setopt($curl, CURLOPT_URL, $url);

        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);

        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);

        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

        curl_setopt($curl, CURLOPT_AUTOREFERER, 1);

        curl_setopt($curl, CURLOPT_POST, 1);

        curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

        curl_setopt($curl, CURLOPT_TIMEOUT, 30);

        curl_setopt($curl, CURLOPT_HEADER, 0);

        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);


        $tmpInfo = curl_exec($curl);

        if (curl_errno($curl))

        {

            print("[error] CURL ERROR: ".curl_error($curl)."\r\n");

        }

        curl_close($curl);

        return $tmpInfo;

    }


     function Query_Curl(){

        $request_params_rr_query = ELK_QUERY_RR_QUERY;

        $rr_target =curl_post(ELK_QUERY_RR_URL, $request_params_rr_query, 'Authorization:Basic bmVpZ291OjE5dkpDYzdCUUltbw==');

        return get_rr_value($rr_target);

    }


    function get_rr_value($results){

        $results_object = json_decode($results, true);

        return $results_object;

    }


     function query(){

         $result=Query_Curl();

         $doc_count=$result['aggregations']['1']['buckets'][0]['doc_count'];

         $total=$result['hits']['total'];

         $ratio=0;

         if($total>=5){

             if($doc_count && $total){

                 $ratio=round($doc_count/$total, 2);

             }

             if($result['aggregations']['1']['buckets'][0]['key']==1){

                 if($ratio){

                     $ratio=1-($ratio);

                 }

             }

         }

         return $ratio;

    }


$ratio=query();

echo $ratio;

?>


推荐阅读:
  1. Vue实现微信支付功能遇到的坑有哪些
  2. 如何使用PHP实现支付宝支付功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

接口 search 统计

上一篇:土耳其电影公司选择Infortrend建立PB级数据存储基础设施

下一篇:filebeat收集k8s日志

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》