SkyWalking安装及SkyApm运行(.net和java)
一.部署SkyWalking
1.下载SkyWalking包(版本为6.6.0)
下载地址为:http://skywalking.apache.org/downloads/
2.修改数据库配置
默认为H2,可改为mysql连接或使用ElasticSearch,我使用的是mysql数据库,修改文件路径为:apache-skywalking-apm-bin\config\application.yml
a.将storage->h2的都使用#注释掉
b.开启mysql(删除相关#,注意metadataQueryMaxSize不要去掉注释,否则会报错)
c.创建一个数据库,名称为swtest
d.配置数据库信息,主要为jdbcUrl,user和password,在metadataQueryMaxSize上方添加dataSource.useSSL: false
e.需要将mysql-connector-java-5.1.26-bin.jar放到apache-skywalking-apm-bin\oap-libs下
3.修改webapp端口(可选,默认为8080,如果有冲突可修改为其他端口号)
修改文件路径为:apache-skywalking-apm-bin\webapp\webapp.yml
修改位置为:server -> port
注:SkyWalking会使用三个端口,分别为11800和12800以及webapp端口,所以最好不要占用
4.环境变量中一定要配置JAVA_HOME,且安装JDK1.8,否则即使运行也无法监控
5.首次运行注意
第一次运行时请先在cmd下运行apache-skywalking-apm-bin\bin\oapServiceInit.bat,如果运行出现问题,会在命令行中显示,如果没有则进行下一步
6.执行apache-skywalking-apm-bin\bin\startup.bat
访问127.0.0.1:8080(如果第三步修改过端口,则使用该端口)
7.数据库变化
此时swtest会出现表数据
二 监控jar包
1.准备工作
a.准备要监控的jar包
b.apache-skywalking-apm-bin\agent
2.运行命令
a.方式一
cmd中运行:java -javaagent:绝对路径(例如D:\\apache-skywalking-apm-bin\agent\)skywalking-agent.jar -Dskywalking.agent.service_name=被监控的名称 -jar 绝对路径\监控用jar包
b.方式二
在apache-skywalking-apm-bin\agent\config\agent.config进行修改,字段名称为:agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
把Your_ApplicationName修改为你自己的项目名称即可
cmd中运行:java -javaagent:skywalking-agent.jar -jar 监控的jar包
未测试(监控Tomcat)
Tomcat 的 bin\catalina.bat,添加命令JAVA_OPTS="$JAVA_OPTS -javaagent:绝对路径\skywalking-agent.jar"
三.net监控
准备:监控的.net项目 安装有dotnet的电脑
注:步骤可能重复了很多,暂时没有排查哪些需要,哪些不需要
1.运行命令行(cmd)
进入项目文件夹下(如果是源码,cd到有csproj的同级,即sln文件的下一级),如果是已发布的项目,在项目同级目录下
2.按照GitHub操作:
dotnet add package SkyAPM.Agent.AspNetCore
set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
set SKYWALKING__SERVICENAME=sample_app
dotnet tool install -g SkyAPM.DotNet.CLI
dotnet skyapm config sample_app 127.0.0.1:11800
dotnet run
查看SkyWalking(该页面6秒刷新一次,可以直接点击右上角的手动刷新)
3.在vs中运行
安装dotnet add package SkyAPM.Agent.AspNetCore
在Properties\launchSettins.json添加(只要有applicationUrl的都在同级)
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"SKYWALKING__SERVICENAME": "auth_api",
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"
}
执行工具检测的安装(未验证是否为非必须)
dotnet tool install -g SkyAPM.DotNet.CLI
dotnet skyapm config sample_app 127.0.0.1:11800
运行项目
四.遗留问题
1.下载的源码(https://github.com/SkyAPM/SkyAPM-dotnet)在运行时会报错,如图所示:
不知道在哪里下载或者引用,因为SkyWalking是java的,估计可以怎么把jar引进来吧,没有仔细研究
2.下载的源码中有sample文件夹,里面有可以demo,官方demo,不过由于上述的问题,一直没有运行成功,也希望大牛帮忙解答一下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」