一、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);

skywalking 搭建链路监控的更多相关文章

  1. k8s搭建链路监控:skywalking

    skywalking架构及简介 官网:https://github.com/apache/skywalking 简介 Java, .NET Core, NodeJS, PHP, and Python ...

  2. 新一代APM链路监控选型的一个总结重点是skywalking和pinpoint的对比

    链路监控选型的一个比较:1.cat框架:需要对业务代码有较强的侵入性,对代码的侵入性很大,集成成本较高,风险较大:2.zipkin框架:仅支持spring cloud,不支持dubbo,功能及其简单, ...

  3. SpringCloud微服务实战——搭建企业级开发框架(三十三):整合Skywalking实现链路追踪

      Skywalking是由国内开源爱好者吴晟(原OneAPM工程师)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路,支持非侵入式埋点.是一款基于分 ...

  4. 分布式链路监控与追踪系统Zipkin

    1.分布式链路监控与追踪产生背景2.SpringCloud Sleuth + Zipkin3.分布式服务追踪实现原理4.搭建Zipkin服务追踪系统5.搭建Zipkin集成RabbitMQ异步传输6. ...

  5. Spring Cloud Sleuth + Zipkin 链路监控

    原文:https://blog.csdn.net/hubo_88/article/details/80878632 在微服务系统中,随着业务的发展,系统会变得越来越大,那么各个服务之间的调用关系也就变 ...

  6. 使用Skywalking分布式链路追踪系统

    使用Skywalking分布式链路追踪系统 https://www.cnblogs.com/sunyuliang/p/11424848.html 当我们用很多服务时,各个服务间的调用关系是怎么样的?各 ...

  7. 总结2015搭建日志,监控,ci,前端路由,数据平台,画的图与界面 - hugo - ITeye技术网站

    总结2015搭建日志,监控,ci,前端路由,数据平台,画的图与界面 - hugo - ITeye技术网站 极分享:高质分享+专业互助=没有难做的软件+没有不得已的加班 极分享:高质分享+专业互助=没有 ...

  8. 使用monit搭建一个监控系统

    上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情.当然了主要是监控异常,因为我们的产品属于服务器类型,很多进程都daemon,要不停的运行.我们搭建监控目的不过是出现问题能够及时的知 ...

  9. 自动安装脚本-------------基于LVMP搭建Nagios 监控

    Mysql初始化参数(mysql-5.6.31) /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local ...

随机推荐

  1. Python学习--21天Python基础学习之旅(Day03、Day04)

    关于缩进问题,缩进几个空格都不影响程序解释(不会报错什么的),但一般缩进四个空格是为了可读性和规范. Day03: Chapter 5 1.if语句 1.1条件测试:值为True或False的表达式成 ...

  2. pycharm2019版本可用破解

    1.下载破解文件 点击链接https://pan.baidu.com/s/1FbpXC4-rACrLMfeuVzJGPQ   提取码:hyed 下载补丁文件jetbrains-agent.jar并将它 ...

  3. ES6-11学习笔记--代理Proxy

    Proxy代理 常用拦截方法 ES5拦截: let obj = {} let newVal = '' Object.defineProperty(obj, 'name', { get() { cons ...

  4. C#编写一个控制台应用程序,输入三角形或者长方形边长,计算其周长和面积并输出

    编写一个控制台应用程序,输入三角形或者长方形边长,计算其周长和面积并输出. 代码: using System; using System.Collections.Generic; using Syst ...

  5. IP和静态路由技术概述

    1. IP地址的构成 IP地址:32比特的二进制数字,通常采用点分十进制方式表示. IP地址由两部分组成. 网络号码字段(Net-id)用于区分不同的网络.网络号码字段的前几位成为类别字段(又称为类别 ...

  6. 什么是机器学习的特征工程?【数据集特征抽取(字典,文本TF-Idf)、特征预处理(标准化,归一化)、特征降维(低方差,相关系数,PCA)】

    2.特征工程 2.1 数据集 2.1.1 可用数据集 Kaggle网址:https://www.kaggle.com/datasets UCI数据集网址: http://archive.ics.uci ...

  7. C语言-操作符与表达式

    C语言入门之操作符与表达式 前言 本篇文章主要包括各种操作符的介绍与表达式求值,欢迎各位小伙伴与我一起学习. 一.操作符 分类 算术操作符 移位操作符 位操作符 赋值操作符 单目运算符 关系操作符 逻 ...

  8. /dev/dm-0 ....(/dev/mapper机制)

    查看/dev下时候,会看到dm-xx的设备,那么这些设备到底是什么设备呢, Device Mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制, 在该机制下,用户可 ...

  9. Redis 缓存击穿(失效)、缓存穿透、缓存雪崩怎么解决?

    原始数据存储在 DB 中(如 MySQL.Hbase 等),但 DB 的读写性能低.延迟高. 比如 MySQL 在 4 核 8G 上的 TPS = 5000,QPS = 10000 左右,读写平均耗时 ...

  10. For-Each循环(增强型For循环)

    public class Demo077 { public static void main(String[] args) { int[] array ={11,2}; System.out.prin ...