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