skywalking 搭建链路监控
一、skywalking简介
官网:https://github.com/apache/skywalking
引用官网的架构:
二、部署OAP和UI
需使用的镜像
可以看日志是否正常(端口是否ok):kubectl logs pod/oap-9d459674b-8vndj -n skywalking
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
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查看进程
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);
最新文章
- Google分布式构建软件之四:分发构建结果
- 配置OWASP的ModSecurity规则
- SSIS内存不足
- 通过SQL ID查询SQL Text
- linux ubuntu 浏览器 字 字体 虚 解决办法
- 《图解CSS3》——笔记(二)
- canvas阴影
- 14.10.1 InnoDB Disk I/O
- 如何在C++ Builder中使用OpenGL
- 【第一篇】Volley的使用之json请求
- saiku的安装教程
- Android 开发TCP协议时,报错NetworkOnMainThreadException
- [Swift]LeetCode633. 平方数之和 | Sum of Square Numbers
- forEach循环
- jenkins X实践系列(4) —— jenkins X 构建提速
- 寻求js
- workman项目设置开机自启动
- Allow Zero Length 允许空字符串 ACCESS
- Cordova - 解决升级NDK之后无法编译!
- c++——对象的构造和析构函数、构造函数的分类及调用
热门文章
- ACM - 动态规划 - UVA 1347 Tour
- Vue报错之";[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead......";
- CSS学习(二):背景图片如何定位?
- h4ck47h0n ? h4ck3r ? I";m just a coder......
- JS 中的日期时间操作计算实例
- 使用 Vuex + Vue.js 构建单页应用【新篇】
- 2D骨骼动画工具DragonBones的使用教程
- rem,px,em最大的区别;
- Pascal的旅行
- python入门-开始