Docker+rancher部署SkyWalking8.5并应用在springboot服务中

1.Skywalking介绍

Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Java、.Net、NodeJs等探针,数据存储支持Mysql、Elasticsearch等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。
Skywalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker,K8S,Mesos)架构而设计,它是一款优秀的APM(Application Performance Management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。

2.Skywalking优势

国内开源项目,社区成熟,且可与作者直接沟通
支持语言更多:Java、.NET Core、PHP、Node.JS、Golang
支持java自动探针,代码无侵入,只要简单配置,就可以自动实现各种指标、调用链的埋点
众多存储选择:ElasticSearch、MySql、TiDB、H2、Sharding Sphere
扩展性:支持模块、插件的可拔插
支持java语言的几十种插件,例如:Tomcat、RabbitMq、Kafka,且易于二次开发
性能:比其他开源软件性能都强

3.官网

官网地址: http://skywalking.apache.org/
中文官网 http://skywalking.apache.org/zh/
下载地址: https://skywalking.apache.org/downloads/
git地址:https://github.com/apache/skywalking

4.部署

4.1 下载skywalking

https://archive.apache.org/dist/skywalking/

在这里插入图片描述
因为我们使用的是es链接的,所以可以选用es版本的包进行下载。这里主要是为了使用下载后的agent包
解压后:
在这里插入图片描述
4.2 docker+rancher部署 oap-server
在这里插入图片描述
在这里插入图片描述

4.3 docker+rancher部署 skywalking-ui
在这里插入图片描述
在这里插入图片描述
ip为oap-server所在的ip
12800是oap-server的ip

4.4服务器放置agent文件夹
agent这个就是我们下载解压后得到的

进入/agent/config目录下在agent.config中添加配置

//oap-server服务ip
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:127.0.0.1} 

//oap-server服务端口
plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}
plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760}
plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}

5.应用服务中的配置

5.1 在Rancher对应的服务下配置数据卷
主机路径配置 agent文件绝对路径
在这里插入图片描述
5.2 项目服务修改pom

skywalking-agent.jar路径为服务器agent的绝对路径;启动镜像时一起启动agent的jar包,如果是使用Dockerfile打镜像那么就将这些命令写入到Dockefile

FROM java:8
MAINTAINER demo
ADD demo-0.0.1-SNAPSHOT.jar demo.jar
EXPOSE 8080
ENTRYPOINT ["java  -Dspring.profiles.active=prod -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name=${project.artifactId} -Dskywalking.collector.backend_service=127.0.0.1:11800 $PARAMS","-jar","demo.jar"]

5.3 项目服务配置logback日志
只有配置了logback日志才能在页面的日志模块看到操作日志,否则是看不到日志的。(这些配置是在具体使用监控的服务中配置的,那些服务用那些服务配置)

pom.xml配置

<dependency>
  <groupId>org.apache.skywalking</groupId>
  <artifactId>apm-toolkit-trace</artifactId>
  <version>8.5.0</version>
</dependency>
<dependency>
  <groupId>org.apache.skywalking</groupId>
  <artifactId>apm-toolkit-logback-1.x</artifactId>
  <version>8.5.0</version>
</dependency>

新增一个logback-skywalking.xml文件,用于定义日志和将日志发送到skywalking页面。

<?xml version="1.0" encoding="UTF-8"?>

<configuration scanPeriod=" 5 seconds" scan="true">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
                <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
            </layout>
        </encoder>
    </appender>


    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <discardingThreshold>0</discardingThreshold>
        <queueSize>1024</queueSize>
        <neverBlock>true</neverBlock>
        <appender-ref ref="STDOUT"/>
    </appender>
    <appender name="grpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
                <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
            </layout>
        </encoder>
    </appender>
    <root level="INFO">
        <appender-ref ref="grpc-log"/>
        <appender-ref ref="ASYNC"/>
    </root>
</configuration>

yml配置
logging:
config: classpath:logback-skywalking.xml

使用ip:18080直接可以访问前端页面

日志的保存时间
直接使用 SkyWalking 进行配置,如下代码所示:
这个直接在 skywalking-oap-server环境变量中配置

recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:3} # Unit is day
metricsDataTTL: ${SW_CORE_METRICS_DATA_TTL:7} # Unit is day
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用的内容,搭建Docker Rancher环境的步骤如下: 1. 准备工作,包括安装apt-get和ssh,修改下载源地址。 2. 安装Docker,并使用Docker安装MySQL和Rancher。 3. 进行Docker的操作,包括镜像操作和卸载Docker。 4. 连接到不同的镜像仓库,包括Docker官方的镜像仓库和阿里云镜像仓库。 根据引用的内容,在搭建Rancher环境之前,需要规划好两台服务器的IP地址,并在其一台服务器上安装RancherDocker,在另一台服务器上安装DockerDocker-compose。 根据引用的内容,搭建Rancher环境的具体步骤如下: 1. 在已安装Docker的基础上启动Rancher服务器。Rancher服务器是一个Docker镜像,因此不需要额外安装软件,只需执行Docker命令下载并成功运行Rancher服务器镜像。 2. 启动容器并指定端口,如果没有rancher/server镜像,会自动下载。可以通过执行命令docker run -d --restart=always -p 8080:8080 rancher/server来查看镜像和容器的运行情况。 综上所述,搭建Docker Rancher环境的步骤包括准备工作、安装Docker、安装MySQL和Rancher、进行Docker操作、连接到不同的镜像仓库以及启动Rancher服务器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker+rancher环境搭建及rancher的使用](https://blog.csdn.net/qq_42268472/article/details/126798628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker+Rancher+Harbor搭建全过程](https://blog.csdn.net/sql_ican/article/details/81945023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值