|NO.Z.00346|——————————|CloudNative|——|KuberNetes&運維.V63|-----------------------------------------------------------|Prometheus.v05|Micrometer.v05|服務發現配置|
阿新 • • 發佈:2022-04-01
[CloudNative:KuberNetes&運維.V63] [Applications.KuberNetes] [|DevOps|k8s|k8s運維|**3節點.V1**|Micrometer|Prometheus監控JVM|服務發現|]
一、服務發現:實驗配置
二、啟動一個eureka容器,console自動發現,監控JVM專案:### --- 服務發現說明 ~~~ 基於console去發現,自動監控JVM配置,啟動2個euraka ~~~ 一個euraka當做服務註冊中心 ~~~ 另一個euraka當做業務應用的另一個模組 ~~~ 通過euraka的console服務發現自動配置監控項
### --- 在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)