性能监控-微服务链路追踪skywalking搭建

中文文档:hong设置 (skyapm.github.cio)

参考:微服务链路追踪SkyWalking的介绍和部署_skywalking部署_技术闲聊DD的博客-CSDN博客

参考:链路追踪SkyWalking整合项目以及数据持久化_skywalking 持久化_技术闲聊DD的博客-CSDN博客

Liunx部署skywalking以及skywalking基本使用_linux部署skywalking_LiuEastHua的博客-CSDN博客

官方demo:

Apache SkyWalking

下载skywalking APM

 

解压

tar zxvf apache-skywalking-apm-9.6.0.tar.gz 

 解压后文件

下载java agent

https://skywalking.apache.org/docs/main/next/en/setup/backend/log-analyzer/

wget https://dlcdn.apache.org/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz --no-check-certificate

 

 解压 

tar zxvf apache-skywalking-java-agent-9.0.0.tgz

配置数据库

配置文件路径apache-skywalking-apm-bin/config/

可以用ES,默认是h2,我这里配置为mysql

搭建SkyWalking OAP 服务 

cd  /apache-skywalking-apm-bin/bin/

./startup.sh

启动成功后会有两个服务,如下:

skywalking-oap-server:暴露11800 和 12800 两个端口,分别为收集监控数据的端口11800和接受前端请求的端口12800,修改端口可以修改config/applicaiton.yml
skywalking-web-ui:服务会占用 8080 端口, 修改端口可以修改webapp/webapp.yml


查看日志tail -300f  /apache-skywalking-apm-bin/logs/

问题1 jdk版本错误

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/skywalking/oap/server/webapp/ApplicationStartUp has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

 说明应该用jdk11版本,而我的jdk是1.8的。

安装jdk11版本。

问题2 mysql驱动不对

启动,报错

Failed to get driver instance for jdbcUrl=jdbc:mysql,可以直到是mySQL的驱动不对。

skywalking使用笔记 - 知乎 (zhihu.com)

在ops-lib加上MySQL驱动包,下载地址MySQL :: Download Connector/J

我下载的是depend platform版本,解压后,把jar包放到ops-lib下。

显示version of OAP后,start脚本仍然在运行,也无法访问。

反应很慢,过了5-10分钟,才显示jdbc操作

然后又卡住不动了。

问题3 windows闪退

用windows部署,同样修改数据库配置,添加mysql驱动,启动startup.bat闪退

百度说是文件夹路径有中文或者空格,去掉了空格,启动startup.bat解决。

问题4 webservice.bat窗口闪退 

查看时jdk版本不对,电脑同时有两个版本,读到了jdk8 应该读11,需要修改下环境变量。

改了jdk版本还是不对,手动输入命令

java -jar E:\sky\apache-skywalking-apm-9.0.0\apache-skywalking-apm-bin\webapp\skywalking-webapp.jar  --spring.config.location=E:\sky\apache-skywalking-apm-9.0.0\apache-skywalking-apm-bin\webapp\webapp.yml --logging.file=E:\sky\apache-skywalking-apm-9.0.0\apache-skywalking-apm-bin\logs\webapp.log

问题5 报错logback

卡住了,不知道怎么解决。

问题6 yaml报错

运行9.6.0版本又报错yaml文件

 

问题7

Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) 

意外惊喜? 

我又在linux上分别运行oap.service.sh和 webappservice.sh,过了很久很久,竟然可以访问了,这两个脚本也没有运行结束,然后这执行窗口也不能关,关了后skywalking就也不能用了。

实际这样的日志就是对的

 部署项目

下载一个测试jar

curl -O https://arthas.aliyun.com/math-game.jar

使用java agent,启动项目

nohup java -javaagent:skywalking-agent.jar -Dskywalking.agent.service_name=admin -jar adminmath-game.jar > /dev/null 2>&1 &

 启动后,在skywalking 常规服务-服务,可以看到启动的service。

windows版本安装

部署skywalking

1、准备好jdk11环境,设置环境变量。

2、修改application.yaml里数据库配置。我这里还用的mysql

3、mysql驱动放到ops-lib文件夹

用的是这个MySQL :: Download Connector/J

4、启动oapService.bat

5、启动webappService.bat

日志路径:D:\software\apache-skywalking-apm-9.6.0\apache-skywalking-apm-bin\logs 

启动成功标志,查看日志:

 数据库自动创建数据表

访问skywalking

访问:http://127.0.0.1:8080/

 部署項目

java -javaagent:skywalking-agent.jar -Dskywalking.agent.service_name=UserApplication -jar UserApplication-SNAPSHOT.jar

 报错

ERROR 2023-10-08 17:13:23.672 main SnifferConfigInitializer : Failed to read the config file, skywalking is going to run in default config.
org.apache.skywalking.apm.agent.core.conf.ConfigNotFoundException: Failed to load agent.config.

 配置文件加载失败,因为偷懒直接把agent.jar复制到了一个文件执行的命令。

再次在agent目录下执行命令

java -javaagent:skywalking-agent.jar -Dskywalking.agent.service_name=UserApplication -jar D:\Project\UserApplication\target\UserApplication-SNAPSHOT.jar

 

可以看到提示8080端口被占用了,所以需要指定端口启动

java -Dserver.port=8090 -javaagent:skywalking-agent.jar -Dskywalking.agent.service_name=UserApplication -jar D:\Project\UserApplication\target\UserApplication-SNAPSHOT.jar

启动成功

 启动后,在skywalkig会多出一个常规服务模块,点进去可以看到部署的服务。

 修改skywalking服务地址

skywalking-agent默认连接的是本机的skywalking,如果要修改配置,

修改配置文件:agent.config,修改

(1)服务名(The service nmae in UI),随意

(2)服务器地址(Backend service addresses)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云服务仿真:完全模拟 AWS 服务的本地体验 | 开源日报 No.45

localstack/localstack Stars: 48.7k License: NOASSERTION LocalStack 是一个云服务仿真器,可以在您的笔记本电脑或 CI 环境中以单个容器运行。它提供了一个易于使用的测试/模拟框架,用于开发云应用程序。主要功能包括: 在本地机器上完全…

大厂秋招真题【DP】米哈游20230924秋招T2-米小游与魔法少女-奇运

米哈游20230924秋招T2-米小游与魔法少女-奇运 题目描述与示例 题目描述 米小游都快保底了还没抽到希儿,好生气哦!只能打会活动再拿点水晶。 米小游和世界第一可爱的魔法少女 TeRiRi 正在打 BOSS,BOSS 的血量为h,当 BOSS 血量小…

Spring框架(中)

1、基于注解管理Bean: 1、开启组件扫描: Spring 默认不使用注解装配 Bean,因此我们需要在 Spring 的 XML 配置中,通过 context:component-scan 元素开启 Spring Beans的自动扫描功能。开启此功能后,Spring 会自动从扫…

transformer不同的包加载模型的结构不一样

AutoModel AutoModelForTokenClassification 结论: AutoModel加载的模型与AutoModelForTokenClassification最后一层是不一样的,从这个模型来看,AutoModelForTokenClassification加载的结果是对的 问题: 为什么AutoModel和Aut…

使用Docker安装JupyterHub

安装JupyterHub 拉取Jupyter镜像并运行容器 docker run -d -p 8000:8000 --name jupyterhub jupyterhub/jupyterhub jupyterhub # -d:后台运行 # -p 8000:8000:宿主机的8000端口映射容器中的8000端口 # --name jupyterhub:给运行的容器起名…

STL标准模板库

STL是标准模板库,是标准库的重要组成部分,将常见的数据结构以模板的方式进行封装,并提供一些灵活的算法 是程序员避免做大量重复性的工作而诞生出的一套标准 从广义上分为容器、算法、迭代器 容器和算法之间通过迭代器进行无缝连接,STL几乎…

单身狗

我们这题的思路就是先排序&#xff0c;然后对相邻的两个元素做比较&#xff0c;如果不相等就把前面的记录下来&#xff0c;然后往后 void bsort(int* arr, int sz) {int i 0;int j 0;for (i 0; i < sz - 1; i){for (j 0; j < sz - 1 - i; j){if (arr[j] > arr[j …

小谈设计模式(10)—原型模式

小谈设计模式&#xff08;10&#xff09;—原型模式 专栏介绍专栏地址专栏介绍 原型模式角色分类抽象原型&#xff08;Prototype&#xff09;具体原型&#xff08;Concrete Prototype&#xff09;客户端&#xff08;Client&#xff09;原型管理器&#xff08;Prototype Manager…

创建GCP service账号并管理权限

列出当前GCP项目的所有service account 我们可以用gcloud 命令 gcloud iam service-accounts list gcloud iam service-accounts list DISPLAY NAME EMAIL DISABLED terraform …

苹果手机怎么备份所有数据?2023年iPhone 15数据备份常用的3种方法!

当苹果手机需要进行刷机、恢复出厂设置、降级iOS系统等操作时&#xff0c;我们需要将自己的iPhone数据提前进行备份。 特别是在苹果发布新iOS系统时&#xff0c;总有一些小伙伴因为升降级系统&#xff0c;而导致了重要数据的丢失。 iPhone中储存着重要的照片、通讯录、文件等数…

ahk系列——ahk_v2实现win10任意界面ocr

前言&#xff1a; 不依赖外部api接口&#xff0c;界面简洁&#xff0c;翻译快速&#xff0c;操作简单&#xff0c; 有网络就能用 、还可以把ocr结果非中文翻译成中文、同样可以识别中英日韩等60多个国家语言并翻译成中文&#xff0c;十分的nice 1、所需环境 windows10及其以上…

GPU版本的Pytorch安装

GPU版本的Pytorch安装 1.CUDA的安装 查看自己计算机CUDA支持的版本 2.CUDNN的安装 对应找到CUDNN的版本 3.Pytorch的安装 找自己的CUDA对应的PYtorch安装包 https://pytorch.org/get-started/previous-versions/ 并在下面的页面下载 https://download.pytorch.org/whl/cu101/to…

【高并发】多线程和高并发提纲

文章目录 三大源头两个主要问题三大解决方案 最近正在面试&#xff0c;对多线程和高并发相关问题整理了一个提纲。 个人感觉这三大部分由底向上&#xff0c;足够展开对并发编程中大部分问题的讨论~ 三大源头 线程切换带来的原子性问题。 原子操作&#xff1a;利用CPU提供的原…

BERT相关模型不能下载问题

Author:龙箬 Computer Application Technology Change the World with Data and Artificial Intelligence ! CSDNweixin_43975035 生有热烈&#xff0c;藏与俗常 由于网络原因&#xff0c;不能下载BERT相关模型 及 tokenizer urllib3.exceptions.MaxRetryError: HTTPSConnectio…

使用Windows系统自带的安全加密解密文件操作步骤详解

原以为安全加密的方法是加密压缩包&#xff0c;有的需要用软件加密文件&#xff0c;可每次想往里面修改或存放文件都要先解密&#xff0c;不用时&#xff0c;还得去加密&#xff0c;操作步骤那么多&#xff0c;那多不方便呀&#xff0c;这里讲讲用系统自带的BitLocker加密工具怎…

强化学习------Qlearning算法

简介 Q learning 算法是一种value-based的强化学习算法&#xff0c;Q是quality的缩写&#xff0c;Q函数 Q(state&#xff0c;action)表示在状态state下执行动作action的quality&#xff0c; 也就是能获得的Q value是多少。算法的目标是最大化Q值&#xff0c;通过在状态state下…

html通过使用图像源的协议(protocol)相对 URL 来防止安全/不安全错误

有人知道使用 protocol relative URLs 是否有问题吗&#xff1f;用于图像源以防止混合内容安全警告。 例如链接一张图片: <img src"//domain.com/img.jpg" /> 代替: <img src"http://domain.com/img.jpg" /> or <img src"https…

day10.8ubentu流水灯

流水灯 .text .global _start _start: 1.设置GPIOE寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28LDR R0,0X50000A28LDR R1,[R0] 从r0为起始地址的4字节数据取出放在R1ORR R1,R1,#(0x1<<4) 第4位设置为1STR R1,[R0] 写回2.设置PE10管脚为输出模式 G…

Android多线程学习:线程

一、概念 进程&#xff1a;系统资源分配的基本单位&#xff0c;进程之间相互独立&#xff0c;不能直接访问其他进程的地址空间。 线程&#xff1a;CPU调度的基本单位&#xff0c;线程之间共享所在进程的资源&#xff0c;包括共享内存&#xff0c;公有数据&#xff0c;全局变量…

10.8c++作业

#include <iostream>using namespace std; class Rect {int width; //宽int height; //高 public://初始化函数void init(int w,int h){widthw;heighth;}//更改宽度void set_w(int w){widthw;}//更改高度void set_h(int h){heighth;}//输出矩形周长和面积void show(){co…