参考
https://nacos.io/zh-cn/docs/v2/quickstart/quick-start-docker.html
https://nacos.io/zh-cn/docs/v2/guide/admin/monitor-guide.html
简介
最近以优惠价购买了云服务器,想着不能浪费资源,打算做点东西,玩一玩。可还是高估了我的经济实力,1C2G
是真的不够用,我在这台机器上装了JDK
、Maven
、RocketMQ、Docker
、Docker-compose
,同时在Docker
下运行了MySQL
、Redis
、Nginx
、RocketMQ-Dashboard
,到这里其实都还好,在修改启动参数的情况下勉强够用。
但为了学习微服务,向Spring Cloud Alibaba
靠,准备搭建Nacos
作为注册中心和配置中心,这下问题来了,按照官网的部署方案,出了问题,在这里记录一下,为他人学习提供一下参考。
部署
version: "2"
services:
nacos:
image: nacos/nacos-server:latest
container_name: nacos-standalone
environment:
- PREFER_HOST_MODE=hostname
- MODE=standalone
# 加上了启动参数配置
- JVM_XMS=256m
- JVM_XMX=256m
- JVM_XMN=128m
volumes:
# 挂载nacos配置文件
- ./init.d/application.properties:/home/nacos/conf/application.properties
- ./standalone-logs/:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8848:8848"
- "9848:9848"
prometheus:
container_name: prometheus
image: prom/prometheus:latest
volumes:
- ./prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
depends_on:
- nacos
restart: on-failure
grafana:
container_name: grafana
image: grafana/grafana:latest
volumes:
# 挂载grafana配置文件
- ./grafana/config/grafana.ini:/etc/grafana/grafana.ini
ports:
- 3000:3000
restart: on-failure
docker-compose
如上,其中注释是我在原有上加的,自己部署时可以参考官网再做改动。
启动时注意这些端口有没有被占用,有的就改一下映射。
nacos启动参数配置
主要是我的机器太拉了,不然还是使用默认配置就好
属性 | 说明 | 默认 |
---|---|---|
JVM_XMS | -Xms | 默认 :1g |
JVM_XMX | -Xms | 默认 :1g |
JVM_XMN | -Xms | 默认 :512m |
挂载nacos配置文件
之所以挂载nacos
配置文件,是因为之后接入Prometheus
需要这个配置项打开,而在docker
容器内配置实在有些麻烦。
application.properties
### Metrics for prometheus
management.endpoints.web.exposure.include=*
挂载grafana配置文件
这个我的问题还没解决,就是关于grafana.init
配置文件,明明改了domain
配置,可配置钉钉通知后,链接仍然是localhost
,导致访问链接一直是错误的。
启动
docker-compose -f example/standalone-derby.yaml up -d
加上-d
后台启动方式
# 查看启动情况
docker-compose -f example/standalone-derby.yaml ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4ca1c13e6a6b prom/prometheus:latest "/bin/prometheus --c…" 2 minutes ago Up 2 minutes 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus
05fc4410bbd5 grafana/grafana:latest "/run.sh" 2 minutes ago Up 2 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
35ae7aae1e09 nacos/nacos-server:latest "bin/docker-startup.…" 2 minutes ago Up 2 minutes 0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp nacos-standalone
控制台检查
这里注意提前把网络开通,防火墙、安全组这些
nacos
http://ip:8848/nacos
用户名密码:nacos/nacos
prometheus
http://ip:9090/
搜索:nacos_monitor
,检查prometheus
有没有采集到nacos
数据
grafana
http://ip:3000/
用户名密码:admin/admin
首次登录需要修改密码
grafana配置
Configuration
->Datassources
->选择Prometheus
这里要注意了,按照官方说的说法确实没错,但是很容易出错,因为官网配置的的prometheus
而Grafana默认配置的的是Prometheus
,就是因为这一个字母大小小写,为之后从官网导入配置埋下伏笔。
Create
->Import
->Upload JSON file
倒入官网配置文件即可