ShardingSphere-Proxy 应用性能监控集成 Skywalking 部署

e6d3eaac7b36219623c3f9a7a35f5a6e.jpeg

背景

ShardingSphere

Skywalking 可以监控很多组件,本次在生产环境搭建 Skywalking 监控 ShardingSphere-proxy 可以查看相关链路,分析 SQL 执行。

442bb53c07d327d5461852e3ab734e74.png

01  安装部署

wget https://mirrors.bfsu.edu.cn/apache/skywalking/8.6.0/apache-skywalking-apm-es7-8.6.0.tar.gz
tar -zxvf apache-skywalking-apm-es7-8.6.0.tar.gz
mv apache-skywalking-apm-bin-es7/ skywalking/

02  配置端口

vi webapp/webapp.yml

server:
  port: 18189  #改下,8080


collector:
  path: /graphql
  ribbon:
    ReadTimeout: 10000
    # Point to all backend's restHost:restPort, split by ,
    listOfServers: 127.0.0.1:12800

03  启动项目

sh bin/startup.sh

访问地址:http://172.168.9.135:18189/   空的啥啥没有

3b1e43bf6c0e2fc941d0abb7385aa4bb.png

04  配置探针

  • 部署 Skywalking javaagent

  1. 拷贝 agent 目录到所需位置. 日志,插件和配置都包含在包中,请不要改变目录结构.

  2. 增加JVM启动参数, -javaagent:/path/to/skywalking-agent/skywalking-agent.jar. 参数值为skywalking-agent.jar的绝对路径。

    新的 agent package 目录结构如下:

+-- skywalking-agent
    +-- activations
         apm-toolkit-log4j-1.x-activation.jar
         apm-toolkit-log4j-2.x-activation.jar
         apm-toolkit-logback-1.x-activation.jar
         ...
    +-- config
         agent.config  
    +-- plugins
         apm-dubbo-plugin.jar
         apm-feign-default-http-9.x.jar
         apm-httpClient-4.x-plugin.jar
         .....
    skywalking-agent.jar
  •  启动被监控应用.

高级特性

  • 插件全部放置在 /plugins 目录中.新的插件,也只需要在启动阶段,放在目录中,就自动生效,删除则失效。

  • Log默认使用文件输出到 /logs目录中。

部署 java agent FAQs

  • Linux Tomcat 7, Tomcat 8

修改 tomcat/bin/catalina.sh,在首行加入如下信息。

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/skywalking-agent/skywalking-agent.jar"; export CATALINA_OPTS
  • Windows Tomcat 7, Tomcat 8
    修改 tomcat/bin/catalina.bat,在首行加入如下信息.

set "CATALINA_OPTS=-javaagent:/path/to/skywalking-agent/skywalking-agent.jar"
  • JAR file
    在启动你的应用程序的命令行中添加 -javaagent 参数. 并确保在-jar参数之前添加它. 例如:

java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -jar yourApp.jar

05  ShardingSphere-Proxy 配置探针启动

复制探针配置

  • 将 Skyworking 服务下面的 agent 文件夹下所有文件复制拷贝到 需要部署探针的 ShardingSphere 服务所在服务器。

#skyworking服务部署文件路径
/home/skywalking/agent


#远程拷贝探针文件至 sharding-proxy 所在服务器,文件路径保持一致
mkdir -p /home/skywalking
scp -r 172.168.9.135:/home/skywalking/agent /home/skywalking

修改 ShardingSphere 启动配置

vi /home/sharding-proxy/bin/start.sh

JAVA_OPTS=” -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dskywalking.agent.service_name=Sharding-Proxy -Dorg.apache.shardingsphere.opentracing.tracer.class=org.apache.skywalking.apm.toolkit.opentracing.SkywalkingTracer -javaagent:/home/skywalking/agent/skywalking-agent.jar”

修改探针配置文件

agent.config配置  我直接改collector.backend_service = skywork部署服务地址了,修改服务后重新启动,刷新探针服务查看。

# 不同的namespace会导致调用链路追踪中断
agent.namespace=${SW_AGENT_NAMESPACE:hmall}


# 页面上展示的service的名称,也可以通过-Dskywalking.agent.service_name=xxx指定
agent.service_name=${SW_AGENT_NAME:gateway}


# 平台的调用地址,也可以通过-Dskywalking.collector.backend_service=127.0.0.1:80指定
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:172.28.51.141:11800}


# 忽略指定后缀的请求收集
agent.ignore_suffix=${SW_AGENT_IGNORE_SUFFIX:.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg}




# 每3秒的采样率,负数代表100%
agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:-1}

43989fa13a9b2444ab1987c57476c046.png

06  配置探针

部署 Skywalking javaagent

  1. 拷贝agent目录到所需位置. 日志,插件和配置都包含在包中,请不要改变目录结构.

  2. 增加JVM启动参数, -javaagent:/path/to/skywalking-agent/skywalking-agent.jar. 参数值为skywalking-agent.jar的绝对路径。

新的 agent package 目录结构如下:

+-- skywalking-agent
    +-- activations
         apm-toolkit-log4j-1.x-activation.jar
         apm-toolkit-log4j-2.x-activation.jar
         apm-toolkit-logback-1.x-activation.jar
         ...
    +-- config
         agent.config  
    +-- plugins
         apm-dubbo-plugin.jar
         apm-feign-default-http-9.x.jar
         apm-httpClient-4.x-plugin.jar
         .....
    skywalking-agent.jar
  • 启动被监控应用

高级特性

  • 插件全部放置在 /plugins 目录中.新的插件,也只需要在启动阶段,放在目录中,就自动生效,删除则失效.

  • Log 默认使用文件输出到 /logs目录中.

部署 Java agent FAQs

  • Linux Tomcat 7, Tomcat 8

修改 tomcat/bin/catalina.sh,在首行加入如下信息.

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/skywalking-agent/skywalking-agent.jar"; export CATALINA_OPTS
  •  Windows Tomcat 7, Tomcat 8

修改 tomcat/bin/catalina.bat,在首行加入如下信息.

set "CATALINA_OPTS=-javaagent:/path/to/skywalking-agent/skywalking-agent.jar"
  • JAR file

在启动你的应用程序的命令行中添加 -javaagent 参数. 并确保在-jar参数之前添加它. 例如:

java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -jar yourApp.jar

07  ShardingSphere-Proxy 配置探针启动

复制探针配置

  • 将 Skyworking 服务下面的 agent 文件夹下所有文件复制拷贝到 需要部署探针的 ShardingSphere 服务所在服务器

#skyworking服务部署文件路径

/home/skywalking/agent

  • 远程拷贝探针文件至ShardingSphere-Proxy所在服务器,文件路径保持一致

mkdir -p /home/skywalking


scp -r 172.168.9.135:/home/skywalking/agent /home/skywalking

修改 ShardingSphere 启动配置

vi /home/sharding-proxy/bin/start.sh

JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dskywalking.agent.service_name=Sharding-Proxy -Dorg.apache.shardingsphere.opentracing.tracer.class=org.apache.skywalking.apm.toolkit.opentracing.SkywalkingTracer -javaagent:/home/skywalking/agent/skywalking-agent.jar"

修改探针配置文件

agent.config配置,我直接改collector.backend_service = skywork部署服务地址了,修改服务后重新启动,刷新探针服务查看

# 不同的namespace会导致调用链路追踪中断
agent.namespace=${SW_AGENT_NAMESPACE:hmall}


# 页面上展示的service的名称,也可以通过-Dskywalking.agent.service_name=xxx指定
agent.service_name=${SW_AGENT_NAME:gateway}


# 平台的调用地址,也可以通过-Dskywalking.collector.backend_service=127.0.0.1:80指定
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:172.28.51.141:11800}


# 忽略指定后缀的请求收集
agent.ignore_suffix=${SW_AGENT_IGNORE_SUFFIX:.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg}




# 每3秒的采样率,负数代表100%
agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:-1}

Metadata

Views

1883

baidu_record

1

git_baidu_submit

index

rank_math_news_sitemap_robots

Array

rank_math_analytic_object_id

13

rank_math_internal_links_processed

1

bigfa_ding

1

rank_math_seo_score

62

rank_math_contentai_score

Array

rank_math_focus_keyword

ShardingSphere-Proxy 应用性能监控集成 skywalking 部署

rank_math_primary_category

0

本文由郑思扬授权转载

发现文章有错误,对内容有疑问,都可以通过关注 ShardingSphere 微信公众号(Sharding-Sphere)或者添加小助手微信(ss_assistant_1),在后台留言或私信给我们。我们每周会挑选出一位热心小伙伴,送上一份精美的小礼品。快来扫码关注我们吧!

关于 Apache ShardingSphere

Apache ShardingSphere 是一款分布式 SQL 事务和查询引擎,可通过数据分片、弹性伸缩、加密等能力对任意数据库进行增强。

fe7fdaf2ace79c9cf610e010fef7de59.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值