docker配置skywalking 監(jiān)控springcloud應(yīng)用的詳細(xì)步驟
在使用 Docker 配置 SkyWalking 監(jiān)控 Spring Cloud 應(yīng)用時(shí),主要分為以下幾個(gè)步驟:
1. 準(zhǔn)備工作
- 確保你的開發(fā)環(huán)境已經(jīng)安裝了 Docker 和 Docker Compose。
- 準(zhǔn)備好 Spring Cloud 應(yīng)用代碼,并確保它支持 SkyWalking 的探針(Agent)。
2. 拉取 SkyWalking OAP Server 和 UI 鏡像
SkyWalking 提供了官方的 Docker 鏡像,可以通過以下命令拉?。?/p>
docker pull apache/skywalking-oap-server docker pull apache/skywalking-ui docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.0
3. 創(chuàng)建 docker-compose.yml 文件
為了簡(jiǎn)化部署,可以使用 Docker Compose 來(lái)啟動(dòng) SkyWalking 的 OAP Server 和 UI。
創(chuàng)建一個(gè) docker-compose.yml 文件,內(nèi)容如下:
version: '3.7'
services:
oap:
image: apache/skywalking-oap-server
container_name: skywalking-oap
ports:
- "11800:11800" # gRPC port
- "12800:12800" # REST port
environment:
SW_STORAGE: elasticsearch
SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
networks:
- skywalking-net
ui:
image: apache/skywalking-ui
container_name: skywalking-ui
ports:
- "8080:8080"
environment:
SW_OAP_ADDRESS: http://oap:12800
depends_on:
- oap
networks:
- skywalking-net
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0
container_name: elasticsearch
environment:
discovery.type: single-node
ports:
- "9200:9200"
networks:
- skywalking-net
networks:
skywalking-net:
driver: bridge4. 啟動(dòng) SkyWalking 服務(wù)
運(yùn)行以下命令啟動(dòng) SkyWalking 的 OAP Server、UI 和 Elasticsearch:
docker compose up -d
這將啟動(dòng)以下服務(wù):
- OAP Server:負(fù)責(zé)收集和處理監(jiān)控?cái)?shù)據(jù)。
- UI:提供可視化界面,默認(rèn)訪問地址為
http://localhost:8080。 - Elasticsearch:存儲(chǔ)監(jiān)控?cái)?shù)據(jù)。
5. 配置 Spring Cloud 應(yīng)用
為了讓 Spring Cloud 應(yīng)用與 SkyWalking 集成,需要在應(yīng)用中引入 SkyWalking 的 Java Agent。
5.1 下載 SkyWalking Agent
從 Apache SkyWalking 官方網(wǎng)站 下載對(duì)應(yīng)版本的 SkyWalking Agent。
解壓后,你會(huì)得到一個(gè)文件夾,例如 apache-skywalking-java-agent-8.9.0。
5.2 修改 Spring Cloud 應(yīng)用的啟動(dòng)命令
在 Spring Cloud 應(yīng)用的啟動(dòng)命令中添加 -javaagent 參數(shù)。例如:
java -javaagent:/path/to/apache-skywalking-java-agent-8.9.0/skywalking-agent.jar \
-Dskywalking.agent.service_name=your-service-name \
-Dskywalking.collector.backend_service=oap:11800 \
-jar your-spring-cloud-app.jar5.3 關(guān)鍵參數(shù)說(shuō)明
-javaagent:指定 SkyWalking Agent 的路徑。skywalking.agent.service_name:設(shè)置你的服務(wù)名稱,用于區(qū)分不同的服務(wù)。skywalking.collector.backend_service:指定 SkyWalking OAP Server 的地址(默認(rèn)為oap:11800)。
6. 使用 Docker 啟動(dòng) Spring Cloud 應(yīng)用
如果你使用 Docker 來(lái)運(yùn)行 Spring Cloud 應(yīng)用,可以在 Dockerfile 或 docker-compose.yml 中添加 -javaagent 參數(shù)。
例如,在 docker-compose.yml 中添加:
app:
image: your-spring-cloud-image
container_name: spring-cloud-app
environment:
- JAVA_OPTS=-javaagent:/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=your-service-name -Dskywalking.collector.backend_service=oap:11800
volumes:
- ./apache-skywalking-java-agent-8.9.0:/skywalking-agent
depends_on:
- oap
networks:
- skywalking-net7. 驗(yàn)證監(jiān)控
- 訪問 SkyWalking UI:
http://localhost:8080。 - 在頁(yè)面上查看服務(wù)拓?fù)鋱D、性能指標(biāo)等信息。
- 如果一切正常,你應(yīng)該能看到你的 Spring Cloud 應(yīng)用的監(jiān)控?cái)?shù)據(jù)。
8. 注意事項(xiàng)
- 確保 Spring Cloud 應(yīng)用和 SkyWalking OAP Server 在同一個(gè)網(wǎng)絡(luò)中(例如通過 Docker Compose 創(chuàng)建的
skywalking-net網(wǎng)絡(luò))。 - 如果使用的是自定義的 Elasticsearch 地址或端口,請(qǐng)修改
SW_STORAGE_ES_CLUSTER_NODES環(huán)境變量。 - 根據(jù)實(shí)際需求調(diào)整 SkyWalking Agent 的配置文件(
agent/config/agent.config)。
通過以上步驟,你可以成功使用 Docker 配置 SkyWalking 來(lái)監(jiān)控 Spring Cloud 應(yīng)用!
到此這篇關(guān)于docker配置skywalking 監(jiān)控springcloud應(yīng)用的文章就介紹到這了,更多相關(guān)docker 監(jiān)控springcloud應(yīng)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 部署HAProxy v2.2.29 并暴露指標(biāo)接口的問題解決
haproxy提供高可用性、負(fù)載均衡以及基于TCP(第四層)和HTTP(第七層)應(yīng)用的代理,支持虛擬主機(jī),它是免費(fèi)、快速并且可靠的一種解決方案,這篇文章主要介紹了Docker 部署HAProxy v2.2.29 并暴露指標(biāo)接口,需要的朋友可以參考下2023-04-04
基于Docker的Mysql主備搭建的實(shí)現(xiàn)步驟
本文主要介紹了基于Docker的Mysql主備搭建的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
wsl2中docker安裝完畢后無(wú)法正常啟動(dòng)的解決方案
在Windows?10中安裝WSL2并配置Docker時(shí)遇到問題,通過切換iptables版本(從iptables-nft到iptables-legacy)解決了Docker運(yùn)行異常的問題2025-11-11
Ubuntu安裝Docker及配置鏡像加速與常見命令超詳細(xì)教程
Docker是一種流行的容器化平臺(tái),它能夠簡(jiǎn)化應(yīng)用程序的部署和管理,這篇文章主要介紹了Ubuntu安裝Docker及配置鏡像加速與常見命令的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-12-12
如何解決報(bào)錯(cuò)unable to remove volume問題
這篇文章主要介紹了如何解決報(bào)錯(cuò)unable to remove volume問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
Docker部署tenine實(shí)現(xiàn)后端應(yīng)用的高可用與負(fù)載均衡(推薦)
采用Docker部署Tengine和Keepalived,實(shí)現(xiàn)了一種適用于小型應(yīng)用場(chǎng)景的高可用負(fù)載均衡解決方案,本方案需要兩臺(tái)Ubuntu服務(wù)器、Docker軟件以及三個(gè)IP地址,適合需要簡(jiǎn)易而可靠的負(fù)載均衡和高可用性的小型應(yīng)用部署,感興趣的朋友跟隨小編一起看看吧2024-09-09
Docker Compose一鍵部署LNMP環(huán)境詳細(xì)過程
LNMP通常包括Nginx作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫(kù),PHP處理動(dòng)態(tài)內(nèi)容,可能還需要phpMyAdmin進(jìn)行數(shù)據(jù)庫(kù)管理,今天給大家介紹下Docker Compose一鍵部署LNMP環(huán)境的詳細(xì)過程,感興趣的朋友一起看看吧2025-04-04
docker和k8s中實(shí)現(xiàn)批量刪除不要的資源
文章介紹了在Docker和K8s中批量刪除不是running狀態(tài)的容器或pod的四種方法,包括根據(jù)容器狀態(tài)刪除Exited狀態(tài)的容器、顯示所有容器并過濾出Exited狀態(tài)的容器、刪除所有未運(yùn)行的容器以及使用docker containers prune命令刪除孤立的容器2025-12-12

