<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                2021-11-30 周二 ## 因子 最近在學`springclound`,然后看書的時候,學習到通過`actuator`來監控`springboot`應用的各項指標。又因`actuator`只提供一組`endpoints`(`restful`接口),查看不直觀,才有集成`springboot admin server`來通過界面查看監控。(當然還有其他的界面監控,比如很牛逼的`普羅米修斯`) ## springboot actuator介紹 Spring Boot Actuator可以幫助你監控和管理Spring Boot應用,比如健康檢查、審計、統計和HTTP追蹤等。所有的這些特性可以通過JMX或者HTTP endpoints來獲得。 Actuator同時還可以與外部應用監控系統整合,比如 [Prometheus](https://prometheus.io/), [Graphite](https://graphiteapp.org/), [DataDog](https://www.datadoghq.com/), [Influx](https://www.influxdata.com/), [Wavefront](https://www.wavefront.com/), [New Relic](https://newrelic.com/)等。這些系統提供了非常好的儀表盤、圖標、分析和告警等功能,使得你可以通過統一的接口輕松的監控和管理你的應用。 示例: `http://localhost:9101/actuator/health` ``` json { "status": "UP", "components": { "db": { "status": "UP", "details": { "database": "SQLite", "result": 1, "validationQuery": "SELECT 1" } }, "diskSpace": { "status": "UP", "details": { "total": 250790436864, "free": 64770326528, "threshold": 10485760 } }, "ping": { "status": "UP" }, "redis": { "status": "UP", "details": { "version": "5.0.8" } } } } ``` ## springboot admin server介紹 Actuator功能強大,便于其他應用使用端點(只需要簡單的REST調用)。但是開發人員使用時就沒那么方便了。對于開發人員,有良好的交互界面會更方便瀏覽監控數據和管理應用。這正是Spring Boot Admin做的工作。它為actuator端點提供了良好的交互界面,并提供了額外的特性。 Spring Boot Admin不是Spring團隊提供的模塊,它是由[Codecentric](https://blog.codecentric.de/en/)公司創建的,代碼在[Github](https://github.com/codecentric/spring-boot-admin)上公開。 示例: ![](https://img.kancloud.cn/8d/c8/8dc84c8bf758d1d04818bf26d6648b48_3358x1854.png) ## springboot應用集成actuator 1. pom.xml里添加依賴 ``` xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> ``` 2. `actuator`相關配置 ``` properties # 顯示actuator詳情 management.endpoint.health.show-details=always # 解除瀏覽器訪問路徑,* 是所有,也可以指定為beans,health management.endpoints.web.exposure.include=* # 端點信息接口使用的端口,為了和主系統接口使用的端口進行分離 management.server.port=9101 management.server.servlet.context-path=/ ``` ## springboot應用集成springboot admin server 分為`Server`和`Client`,`Server`可以理解為注冊中心,`Client`則是將集成了`actuator`的springboot應用的注冊到`Server`上,然后通過界面監控各項指標。 ### Server端 1. 添加依賴 ``` xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>${springboot.admin.version}</version> </dependency> </dependencies> ``` 2. 啟動類上添加`@EnableAdminServer`注解 ``` java @EnableAdminServer @SpringBootApplication public class StartupApplication { public static void main(String[] args) { SpringApplication.run(StartupApplication.class,args); } } ``` 3. 啟動后訪問`Server`的端口`http://127.0.0.1:9100` ![](https://img.kancloud.cn/25/96/2596cae6a7f97b2b742237e3d70b7b2a_2942x704.png) ### Client端 1. 添加依賴 ``` xml <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>${springboot.admin.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> ``` 2. 添加配置 ``` properties # 顯示actuator詳情 management.endpoint.health.show-details=always # 解除瀏覽器訪問路徑,* 是所有,也可以指定為beans,health management.endpoints.web.exposure.include=* # 端點信息接口使用的端口,為了和主系統接口使用的端口進行分離 management.server.port=9101 management.server.servlet.context-path=/ spring.application.name=card-api # 配置spring-boot-admin服務端的地址 spring.boot.admin.client.enabled=true spring.boot.admin.client.url=http://localhost:9100 ``` 3. 啟動Client端后,就能看到界面上有示例連上 ![](https://img.kancloud.cn/0b/05/0b05e8758fcc70c1c10f30f00df06924_2920x1140.png) ![](https://img.kancloud.cn/f7/73/f7731e5e1b61a116c793171e87cbb105_3358x1804.png) ## 總結 1. 為了監控`springboot`應用的各項指標,才有了`springboot actuator`項目。 2. 為了更直觀查看各項監控數據,就有了`springboot admin server`項目,其他的還有`Prometheus`等 3. `springboot admin`的`Server`和`Client`端都可以集成`spring-security`認證,提供安全性。 4. 框架的版本一定要對應,不然啟動的時候會出各種問題。spring和spring boot和spring cloud,以及spring boot admin的版本。可以通過mvn repo參考查看。( 5. 我的版本:spring clound Hoxton.SR10 + spring boot 2.2.7 RELEASE + spring boot admin 2.2.4 ) ## 參考資料 1. https://www.jianshu.com/p/1749f04105fb 2. https://www.itmuch.com/spring-cloud/finchley-3/
                  <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>

                              哎呀哎呀视频在线观看