在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数据,导致出现该错误,需要手动创建数据库,数据库的表会自动创建成功。

相关推荐
bohu839 天前
skywalking实现链路追踪-笔记
笔记·skywalking·单机模式
lvyuanj9 天前
IDEA skywalking 启动报错 ClassNotFoundException InstanceConstructorInterceptor
java·intellij-idea·skywalking
cominglately11 天前
centos部署SkyWalking以及在springcloud项目中搭配loki使用
spring cloud·centos·skywalking
白露与泡影13 天前
SkyWalking 和 ELK 链路追踪实战
elk·wpf·skywalking
不爱吃米饭_13 天前
SkyWalking 和 ELK 链路追踪实战
elk·wpf·skywalking
m0_6726565416 天前
SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪
spring boot·后端·skywalking
inventecsh17 天前
docker-compose部署skywalking 8.1.0
docker·容器·skywalking
林中伊人17 天前
go引入skywalking
skywalking
wgslucky22 天前
skywalking 配置elasticsearch持久化
大数据·elasticsearch·skywalking
canxiusi22 天前
SkyWalking没办法自动创建ES索引问题
大数据·elasticsearch·skywalking