spring cloud nacos docker環(huán)境下單點部署

nacos 服務端部署鏡像

單點模式下的docker-compose

version: "3.7"
services:
  nacos:
    image: nacos/nacos-server:2.0.3
    environment:
     PREFER_HOST_MODE: hostname
     MODE: standalone
    volumes:
     - /home/nacos/standalone-logs/:/home/nacos/logs
     - /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
     - "8848:8848"
     - "9848:9848"
    
  prometheus:
    image: prom/prometheus:latest
    volumes:
      - /etc/prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
    depends_on:
      - nacos
    restart: always
    
  grafana:
    image: grafana/grafana:latest
    ports:
      - 3000:3000
    restart: always

custom.properties

#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for prometheus
management.endpoints.web.exposure.include=*

# metrics for elastic search
#management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200

# metrics for influx
#management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true

prometheus-standalone.yaml

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'nacos'
    metrics_path: '/nacos/actuator/prometheus'
    static_configs:
      - targets: ['nacos:8848']

nacos docker鏡像支持的環(huán)境變量

名稱 描述 默認值
MODE cluster模式/standalone模式 cluster/standalone default cluster
NACOS_SERVERS nacos cluster地址 eg. ip1,ip2,ip3
PREFER_HOST_MODE 是否支持hostname hostname/ip default ip
NACOS_SERVER_PORT nacos服務器端口 default 8848
NACOS_SERVER_IP 多網卡下的自定義nacos服務器IP
SPRING_DATASOURCE_PLATFORM standalone 支持 mysql mysql / empty default empty
MYSQL_MASTER_SERVICE_HOST mysql 主節(jié)點host
MYSQL_MASTER_SERVICE_PORT mysql 主節(jié)點端口 default : 3306
MYSQL_MASTER_SERVICE_DB_NAME mysql 主節(jié)點數(shù)據(jù)庫
MYSQL_MASTER_SERVICE_USER 數(shù)據(jù)庫用戶名
MYSQL_MASTER_SERVICE_PASSWORD 數(shù)據(jù)庫密碼
MYSQL_SLAVE_SERVICE_HOST mysql從節(jié)點host
MYSQL_SLAVE_SERVICE_PORT mysql從節(jié)點端口 default :3306
MYSQL_DATABASE_NUM 數(shù)據(jù)庫數(shù)量 default :2
JVM_XMS -Xms default :2g
JVM_XMX -Xmx default :2g
JVM_XMN -Xmn default :1g
JVM_MS -XX:MetaspaceSize default :128m
JVM_MMS -XX:MaxMetaspaceSize default :320m
NACOS_DEBUG 開啟遠程調試 y/n default :n
TOMCAT_ACCESSLOG_ENABLED server.tomcat.accesslog.enabled default :false

結合prometheus和grafana監(jiān)控Nacos

Nacos 0.8.0版本之后支持通過暴露metrics數(shù)據(jù)接入第三方監(jiān)控系統(tǒng)監(jiān)控Nacos運行狀態(tài)

搭建nacos并暴露metrics數(shù)據(jù)

按上文所示,搭建好環(huán)境后,修改 custom.properties 文件喊废,暴露監(jiān)控端點,隨后訪問 http:{ip}:8848/nacos/actuator/prometheus 可以看到數(shù)據(jù)

management.endpoints.web.exposure.include=*

通過prometheus采集Nacos metrics數(shù)據(jù)

訪問 http://{ip}:9090/graph 溃肪,搜索 nacos_monitor 查看數(shù)據(jù)是否采集成功

通過grafana展示數(shù)據(jù)

訪問 grafana: http://{ip}:3000 ,配置數(shù)據(jù)

  • 配置prometheus數(shù)據(jù)源


    QQ截圖20210916165617.png
  • 導入Nacos grafana監(jiān)控模版

    QQ截圖20210916165827.png

  • 導入成功后即可看到監(jiān)控面板


    QQ截圖20210916165914.png

nacos 開發(fā)端接入

  1. 添加依賴
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>2.2.6.RELEASE</version>
</dependency>

注意 spring-cloud-alibaba-dependencies 與 spring-cloud-dependencies 有對應關系,阿里提供了畢業(yè)版本推薦依賴關系。
注意:版本 2.1.x.RELEASE 對應的是 Spring Boot 2.1.x 版本册倒。版本 2.0.x.RELEASE 對應的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 對應的是 Spring Boot 1.5.x 版本磺送。

Spring Cloud Version Spring Cloud Alibaba Version Spring Boot Version
Spring Cloud 2020.0.1 2021.1 2.4.2
Spring Cloud Hoxton.SR9 2.2.6.RELEASE 2.3.2.RELEASE
Spring Cloud Greenwich.SR6 2.1.4.RELEASE 2.1.13.RELEASE
Spring Cloud Hoxton.SR3 2.2.1.RELEASE 2.2.5.RELEASE
Spring Cloud Hoxton.RELEASE 2.2.0.RELEASE 2.2.X.RELEASE
Spring Cloud Greenwich 2.1.2.RELEASE 2.1.X.RELEASE
  1. 在 application.yml 中配置 Nacos server 的地址和應用名
spring:
  cloud:
    nacos:
      discovery:
        enabled: true
        service: {serviceName}
        server-addr: {ip:8848}
  1. 在啟動類上增加注解 @EnableDiscoveryClient 開啟服務注冊發(fā)現(xiàn)功能
  2. 給RestTemplate實例添加 @LoadBalanced 注解驻子,可以開啟負載均衡
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市估灿,隨后出現(xiàn)的幾起案子崇呵,更是在濱河造成了極大的恐慌,老刑警劉巖馅袁,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件域慷,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機犹褒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門抵窒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叠骑,你說我怎么就攤上這事李皇。” “怎么了座云?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵疙赠,是天一觀的道長。 經常有香客問我朦拖,道長圃阳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任璧帝,我火速辦了婚禮捍岳,結果婚禮上,老公的妹妹穿的比我還像新娘睬隶。我一直安慰自己锣夹,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布苏潜。 她就那樣靜靜地躺著银萍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪恤左。 梳的紋絲不亂的頭發(fā)上贴唇,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音飞袋,去河邊找鬼戳气。 笑死,一個胖子當著我的面吹牛巧鸭,可吹牛的內容都是我干的瓶您。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼纲仍,長吁一口氣:“原來是場噩夢啊……” “哼呀袱!你這毒婦竟也來了?” 一聲冷哼從身側響起郑叠,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤夜赵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后锻拘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體油吭,經...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡待榔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年嘲碧,在試婚紗的時候發(fā)現(xiàn)自己被綠了毫别。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片汉额。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡锈玉,死狀恐怖襟沮,靈堂內的尸體忽然破棺而出身辨,到底是詐尸還是另有隱情障簿,我是刑警寧澤馒铃,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布蟹腾,位于F島的核電站,受9級特大地震影響区宇,放射性物質發(fā)生泄漏娃殖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一议谷、第九天 我趴在偏房一處隱蔽的房頂上張望炉爆。 院中可真熱鬧,春花似錦卧晓、人聲如沸芬首。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽郁稍。三九已至,卻和暖如春胜宇,著一層夾襖步出監(jiān)牢的瞬間耀怜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工掸屡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留封寞,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓仅财,卻偏偏與公主長得像狈究,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子盏求,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內容