Agent 的使用-Linux 下 Tomcat7和8中使用 | 学习笔记

简介: 快速学习 Agent 的使用-Linux 下 Tomcat7和8中使用

开发者学堂课程【分布式链路追踪 SkywalkingAgent 的使用-Linux 下 Tomcat7和8中使用】学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/743/detail/13156


Agent 的使用-Linux 下 Tomcat7和8中使用


Agent 的使用

如何在 Linux 下 Tomcat7和8中使用 Skywalking 监控 Tomcat 中的应用。

1.使用前的准备

需要注意,在 Skywalking 中 Tomcat7和8的使用方式是一样的,如果要使用 Skywalking 监控 Tomcat 中的应用,需要先准备一个 Spring MVC 项目,同时拿出已经打包好的文件,下面来查看它的源码。

如图:image.png

在它的 pom 文件中指定依赖,依赖的版本号统一为 spring 5.0.5,除了 spring 的基础依赖外,还引入了 spring MVC ,这些都是常规的依赖。

如图:image.pngimage.png

在web.xml 里进行配置,配置 spring MVC 的 DispatcherServlet 来接收请求,指定文件为 applicationContext-web,这个配置文件实际上是在 resource 下面。

如图,请求需要 .do 进行结尾:image.png

这样请求才会被 springmvc 的servlet-name 进行响应。

然后,再来查看 applicationContext,如图:image.png

如上图是有一个扫描包,这个扫描包在 com.itcast.controller 下。如图:image.png

这个包其实还有一个 hello controller 类,这个类声明为 controller,对外提供接口,接口的地址是/hello,/sayhello,这里可以稍微备注一下接口的访问地址。

如图:image.png

如上图要记得加上 .do,这样就能访问到这个接口,这个接口会返回到前端 hello word 这样一个字符串,这也是最简单的一个 springmvc 项目,可以做一个测试看它是如何在 Tomcat 中被 Skywalking 进行检验的。

2.如何使用 Skywalking

首先,需要把 Tomcat 和 war 包上传到 Linux 下,如图:image.pngimage.png

上传 Tomcat,切换到 usr/local/ Skywalking ,查看 Tomcat 是否成功上传,上传后对它进行解压。

解压后,通过上传工具,在 webapp 下把 war 包上传,如图:

image.png

由于这个 war 包的名字比较长,可以在工具里面进行修改,把原来的名字改为 Skywalking_springmvc 这个名字。

3.对 Tomcat 的配置文件进行修改

需要修改的文件是 catalina.sh ,即在文件顶部添加以下两句话:

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/local/skywalking/apache-

skywalking-apm-bin/agent/skywalking-agent.jar";export CATALINA_OPTS

这句话的内容是说:在 CATLINA_OPTS 参数后面添加 -javaagent:/usr/local/skywalking/apache- skywalking-apm-bin/agent,这个agent 实际上指向目录,选中了里面的 /skywalking-agent.jar 的一个架包,这是 javaagent 的一种标准写法,也就是通过 javaagent 的方式将一个架包启动,而且是和应用程序一起启动,这样就可以通过架包定义的方法进行拦截。此时 CATALINA_OPTS 已经加上了以上内容,只需要把变量导出即可。

进入 apache-tomcat 目录下,在 bin 下面查找启动脚本,即 catalina.sh ,然后在它的顶部添加这两句话,然后保存。image.pngimage.pngimage.png

保存还需要把端口号进行修改,原来的端口是在8080上,现在需要把它改为8081。

如图:image.png

查找到 server.xml 配置文件,把它原来的8080端口号改为8081,然后进行保存,退出。

4.启动与访问

进入 bin 目录下,输入./startup.sh

提示Tomcat  started.表示启动成功。image.png

之后就可以直接通过浏览器进行访问,可以看到,skywalking 的页面目前是没有如何信息的,在浏览器打开192.168.62.141.8081加上项目名,这里把项目名改为 skywalking_springmvc ,然后加上接口名,即/hello,/sayhello.do。

进行访问,页面无法打开就需要考虑是否是因为 Linux 下目录被挤压的问题,

image.png 

如果不是,还有可能是因为 Tomcat 启动出现了问题,这时候可以查看日志,再看配置文件是否编写正确,如图:image.png

将其和目录文件对比,发现少了一个-,注意这里一定要和目录一致,这样才能让 agent 找到架包,才能保证不会出错。

如图:image.pngimage.png

重新执行启动脚本,在日志里进行监控,可以发现,现在的日志变得比较多了。

刷新之前的访问页面,如图:image.png

需要注意的是,如果 Tomcat 还没有启动完毕,页面还是会出现无法访问的情况,等 Tomcat 启动完毕后才能访问,访问接口后返回的是 hello world。

再在 skywalking 页面刷新,如图:image.pngimage.png

此时接口的调用已经可以显示了,还可以看到与它相关的服务,叫 skywalking_tomcat,也就是之前在 agent 里修改的服务名。

如图:image.pngimage.pngimage.png

进入 agent 目录,在 config 里查看,可以看到,这里有之前修改的服务名,现在在访问页面展现,并且它的端点接口提供的是/hello/sayhello,当前实例是 skywalking_tomcat 提供的 pid:10871,进程 IP 地址是192.168.62.141

下面来看它的拓扑图,如图:image.png

当前拓扑图,用户直接调用了 skywalking_tomcat 这个服务,这个服务提供了 springmvc 的端点。

然后在追踪这里,如图:image.png

如上图,这笔调用花费了567毫秒,这个时间是不定的,可能会因为启动时间而变长。

如图:image.png

查看具体的信息,使用 GET 请求调用了 url,然后所有信息都可以得到展示,证明 skywalking 对 Tomcat 已经生效。

以上就是简单的 skywalking 监控 Tomcat 的使用方式。

需要密切关注的还是:在 catalina.sh 文件顶部添加那两句话,即通过 java agent 来启动 skywalking-agent 的架包,这样 skywalking 才能获取到 springmvc 所有的数据,把所有的数据上传到后端服务,来进行统计。

相关文章
|
6月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
389 41
|
6月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
510 17
|
6月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
159 18
|
6月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
460 11
|
6月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
218 10
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
222 3
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
应用服务中间件 Linux 网络安全
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
164 5