监控没数据排查方法

  1. 是否启用了性能监控插件,并且插件配置指定的端口是服务工作端口

  2. 启用插件后是否更新或重启了应用。 通过grctl service get 命令查询服务pod中有 tcm容器

  3. 更新应用后是否有访问应用,只有有访问才有分析数据。

  4. 确定Prometheus中是否有数据,Prometheus默认使用9999端口。如果监控有数据,Prometheus应该有如下metric

  5. 如果Prometheus中没有数据,需要确定docker0的ip是否为172.30.42.1,如果不是需要修改rbd-worker的配置环境变量DOCKER_BRIDGE_IP的值为实际docker0ip

  6. 重启rbd-worker,重启应用。
    6.1. 配置文件路径: /opt/rainbond/conf/master.yaml
    6.2. 更新配置重启rbd-worker: node service update

补充第五点:
除了设置worker组件的DOCKER_BRIDGE_IP以外,5.0系列版本还需要更改默认的tcm镜像。更改方式如下:

  1. 基于Dockerfile更新性能分析基础镜像

    FROM goodrain.me/tcm
    CMD ["/bin/tcm","–server-host",“你的docker0ip”,"-d",“你的docker0ip:9125”]
    构建镜像:
    docker build -t goodrain.me/tcm .

  2. 卸载所有应用的性能分析插件,并在插件管理中删除默认性能分析插件

  3. 刷新页面后重新安装性能分析插件。

  4. 未需要分析的应用安装新的性能分析插件并更新应用。

或者修改docker0的ip,可参考如下

# cat /etc/docker/daemon.json  
{
  "insecure-registries": ["goodrain.me"],
  "bip": "172.30.42.1/16",
  "userland-proxy": false,
  "max-concurrent-downloads": 10,
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ],
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "20m",
    "max-file": "2"
    }
}