Skywalking环境搭建及demo实战
在微服务应用非常广的今天,面临必要的问题
一个大型的互联网项目,采用微服务的架构设计,可能保证整个项目的完整运营就需要几十上百个服务的互相协作,那如果某个服务突然宕机或出现死锁等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实战相关推荐
- JRtplib开发笔记(四):JRtplib的VS开发环境搭建以及Demo
原博主博客地址:https://blog.csdn.net/qq21497936 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/84 ...
- SkyWalking环境搭建与使用
一.SkyWalking简介 SkyWalking是一个国产开源框架,b并加入Apache孵化器.简介来自官方文档. SkyWalking是 一个开源的可观测平台,用于从服务和云原生基础设施收集,分析 ...
- 逆向工具之脱壳神器反射大师(附脱壳环境搭建、脱壳实战)
相信点击进入这篇博客的小伙伴都知道并且搞过App逆向,不过有时候会遇到各种加壳的App,不让你反编译.但是道高一尺,魔高一丈,有正向加密,就有逆向解密.此篇博客博主带大家搭建脱壳环境,并且手动脱一 ...
- java demo在哪_【Java学习系列】第1课--Java环境搭建和demo运行
分享提纲: 1. java环境的搭建 2. java demo代码运行 3.参考文档 本人是PHP开发者,一直感觉Java才是程序的王道(应用广,科班出身),所以终于下决心跟一跟. 主要是给自己看和一 ...
- mico3165嵌入式开发板IAR环境搭建以及Demo运行
最近跟着老师做毕设,题目是有关于 嵌入式开发的系统安全测试,首先得搭一个集成的开发环境,研究了几天,终于基本把大致的东西弄好了,这里写下来以供经验所需. 开发所用的板子是mico3165,搭载了mic ...
- skywalking环境搭建
安装ES docker安装 略 安装AOP和ui docker-compose.yml version: '3.3' services:oap:image: apache/skywalking-oap ...
- skywalking环境搭建及使用
1.创建目录 mkdir /usr/local/skywalking 建议将虚拟机内存设置为3G并将CPU设置为2核,防止资 源不足. 2.将资源目录中的elasticsearch和skywalkin ...
- 01【ArcGIS Pro SDK for Microsoft .NET】环境搭建及Demo创建
写在前面 ArcGIS Pro SDK for Microsoft .NET的开发环境配置其实很简单,它不用像配置前端开发环境那样安装nodeJS啥的,我们只需要安装一个Visual Studio就可 ...
- SkyWalking环境搭建(elasticsearch7)
主要有部分内容 oap服务:接收和保存采集的数据,同时个UI展示 SkyWalking Website:展示oap服务的数据 SkyWalking agent:采集应用数据 下载安装包 下载地址:ht ...
最新文章
- Single Shot Multibox Detection (SSD)实战(下)
- 利用python爬虫(part9)--Xpath与谓词の爱
- (7)MySQL的事务
- GPG96244QS1屏驱动难题
- 基数排序(也叫桶子排序)
- C++ 推断进程是否存在
- 用 powershell 脚本 .ps1 写一个自动化的「编译->链接->运行C++文件」脚本
- Tasker to stop Poweramp control for the headset while there is an incoming SMS - frozen
- windows 下 LITE IDE go lang 安装配置使用
- UPC 条形码的介绍及计算校验码
- 史上最全网易云音乐的API接口
- 用RANSAC算法实现干扰严重的直线拟合(续)求点线距离
- CND的定义,原理和好处和CDN回源
- 【Tensorflow教程笔记】使用 TPU 训练 TensorFlow 模型
- 建站系列:有云服务器和域名怎么建设网站?
- 框架内(React)网页打印的实现
- 用户密码的存储与密码传输
- iPhone手机开发
- C语言实现IP合法性判断
- 2020蓝天杯论文评比系统_获奖通报 | 铜山区在江苏省第十四届(2020年)“蓝天杯”中小学优秀教学设计评选中荣获佳绩...