一、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. 攻防世界baby_web

    baby_web 题目提示想想初始页,但我们一访问就会跳转到1.php我们使用bp抓包分析,我们发送到repeater模块修改请求访问1.php内容看看 发现flag隐藏了我们去hex中看看 这样我们 ...

  2. Microservices

    Microservices What are Microservices? What are Microservices - microservices.io Microservices - mart ...

  3. 使用Web存储API存取本地数据

    使用Web存储API TODO:本文由 赤石俊哉 翻译整理,您可以将本文自由地用于学习交流.如需用于其他用途请征得作者的同意. 原文链接:Using the Web Storage API - Moz ...

  4. PAT B1061判断题

    题目描述: 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分. 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量.第二 ...

  5. Android开发 之 理解Handler、Looper、MessageQueue、Thread关系

    本文转自博客:http://blog.csdn.net/he90227/article/details/43567073 一. 图解与概述 首先Android中 的每一个线程都会对应一个Message ...

  6. zabbix 服务器500错误,解决故障。

    ZABBIX 500错误,查看apache错误日志,index.php 32 line.写着语法错误!!! 到路径下打开/var/www/html/zabbix/index.php文件,定位32行,可 ...

  7. localStorage存储返回过来的对象 显示object object的问题

    localStorage.setItem() 不会自动将Json对象转成字符串形式 用localStorage.setItem()正确存储JSON对象方法是: 存储前先用JSON.stringify( ...

  8. C++---初识C++

    C和C++的关系 C语言是结构化和模块化的语言, 面向过程. C++是在C语言的基础上, 增加了面向对象的机制, 并对C语言的功能进行了扩充. 变量的定义可以出现在程序中的任何行 提供了标准输入输出流 ...

  9. 各系统升级openssh

    修订号: [V1.0] 修订人: [陈土锋] 修订日期: [2019.06.04] 前言 该文档只适用用于服务器Redhat,centos,Ubuntu和suse系统的openssh升级.需要注意必须 ...

  10. NodeJs学习日报day8——接口编写

    今天看了黑马NodeJs中关于接口编写以及跨域问题的视频