1. 程式人生 > 其它 >|NO.Z.00346|——————————|CloudNative|——|KuberNetes&運維.V63|-----------------------------------------------------------|Prometheus.v05|Micrometer.v05|服務發現配置|

|NO.Z.00346|——————————|CloudNative|——|KuberNetes&運維.V63|-----------------------------------------------------------|Prometheus.v05|Micrometer.v05|服務發現配置|



[CloudNative:KuberNetes&運維.V63]                                                                      [Applications.KuberNetes] [|DevOps|k8s|k8s運維|**3節點.V1**|Micrometer|Prometheus監控JVM|服務發現|]








一、服務發現:實驗配置
### --- 服務發現說明

~~~     基於console去發現,自動監控JVM配置,啟動2個euraka
~~~     一個euraka當做服務註冊中心
~~~     另一個euraka當做業務應用的另一個模組
~~~     通過euraka的console服務發現自動配置監控項
二、啟動一個eureka容器,console自動發現,監控JVM專案:
### --- 在euraka中配置console外掛:新增全域性服務發現dependency引數依賴配置:

[root@k8s-master01 spring-cloud-demo2]# docker run -ti --rm -v /opt/m2:/root/.m2 -v `pwd`:/opt/ -p 18761:8761 maven:3.5.3 bash
root@8340becce924:/opt/spring-cloud-eureka# vim pom.xml
    <dependency>
        <groupId>at.twinformatics</groupId>
        <artifactId>eureka-consul-adapter</artifactId>
        <version>1.1.0</version>
    </dependency>
        <!-- Micrometer Prometheus registry  -->    #  此行上面新增如上內容
### --- 重新編譯Java專案

root@8340becce924:/opt/spring-cloud-eureka# mvn clean package -DskipTests
[INFO] Scanning for projects...
[INFO] ---------------------< com.zb:spring-cloud-eureka >---------------------
[INFO] Building spring-cloud-eureka 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] BUILD SUCCESS
### --- 啟動第一個euraka:作為服務註冊中心

~~~     一個euraka當做服務註冊中心
~~~     另一個euraka當做業務應用的另一個模組;
~~~     然後註冊到第一個euraka中,實現console監控JVM服務自動發現
root@8340becce924:/opt/spring-cloud-eureka# mv target/spring-cloud-eureka-0.0.1-SNAPSHOT.jar .
root@8340becce924:/opt/spring-cloud-eureka# java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar
——>通過Chrome訪問euraka註冊中心:現在沒有任何服務註冊進來

三、啟動第二個euraka;作為業務應用的另一個模組
### --- 在啟動一個容器;執行spring-cloud-user專案

[root@k8s-master01 spring-cloud-demo2]# docker run -ti --rm -v /opt/m2:/root/.m2 -v `pwd`:/opt/ -p 28080:8080 maven:3.5.3 bash
root@9e3a56c9868e:/opt/spring-cloud-eureka#
### --- 新增服務註冊

root@9e3a56c9868e:/opt/spring-cloud-eureka# vim src/main/resources/application.yml
server:
  port: 8080
 
eureka:
  client:
    serviceUrl:
      defaultZone: http://192.168.1.11:18761/eureka/
spring:
  application:
    name: cloud-user
management:
  endpoints:
    web:
      exposure:
        include: '*'
    shutdown:
      enable: false
  metrics:
    tags:
      application: "${spring.application.name}"
### --- 編譯打包

root@9e3a56c9868e:/opt/spring-cloud-eureka# mvn clean package -DskipTests
[INFO] ---------------------< com.zb:spring-cloud-eureka >---------------------
[INFO] Building spring-cloud-eureka 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] BUILD SUCCESS
### --- 啟動第二個容器,充當業務應用的另一個模組
~~~     --server.port=8080: 埠號更改為8080

root@9e3a56c9868e:/opt/spring-cloud-eureka# java -jar target/spring-cloud-eureka-0.0.1-SNAPSHOT.jar --server.port=8080          
——>通過Chrome訪問euraka註冊中心:檢視註冊是否註冊進來
四、配置自動發現,驗證是否可以自動監控上
### --- 配置自動發現,驗證是否可以自動監控上

~~~     ——>http://krm.test.com/——>secrets——>Namespace:monitoring
~~~     ——>secrets:additional-scrape-configs——>編輯:新增如下內容——>Update——>END 
### --- namespace:monitoring——>secrets:additional-scrape-configs——>新增如下內容

### other configurations                   // 最上面新增如下內容
- job_name: 'jvm-discovery-prometheus'
  scheme: http
  metrics_path: '/actuator/prometheus'
  consul_sd_configs:                       // consul地址
    - server: '192.168.1.11:18761'         // eureka的地址      
      scheme: http
      services: []
#- job_name: 'jvm-prometheus'              // 這部分內容刪除掉
#  scheme: http
#  metrics_path: '/actuator/prometheus'
#  static_configs:
#  - targets: ['192.168.1.11:18761']
五、檢視服務secrets是否更新
### --- 檢視服務secrets是否更新

~~~     ——>http://prom.test.com/——>Status——>Configuration——>配置引數已更新過來
六、檢視服務發現註冊是否監控到
### --- 檢視服務發現註冊是否監控到

~~~     ——>http://prom.test.com/——>Status——>Targets——>
~~~     ——>檢視服務發現已經配置上,但是instance:172.17.0.3是docker的IP地址
~~~     ——>這個Prometheus和它是不通的,所以連線失敗。這個是不影響的,console服務發現已經生效了
~~~     # 注:

~~~     此環境是使用docker去模擬的euraka的註冊中心和業務應用模組,所以Prometheus和docker是不通的
~~~     若是euraka和springboot和這個應用是部署在容器中,就會使用pod的IP地址,就不會再報連線失敗錯誤
~~~     若是裸機部署,裸機是宿主機的IP地址+埠號,若是將docker網路改成hosts,也可以註冊上並連線通








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)