在windows下安装配置skywalking

1.下载地址

Downloads | Apache SkyWalkinghttp://skywalking.apache.org/downloads/

2.文件目录说明

将文件解压后,可看到agent和bin目录:

Agent:作为探针,安装在服务器端,进行数据采集和上报。

Config:作为后端服务的配置,将采集的信息存在mysql,h2,elasticsearch中。

Bin:在该目录中有oapservice就是backend的后端服务和webappservice就是ui界面的服务

Webapp:启动ui的安装包

3.backend和ui配置

3.1配置application.yml文件

使用mysql存储采集的数据信息,将其他的存储配置信息注释,注释有elasticsearch,h2,elasticsearch7,influxdb

复制代码
配置信息如下:
 selector: ${SW_STORAGE:mysql}
  mysql:
    properties:
      jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3307/swtest"}
      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}

3.2配置webapp.yml文件

为了避免端口冲突,在webapp目录下找到webapp.yml文件,可修改端口号即可。

server:

port: 8090

4.启动backend和UI服务

进入到C:\skywalking8.1\apache-skywalking-apm-bin\bin目录下,运行statup.bat文件,可同时启动backend和ui服务。

使用管理员模式打开命令窗口,进入到bin目录下,输入startup.bat后,启动backend和ui服务。

5.配置agent

5.1目录说明

Config:配置文件目录

Plugins:所有插件的目录,该目录下的所有插件都生效。

Optional plugins:可选插件的目录

Log:日志文件目录

5.2配置agent.config文件

进入到C:\skywalking8.1\apache-skywalking-apm-bin\agent\config目录中,找到agent.conf文件进行修改如下:

agent.service_name=${SW_AGENT_NAME:tomcat_application}

collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}

agent.service_name:可自定义服务名称

collector.backend_service:需要backend服务的IP和端口对应,可参考config目录下的

Application.yml文件的gRPCHost和gRPCPort字段的配置,由于agent和backend都在本地,所以不用修改ip和端口。

5.3启动agent服务

5.3.1配置catalina.bat文件

进入到tomcat的bin目录,编辑catalina.bat文件,在文件的首行添加以下代码:

set "CATALINA_OPTS=

-javaagent:C:\skywalking8.1\apache-skywalking-apm-bin\agent\skywalking-agent.jar"

添加代码的文件就是skywalking-agent.jar探针文件的位置

5.3.2修改tomcat-user.xml文件

进入到tomcat的conf目录,编辑tomcat-user.xml文件,添加代码以便打开tomcat时输入用户密码可以访问url:

<role rolename="manager-gui"/>

<user username="tomcat" password="admin" roles="manager-gui"/>

5.3.3修改server.xml文件

进入到tomcat的conf目录,修改server.xml文件,修改port端口,避免启动tomcat服务出现端口冲突。

5.3.4启动tomcat服务

使用管理员模式,打开cmd窗口,进入到tomcat的bin目录中,输入startup.bat命令,启动tomcat.

在浏览器中输入,http://localhost:8088/进行登录后,进入到tomcat管理界面中。

6.查看skywalking的UI界面

在浏览器中输入http://localhost:8090/后,打开监控界面,查看监控的agent信息。

7.附加说明

1.在bin目录中启动startup.bat出现闪退,为什么没法启动服务。

答:是由于startup.bat的文件目录放在C:\Program Files下导致的,目录名称不能包含空格。

2.Log目录下查看日志文件显示Failed to get driver instance for jdbcUrl

复制代码
java.lang.RuntimeException: Failed to get driver instance for 
jdbcUrl=jdbc:mysql://localhost:3307/swtest
	at com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:110) ~[HikariCP-3.1.0.jar:?]
	at com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:334) ~[HikariCP-3.1.0.jar:?]
	at com.zaxxer.hikari.pool.PoolBase.<init>(PoolBase.java:109) ~[HikariCP-3.1.0.jar:?]
	at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:108) ~[HikariCP-3.1.0.jar:?]
	at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81) ~[HikariCP-3.1.0.jar:?]
	at org.apache.skywalking.oap.server.library.client.jdbc.hikaricp.JDBCHikariCPClient.connect(JDBCHikariCPClient.java:49) ~[library-client-8.0.1.jar:8.0.1]
	at org.apache.skywalking.oap.server.storage.plugin.jdbc.mysql.MySQLStorageProvider.start(MySQLStorageProvider.java:125) ~[storage-jdbc-hikaricp-plugin-8.0.1.jar:8.0.1]
	at org.apache.skywalking.oap.server.library.module.BootstrapFlow.start(BootstrapFlow.java:58) ~[library-module-8.0.1.jar:8.0.1]
	at org.apache.skywalking.oap.server.library.module.ModuleManager.init(ModuleManager.java:69) ~[library-module-8.0.1.jar:8.0.1]
	at org.apache.skywalking.oap.server.starter.OAPServerBootstrap.start(OAPServerBootstrap.java:43) [server-bootstrap-8.0.1.jar:8.0.1]
	at org.apache.skywalking.oap.server.starter.OAPServerStartUp.main(OAPServerStartUp.java:26) [server-starter-8.0.1.jar:8.0.1]
Caused by: java.sql.SQLException: No suitable driver
	at java.sql.DriverManager.getDriver(DriverManager.java:298) ~[java.sql:?]
	at com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:103) ~[HikariCP-3.1.0.jar:?]
	... 10 more

解决方法:

C:\skywalking8.1\apache-skywalking-apm-bin\oap-libs目录下放入

mysql-connector-java-8.0.21.jar文件

3.启动bin目录下的startup.bat时,logs目录显示skywalking-oap-server.log的文件显示Caused by: java.sql.SQLSyntaxErrorException:Unknown database 'swtest'

答:由于没有创建swtest数据,导致出现该错误,需要手动创建数据库,数据库的表会自动创建成功。

相关推荐
Linux-18742 天前
分布式链路追踪系统之docker-compose安装skywalking
云原生·docker-compose·skywalking·分布式链路追踪系统·应用程序性能监控
流烟默2 天前
SpringBoot应用链路追踪 traceId 技术方案
spring boot·skywalking·traceid
Linux-18743 天前
分布式链路追踪系统之二进制安装skywalking
elasticsearch·云原生·skywalking·分布式链路追踪系统·应用程序性能监控
令狐前生6 天前
SpringBoot3项目集成Skywalking示例
skywalking
乒乓狂魔8 天前
SkyWalking 也能 AI 智能化了
人工智能·skywalking
摇滚侠15 天前
Skywalking 应用性能监控和可观测性分析平台 简介
skywalking
Databuff15 天前
skywalking 快速使用入门
skywalking
摇滚侠17 天前
Apache Skywalking 实战 阅读笔记 第三章
笔记·apache·skywalking
摇滚侠18 天前
Apache Skywalking 实战 阅读笔记 第二章
笔记·apache·skywalking
Databuff18 天前
国产开源APM databuff 成为 CNCF 顶级项目opentelemetry 官宣Vendor
运维·开源·skywalking·apm·可观测性·opentelemetry