在微服务应用非常广的今天,面临必要的问题

一个大型的互联网项目,采用微服务的架构设计,可能保证整个项目的完整运营就需要几十上百个服务的互相协作,那如果某个服务突然宕机或出现死锁等bug,怎么办?这个时候各个服务的维护团组开始互相扯皮了,都一口咬定是XXX的错误,与自己无关,哈哈哈哈哈,这个时候如果通过日志一层一层的去追踪足以把人逼疯了

1.那怎么快速串联调用的链路,对出现问题的服务进行排查呢?

2.怎么一目了然的知道各个服务之间的依赖关系?

3. 一个调用下怎样知道串联的各个服务所消耗性能?

4.执行顺序谁先谁后?

分布式调用链就是为了解决以上几个问题而生,它主要的作用如下:

1、自动采集各项服务的数据数据,并且监控调用各服务所消耗的性能
2、能分析数据,可以监控完整的调用过程,问题可追踪可复现
3、数据可视化:每个组件的性能可视化,能帮助我们很好地定位系统的瓶颈,及时找出问题所在

这里就搭建Skywalking来示例,当然也有很多链路追踪监控工具

我这里就用 elasticsearch+skywalking来实现

当然skywalking也支持其 它配置可选项有H2/MYSQL/elasticsearch7/tidb/influxdb

配置elasticsearch7非结构型数据存储效率更高

好了现在就开始搭建吧

部署前准备   

linux服务器 一台

Elasticsearch 压缩包  下载Download Elasticsearch | Elastic

skywalking   压缩包    下载Downloads | Apache SkyWalking

linux需要先搭建jdk环境哈

我这边是先下载到本地然后通过shell工具上传到linux服务器,你也可以直接wget 压缩包地址

类似 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-linux-x86_64.tar.gz

解压elasticsearch

tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz

修改config/elasticsearch.yml文件

cluster.name: my-application
node.name: node-1
path.data: /usr/local/data
path.logs: /usr/local/logs
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]# 需要开启跨域才能给elasticsearch-head,kibana等连接
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

创建用户组用户并授权

groupadd elsearchsudo useradd elsearch -g elsearchpasswd elsearchchown -R elsearch:elsearch elasticsearch-7.14.0

 vi /etc/sysctl.conf
vm.max_map_count=262144

保存并退出

:wq

使之立即生效

 sysctl -p

 su - elsearch   //切换用户 需要输入密码的哈,按提示来,就是上面自己设置的

使用elsearch 用户执行 你存放elasticsearch目录下的bin目录里面的elasticsearch文件


./elasticsearch -d

访问你服务器的ip:9200 能出现以下数据就是部署成功了

好了到skywalking

再切换回去

su - root

解压你的skywalking压缩包

 tar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz cd apache-skywalking-apm-bin-es7/

config/application.yml 这个配置文件要改成我们前面设置的elasticsearch

它默认使用的是H2

把这个位置修改成这个

storage:selector: ${SW_STORAGE:elasticsearch7}

$ bin/oapService.sh

修改 webapp.yml 的端口 默认是8080,很容易被占用冲突

webapp/webapp.yml

 bin/startup.sh

执行就ok了

成功之后就可以通过你部署的ip+webapp.yml里面配置的端口访问你的skywalking

比如我的就是127.0.0.1:7080 就可以了,当然我这里面已经有内容了是因为我已经使用,你刚启动好的话,里面应该是空白没有内容的

好了,这skywalking环境是已经搭建好了,那怎么开启链路监控呢?

比如我这个demo来说

我这里idea经过了汉化,不喜欢用汉化的可以找到 VM options: 这个位置把下面内容填充进去

-javaagent:D:\skywalking-agent\skywalking-agent.jar -DSW_AGENT_NAME=demo-client -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
nohup java -javaagent:agent/skywalking-agent.jar -Dskywalking.agent.service_name=你的服务名  -jar demo.jar > demo.log 2>&1 &

当然你也可以设置大小-Xms512m -Xmx512m 等等等等

我这里是一个比较简单的demo,所以看起来影响不大,哈哈哈哈,等你几十个服务就可以看到密密麻麻的调用了

哦哦这里必要说一下,

你用的啥语言就搞啥语言的代理  你执行

-javaagent:D:\skywalking-agent\skywalking-agent.jar -DSW_AGENT_NAME=demo-client -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800

是需要

对应的

Skywalking环境搭建及demo实战相关推荐

  1. JRtplib开发笔记(四):JRtplib的VS开发环境搭建以及Demo

    原博主博客地址:https://blog.csdn.net/qq21497936 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/84 ...

  2. SkyWalking环境搭建与使用

    一.SkyWalking简介 SkyWalking是一个国产开源框架,b并加入Apache孵化器.简介来自官方文档. SkyWalking是 一个开源的可观测平台,用于从服务和云原生基础设施收集,分析 ...

  3. 逆向工具之脱壳神器反射大师(附脱壳环境搭建、脱壳实战)

      相信点击进入这篇博客的小伙伴都知道并且搞过App逆向,不过有时候会遇到各种加壳的App,不让你反编译.但是道高一尺,魔高一丈,有正向加密,就有逆向解密.此篇博客博主带大家搭建脱壳环境,并且手动脱一 ...

  4. java demo在哪_【Java学习系列】第1课--Java环境搭建和demo运行

    分享提纲: 1. java环境的搭建 2. java demo代码运行 3.参考文档 本人是PHP开发者,一直感觉Java才是程序的王道(应用广,科班出身),所以终于下决心跟一跟. 主要是给自己看和一 ...

  5. mico3165嵌入式开发板IAR环境搭建以及Demo运行

    最近跟着老师做毕设,题目是有关于 嵌入式开发的系统安全测试,首先得搭一个集成的开发环境,研究了几天,终于基本把大致的东西弄好了,这里写下来以供经验所需. 开发所用的板子是mico3165,搭载了mic ...

  6. skywalking环境搭建

    安装ES docker安装 略 安装AOP和ui docker-compose.yml version: '3.3' services:oap:image: apache/skywalking-oap ...

  7. skywalking环境搭建及使用

    1.创建目录 mkdir /usr/local/skywalking 建议将虚拟机内存设置为3G并将CPU设置为2核,防止资 源不足. 2.将资源目录中的elasticsearch和skywalkin ...

  8. 01【ArcGIS Pro SDK for Microsoft .NET】环境搭建及Demo创建

    写在前面 ArcGIS Pro SDK for Microsoft .NET的开发环境配置其实很简单,它不用像配置前端开发环境那样安装nodeJS啥的,我们只需要安装一个Visual Studio就可 ...

  9. SkyWalking环境搭建(elasticsearch7)

    主要有部分内容 oap服务:接收和保存采集的数据,同时个UI展示 SkyWalking Website:展示oap服务的数据 SkyWalking agent:采集应用数据 下载安装包 下载地址:ht ...

最新文章

  1. Single Shot Multibox Detection (SSD)实战(下)
  2. 利用python爬虫(part9)--Xpath与谓词の爱
  3. (7)MySQL的事务
  4. GPG96244QS1屏驱动难题
  5. 基数排序(也叫桶子排序)
  6. C++ 推断进程是否存在
  7. 用 powershell 脚本 .ps1 写一个自动化的「编译->链接->运行C++文件」脚本
  8. Tasker to stop Poweramp control for the headset while there is an incoming SMS - frozen
  9. windows 下 LITE IDE go lang 安装配置使用
  10. UPC 条形码的介绍及计算校验码
  11. 史上最全网易云音乐的API接口
  12. 用RANSAC算法实现干扰严重的直线拟合(续)求点线距离
  13. CND的定义,原理和好处和CDN回源
  14. 【Tensorflow教程笔记】使用 TPU 训练 TensorFlow 模型
  15. 建站系列:有云服务器和域名怎么建设网站?
  16. 框架内(React)网页打印的实现
  17. 用户密码的存储与密码传输
  18. iPhone手机开发
  19. C语言实现IP合法性判断
  20. 2020蓝天杯论文评比系统_获奖通报 | 铜山区在江苏省第十四届(2020年)“蓝天杯”中小学优秀教学设计评选中荣获佳绩...

热门文章

  1. ISO-8601,日期时间格式表示法的国际标准
  2. Ubuntu14.04下配置并使用MTK flash tool
  3. lna的噪声参数以及功率传输S11 S22
  4. Mean Average Precision(MAP):平均精度均值
  5. sqlserver还原.bak文件
  6. 百度云同步盘网络异常【1】解决办法
  7. 第二届中国PWA开发者日
  8. 华为自研操作系统Project Z曝光
  9. Python小游戏:BMI指数的计算
  10. 利用http://www.forshare.me/qq/访问陌生人的QQ空间