<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 說明 * 在日常開發運維中,我們經常會碰到各種原因導致的接口服務異常,尤其是數據導致的接口返回異常。還有特殊用戶要時刻保證服務接口正常,不能等客戶觸發異常后再去修復等場景。 * 針對這種情況JPower基于swagger的/v2/api-docs接口提供了接口監控服務,通過提供的時間周期,定期主動去監控接口是否返回正常,運維人員可隨時觀察接口返回數據情況。 * 啟用接口監控后,接口異常等情況無需用戶主動觸發后運維人員才能及時發現,我們的服務會在用戶觸發之前就把異常暴漏出來,可讓開發人員提前進行補救修復。 * 接口主動監控不止支持JPower系列得服務,不在JPower系列內也可支持監控,只要服務集成swagger的/v2/api-docs接口和seata分布式事務(服務的數據庫中不保存測試數據情況下需要)即可。 ## 如何使用 * 在監控過程中如果要求目標服務數據庫不保存監控所產生的數據時,需開啟seata全局事務,[seata文檔](./Seata分布式事務.md) * 接口監控實現在了日志模塊(jpower-log),可在配置文件中配置`jpower.monitor-restful.enable`為true即可開啟接口主動監控。 * 主動接口監控完整配置如下: ~~~ jpower: monitor-restful: enable: true cron: 0 0 1 * * ? routes: - name: test location: http://localhost:82 url: /all/restful auth: url: /auth/login method: post params: loginId=lipw&passWord=57ba172a6be125cca2f449826f9980ca&grantType=password headers: User-Type=web&Authorization=Basic Y2hhdDppSzFZRlE%3D code-field: code success-code: 200 token: 'eyJ0eXBlIjoiSnNvbldlYlRva2VuIiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJhZGRyZXNzIjoi5YaF6JKZ5Y-kIiwiaWRUeXBlIjoxLCJsb2dpbklkIjoicm9vdCIsIm9yZ05hbWUiOiIiLCJuaWNrTmFtZSI6Iui2hee6p-eUqOaItyIsInRlbGVwaG9uZSI6IjE1MDExMDcxMjI2IiwiYXZhdGFyIjoiNjNlOTNiZWUzNmRiNGM3NGE2ZGEyODMxZmE3NzFhNmZjYjRiYWU3YWE5YjJmYTc5M2M1Mzc5ZDJhZGI4ZmI1MmUxYWRjYmJkM2YwN2RiZDkiLCJ0ZW5hbnRDb2RlIjoiMDAwMDAwIiwidXNlck5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJpZE5vIjoiMTUyNjAxMTk5NDA4MDEyNjE3IiwidXNlcklkIjoiMSIsImxvZ2luQ291bnQiOjE0NTksIm9yZ0lkIjoiOWMzNTZiMWY2MWZjYTIxOTE5YmVhMTVlMWVhOTY0MWIiLCJsYXN0TG9naW5UaW1lIjoxNjE1MDQxNTE2MDAwLCJyb2xlSWRzIjpbIjEiXSwiY2xpZW50Q29kZSI6ImFkbWluIiwicG9zdENvZGUiOiIwMTIwMDAiLCJpc1N5c1VzZXIiOjAsInVzZXJUeXBlIjowLCJlbWFpbCI6IjE2MzQ1NjY2MDZAcXEuY29tIiwiZXhwIjoxNjE4NTg2ODU1LCJuYmYiOjE2MTg1ODUwNTV9.dOdD2aSP15E5uv_xt1owxfYHXK8EQEhpnuycv4qV-P8' token-field: data.accessToken token-name: jpower-auth token-position: header expires-in: 1800 expires-field: data.expiresIn expires-unit: seconds token-prefix: jpower token-prefix-field: data.tokenType token-suffix: '' token-suffix-field: '' token-delimiter: ' ' ~~~ 各個配置屬性說明如下: | <p align = center>屬性</p> | <p align = center>默認值</p> | <p align = center>說明值</p> | | --- | --- | --- | | jpower.monitor-restful.enable | false | 是否開啟接口監控 | | jpower.monitor-restful.cron| 0 0 1 * * ? | 何時進行監控,cron表達式 | | jpower.monitor-restful.auth | | 監控服務鑒權信息配置屬性。<br>與jpower.monitor-restful.routes.auth配置一樣,優先級低。<br>屬于所有服務通用的鑒權配置,如不配置jpower.monitor-restful.routes.auth則會自動按這里的配置進行接口鑒權 | | jpower.monitor-restful.routes | | 監控服務集合,該屬性是數組 | | jpower.monitor-restful.routes.name | | 監控服務名稱。<br>不可重復 | | jpower.monitor-restful.routes.location | | 服務地址,不支持https請求 | | jpower.monitor-restful.routes.url | /v2/api-docs | 服務提供的swagger接口地址或自定義提供的獲取全部接口的地址 | | jpower.monitor-restful.routes.auth | | 監控服務鑒權信息配置屬性。<br>與jpower.monitor-restful.auth配置一樣,優先級高 | | jpower.monitor-restful.routes.auth.url | | 鑒權接口(登錄接口) | | jpower.monitor-restful.routes.auth.method | get | 鑒權接口請求方式。<br>可選值:get、post、head | | jpower.monitor-restful.routes.auth.params | | 鑒權接口請求參數。<br>用=分割名稱和值用&分割不同參數,例如:key1=value1&key2=value2。<br>如用戶名密碼在參數里則配置在這里 | | jpower.monitor-restful.routes.auth.headers | | 鑒權接口請求header頭。<br>用=分割名稱和值用&分割不同參數,例如:key1=value1&key2=value2。<br>如用戶名密碼在header頭里則配置在這里 | | jpower.monitor-restful.routes.auth.code-field | code | 鑒權接口返回數據請求成功的字段。<br>例如鑒權接口返回數據為{"code":200,"data":{"token":"xxx"}},則這里配置code即可 | | jpower.monitor-restful.routes.auth.success-code | 200 | 標識接口返回成功的值。<br>例如鑒權接口返回數據為{"code":200,"data":{"token":"xxx"}},則這里配置200即可 | | jpower.monitor-restful.routes.auth.token | | 請求服務的token。<br>此配置優先級高于power.monitor-restful.routes.auth.token-field。<br>一旦配置此屬性則所有有關請求鑒權接口相關的配置項都無用(可不配置)。 | | jpower.monitor-restful.routes.auth.token-field | | 鑒權接口返回數據token字段。<br>優先級低于jpower.monitor-restful.routes.auth.token。<br>例如鑒權接口返回數據為{"code":200,"data":{"token":"xxx"}},則這里配置data.token即可 | | jpower.monitor-restful.routes.auth.token-name | Authorization | 請求監控接口時的token參數名稱 | | jpower.monitor-restful.routes.auth.token-position | header | 請求監控接口時token參數位置。<br>可選值:header、form、query | | jpower.monitor-restful.routes.auth.expires-in | 0 | token過期時間,0代表不過期。<br>優先級低于jpower.monitor-restful.routes.auth.expires-field | | jpower.monitor-restful.routes.auth.expires-field | | 鑒權接口返回數據中token過期時間字段。<br>例如鑒權接口返回數據為{"code":200,"data":{"token":"xxx","expiresIn":1800}},則這里配置data.expiresIn即可。<br>優先級高于jpower.monitor-restful.routes.auth.expires-in | | jpower.monitor-restful.routes.auth.expires-unit | seconds | token過期時間單位。<br>可選值:nanoseconds、microseconds、milliseconds、seconds、minutes、hours、days | | jpower.monitor-restful.routes.auth.token-prefix | | 請求監控接口時的token參數前綴。<br>優先級低于jpower.monitor-restful.routes.auth.token-prefix-field | | jpower.monitor-restful.routes.auth.token-prefix-field | | 鑒權接口返回數據的token前綴字段。<br>優先級高于jpower.monitor-restful.routes.auth.token-prefix。<br>配置方式和 jpower.monitor-restful.routes.auth.expires-field一樣 | | jpower.monitor-restful.routes.auth.token-suffix | | 請求監控接口時的token參數后綴。<br>優先級低于jpower.monitor-restful.routes.auth.token-suffix-field | | jpower.monitor-restful.routes.auth.token-suffix-field | | 鑒權接口返回數據的token后綴字段。<br>優先級高于jpower.monitor-restful.routes.auth.token-suffix。<br>配置方式和 jpower.monitor-restful.routes.auth.expires-field一樣 | | jpower.monitor-restful.routes.auth.token-delimiter | '空格符合' | token在拼接前綴和后綴時的分割字符 | >[info] `jpower.monitor-restful.cron`配置支持nacos的動態刷新,可在不重啟服務的情況下修改監控周期 ## 監控JPower服務 1. 被監控的服務需集成swagger; maven集成common-swagger; ![](https://img.kancloud.cn/06/7b/067b5a97ed7d2964cbac30f789709613_545x141.png) 在配置文件中開啟swagger ![](https://img.kancloud.cn/25/07/2507a5a9f79907629b8df6baeac431cd_286x116.png) jpower的common-swagger已經對外拋出了/all/restful接口 2. 被監控的服務需集成seata分布式事務;seata服務的部署可查看[seata文檔/docker啟動](./docker啟動.md) maven集成common-transaction; ![](https://img.kancloud.cn/3f/2d/3f2d273b78cdfe41ed0443f1a1cdcd3d_619x153.png) 在配置文件中開啟seata,并配置seata服務地址,配置方式如下: ~~~ jpower: seata: # 是否啟用分布式事務 enabled: true # 開發環境 dev: seata: # seata服務地址 grouplist: 192.168.0.8:85 ~~~ 3. jpower-log配置參考如下; ~~~ jpower: seata: # 是否啟用分布式事務(使用接口監控需開啟) enabled: true monitor-restful: enable: false cron: 0 0 1 * * ? routes: - name: jpower-system location: http://localhost:80 url: /jpower-system/all/restful auth: url: /jpower-auth/auth/login method: post params: loginId=root&passWord=57ba172a6be125cca2f449826f9980ca&grantType=password headers: User-Type=web&Authorization=Basic Y2hhdDppSzFZRlE%3D code-field: code success-code: 200 token-field: data.accessToken token-name: jpower-auth token-position: header expires-field: data.expiresIn expires-unit: seconds token-prefix-field: data.tokenType # 開發環境 dev: seata: grouplist: 192.168.0.8:85 ~~~ 4. 啟動jpower-log服務即可。 ## 監控第三方服務 1. 三方服務需自行集成swagger,并保證/v2/api-docs接口可正常訪問。或集成jpower的common-swagger模塊實現swagger功能,集成common-swagger方式如下: maven集成common-swagger; ![](https://img.kancloud.cn/06/7b/067b5a97ed7d2964cbac30f789709613_545x141.png) 在配置文件中加入如下配置: ~~~ spring: profiles: #開發環境 active: dev application: #項目名稱 name: other knife4j: enable: true swagger: base-package: #項目包的頂級路徑 - com.test ~~~ 2. 三方服務需集成seata分布式事務; maven繼承seata; ~~~ <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-seata</artifactId> <version>2.2.5.RELEASE</version> </dependency> <dependency> <groupId>io.seata</groupId> <artifactId>seata-spring-boot-starter</artifactId> <version>1.4.1</version> </dependency> ~~~ 在配置文件中加入如下配置: ~~~ seata: enabled: true tx-service-group: other-group service: grouplist: #seata服務地址 default: 192.168.0.8:85 vgroup-mapping: other-group: default ~~~ seata的部署可參考[seata文檔/docker啟動](./docker啟動.md) 3. jpower-log配置參考如下; ~~~ jpower: seata: # 是否啟用分布式事務 enabled: true monitor-restful: enable: true cron: 0 0 1 * * ? routes: - name: jpower-system location: http://localhost:80 #繼承jpower的common-swagger模塊這里寫/all/restful,自行集成的swagger這里寫/v2/api-docs。 url: /all/restful auth: url: 【登錄接口】 method: post params: userName=root&passWord=123456 code-field: code success-code: 200 token-field: data.accessToken token-name: auth token-position: header expires-field: data.expiresIn expires-unit: seconds dev: #seata服務地址 seata: grouplist: 192.168.0.8:85 ~~~ 4. 啟動jpower-log服務即可。 >[info] 如果三方服務不想集成swagger,可自行實現獲取全部接口信息的web接口,只要返回格式和swagger的/v2/api-docs接口一致即可,自行實現的接口只需修改jpower.monitor-restful.routes.url配置為自己的接口地址即可
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看