当前位置: 首页 > news >正文

springcloud接入skywalking作为应用监控

下载安装包

需要下载SkyWalking APM 和 Java Agent
链接: skywalking
在这里插入图片描述

安装

下载JDK17(可不配置环境变量)

目前skywalking 9.0及以上版本基本都不支持JDK8,需要JDK11-21,具体版本要求在官网查看。
我这里使用的是skywalking9.4.0,使用ORACLE JDK 17。链接: JDK17

压缩包我放在/usr/local/jdk17中,解压完成即可,可不配置到环境变量中。(因为服务器跑的程序用的是JDK8因此我不做环境变量配置)

tar -zxvf jdk-17.0.11_linux-x64_bin.tar.gz

文件上传Linux解压

压缩包我放在/usr/local/skywalking中

tar -zxvf apache-skywalking-apm-9.4.0.tar.gz
tar -zxvf apache-skywalking-java-agent-9.2.0.tgz

skywalking配置文件更改

  1. 进入文件夹,更改application.yml文件
cd /usr/local/skywalking/apache-skywalking-apm-bin/config
  1. 更改注册中心集群为nacos
cluster:selector: ${SW_CLUSTER:nacos}
......
......nacos:serviceName: ${SW_SERVICE_NAME:"skywalking"}hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:xxx:8848}# Nacos Configuration namespacenamespace: ${SW_CLUSTER_NACOS_NAMESPACE:"命名空间的ID"}# Nacos auth usernameusername: ${SW_CLUSTER_NACOS_USERNAME:"nacos"}password: ${SW_CLUSTER_NACOS_PASSWORD:"nacos"}# Nacos auth accessKeyaccessKey: ${SW_CLUSTER_NACOS_ACCESSKEY:""}secretKey: ${SW_CLUSTER_NACOS_SECRETKEY:""}internalComHost: ${SW_CLUSTER_INTERNAL_COM_HOST:""}internalComPort: ${SW_CLUSTER_INTERNAL_COM_PORT:-1}
  1. 更改持久化使用mysql
storage:selector: ${SW_STORAGE:mysql}
......
......  mysql:properties:jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://xxx:3306/skywalking?rewriteBatchedStatements=true"}dataSource.user: ${SW_DATA_SOURCE_USER:root}dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root}dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true}dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250}dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048}dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true}metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:2000}asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:4}
  1. 更改skywalking端口(8080很容易端口冲突)

进入文件夹

/usr/local/skywalking/apache-skywalking-apm-bin/webapp

修改application.yml

serverPort: ${SW_SERVER_PORT:-8334}
  1. MySQL的数据库连接驱动放入oap-libs

SkyWalking对应的oap-libs文件夹下没有MySQL的数据库连接驱动,后续启动会报错。可以用:mysql-connector-java-8.0.21.jar这个版本的数据库连接驱动,放入文件夹/usr/local/skywalking/apache-skywalking-apm-bin/oap-libs中

启动命令配置JDK17(若环境变量本来就为JDK17可忽略)

  1. 进入文件夹
/usr/local/skywalking/apache-skywalking-apm-bin/bin
  1. 将里面所有文件的JAVA_HOME设置为JDK17
......
......
_RUNJAVA=/usr/local/java17/jdk-17.0.11/bin/java
[ -z "$JAVA_HOME" ] && _RUNJAVA=java
......
......

设置skywalking开机自启

  1. 进入文件夹
/etc/systemd/system
  1. 创建skywalking1.service(用于启动oapService.sh)
[Unit]
Description=skywalking
After=network.target[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/java17/jdk-17.0.11"
ExecStart=/usr/local/skywalking/apache-skywalking-apm-bin/bin/oapService.sh
PrivateTmp=true
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
  1. 创建skywalking2.service(用于启动webappService.sh)
[Unit]
Description=skywalking
After=network.target[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/java17/jdk-17.0.11"
ExecStart=/usr/local/skywalking/apache-skywalking-apm-bin/bin/webappService.sh
PrivateTmp=true
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
  1. 刷新配置
systemctl enable skywalking1
systemctl enable skywalking2
systemctl daemon-reload  # 刷新配置
  1. 启动skywalking命令
systemctl start skywalking1 # 启动
systemctl start skywalking2 # 启动
systemctl status skywalking1 # 查看服务状态
  1. 完成
    打开浏览器ip:8334,即可看到控制台
    在这里插入图片描述

【注】:关于为什么分两个service文件,我使用startup.sh编写自启动一直出错,不知道是什么原因。因此分两个文件设置。

应用接入skywalking

  1. 在启动JAR的命令中,加入参数即可
-javaagent:/usr/local/skywalking/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=my-system -Dskywalking.collector.backend_service=ip:11800

javaagent:前面的压缩包解压路径下的jar包

Dskywalking.agent.service_name:接入的应用名称,可自定义不重复即可

Dskywalking.collector.backend_service:指定 SkyWalking Collector 的地址,应用程序将数据发送到该地址(端口默认为11800)

  1. 加上参数后的启动命令
nohup java -javaagent:/usr/local/skywalking/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=xd-system -Dskywalking.collector.backend_service=ip:11800  -jar -Xms1024m -Xmx2048m my-system.jar --spring.cloud.bootstrap.name=bootstrap-test >/dev/null 2>&1 &
  1. 最终显示在控制台上的效果
    在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SOCKET通信阻塞问题解决方案
  • Docker(十)-Docker运行elasticsearch7.4.2容器实例
  • mac怎样清理photoshop垃圾的方法 ps清理缓存和垃圾 苹果电脑暂存盘已满怎么清理
  • OpenCV分水岭算法watershed函数的使用
  • React: class 和 style
  • 【瑞芯微RV1126(板端摄像头图像数据采集)】②使用v4l2视频设备驱动框架采集图像数据
  • Go 语言条件变量 Cond
  • 如何找到最快解析速度的DNS
  • netty使用redis发布订阅实现消息推送
  • 【React】深入探索React:表单控制、组件通信、副作用管理、自定义Hook
  • Spring Boot(八十二):SpringBoot通过rsa实现API加密
  • 基于深度学习算法,支持再学习功能,不断提升系统精准度的智慧地产开源了。
  • pdf格式过大怎么样变小 pdf文件过大如何缩小上传 超实用的简单方法
  • 百易云资产管理运营系统 comfileup.php 文件上传致RCE漏洞复现(XVE-2024-18154)
  • ChatGPT的原理和成本
  • 0x05 Python数据分析,Anaconda八斩刀
  • 2017前端实习生面试总结
  • Cookie 在前端中的实践
  • Java编程基础24——递归练习
  • Lsb图片隐写
  • Otto开发初探——微服务依赖管理新利器
  • Spring Boot MyBatis配置多种数据库
  • 阿里云Kubernetes容器服务上体验Knative
  • 大整数乘法-表格法
  • 关于for循环的简单归纳
  • 简析gRPC client 连接管理
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 探索 JS 中的模块化
  • 跳前端坑前,先看看这个!!
  • 我的业余项目总结
  • 用 Swift 编写面向协议的视图
  • 走向全栈之MongoDB的使用
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # linux 中使用 visudo 命令,怎么保存退出?
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (0)Nginx 功能特性
  • (1)(1.13) SiK无线电高级配置(六)
  • (1)Nginx简介和安装教程
  • (10)STL算法之搜索(二) 二分查找
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (办公)springboot配置aop处理请求.
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (二)WCF的Binding模型
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)springboot教学评价 毕业设计 641310
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)jdk与jre的区别
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • ... 是什么 ?... 有什么用处?
  • .cn根服务器被攻击之后
  • .Family_物联网