其他分享
首页 > 其他分享> > skywalking 搭建链路监控

skywalking 搭建链路监控

作者:互联网

一、skywalking简介

官网:https://github.com/apache/skywalking

引用官网的架构:

 

 

 二、部署OAP和UI

需使用的镜像

apache/skywalking-oap-server:8.6.0-es7 apache/skywalking-ui:8.6.0   创建空间名称: kubectl create ns skywalking  查看名称是否设置成功:kubectl get ns  

 

 

应用资源文件:kubectl apply -f . 看名称空间下所有资源:kubectl get all -n skywalking

 

 

可以看日志是否正常(端口是否ok):kubectl logs pod/oap-9d459674b-8vndj -n skywalking   三、使用skywalking agent 1、下载镜像:skywalking-agent-sidecar:v1.0,推送到本地镜像仓库  2、在资源yaml文件中,添加初始化容器 initContainers: - image: 192.168.16.156(个人IP)/skywalking/skywalking-agent-sidecar:v1.0   name: sw-agent-sidecar   imagePullPolicy: IfNotPresent   command: ["sh"]   args:     [       "-c",       "mkdir -p /skywalking/agent && cp -r /usr/skywalking/agent/* /skywalking/agent",     ]   volumeMounts:   - mountPath: /skywalking/agent     name: sw-agent    2、在资源yaml文件中,服务容器添加环境变量和volumeMounts   env:        - name: JAVA_OPTS          value: -javaagent:/usr/skywalking/agent/skywalking-agent.jar   volumeMounts:         - mountPath: /usr/skywalking/agent           name: sw-agent 部署服务,服务启动的时候,上面的变量会生效  

 

进入容器:kubectl exec -it product-78fcbdfd6b-mv2hl -n mm -- sh

可以看到,服务容器的目录下有skywalking-agent.jar

可以用top查看进程

 

 

 四、在网页访问skywalking  1、skywalking中拓扑图

 

 2、仪表盘

五、利用skywalking 性能剖析

下面的截图是运行网上的积分兑礼物的代码例子

1.单场景

jmeter -n -t gift.jmx -l res.jtl -e -o res/

 

 

 2.多场景

 

 

 3、单压查询订单场景

tps在10-20

 

 grafana监控结果

 

 k8s监控面板

 

 用skywalking链路追踪

可以选择持续时间和时间范围,发现慢查询

 

点击进去,查看详情,可以看到SQL

 

 

 也可以拆解时间,查看拓扑图

查看网关服务,侦察端,订单服务

 

 

 

 

 把对应的SQL拉出来分析

执行计划:explain select o.id,o.order_number,o.order_product_name,o.order_price,o.count,o.buy_date from orders o where o.order_number = 'n305udx6jqu2pjxt';

 

 发现是扫全表,然后建索引。(这个只是例子,可以查看代码所以排查起来比较简单,可以和研发合作)

create unique index index_order_number on orders(order_number);

 

 

 

标签:kubectl,name,number,agent,链路,skywalking,order,搭建
来源: https://www.cnblogs.com/siguadd/p/16277073.html