主頁(yè) > 知識(shí)庫(kù) > 使用 docker部署tomcat并接入skywalking的使用

使用 docker部署tomcat并接入skywalking的使用

熱門標(biāo)簽:宿城區(qū)電話機(jī)器人找哪家 400電話辦理介紹信 河南防封號(hào)電銷機(jī)器人是什么 上海申請(qǐng)高400開(kāi)頭的電話 麗江真人語(yǔ)音電話外呼系統(tǒng) 10086外包用的什么外呼系統(tǒng) 福州企業(yè)電銷機(jī)器人排名 怎么找到?jīng)]有地圖標(biāo)注的店 打400電話怎么辦理收費(fèi)

一、概述

上一篇文章介紹了使用 docker 部署 spring boot 并接入 skywalking,其中描述了使用 docker-compose 搭建 skywalking,這一篇文章就不介紹 skywalking 的搭建了,這里主要記錄一下使用 docker 部署一個(gè) tomcat 并接入 skywalking 進(jìn)行服務(wù)鏈路追蹤。

二、使用 docker 部署 tomcat 并接入 skywalking

關(guān)于如何將 tomcat 應(yīng)用接入 skywalking 官網(wǎng)有如下描述:

詳細(xì)信息可以查看官網(wǎng):skywalking agent 官網(wǎng)

Linux Tomcat 7 / Tomcat 8
tomcat/bin/catalina.sh第一行添加以下內(nèi)容:

CATALINA_OPTS="$CATALINA_OPTS -javaagent:<skywalking-agent-path>"; export CATALINA_OPTS

Windows Tomcat 7 / Tomcat 8
在tomcat/bin/catalina.bat第一行添加以下內(nèi)容:

set "CATALINA_OPTS=-javaagent:<skywalking-agent-path>"

JAR File 或 Spring Boot
在應(yīng)用程序的啟動(dòng)命令行中添加 -javaagent 參數(shù):

java -javaagent:<skywalking-agent-path> -jar yourApp.jar

注意-javaagent參數(shù)一定要在-jar參數(shù)之前。

由于我這里是使用 docker 部署 tomcat ,所以不打算修改 tomcat/bin/catalina.sh文件,而且查看tomcat/bin/catalina.sh文件,有如下描述:

在下圖中定義了讀取 setenv.sh 的腳本:

意思是:不要在catalina.sh這個(gè)腳本中設(shè)置變量,為了讓你的自定義變量分離,應(yīng)該把自定義的環(huán)境變量放在CATALINA_BASE/bin/setenv.sh 文件中,除此之外,經(jīng)過(guò)我測(cè)試發(fā)現(xiàn),可以直接使用環(huán)境變量的方式進(jìn)行設(shè)置,下面我將以兩者方式的配置進(jìn)行說(shuō)明。

1、將自定義的變量寫在 setenv.sh 文件中

首先我們需要下載 skywalking agent,關(guān)于下載 agent 可以查看本文開(kāi)頭的文章,之后將agent 放在一個(gè)可以訪問(wèn)的目錄,我這里是測(cè)試,所以將 agent 目錄復(fù)制到了我的 Dockerfile 的同級(jí)目錄,其中 Dockerfile 的內(nèi)容如下:

FROM tomcat

LABEL maintaner="xiniao"

COPY agent /usr/skywalking/agent

WORKDIR /usr/local/tomcat/bin

RUN echo 'CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/skywalking/agent/skywalking-agent.jar";' > setenv.sh

ENV SW_AGENT_NAME="my-spring-demo" \

    SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800"

WORKDIR /usr/local/tomcat/webapps/ROOT

COPY target/my-spring-demo.war my-spring-demo.war

RUN jar -xf my-spring-demo.war

關(guān)于 skywalking agent 的其他配置,則可以通過(guò)環(huán)境變量的方式進(jìn)行定義,比如這里指定了 skywalking 中顯示的服務(wù)名為 ENV SW_AGENT_NAME="my-spring-demo" 以及 skywalking 的后端服務(wù)地址 SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800",我們?cè)L問(wèn) skywalking ui 可以看到如下圖所示內(nèi)容:

2、使用環(huán)境變量指定 skywalking agent 的路徑

詳細(xì)的 Dockerfile 內(nèi)容如下:

FROM tomcat

LABEL maintaner="xiniao"

COPY agent /usr/skywalking/agent

ENV CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/skywalking/agent/skywalking-agent.jar" \

    SW_AGENT_NAME="my-spring-demo-env" \

    SW_AGENT_COLLECTOR_BACKEND_SERVICES="127.0.0.1:11800"

WORKDIR /usr/local/tomcat/webapps/ROOT

COPY target/my-spring-demo.war my-spring-demo.war

RUN jar -xf my-spring-demo.war

使用如下命令構(gòu)建鏡像:

docker build -t my-spring-demo .

使用如下命令運(yùn)行容器:

docker run --rm -p 8080:8080 my-spring-demo

訪問(wèn) skywalking ui 可以看到監(jiān)控的信息如下:

總結(jié)

這里主要介紹了使用 docker 部署 tomact 并接入 skywalking 的使用,因?yàn)樵诰W(wǎng)上并沒(méi)有查到太多相關(guān)的信息,所以這里記錄下來(lái),需要對(duì)有需求的小伙伴提供一些幫助。這里還是存在一些問(wèn)題,比如這里 skywalking agent 直接打到鏡像文件里面并不友好,個(gè)人覺(jué)得可以自定義一個(gè) tomcat 的基礎(chǔ)鏡像,并將 skywalking agent 打到基礎(chǔ)鏡像中,這樣所有的 tomcat 引用這個(gè)基礎(chǔ)鏡像來(lái)構(gòu)建鏡像,就可以實(shí)現(xiàn)接入 skywalking。如果是使用 k8s 部署的話,可以在 pod 中定義一個(gè)初始容器,在 pod 啟動(dòng)時(shí),將初始容器中的 skywalking agent 復(fù)制到我們的應(yīng)用中,關(guān)于如何在 k8s 使用 skywalking,并且無(wú)侵入的將 pod 的應(yīng)用接入 skywalking ,我將在下一篇文章中介紹。

到此這篇關(guān)于使用 docker部署tomcat并接入skywalking的使用的文章就介紹到這了,更多相關(guān) docker部署tomcat接入skywalking內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:朝陽(yáng) 連云港 荊門 遵義 面試通知 雞西 隴南 運(yùn)城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用 docker部署tomcat并接入skywalking的使用》,本文關(guān)鍵詞  使用,docker,部署,tomcat,并,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用 docker部署tomcat并接入skywalking的使用》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于使用 docker部署tomcat并接入skywalking的使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章