微信第三方平台 – 报警群,内容: 微信服务器向公众号服务开发者推送component_verify_ticket时,开发者5秒内没有返回 次数: 30分钟 9次 的分析解决

1、在微信的第三方平台,错误告警通过微信群来通知,每个第三方平台对应唯一的告警群,扫码加入即可接收告警通知。如图1

图1

2、在告警群中频繁接收到告警通知。分析其规律,发现其间隔时间为 40 分钟。11:25、12:15、12:55、13:35、14:15。如图2

图2

Appid: 
昵称: 
时间: 2020-11-27 13:35:05
内容: 微信服务器向公众号服务开发者推送component_verify_ticket时,开发者5秒内没有返回
次数: 30分钟 9次
报警排查指引,请见: https://mmbizurl.cn/s/MpkaZb8yg

3、参考验证票据,网址:https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/api/component_verify_ticket.html 。

4、查看代码实现

    /**
     * Component Verify Ticket 协议接收
     */    public function actionTicket()
    {
        $bathPath = Yii::$app->getBasePath();
        try {
            $requestRowBody = Yii::$app->getRequest()->getRawBody();
            $requestQueryParams = Yii::$app->getRequest()->getQueryParams();
            @file_put_contents($bathPath . '/runtime/requestRowBody.txt', var_export($requestRowBody, true), LOCK_EX);
            @file_put_contents($bathPath . '/runtime/requestQueryParams.txt', var_export($requestQueryParams, true), LOCK_EX);


            $appId = Yii::$app->params['wxOpen']['component']['appId'];
            $appSecret = Yii::$app->params['wxOpen']['component']['appSecret'];
            $token = Yii::$app->params['wxOpen']['component']['token'];
            $encodingAesKey = Yii::$app->params['wxOpen']['component']['symmetricKey'];

            $msg = '';
            $pc = new WXBizMsgCrypt($token, $encodingAesKey, $appId);
            // 解密 xml 数据
            $errCode = $pc->decryptMsg($requestQueryParams['msg_signature'], $requestQueryParams['timestamp'], $requestQueryParams['nonce'], $requestRowBody, $msg);
            @file_put_contents($bathPath . '/runtime/decrypt_result.txt', $errCode, LOCK_EX);
            // 解密成功
            if ($errCode == 0) {
                $ticketData = $this->xmlToArray($msg);
                if (isset($ticketData['ComponentVerifyTicket'])) {
                    $redisCommandkeyPrefix = Yii::$app->params['redisCommand']['keyPrefix'];
                    $componentVerifyTicketKey = $redisCommandkeyPrefix . $ticketData['AppId'] . ':component_verify_ticket';
                    $this->redis->set($componentVerifyTicketKey, $ticketData['ComponentVerifyTicket']);
                    // 获取第三方平台component_access_token
                    $this->getComponentAccessToken($appId, $appSecret);
                }
            }
            @file_put_contents($bathPath . '/runtime/msgXml.txt', $msg, LOCK_EX);
        } catch (\Throwable $th) {
            @file_put_contents($bathPath . '/runtime/actionTicketError.txt', $th->getMessage(), LOCK_EX);
        }
        exit('success');
    }

5、先查看已经生成的日志文件的创建时间,发现皆在 14:35 生成的。如图3

图3

[root@b21d3b4237a2 runtime]# ls -lt
total 28
drwxrwxr-x 2 nginx nginx 4096 Nov 27 14:35 debug
-rw-r--r-- 1 nginx nginx  305 Nov 27 14:35 msgXml.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 14:35 decrypt_result.txt
-rw-r--r-- 1 nginx nginx  219 Nov 27 14:35 requestQueryParams.txt
-rw-r--r-- 1 nginx nginx  573 Nov 27 14:35 requestRowBody.txt
-rw-r--r-- 1 nginx nginx   18 Nov 26 17:24 actionReceive.txt
drwxrwxr-x 5 nginx nginx 4096 Nov 26 15:15 cache
[root@b21d3b4237a2 runtime]#

6、决定逐一打印输出程序运行过程中的服务器时间,以排查分析是哪一个环节导致的响应时间过长。

    public function init()
    {
        file_put_contents(Yii::getAlias('@runtime') . '/wx-msg-event-ticket-' . Date('Y-m-d-H-i-s') . '-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r('1', true), FILE_APPEND | LOCK_EX);
        parent::init();
        require __DIR__ . '/../vendor/wx_biz_msg_crypt/wxBizMsgCrypt.php';
        $this->redis = Yii::$app->redis;
        file_put_contents(Yii::getAlias('@runtime') . '/wx-msg-event-ticket-' . Date('Y-m-d-H-i-s') . '-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r('1', true), FILE_APPEND | LOCK_EX);

    }

    /**
     * Component Verify Ticket 协议接收
     */    public function actionTicket()
    {
        file_put_contents(Yii::getAlias('@runtime') . '/wx-msg-event-ticket-' . Date('Y-m-d-H-i-s') . '-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r('1', true), FILE_APPEND | LOCK_EX);
        $bathPath = Yii::$app->getBasePath();
        try {
            $requestRowBody = Yii::$app->getRequest()->getRawBody();
            $requestQueryParams = Yii::$app->getRequest()->getQueryParams();
            @file_put_contents($bathPath . '/runtime/requestRowBody.txt', var_export($requestRowBody, true), LOCK_EX);
            @file_put_contents($bathPath . '/runtime/requestQueryParams.txt', var_export($requestQueryParams, true), LOCK_EX);


            $appId = Yii::$app->params['wxOpen']['component']['appId'];
            $appSecret = Yii::$app->params['wxOpen']['component']['appSecret'];
            $token = Yii::$app->params['wxOpen']['component']['token'];
            $encodingAesKey = Yii::$app->params['wxOpen']['component']['symmetricKey'];

            $msg = '';
            $pc = new WXBizMsgCrypt($token, $encodingAesKey, $appId);
            // 解密 xml 数据
            $errCode = $pc->decryptMsg($requestQueryParams['msg_signature'], $requestQueryParams['timestamp'], $requestQueryParams['nonce'], $requestRowBody, $msg);
            @file_put_contents($bathPath . '/runtime/decrypt_result.txt', $errCode, LOCK_EX);
            // 解密成功
            if ($errCode == 0) {
                $ticketData = $this->xmlToArray($msg);
                if (isset($ticketData['ComponentVerifyTicket'])) {
                    $redisCommandkeyPrefix = Yii::$app->params['redisCommand']['keyPrefix'];
                    $componentVerifyTicketKey = $redisCommandkeyPrefix . $ticketData['AppId'] . ':component_verify_ticket';
                    $this->redis->set($componentVerifyTicketKey, $ticketData['ComponentVerifyTicket']);
                    // 获取第三方平台component_access_token
                    $this->getComponentAccessToken($appId, $appSecret);
                }
            }
            @file_put_contents($bathPath . '/runtime/msgXml.txt', $msg, LOCK_EX);
        } catch (\Throwable $th) {
            @file_put_contents($bathPath . '/runtime/actionTicketError.txt', $th->getMessage(), LOCK_EX);
        }
        file_put_contents(Yii::getAlias('@runtime') . '/wx-msg-event-ticket-' . Date('Y-m-d-H-i-s') . '-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r('1', true), FILE_APPEND | LOCK_EX);
        exit('success');
    }

7、在时间: 2020-11-27 14:55:05 告警一次。再次查看已经生成的日志文件的创建时间,发现皆在 14:55:05 生成的。间隔 2020-11-27-14-55-05-1606460105.8643 – 2020-11-27-14-55-05-1606460105.8318 = 3.25毫秒。最终决定再多观察几次。等待再一次告警时,查看日志文件的生成时间。如图4

图4

[root@b21d3b4237a2 runtime]# ls -lt
total 44
drwxrwxr-x 2 nginx nginx 4096 Nov 27 14:55 debug
-rw-r--r-- 1 nginx nginx  305 Nov 27 14:55 msgXml.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 14:55 wx-msg-event-ticket-2020-11-27-14-55-05-1606460105.8643-1726079413.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 14:55 decrypt_result.txt
-rw-r--r-- 1 nginx nginx  220 Nov 27 14:55 requestQueryParams.txt
-rw-r--r-- 1 nginx nginx  573 Nov 27 14:55 requestRowBody.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 14:55 wx-msg-event-ticket-2020-11-27-14-55-05-1606460105.8354-582349057.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 14:55 wx-msg-event-ticket-2020-11-27-14-55-05-1606460105.8339-222161532.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 14:55 wx-msg-event-ticket-2020-11-27-14-55-05-1606460105.8318-1104390728.txt
-rw-r--r-- 1 nginx nginx   18 Nov 26 17:24 actionReceive.txt
drwxrwxr-x 5 nginx nginx 4096 Nov 26 15:15 cache
[root@b21d3b4237a2 runtime]#

8、在时间: 2020-11-27 15:35:14 告警一次。查看已经生成的日志文件的创建时间,发现皆在 15:35:14/15:35:15 生成的。间隔 2020-11-27-15-35-15-1606462515.0053 – 2020-11-27-15-35-14-1606462514.9779 = 2.74 毫秒。也未超过 5 秒钟。如图5

图5

[root@b21d3b4237a2 runtime]# ls -lt
total 40
drwxrwxr-x 2 nginx nginx 4096 Nov 27 15:35 debug
-rw-r--r-- 1 nginx nginx  305 Nov 27 15:35 msgXml.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 15:35 wx-msg-event-ticket-2020-11-27-15-35-15-1606462515.0053-1335632384.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 15:35 decrypt_result.txt
-rw-r--r-- 1 nginx nginx  219 Nov 27 15:35 requestQueryParams.txt
-rw-r--r-- 1 nginx nginx  573 Nov 27 15:35 requestRowBody.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 15:35 wx-msg-event-ticket-2020-11-27-15-35-14-1606462514.9782-618938486.txt
drwxrwxr-x 5 nginx nginx 4096 Nov 27 15:35 cache
-rw-r--r-- 1 nginx nginx    1 Nov 27 15:35 wx-msg-event-ticket-2020-11-27-15-35-14-1606462514.9777-1594643539.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 15:35 wx-msg-event-ticket-2020-11-27-15-35-14-1606462514.9779-342752895.txt

9、在时间: 2020-11-27 15:35:14 告警一次。查看已经生成的日志文件的创建时间,发现皆在 16:15:08/16:15:09 生成的。间隔 2020-11-27-16-15-08-1606464908.3973 – 2020-11-27-16-15-08-1606464908.3718 = 2.55 毫秒。间隔 2020-11-27-16-15-09-1606464909.8787 – 2020-11-27-16-15-09-1606464909.8577 = 2.10 毫秒。也未超过 5 秒钟。不过确是连续请求了 2 次,总计生成了 8 个具有时间戳的日志文件。或许是因为第一次请求超时,然后重试了一次。

[root@b21d3b4237a2 runtime]# ls -lt
total 56
drwxrwxr-x 2 nginx nginx 4096 Nov 27 16:15 debug
-rw-r--r-- 1 nginx nginx  305 Nov 27 16:15 msgXml.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 16:15 wx-msg-event-ticket-2020-11-27-16-15-09-1606464909.8787-571586970.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 16:15 decrypt_result.txt
-rw-r--r-- 1 nginx nginx  220 Nov 27 16:15 requestQueryParams.txt
-rw-r--r-- 1 nginx nginx  573 Nov 27 16:15 requestRowBody.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 16:15 wx-msg-event-ticket-2020-11-27-16-15-09-1606464909.858-528516846.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 16:15 wx-msg-event-ticket-2020-11-27-16-15-09-1606464909.8575-1518393836.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 16:15 wx-msg-event-ticket-2020-11-27-16-15-09-1606464909.8577-2077551670.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 16:15 wx-msg-event-ticket-2020-11-27-16-15-08-1606464908.3973-362685582.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 16:15 wx-msg-event-ticket-2020-11-27-16-15-08-1606464908.3713-1831294750.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 16:15 wx-msg-event-ticket-2020-11-27-16-15-08-1606464908.3715-929485623.txt
-rw-r--r-- 1 nginx nginx    1 Nov 27 16:15 wx-msg-event-ticket-2020-11-27-16-15-08-1606464908.3718-843415591.txt
drwxrwxr-x 5 nginx nginx 4096 Nov 27 16:15 cache

10、查看第 8 步骤的 Nginx 日志,总计请求了 2 次。如图6

图6

{
  "request": {
    "headers": {
      "referer": "-",
      "host": "auth.channel-pub.wjdev.chinamcloud.cn",
      "x-request-id": "-",
      "x-forwarded-for": "81.69.19.7, 10.42.0.1",
      "user-agent": "Mozilla/4.0"
    },
    "method": "POST",
    "uri": "/wx-msg-event/ticket?signature=476b7eacb0c523eaa0e8db5f7cca491a46e572fd&timestamp=1606464908&nonce=1528041077&encrypt_type=aes&msg_signature=ce607cecc737d31ec1f4edeb853e00539f492732",
    "url": "http://auth.channel-pub.wjdev.chinamcloud.cn/wx-msg-event/ticket?signature=476b7eacb0c523eaa0e8db5f7cca491a46e572fd&timestamp=1606464908&nonce=1528041077&encrypt_type=aes&msg_signature=ce607cecc737d31ec1f4edeb853e00539f492732",
    "@timestamp": "2020-11-27T16:15:08+08:00",
    "upstreamaddr": "127.0.0.1:9000",
    "response": {
      "responsetime": "0.033",
      "upstream_response_time": "0.032"
    },
    "size": "17",
    "status": "200"
  },
  "module_name": "default-app"
}
{
  "request": {
    "headers": {
      "referer": "-",
      "host": "auth.channel-pub.wjdev.chinamcloud.cn",
      "x-request-id": "-",
      "x-forwarded-for": "81.69.19.7, 10.42.0.1",
      "user-agent": "Mozilla/4.0"
    },
    "method": "POST",
    "uri": "/wx-msg-event/ticket?signature=81e6b3061d378d78cdfcd9422a1fe42a0f53801d&timestamp=1606464909&nonce=1530227115&encrypt_type=aes&msg_signature=0e9be2e04981d0a6895f39a83a4dd956d1ba3337",
    "url": "http://auth.channel-pub.wjdev.chinamcloud.cn/wx-msg-event/ticket?signature=81e6b3061d378d78cdfcd9422a1fe42a0f53801d&timestamp=1606464909&nonce=1530227115&encrypt_type=aes&msg_signature=0e9be2e04981d0a6895f39a83a4dd956d1ba3337",
    "@timestamp": "2020-11-27T16:15:09+08:00",
    "upstreamaddr": "127.0.0.1:9000",
    "response": {
      "responsetime": "0.026",
      "upstream_response_time": "0.026"
    },
    "size": "17",
    "status": "200"
  },
  "module_name": "default-app"
}

11、可以大致确定得知,应该在于:获取第三方平台component_access_token。决定在其前后打印时间。

    file_put_contents(Yii::getAlias('@runtime') . '/wx-msg-event-ticket-' . Date('Y-m-d-H-i-s') . '-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r('1', true), FILE_APPEND | LOCK_EX);
    // 获取第三方平台component_access_token
    $this->getComponentAccessToken($appId, $appSecret);
    file_put_contents(Yii::getAlias('@runtime') . '/wx-msg-event-ticket-' . Date('Y-m-d-H-i-s') . '-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r('1', true), FILE_APPEND | LOCK_EX);

12、查看已经生成的日志文件的创建时间。一小部分的时间间隔明显较长。间隔 2020-11-30-12-25-06-1606710306.5482 – 2020-11-30-12-25-06-1606710306.2956 = 25.26 毫秒。间隔 2020-11-30-10-25-07-1606703107.1274 – 2020-11-30-10-25-06-1606703106.7126 = 41.48 毫秒。间隔 2020-11-30-08-24-50-1606695890.2233 – 2020-11-30-08-24-49-1606695889.7807 = 44.26 毫秒。间隔 2020-11-30-06-24-14-1606688654.6932 – 2020-11-30-06-24-14-1606688654.297 = 39.62 毫秒。基本上是间隔 2 个小时,出现 1 次响应时间超出 5 秒钟的情形。

[root@c0f75d7d937d runtime]# ls -lt
total 3388
drwxrwxr-x 2 nginx nginx 4096 Nov 30 14:05 debug
-rw-r--r-- 1 nginx nginx  305 Nov 30 14:05 msgXml.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 14:05 wx-msg-event-ticket-2020-11-30-14-05-10-1606716310.4137-1873366123.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 14:05 wx-msg-event-ticket-2020-11-30-14-05-10-1606716310.4058-1868469814.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 14:05 decrypt_result.txt
-rw-r--r-- 1 nginx nginx  219 Nov 30 14:05 requestQueryParams.txt
-rw-r--r-- 1 nginx nginx  573 Nov 30 14:05 requestRowBody.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:54 wx-msg-event-ticket-2020-11-30-13-54-53-1606715693.814-1286907546.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:54 wx-msg-event-ticket-2020-11-30-13-54-53-1606715693.807-1908386416.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:45 wx-msg-event-ticket-2020-11-30-13-45-39-1606715139.1002-262145071.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:45 wx-msg-event-ticket-2020-11-30-13-45-39-1606715139.0916-1941649228.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:35 wx-msg-event-ticket-2020-11-30-13-35-37-1606714537.8674-1076208919.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:35 wx-msg-event-ticket-2020-11-30-13-35-37-1606714537.8591-1789739322.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:24 wx-msg-event-ticket-2020-11-30-13-24-50-1606713890.7333-836935361.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:24 wx-msg-event-ticket-2020-11-30-13-24-50-1606713890.7254-1288654422.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:14 wx-msg-event-ticket-2020-11-30-13-14-53-1606713293.5465-595171024.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:14 wx-msg-event-ticket-2020-11-30-13-14-53-1606713293.5379-1890465225.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:05 wx-msg-event-ticket-2020-11-30-13-05-03-1606712703.5868-175987929.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 13:05 wx-msg-event-ticket-2020-11-30-13-05-03-1606712703.5789-499523977.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:54 wx-msg-event-ticket-2020-11-30-12-54-53-1606712093.5456-517560488.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:54 wx-msg-event-ticket-2020-11-30-12-54-53-1606712093.539-1514830621.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:44 wx-msg-event-ticket-2020-11-30-12-44-57-1606711497.9951-952342390.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:44 wx-msg-event-ticket-2020-11-30-12-44-57-1606711497.9872-1156452406.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:35 wx-msg-event-ticket-2020-11-30-12-35-13-1606710913.4813-704492469.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:35 wx-msg-event-ticket-2020-11-30-12-35-13-1606710913.4746-1170946877.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:25 wx-msg-event-ticket-2020-11-30-12-25-06-1606710306.5482-636662964.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:25 wx-msg-event-ticket-2020-11-30-12-25-06-1606710306.2956-1437541091.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:15 wx-msg-event-ticket-2020-11-30-12-15-17-1606709717.0774-1991485435.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:15 wx-msg-event-ticket-2020-11-30-12-15-17-1606709717.0692-1936841676.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:05 wx-msg-event-ticket-2020-11-30-12-05-31-1606709131.8725-994420621.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 12:05 wx-msg-event-ticket-2020-11-30-12-05-31-1606709131.8648-51752480.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:56 wx-msg-event-ticket-2020-11-30-11-56-31-1606708591.3933-287466388.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:56 wx-msg-event-ticket-2020-11-30-11-56-31-1606708591.3842-1789563881.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:45 wx-msg-event-ticket-2020-11-30-11-45-57-1606707957.6617-247752670.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:45 wx-msg-event-ticket-2020-11-30-11-45-57-1606707957.6533-827700557.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:35 wx-msg-event-ticket-2020-11-30-11-35-06-1606707306.0361-354498841.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:35 wx-msg-event-ticket-2020-11-30-11-35-06-1606707306.0294-534747288.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:25 wx-msg-event-ticket-2020-11-30-11-25-09-1606706709.9365-510187117.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:25 wx-msg-event-ticket-2020-11-30-11-25-09-1606706709.9275-1228189882.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:15 wx-msg-event-ticket-2020-11-30-11-15-15-1606706115.7896-694594424.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:15 wx-msg-event-ticket-2020-11-30-11-15-15-1606706115.7828-1133630583.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:05 wx-msg-event-ticket-2020-11-30-11-05-17-1606705517.4531-511638313.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 11:05 wx-msg-event-ticket-2020-11-30-11-05-17-1606705517.4452-62701110.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:55 wx-msg-event-ticket-2020-11-30-10-55-08-1606704908.0751-608617371.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:55 wx-msg-event-ticket-2020-11-30-10-55-08-1606704908.0672-1990040532.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:45 wx-msg-event-ticket-2020-11-30-10-45-10-1606704310.5205-1564843147.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:45 wx-msg-event-ticket-2020-11-30-10-45-10-1606704310.5096-904128001.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:35 wx-msg-event-ticket-2020-11-30-10-35-13-1606703713.2687-1794797087.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:35 wx-msg-event-ticket-2020-11-30-10-35-13-1606703713.2617-574660229.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:25 wx-msg-event-ticket-2020-11-30-10-25-07-1606703107.1274-1022925845.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:25 wx-msg-event-ticket-2020-11-30-10-25-06-1606703106.7126-570303079.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:15 wx-msg-event-ticket-2020-11-30-10-15-07-1606702507.5368-1891845424.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:15 wx-msg-event-ticket-2020-11-30-10-15-07-1606702507.5284-1189045409.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:05 wx-msg-event-ticket-2020-11-30-10-05-26-1606701926.1164-1301829973.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 10:05 wx-msg-event-ticket-2020-11-30-10-05-26-1606701926.1098-19999799.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:54 wx-msg-event-ticket-2020-11-30-09-54-59-1606701299.9273-1892722460.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:54 wx-msg-event-ticket-2020-11-30-09-54-59-1606701299.9206-744289104.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:44 wx-msg-event-ticket-2020-11-30-09-44-58-1606700698.5289-840958322.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:44 wx-msg-event-ticket-2020-11-30-09-44-58-1606700698.5214-19799683.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:35 wx-msg-event-ticket-2020-11-30-09-35-04-1606700104.5574-1357122254.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:35 wx-msg-event-ticket-2020-11-30-09-35-04-1606700104.5494-926833651.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:24 wx-msg-event-ticket-2020-11-30-09-24-59-1606699499.5724-956013272.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:24 wx-msg-event-ticket-2020-11-30-09-24-59-1606699499.5646-98047242.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:15 wx-msg-event-ticket-2020-11-30-09-15-00-1606698900.0026-1274517751.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:14 wx-msg-event-ticket-2020-11-30-09-14-59-1606698899.9952-865263368.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:05 wx-msg-event-ticket-2020-11-30-09-05-23-1606698323.3765-803667820.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 09:05 wx-msg-event-ticket-2020-11-30-09-05-23-1606698323.3688-847811911.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:54 wx-msg-event-ticket-2020-11-30-08-54-51-1606697691.0131-1616106688.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:54 wx-msg-event-ticket-2020-11-30-08-54-51-1606697691.0043-1274719846.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:44 wx-msg-event-ticket-2020-11-30-08-44-48-1606697088.7198-713896594.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:44 wx-msg-event-ticket-2020-11-30-08-44-48-1606697088.7117-729391381.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:34 wx-msg-event-ticket-2020-11-30-08-34-53-1606696493.7291-1091252621.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:34 wx-msg-event-ticket-2020-11-30-08-34-53-1606696493.7209-1259900036.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:24 wx-msg-event-ticket-2020-11-30-08-24-50-1606695890.2233-208955798.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:24 wx-msg-event-ticket-2020-11-30-08-24-49-1606695889.7807-1262611877.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:14 wx-msg-event-ticket-2020-11-30-08-14-53-1606695293.2129-2026598871.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:14 wx-msg-event-ticket-2020-11-30-08-14-53-1606695293.2053-621892636.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:05 wx-msg-event-ticket-2020-11-30-08-05-03-1606694703.3859-1206143554.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 08:05 wx-msg-event-ticket-2020-11-30-08-05-03-1606694703.3788-552730140.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:55 wx-msg-event-ticket-2020-11-30-07-55-32-1606694132.0565-273542586.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:55 wx-msg-event-ticket-2020-11-30-07-55-32-1606694132.0483-1577590092.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:45 wx-msg-event-ticket-2020-11-30-07-45-29-1606693529.9869-1588961410.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:45 wx-msg-event-ticket-2020-11-30-07-45-29-1606693529.978-1374459792.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:34 wx-msg-event-ticket-2020-11-30-07-34-49-1606692889.761-1368578201.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:34 wx-msg-event-ticket-2020-11-30-07-34-49-1606692889.7521-1226355572.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:24 wx-msg-event-ticket-2020-11-30-07-24-42-1606692282.7321-151951386.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:24 wx-msg-event-ticket-2020-11-30-07-24-42-1606692282.7241-1065783208.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:14 wx-msg-event-ticket-2020-11-30-07-14-41-1606691681.3935-1859290492.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:14 wx-msg-event-ticket-2020-11-30-07-14-41-1606691681.3858-1002164891.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:04 wx-msg-event-ticket-2020-11-30-07-04-43-1606691083.9039-279996091.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 07:04 wx-msg-event-ticket-2020-11-30-07-04-43-1606691083.8972-989623729.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:54 wx-msg-event-ticket-2020-11-30-06-54-28-1606690468.0174-1574288943.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:54 wx-msg-event-ticket-2020-11-30-06-54-28-1606690468.0091-911201926.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:44 wx-msg-event-ticket-2020-11-30-06-44-21-1606689861.9042-2146058034.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:44 wx-msg-event-ticket-2020-11-30-06-44-21-1606689861.8958-2132998504.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:34 wx-msg-event-ticket-2020-11-30-06-34-24-1606689264.1409-262443682.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:34 wx-msg-event-ticket-2020-11-30-06-34-24-1606689264.1334-1465973951.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:24 wx-msg-event-ticket-2020-11-30-06-24-14-1606688654.6932-1629623175.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:24 wx-msg-event-ticket-2020-11-30-06-24-14-1606688654.297-1470389398.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:14 wx-msg-event-ticket-2020-11-30-06-14-13-1606688053.6491-689012542.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:14 wx-msg-event-ticket-2020-11-30-06-14-13-1606688053.6406-1542612275.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:04 wx-msg-event-ticket-2020-11-30-06-04-15-1606687455.7216-1815949907.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 06:04 wx-msg-event-ticket-2020-11-30-06-04-15-1606687455.7148-433188306.txt

13、查看方法 getComponentAccessToken 的实现。打印日志。原因在于大约间隔 1小时55分,需要执行一次调用:cgi-bin/component/api_component_token。

    /**
     * 获取第三方平台 component_access_token
     *
     * @param $appId string  第三方平台appId
     * @param $appSecret string 第三方平台appSecret
     * @return bool
     * @throws \yii\web\ServerErrorHttpException
     * @throws \yii\web\NotFoundHttpException
     */    public function getComponentAccessToken($appId, $appSecret)
    {
        $timeStamp = time();
        $redisCommandkeyPrefix = Yii::$app->params['redisCommand']['keyPrefix'];
        $componentVerifyTicketKey = $redisCommandkeyPrefix . $appId . ':component_verify_ticket';
        $componentVerifyTicket = $this->redis->get($componentVerifyTicketKey);
        if (!$componentVerifyTicket) {
            throw new NotFoundHttpException(Yii::t('error', 205059), 205059);
        }
        $data = [
            'component_appid' => $appId,
            'component_appsecret' => $appSecret,
            'component_verify_ticket' => $componentVerifyTicket,
        ];
        $componentAccessTokenKey = $redisCommandkeyPrefix . $appId . ':component_access_token';
        // 获取 redis 中的 component_access_token
        $componentAccessToken = $this->redis->get($componentAccessTokenKey);

        // 判断 redis 中的 component_access_token 是否存在
        if (!$componentAccessToken) {
            file_put_contents(Yii::getAlias('@runtime') . '/wx-msg-event-get-component-access-token-' . Date('Y-m-d-H-i-s') . '-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r('1', true), FILE_APPEND | LOCK_EX);
            $httpWxAuthAccessToken = new HttpWxAuthAccessToken();
            // http 请求获取 component_access_token
            $httpWxAuthAccessTokenResult = $httpWxAuthAccessToken->wxComponentAccessToken(Json::encode($data));
            file_put_contents(Yii::getAlias('@runtime') . '/wx-msg-event-get-component-access-token-' . Date('Y-m-d-H-i-s') . '-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r('1', true), FILE_APPEND | LOCK_EX);
            if ($httpWxAuthAccessTokenResult === false) {
                if ($httpWxAuthAccessToken->hasErrors()) {
                    $firstError = '';
                    foreach ($httpWxAuthAccessToken->getFirstErrors() as $message) {
                        $firstError = $message;
                        break;
                    }
                    throw new ServerErrorHttpException(Yii::t('error', Yii::t('error', Yii::t('error', '205058'), ['first_error' => $firstError])), 205058);
                } elseif (!$httpWxAuthAccessToken->hasErrors()) {
                    throw new ServerErrorHttpException('WeChat third-party platform HTTP requests fail for unknown reasons!');
                }
            }
            // 保存 component_access_token 到 redis
            $this->redis->set($componentAccessTokenKey, $httpWxAuthAccessTokenResult['data']['component_access_token']);
            // 设置 component_access_token 的过期时间
            $this->redis->expire($componentAccessTokenKey, $httpWxAuthAccessTokenResult['data']['expires_in'] - Yii::$app->params['accessToken']['timeOut']);
            file_put_contents(Yii::getAlias('@runtime') . '/wx-msg-event-get-component-access-token-' . Date('Y-m-d-H-i-s') . '-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r('1', true), FILE_APPEND | LOCK_EX);
        }
        return true;
    }

14、查看已经生成的日志文件的创建时间。在 2020-11-30-16-25 期间。间隔 2020-11-30-16-25-30-1606724730.1885 – 2020-11-30-16-25-29-1606724729.7600 = 42.85 毫秒。间隔 token-2020-11-30-16-25-30-1606724730.1802 – token-2020-11-30-16-25-29-1606724729.7683 = 41.19 毫秒。因此,可以确定原因并非出在:$httpWxAuthAccessToken->wxComponentAccessToken(Json::encode($data))。

[root@c0f75d7d937d runtime]# ls -lt
total 136
drwxrwxr-x 2 nginx nginx 4096 Nov 30 17:25 debug
-rw-r--r-- 1 nginx nginx  305 Nov 30 17:25 msgXml.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 17:25 wx-msg-event-ticket-2020-11-30-17-25-51-1606728351.9058-1469431681.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 17:25 wx-msg-event-ticket-2020-11-30-17-25-51-1606728351.8982-1150604336.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 17:25 decrypt_result.txt
-rw-r--r-- 1 nginx nginx  220 Nov 30 17:25 requestQueryParams.txt
-rw-r--r-- 1 nginx nginx  573 Nov 30 17:25 requestRowBody.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 17:16 wx-msg-event-ticket-2020-11-30-17-16-01-1606727761.6309-69054700.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 17:16 wx-msg-event-ticket-2020-11-30-17-16-01-1606727761.6227-457638769.txt
-rw-r--r-- 1 nginx nginx   18 Nov 30 17:09 actionReceive.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 17:06 wx-msg-event-ticket-2020-11-30-17-06-10-1606727170.4403-2006187811.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 17:06 wx-msg-event-ticket-2020-11-30-17-06-10-1606727170.4319-776558591.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:56 wx-msg-event-ticket-2020-11-30-16-56-26-1606726586.3357-1979248577.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:56 wx-msg-event-ticket-2020-11-30-16-56-26-1606726586.3275-633275275.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:46 wx-msg-event-ticket-2020-11-30-16-46-22-1606725982.4072-1717988297.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:46 wx-msg-event-ticket-2020-11-30-16-46-22-1606725982.3998-1543568297.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:36 wx-msg-event-ticket-2020-11-30-16-36-20-1606725380.2058-82967550.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:36 wx-msg-event-ticket-2020-11-30-16-36-20-1606725380.1981-1694960265.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:25 wx-msg-event-get-component-access-token-2020-11-30-16-25-30-1606724730.1885-15234176.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:25 wx-msg-event-ticket-2020-11-30-16-25-30-1606724730.1887-1337687937.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:25 wx-msg-event-get-component-access-token-2020-11-30-16-25-30-1606724730.1802-973471121.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:25 wx-msg-event-get-component-access-token-2020-11-30-16-25-29-1606724729.7683-502384296.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:25 wx-msg-event-ticket-2020-11-30-16-25-29-1606724729.76-1329550188.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:15 wx-msg-event-ticket-2020-11-30-16-15-35-1606724135.7504-1687789418.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:15 wx-msg-event-ticket-2020-11-30-16-15-35-1606724135.7424-862202167.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:05 wx-msg-event-ticket-2020-11-30-16-05-52-1606723552.4635-817272139.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 16:05 wx-msg-event-ticket-2020-11-30-16-05-52-1606723552.4569-1930886052.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 15:55 wx-msg-event-ticket-2020-11-30-15-55-16-1606722916.7846-1483875696.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 15:55 wx-msg-event-ticket-2020-11-30-15-55-16-1606722916.777-1116558620.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 15:45 wx-msg-event-ticket-2020-11-30-15-45-08-1606722308.2036-360563463.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 15:45 wx-msg-event-ticket-2020-11-30-15-45-08-1606722308.1971-2068264798.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 15:35 wx-msg-event-ticket-2020-11-30-15-35-14-1606721714.414-760396908.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 15:35 wx-msg-event-ticket-2020-11-30-15-35-14-1606721714.4055-895475717.txt
drwxrwxr-x 5 nginx nginx 4096 Nov 30 15:35 cache
[root@c0f75d7d937d runtime]#

15、查看 HTTP 模型,代码如下


$httpWxAuthAccessTokenResult = $httpWxAuthAccessToken->wxComponentAccessToken(Json::encode($data));

$response = Yii::$app->wxAuthHttp->createRequest()
    ->setMethod('post')
    ->setHeaders([
        'content-type' => 'application/json; charset=utf-8',
    ])
    ->setUrl('cgi-bin/component/api_component_token')
    ->setContent($data)
    ->send();

16、编辑 HTTP 模型,代码如下


$httpWxAuthAccessTokenResult = $httpWxAuthAccessToken->wxComponentAccessToken($data);

$response = Yii::$app->wxAuthHttp->createRequest()
    ->setMethod('post')
    ->setFormat('json')
    ->setUrl('cgi-bin/component/api_component_token')
    ->setData($data)
    ->send();

17、查看 HTTP 请求的耗费时间。间隔 2020-12-01-08-25-14-1606782314.9124 – 2020-12-01-08-25-14-1606782314.4898 = 42.26 毫秒。间隔 2020-12-01-06-24-26-1606775066.2540 – 2020-12-01-06-24-25-1606775065.8532 = 40.08 毫秒。间隔 2020-12-01-04-24-46-1606767886.6284 – 2020-12-01-04-24-46-1606767886.2315 = 39.69 毫秒。

[root@c0f75d7d937d runtime]# ls -lt
total 780
drwxrwxr-x 2 nginx nginx 4096 Dec  1 09:46 debug
-rw-r--r-- 1 nginx nginx  305 Dec  1 09:46 msgXml.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:46 wx-msg-event-ticket-2020-12-01-09-46-40-1606787200.1924-384098389.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:46 wx-msg-event-ticket-2020-12-01-09-46-40-1606787200.184-1045658522.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:46 decrypt_result.txt
-rw-r--r-- 1 nginx nginx  219 Dec  1 09:46 requestQueryParams.txt
-rw-r--r-- 1 nginx nginx  573 Dec  1 09:46 requestRowBody.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:36 wx-msg-event-ticket-2020-12-01-09-36-22-1606786582.0585-1013103392.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:36 wx-msg-event-ticket-2020-12-01-09-36-22-1606786582.0505-970864071.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:25 wx-msg-event-ticket-2020-12-01-09-25-41-1606785941.8906-2041798728.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:25 wx-msg-event-ticket-2020-12-01-09-25-41-1606785941.8802-195187870.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:15 wx-msg-event-ticket-2020-12-01-09-15-45-1606785345.1548-475196816.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:15 wx-msg-event-ticket-2020-12-01-09-15-45-1606785345.1467-1129656952.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:06 wx-msg-event-ticket-2020-12-01-09-06-07-1606784767.8797-1783503091.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 09:06 wx-msg-event-ticket-2020-12-01-09-06-07-1606784767.8731-22763234.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:55 wx-msg-event-ticket-2020-12-01-08-55-25-1606784125.9631-425180789.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:55 wx-msg-event-ticket-2020-12-01-08-55-25-1606784125.9565-211048902.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:45 wx-msg-event-ticket-2020-12-01-08-45-23-1606783523.1237-862030637.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:45 wx-msg-event-ticket-2020-12-01-08-45-23-1606783523.1167-312880440.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:35 wx-msg-event-ticket-2020-12-01-08-35-25-1606782925.4178-2066789220.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:35 wx-msg-event-ticket-2020-12-01-08-35-25-1606782925.4104-1780781371.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:25 wx-msg-event-get-component-access-token-2020-12-01-08-25-14-1606782314.9202-330912324.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:25 wx-msg-event-ticket-2020-12-01-08-25-14-1606782314.9204-356089533.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:25 wx-msg-event-get-component-access-token-2020-12-01-08-25-14-1606782314.9124-958594011.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:25 wx-msg-event-get-component-access-token-2020-12-01-08-25-14-1606782314.4898-1980951097.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:25 wx-msg-event-ticket-2020-12-01-08-25-14-1606782314.4821-1622599529.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:15 wx-msg-event-ticket-2020-12-01-08-15-22-1606781722.7309-1378184776.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:15 wx-msg-event-ticket-2020-12-01-08-15-22-1606781722.7233-2062344384.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:05 wx-msg-event-ticket-2020-12-01-08-05-42-1606781142.3485-744441001.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 08:05 wx-msg-event-ticket-2020-12-01-08-05-42-1606781142.3409-890187836.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:55 wx-msg-event-ticket-2020-12-01-07-55-33-1606780533.7927-321132804.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:55 wx-msg-event-ticket-2020-12-01-07-55-33-1606780533.7847-1382205121.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:45 wx-msg-event-ticket-2020-12-01-07-45-32-1606779932.8478-999696249.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:45 wx-msg-event-ticket-2020-12-01-07-45-32-1606779932.838-1987962334.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:35 wx-msg-event-ticket-2020-12-01-07-35-34-1606779334.9738-1363413859.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:35 wx-msg-event-ticket-2020-12-01-07-35-34-1606779334.9653-2068220786.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:25 wx-msg-event-ticket-2020-12-01-07-25-29-1606778729.2231-738058693.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:25 wx-msg-event-ticket-2020-12-01-07-25-29-1606778729.2149-1863458868.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:15 wx-msg-event-ticket-2020-12-01-07-15-34-1606778134.2901-372169339.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:15 wx-msg-event-ticket-2020-12-01-07-15-34-1606778134.283-1709718914.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:05 wx-msg-event-ticket-2020-12-01-07-05-32-1606777532.1243-2010818083.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 07:05 wx-msg-event-ticket-2020-12-01-07-05-32-1606777532.1163-1852034553.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:55 wx-msg-event-ticket-2020-12-01-06-55-21-1606776921.2762-588795894.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:55 wx-msg-event-ticket-2020-12-01-06-55-21-1606776921.2688-1763253893.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:45 wx-msg-event-ticket-2020-12-01-06-45-16-1606776316.823-349359619.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:45 wx-msg-event-ticket-2020-12-01-06-45-16-1606776316.8152-1076127272.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:34 wx-msg-event-ticket-2020-12-01-06-34-37-1606775677.7764-775571138.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:34 wx-msg-event-ticket-2020-12-01-06-34-37-1606775677.7692-58599234.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:24 wx-msg-event-get-component-access-token-2020-12-01-06-24-26-1606775066.2637-574568818.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:24 wx-msg-event-ticket-2020-12-01-06-24-26-1606775066.2638-1092278848.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:24 wx-msg-event-get-component-access-token-2020-12-01-06-24-26-1606775066.254-1173116726.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:24 wx-msg-event-get-component-access-token-2020-12-01-06-24-25-1606775065.8532-1198103424.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:24 wx-msg-event-ticket-2020-12-01-06-24-25-1606775065.8441-1704836704.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:14 wx-msg-event-ticket-2020-12-01-06-14-20-1606774460.4333-759954230.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:14 wx-msg-event-ticket-2020-12-01-06-14-20-1606774460.4261-2019400249.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:04 wx-msg-event-ticket-2020-12-01-06-04-25-1606773865.473-739974480.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 06:04 wx-msg-event-ticket-2020-12-01-06-04-25-1606773865.4639-572998845.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:54 wx-msg-event-ticket-2020-12-01-05-54-12-1606773252.9456-493107095.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:54 wx-msg-event-ticket-2020-12-01-05-54-12-1606773252.9384-2012431998.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:44 wx-msg-event-ticket-2020-12-01-05-44-11-1606772651.9372-474948357.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:44 wx-msg-event-ticket-2020-12-01-05-44-11-1606772651.9291-402864750.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:34 wx-msg-event-ticket-2020-12-01-05-34-06-1606772046.8855-1427913395.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:34 wx-msg-event-ticket-2020-12-01-05-34-06-1606772046.8781-88996324.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:24 wx-msg-event-ticket-2020-12-01-05-24-04-1606771444.5239-1288137598.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:24 wx-msg-event-ticket-2020-12-01-05-24-04-1606771444.5164-608837871.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:14 wx-msg-event-ticket-2020-12-01-05-14-01-1606770841.7629-1181999397.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:14 wx-msg-event-ticket-2020-12-01-05-14-01-1606770841.755-1971758488.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:04 wx-msg-event-ticket-2020-12-01-05-04-02-1606770242.3264-1071187225.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 05:04 wx-msg-event-ticket-2020-12-01-05-04-02-1606770242.3189-670608731.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:53 wx-msg-event-ticket-2020-12-01-04-53-59-1606769639.0448-3386374.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:53 wx-msg-event-ticket-2020-12-01-04-53-59-1606769639.0369-1897343048.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:43 wx-msg-event-ticket-2020-12-01-04-43-58-1606769038.0198-1931996254.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:43 wx-msg-event-ticket-2020-12-01-04-43-58-1606769038.0113-1603472383.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:33 wx-msg-event-ticket-2020-12-01-04-33-58-1606768438.6776-720303540.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:33 wx-msg-event-ticket-2020-12-01-04-33-58-1606768438.6692-490408026.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:24 wx-msg-event-get-component-access-token-2020-12-01-04-24-46-1606767886.6364-1067545974.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:24 wx-msg-event-ticket-2020-12-01-04-24-46-1606767886.6366-1463566931.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:24 wx-msg-event-get-component-access-token-2020-12-01-04-24-46-1606767886.6284-596914487.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:24 wx-msg-event-get-component-access-token-2020-12-01-04-24-46-1606767886.2315-720853899.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:24 wx-msg-event-ticket-2020-12-01-04-24-46-1606767886.2236-1810890714.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:14 wx-msg-event-ticket-2020-12-01-04-14-45-1606767285.1813-173971590.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:14 wx-msg-event-ticket-2020-12-01-04-14-45-1606767285.1732-1121967222.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:04 wx-msg-event-ticket-2020-12-01-04-04-49-1606766689.3311-1538048300.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 04:04 wx-msg-event-ticket-2020-12-01-04-04-49-1606766689.3221-523777237.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:54 wx-msg-event-ticket-2020-12-01-03-54-47-1606766087.4762-1525066154.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:54 wx-msg-event-ticket-2020-12-01-03-54-47-1606766087.4658-1292924910.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:44 wx-msg-event-ticket-2020-12-01-03-44-07-1606765447.1236-409664564.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:44 wx-msg-event-ticket-2020-12-01-03-44-07-1606765447.1132-1394894206.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:34 wx-msg-event-ticket-2020-12-01-03-34-05-1606764845.0073-1387777703.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:34 wx-msg-event-ticket-2020-12-01-03-34-05-1606764845.0008-974432684.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:24 wx-msg-event-ticket-2020-12-01-03-24-06-1606764246.7578-1342539112.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:24 wx-msg-event-ticket-2020-12-01-03-24-06-1606764246.7492-1893978314.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:14 wx-msg-event-ticket-2020-12-01-03-14-04-1606763644.4555-720341412.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:14 wx-msg-event-ticket-2020-12-01-03-14-04-1606763644.4464-1671857882.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:04 wx-msg-event-ticket-2020-12-01-03-04-08-1606763048.7259-2143055995.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 03:04 wx-msg-event-ticket-2020-12-01-03-04-08-1606763048.7185-1193690580.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:54 wx-msg-event-ticket-2020-12-01-02-54-06-1606762446.2165-739995823.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:54 wx-msg-event-ticket-2020-12-01-02-54-06-1606762446.2095-1858779317.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:44 wx-msg-event-ticket-2020-12-01-02-44-05-1606761845.4562-457501145.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:44 wx-msg-event-ticket-2020-12-01-02-44-05-1606761845.4477-635809472.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:34 wx-msg-event-ticket-2020-12-01-02-34-07-1606761247.2821-1642870183.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:34 wx-msg-event-ticket-2020-12-01-02-34-07-1606761247.2747-1322735233.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:24 wx-msg-event-get-component-access-token-2020-12-01-02-24-01-1606760641.0821-1481979193.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:24 wx-msg-event-ticket-2020-12-01-02-24-01-1606760641.0823-920160809.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:24 wx-msg-event-get-component-access-token-2020-12-01-02-24-01-1606760641.0722-105574102.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:24 wx-msg-event-get-component-access-token-2020-12-01-02-24-00-1606760640.6884-1334268928.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:24 wx-msg-event-ticket-2020-12-01-02-24-00-1606760640.6786-701382904.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:14 wx-msg-event-ticket-2020-12-01-02-14-00-1606760040.7368-1670769553.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:14 wx-msg-event-ticket-2020-12-01-02-14-00-1606760040.7286-1176803526.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:04 wx-msg-event-ticket-2020-12-01-02-04-05-1606759445.824-1519493632.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 02:04 wx-msg-event-ticket-2020-12-01-02-04-05-1606759445.8173-1967281298.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:54 wx-msg-event-ticket-2020-12-01-01-54-04-1606758844.0423-1780051663.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:54 wx-msg-event-ticket-2020-12-01-01-54-04-1606758844.0338-66756438.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:44 wx-msg-event-ticket-2020-12-01-01-44-07-1606758247.5066-1363693687.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:44 wx-msg-event-ticket-2020-12-01-01-44-07-1606758247.4993-151888985.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:34 wx-msg-event-ticket-2020-12-01-01-34-09-1606757649.9249-1275381967.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:34 wx-msg-event-ticket-2020-12-01-01-34-09-1606757649.9159-339126942.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:24 wx-msg-event-ticket-2020-12-01-01-24-05-1606757045.2573-1561385935.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:24 wx-msg-event-ticket-2020-12-01-01-24-05-1606757045.2501-668714567.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:14 wx-msg-event-ticket-2020-12-01-01-14-08-1606756448.5321-2033193483.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:14 wx-msg-event-ticket-2020-12-01-01-14-08-1606756448.5236-1755134776.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:04 wx-msg-event-ticket-2020-12-01-01-04-59-1606755899.6917-2031828308.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 01:04 wx-msg-event-ticket-2020-12-01-01-04-59-1606755899.6835-657047289.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:54 wx-msg-event-ticket-2020-12-01-00-54-14-1606755254.3857-2146809427.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:54 wx-msg-event-ticket-2020-12-01-00-54-14-1606755254.379-1408837289.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:44 wx-msg-event-ticket-2020-12-01-00-44-15-1606754655.4169-1672754236.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:44 wx-msg-event-ticket-2020-12-01-00-44-15-1606754655.4091-869604583.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:34 wx-msg-event-ticket-2020-12-01-00-34-22-1606754062.3614-1510086858.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:34 wx-msg-event-ticket-2020-12-01-00-34-22-1606754062.3537-1370147506.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:24 wx-msg-event-get-component-access-token-2020-12-01-00-24-23-1606753463.0588-481023680.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:24 wx-msg-event-ticket-2020-12-01-00-24-23-1606753463.059-1861456234.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:24 wx-msg-event-get-component-access-token-2020-12-01-00-24-23-1606753463.0518-1634850724.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:24 wx-msg-event-get-component-access-token-2020-12-01-00-24-22-1606753462.6639-2125181805.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:24 wx-msg-event-ticket-2020-12-01-00-24-22-1606753462.6575-1139131739.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:14 wx-msg-event-ticket-2020-12-01-00-14-20-1606752860.8339-289574744.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:14 wx-msg-event-ticket-2020-12-01-00-14-20-1606752860.8249-1394522342.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:04 wx-msg-event-ticket-2020-12-01-00-04-34-1606752274.3779-235937116.txt
-rw-r--r-- 1 nginx nginx    1 Dec  1 00:04 wx-msg-event-ticket-2020-12-01-00-04-34-1606752274.3686-1052730961.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:54 wx-msg-event-ticket-2020-11-30-23-54-13-1606751653.0078-680117427.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:54 wx-msg-event-ticket-2020-11-30-23-54-13-1606751653.0005-1117289894.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:44 wx-msg-event-ticket-2020-11-30-23-44-14-1606751054.6151-1997692452.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:44 wx-msg-event-ticket-2020-11-30-23-44-14-1606751054.6071-1044148350.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:34 wx-msg-event-ticket-2020-11-30-23-34-19-1606750459.0669-494870141.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:34 wx-msg-event-ticket-2020-11-30-23-34-19-1606750459.0589-996872868.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:24 wx-msg-event-ticket-2020-11-30-23-24-22-1606749862.2343-876893111.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:24 wx-msg-event-ticket-2020-11-30-23-24-22-1606749862.2252-2057264373.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:15 wx-msg-event-ticket-2020-11-30-23-15-10-1606749310.2539-1935429237.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:15 wx-msg-event-ticket-2020-11-30-23-15-10-1606749310.2458-2092427951.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:05 wx-msg-event-ticket-2020-11-30-23-05-23-1606748723.8199-1646845185.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 23:05 wx-msg-event-ticket-2020-11-30-23-05-23-1606748723.8103-448599163.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:55 wx-msg-event-ticket-2020-11-30-22-55-17-1606748117.4809-1401582906.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:55 wx-msg-event-ticket-2020-11-30-22-55-17-1606748117.4735-1605481014.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:45 wx-msg-event-ticket-2020-11-30-22-45-26-1606747526.6753-585260776.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:45 wx-msg-event-ticket-2020-11-30-22-45-26-1606747526.6685-1440769296.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:35 wx-msg-event-ticket-2020-11-30-22-35-35-1606746935.0385-2843588.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:35 wx-msg-event-ticket-2020-11-30-22-35-35-1606746935.0314-1345068321.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:25 wx-msg-event-get-component-access-token-2020-11-30-22-25-34-1606746334.5391-1061436467.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:25 wx-msg-event-ticket-2020-11-30-22-25-34-1606746334.5392-726807423.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:25 wx-msg-event-get-component-access-token-2020-11-30-22-25-34-1606746334.5293-965003426.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:25 wx-msg-event-get-component-access-token-2020-11-30-22-25-34-1606746334.1075-1527687792.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:25 wx-msg-event-ticket-2020-11-30-22-25-34-1606746334.0994-1208139954.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:15 wx-msg-event-ticket-2020-11-30-22-15-37-1606745737.6861-1509351549.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:15 wx-msg-event-ticket-2020-11-30-22-15-37-1606745737.6791-104725536.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:05 wx-msg-event-ticket-2020-11-30-22-05-25-1606745125.5291-404181920.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 22:05 wx-msg-event-ticket-2020-11-30-22-05-25-1606745125.5221-971248792.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:55 wx-msg-event-ticket-2020-11-30-21-55-07-1606744507.8765-1704717090.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:55 wx-msg-event-ticket-2020-11-30-21-55-07-1606744507.8695-965101780.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:45 wx-msg-event-ticket-2020-11-30-21-45-00-1606743900.4269-2066158756.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:45 wx-msg-event-ticket-2020-11-30-21-45-00-1606743900.4187-1320980327.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:35 wx-msg-event-ticket-2020-11-30-21-35-34-1606743334.5332-197445622.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:35 wx-msg-event-ticket-2020-11-30-21-35-34-1606743334.5248-1836173532.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:25 wx-msg-event-ticket-2020-11-30-21-25-31-1606742731.9778-1837661693.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:25 wx-msg-event-ticket-2020-11-30-21-25-31-1606742731.9706-1108095330.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:15 wx-msg-event-ticket-2020-11-30-21-15-36-1606742136.1972-1007880751.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:15 wx-msg-event-ticket-2020-11-30-21-15-36-1606742136.1906-649721699.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:05 wx-msg-event-ticket-2020-11-30-21-05-58-1606741558.1541-1125447811.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 21:05 wx-msg-event-ticket-2020-11-30-21-05-58-1606741558.1441-842576238.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:55 wx-msg-event-ticket-2020-11-30-20-55-31-1606740931.8103-1319161929.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:55 wx-msg-event-ticket-2020-11-30-20-55-31-1606740931.8031-1384312038.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:45 wx-msg-event-ticket-2020-11-30-20-45-36-1606740336.4684-1333748366.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:45 wx-msg-event-ticket-2020-11-30-20-45-36-1606740336.4571-1717522519.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:35 wx-msg-event-ticket-2020-11-30-20-35-46-1606739746.9132-967751392.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:35 wx-msg-event-ticket-2020-11-30-20-35-46-1606739746.9069-189645814.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:25 wx-msg-event-get-component-access-token-2020-11-30-20-25-45-1606739145.5218-1234317233.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:25 wx-msg-event-ticket-2020-11-30-20-25-45-1606739145.5219-740613648.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:25 wx-msg-event-get-component-access-token-2020-11-30-20-25-45-1606739145.5138-83063487.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:25 wx-msg-event-get-component-access-token-2020-11-30-20-25-45-1606739145.1261-457325553.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:25 wx-msg-event-ticket-2020-11-30-20-25-45-1606739145.1181-293506606.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:16 wx-msg-event-ticket-2020-11-30-20-16-06-1606738566.7693-430128028.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:16 wx-msg-event-ticket-2020-11-30-20-16-06-1606738566.7632-337815723.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:07 wx-msg-event-ticket-2020-11-30-20-07-10-1606738030.6358-570043006.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 20:07 wx-msg-event-ticket-2020-11-30-20-07-10-1606738030.6259-1147801012.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 19:56 wx-msg-event-ticket-2020-11-30-19-56-43-1606737403.759-1187805995.txt
-rw-r--r-- 1 nginx nginx    1 Nov 30 19:56 wx-msg-event-ticket-2020-11-30-19-56-43-1606737403.7514-1773919284.txt
drwxrwxr-x 5 nginx nginx 4096 Nov 30 19:56 cache
[root@c0f75d7d937d runtime]#

18、在 Postman 中 POST:https://api.weixin.qq.com/cgi-bin/component/api_component_token ,响应耗费时间:371 ms。而程序的请求耗费时间长达 40 毫秒左右。符合预期。如图7

图7

19、查看程序的请求日志。确定耗费时间为 40 毫秒左右。如图8

图8

20、感觉响应超过 5 秒,瓶颈并非出在程序响应耗费时间长度上面。但是,决定开启程序的生产环境模型,即开启程序缓存。

21、查看 Nginx 日志。响应时间无甚变化。upstream_response_time 返回的时间为 0.032 秒。说明后端服务无问题。

{
  "request": {
    "headers": {
      "referer": "-",
      "host": "auth.channel-pub.wjdev.chinamcloud.cn",
      "x-request-id": "-",
      "x-forwarded-for": "81.69.19.7, 10.42.0.1",
      "user-agent": "Mozilla/4.0"
    },
    "method": "POST",
    "uri": "/wx-msg-event/ticket?signature=4bd108fe9aac5f0c4b0727f859274433f6266287&timestamp=1606797387&nonce=543080602&encrypt_type=aes&msg_signature=534641005b290dd9e0cd1c8f4daab3be25f53c0d",
    "url": "http://auth.channel-pub.wjdev.chinamcloud.cn/wx-msg-event/ticket?signature=4bd108fe9aac5f0c4b0727f859274433f6266287&timestamp=1606797387&nonce=543080602&encrypt_type=aes&msg_signature=534641005b290dd9e0cd1c8f4daab3be25f53c0d",
    "@timestamp": "2020-12-01T12:36:28+08:00",
    "upstreamaddr": "127.0.0.1:9000",
    "response": {
      "responsetime": "0.034",
      "upstream_response_time": "0.032"
    },
    "size": "17",
    "status": "200"
  },
  "module_name": "default-app"
}

22、基于 Nginx 日志,与相应的日志文件信息,在 Postman 中发出同样的请求。响应时间:243 ms。确认响应时间是未超过 5 秒的。如图9

图9

23、决定在程序入口处就响应输出:success。以尽可能减少响应时间。仍然持续告警。如图10

图10

<?php
exit('success');
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

require __DIR__ . '/../../vendor/autoload.php';
require __DIR__ . '/../../vendor/yiisoft/yii2/Yii.php';
require __DIR__ . '/../../common/config/bootstrap.php';
require __DIR__ . '/../config/bootstrap.php';

$config = yii\helpers\ArrayHelper::merge(
    require __DIR__ . '/../../common/config/main.php',
    require __DIR__ . '/../../common/config/main-local.php',
    require __DIR__ . '/../config/main.php',
    require __DIR__ . '/../config/main-local.php'
);

(new yii\web\Application($config))->run();

24、决定再扫码加入另一个告警群(测试环境)。未告警。如图11

图11

25、由于程序是一样的,环境也是基于 Docker 部署。最终决定仔细对比两个第三方平台应用的差异。开发环境应用尽量配置得与测试环境应用一致。

26、将告警的应用,覆盖现网全网发布。如图12

图12

27、请确认是否提交覆盖现网全网发布?确定。接入检测失败,请重试。如图13

图13

28、决定先修改告警应用的权限管理,以与未告警应用保持一致。现阶段权限集过多。如图14

图14

29、权限管理修改后,已经完全一致。如图15

图15

30、全网发布接入检测。检测成功,点击确定以全网发布,提交后请耐心等待审核。确定。提交时间 2020-12-03 20:08。如图16

图16

31、在时间 2020-12-04 16:44:41 收到通知。你的公众号第三方平台【XXX】已经覆盖现网发布成功。如图17

图17

32、在告警群中未再接收到告警通知。其最后一条告警通知时间 2020-12-04 15:54:56。由此确定,覆盖现网全网发布与否才是告警的根本原因。如图18

图18

永夜