docker 部署 sentinel ,包含实时监控不显示的解决方案

这篇具有很好参考价值的文章主要介绍了docker 部署 sentinel ,包含实时监控不显示的解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 使用docker部署sentinel

对于实时监控不显示的解决方案可以直接看4. 总结

1.1. 下载sentinel的jar包

sentinel-dashboard就是一个SpringBoot项目,直接使用命令启动即可,所以可以自定义配置docker启动。

如果没有特殊需要可以直接下载jar,需要修改源码则下载源码包即可,下载地址:https://github.com/alibaba/Sentinel/releases,下载相应版本的jar包,比如sentinel-dashboard-1.8.1.jar
docker 部署 sentinel ,包含实时监控不显示的解决方案
docker 部署 sentinel ,包含实时监控不显示的解决方案
然后将下载好的jar包放到服务器的某一个目录下。并且在相同位置创建Dockerfile文件。
docker 部署 sentinel ,包含实时监控不显示的解决方案

1.2. Dockerfile文件内容

# java 版本
FROM java:8
# 挂载的docker卷
VOLUME /tmp
# 前者是要操作的jar包  后者自定义jar包名
ADD *.jar sentinel-dashboard.jar
# 定义时区参数
ENV TZ=Asia/Shanghai
# 设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
# 配置启动命令,-D表示设置JVM参数  (xxx.xxx.xxx.xxx换成自己服务器的ip)
ENTRYPOINT ["java","-jar","-Dserver.port=8858","-Dcsp.sentinel.dashboard.server=xxx.xxx.xxx.xxx:8858","-Dproject.name=sentinel-dashboard","-Dsentinel.dashboard.auth.username=sentinel","-Dsentinel.dashboard.auth.password=123456","/sentinel-dashboard.jar"]

ENTRYPOINT中的内容实际上就是执行jar包时执行的命令,可根据自己的需求和官方文档添加别的配置参数。

控制台配置项
docker 部署 sentinel ,包含实时监控不显示的解决方案

1.3. 创建、运行容器

在服务器当前目录执行下述命令构建镜像

docker build -t sentinel-server .

执行下述命令创建、运行容器

docker run --name sentinel_9 -p 8858:8858 -p 8719:8719 --restart=always --privileged=true -d sentinel-server

再执行docker ps就可以看见容器已经在运行了
docker 部署 sentinel ,包含实时监控不显示的解决方案
执行docker logs sentinel_9 -f 可以试试查看容器的运行日志。

2. 使用spring整合

(本文省略对nacos的讲解)

2.1. 服务中添加依赖和配置

<!--       sentinel 服务保护-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

下面这段配置得添加到nacos中。

spring:
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8080

docker 部署 sentinel ,包含实时监控不显示的解决方案

2.2. 将服务打包部署到服务器上

docker 部署 sentinel ,包含实时监控不显示的解决方案
流程和上述差不多,将服务的jar包和Dockerfile文件放在一个目录中。
docker 部署 sentinel ,包含实时监控不显示的解决方案
Dockerfile文件内容

# 基础镜像使用Java
FROM openjdk:11.0.4
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD demo_user_server-exec.jar app.jar

# 定义时区参数
ENV TZ=Asia/Shanghai
# 设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone

# 运行jar包
# ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.config.location=config/application.yml","> log.txt &"]

# 以便于微服务配置
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.config.location=config/bootstrap.yml","> log.txt &"]

config目录下方配置文件
docker 部署 sentinel ,包含实时监控不显示的解决方案

docker 部署 sentinel ,包含实时监控不显示的解决方案
然后执行下述命令

docker build -t demo_user_server_2 .
docker run -d -p 8100:8100 -v /root/docker_file/demo_project/demoUserServer/config:/config --name demo_user_server_2 demo_user_server_2

/root/docker_file/demo_project/demoUserServer/config为我服务器上的路径,大家根据自己的实际情况修改。
执行docker ps可以看到容器已经启动。
docker 部署 sentinel ,包含实时监控不显示的解决方案

3. 给docker容器创建网络

执行下述命令

# 创建一个名字为sentinel-net的网络
docker network create sentinel-net
# 查看已经创建的网络
docker network ls
# 查看sentinel-net网络的详细信息
docker network inspect sentinel-net
# 将容器sentinel_9和demo_user_server_2 连接到网络 sentinel-net
docker network connect sentinel-net sentinel_9
docker network connect sentinel-net demo_user_server_2
# 查看sentinel-net网络的详细信息
docker network inspect sentinel-net
# 重启容器sentinel_9和demo_user_server_2 
docker restart demo_user_server_2 sentinel_9

之后就发现没问题了。

4. 总结

从网上总结的几个可能会导致Sentinel没有实时监控的原因。

  1. 容器中的时间不对,这个需要1.2. Dockerfile文件内容中设置时区参数
  2. 端口没有打开,需要打开文章中涉及到的端口(服务器防火墙和安全组)
  3. 网络问题,需要在3. 给docker容器创建网络中创建网络(我就是这个问题。。)
  4. Spring cloud版本问题,这个得查询相关资料,核对版本是否兼容。
  5. 如果不加@SentinelResource注解, 当请求接口为2层级或者更多层级时, sentinel无法对接口进行实时监控, 只有1层级才能实时监控到。 (我在找解决方案的时候遇到网上一篇博客遇到这个问题,但是我没有成功复现出这个问题,不知道是否是版本问题,原文链接)

5. 参考资料

容器技术(二):Docker Network基础
docker network详解、教程
Sentinel(二)Docker搭建Sentinel 控制台环境搭建及使用介绍文章来源地址https://www.toymoban.com/news/detail-489900.html

到了这里,关于docker 部署 sentinel ,包含实时监控不显示的解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker 部署 sentinel

    拉取镜像 目前稳定的版本是 1.8.0 启动服务 登录 登录的时候账号和密码都是 sentinel

    2024年01月25日
    浏览(42)
  • Qt编写视频监控系统75-计算实时码率并显示

    做监控摄像头的实时视频显示,一般还会要求统计实时码率显示在通道画面上,一个是为了测试下整个软件的性能,同时也看下当前到底是主码流还是子码流,设备到底是不是真的按照设定的码流大小来传输视频数据的。视频码率就是数据传输时单位时间传送的数据位数,一

    2024年02月06日
    浏览(51)
  • RK3588+FPGA视频实时处理与双屏显示、存储解决方案

    主板平台的主要功能电路示意图 在ARM端: 脚踏开关是电平输入10 口,双路。 触摸面板与主板的连接方式为 UART 外加12V 电源。 键盘为自开发产品,通过USB透传 UART,并传递12V电源USB、千兆网络为主板上的接口,USB 为3.0版本host 接口 SSD 为内置硬盘。 图像输出视频接口主要包含

    2024年02月16日
    浏览(57)
  • Docker 安装部署 Sentinel Dashboard

    官方 jar 包下载地址:https://github.com/alibaba/Sentinel/releases 或者点击 链接 直接跳转到下载页 进入链接下载你需要的版本 下载完毕(我这里统一放在一个 sentinel 目录内) 在 sentinel 目录内创建 Dockerfile 文件并填写以下内容: 在 sentinel 目录内创建一个脚本,这里我叫做 build-run.s

    2024年02月03日
    浏览(40)
  • Qt编写监控实时显示和取流回放工具(回放支持切换进度)

    现在各个监控大厂做的设备,基本上都会支持通过rtsp直接取流显示,而且做的比较好的还支持通过rtsp回放取流,基本上都会约定一个字符串的规则,每个厂家都是不一样的规则,比如回放对应的rtsp地址还要带上时间范围,回放肯定要指定一个开始时间和结束时间。这里需要

    2024年02月10日
    浏览(50)
  • 安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现)

    书接上期,我们已经实现了许多功能了,但是对于视频流的实时上传还未实现,本期主要分享的就是如何具体实现网页实时显示摄像头采集到的视频,从而实现安防中监控的功能,这个功能完成后呢,就只剩下一个功能需求了,那就是GPRS模块,能够实现危险报警的功能,也能

    2024年02月06日
    浏览(47)
  • Qt/C++编写监控实时显示和取流回放工具(回放支持切换进度)

    现在各个监控大厂做的设备,基本上都会支持通过rtsp直接取流显示,而且做的比较好的还支持通过rtsp回放取流,基本上都会约定一个字符串的规则,每个厂家都是不一样的规则,比如回放对应的rtsp地址还要带上时间范围,回放肯定要指定一个开始时间和结束时间。这里需要

    2024年02月11日
    浏览(45)
  • STM32F4 HAL库使用DMA进行ADC采样实时发送波形到串口显示(包含傅里叶变换)

    按下 STM32F4 的 KEY0 按键,通过外部中断的方式对按键进行检测,然后进行一次固定点数的 DMA ADC 采集,采集完成后在 DMA 的中断发送采集到的数据,然后清空数据区准备下一次的按键中断。电脑接受到串口数据后对数据进行简单处理和傅里叶变化,然后实时显示在电脑上。 开

    2024年02月14日
    浏览(40)
  • 使用 Docker Compose 部署 Redis Sentinel 高可用架构

    在现代应用中,无法容忍系统中断或数据丢失。Redis 作为一种高性能的内存数据库,被广泛应用于缓存、会话管理等场景。然而,即使我们拥有可伸缩的 Redis Cluster 集群,也需要考虑在主节点故障时自动切换到从节点的机制。这时候 Redis Sentinel 就派上用场了。高可用性是分布

    2024年02月13日
    浏览(42)
  • 【nacos】【sentinel】【gateway】docker-compose安装及web项目部署

    【centos】【docker】安装启动 【docker-compose】安装使用 启动docker-compose配置文件

    2024年02月11日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包