首先了解一下單機(jī)環(huán)境
- 第一步,搭建一個(gè) Elasticsearch 服務(wù)。
- 第二步,下載 SkyWalking 軟件包。
- 第三步,搭建一個(gè) SkyWalking OAP 服務(wù)。
- 第四步,啟動(dòng)一個(gè) Spring Boot 應(yīng)用,并配置 SkyWalking Agent。
- 第五步,搭建一個(gè) SkyWalking UI 服務(wù)。
開始搭建
準(zhǔn)備工作,準(zhǔn)備一個(gè)docker網(wǎng)絡(luò)組,網(wǎng)絡(luò)組的名字為dev。
1、先搭建一個(gè)Elasticsearch服務(wù)
按照我之前準(zhǔn)備好的文檔來(lái)就可以了。
配置Linux服務(wù)器華為云耀云服務(wù)器之docker中安裝kibana與Es (虛擬機(jī)一樣適用)_docker es kibana_藝舟先生的博客-CSDN博客
也可以直接使用我提供的代碼
docker run \
--name elasticsearch \
--network=dev \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
-d elasticsearch:7.12.1
代碼解釋:
-
docker run
:運(yùn)行一個(gè) Docker 容器的命令。 -
--name elasticsearch
:設(shè)置容器的名稱為 "elasticsearch"。 -
--network=dev
:將容器連接到 "dev" 網(wǎng)絡(luò),使其能夠與該網(wǎng)絡(luò)上的其他容器進(jìn)行通信。 -
-p 9200:9200
、-p 9300:9300
:這些選項(xiàng)將容器的端口映射到主機(jī)的端口。本例中,容器的端口9200
和9300
可以通過(guò)主機(jī)上相應(yīng)的端口進(jìn)行訪問(wèn)。 -
-e "discovery.type=single-node"
:這個(gè)選項(xiàng)設(shè)置 Elasticsearch 集群的發(fā)現(xiàn)類型為 "single-node"。該配置用于在開發(fā)或測(cè)試環(huán)境中運(yùn)行單個(gè) Elasticsearch 節(jié)點(diǎn)。 -
-e ES_JAVA_OPTS="-Xms84m -Xmx512m"
:這個(gè)選項(xiàng)設(shè)置 Elasticsearch 的 Java 堆內(nèi)存分配。本例中,它配置為分配最小為 84 MB (-Xms84m
),最大為 512 MB (-Xmx512m
) 的內(nèi)存。 -
-d elasticsearch:7.12.1
:這個(gè)選項(xiàng)指定了用于容器的 Docker 鏡像。本例中使用的是 Elasticsearch 版本 7.12.1 的鏡像。
總的來(lái)說(shuō),這段代碼運(yùn)行了一個(gè)名為 "elasticsearch" 的 Docker 容器,將其連接到 "dev" 網(wǎng)絡(luò)。Elasticsearch 可以通過(guò)容器的 9200 和 9300 端口訪問(wèn),并配置為使用單節(jié)點(diǎn)發(fā)現(xiàn)類型,并設(shè)定特定的 Java 堆內(nèi)存。
我在docker上安裝的過(guò)程中出現(xiàn)了報(bào)錯(cuò),可以使用下面鏈接作為參考。?
java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.options es啟動(dòng)出錯(cuò)(解決)_藝舟先生的博客-CSDN博客
2、第二步,下載 SkyWalking 軟件包
(1)從docker上面拉取適合自己es版本的SkyWalking
我這里是es:7.17.0版本的所以拉取根據(jù)SkyWalking的文檔,SkyWalking 8.0.0及更高版本支持Elasticsearch 7.x系列。由于使用的是Elasticsearch 7.17.0版本,您可以安裝SkyWalking 8.0.0或更高版本。
這里提供的代碼是拉取最新版本的。
docker pull apache/skywalking-oap-server:9.1.0
(2)編寫啟動(dòng)sh文件
docker run \
--name oap \
--network=dev \
-e TZ=Asia/Shanghai \
-p 12800:12800 \
-p 11800:11800 \
--link elasticsearch:elasticsearch \
-e SW_STORAGE=elasticsearch \
-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 \
apache/skywalking-oap-server:9.1.0
?
-
--name oap
:設(shè)置容器的名稱為 "oap"。 -
--network=dev
:將容器連接到 "dev" 網(wǎng)絡(luò),使其能夠與該網(wǎng)絡(luò)上的其他容器進(jìn)行通信。 -
-e TZ=Asia/Shanghai
:通過(guò)設(shè)置環(huán)境變量 "TZ",將容器的時(shí)區(qū)設(shè)置為 Asia/Shanghai。 -
-p 12800:12800
、-p 11800:11800
:這些選項(xiàng)將容器的端口映射到主機(jī)的端口。本例中,容器的端口12800
和11800
可以通過(guò)主機(jī)上相應(yīng)的端口進(jìn)行訪問(wèn)。 -
--link elasticsearch:elasticsearch
:通過(guò)--link
選項(xiàng),將容器與名為 "elasticsearch" 的另一個(gè)容器進(jìn)行鏈接。這將允許容器oap
可以與elasticsearch
容器進(jìn)行通信。 -
-e SW_STORAGE=elasticsearch
:通過(guò)設(shè)置環(huán)境變量 "SW_STORAGE",將 SkyWalking OAP Server 的存儲(chǔ)設(shè)置為 Elasticsearch。 -
-e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200
:通過(guò)設(shè)置環(huán)境變量 "SW_STORAGE_ES_CLUSTER_NODES",指定了 Elasticsearch 存儲(chǔ)的集群節(jié)點(diǎn)。這里設(shè)置為 "elasticsearch:9200",表示連接到運(yùn)行在elasticsearch
容器上的 Elasticsearch 的 9200 端口。 -
apache/skywalking-oap-server:9.1.0
:這部分指定了用于容器的 Docker 鏡像。在此例中,使用的是 Apache SkyWalking OAP Server 版本 9.1.0 的鏡像。
這段代碼運(yùn)行了一個(gè)名為 "oap" 的 Docker 容器,將其連接到 "dev" 網(wǎng)絡(luò)。容器的時(shí)區(qū)設(shè)置為 Asia/Shanghai,通過(guò)端口映射,使得容器的 12800 和 11800 端口可以通過(guò)主機(jī)上的相應(yīng)端口進(jìn)行訪問(wèn)。容器與 elasticsearch
容器鏈接,指定 SkyWalking OAP Server 使用 Elasticsearch 作為存儲(chǔ),并將其連接到運(yùn)行在 elasticsearch
容器上的 Elasticsearch。
(3)安裝管理頁(yè)面
docker run -d --name skywalking-ui \
--restart=always \
--network=dev \
-e TZ=Asia/Shanghai \
-p 8081:8080 \
--link oap:oap \
-e SW_OAP_ADDRESS=http://oap:12800 \
apache/skywalking-ui:9.1.0
-
-d
:該選項(xiàng)表示在后臺(tái)運(yùn)行容器。 -
--name skywalking-ui
:設(shè)置容器的名稱為 "skywalking-ui"。 -
--restart=always
:設(shè)置容器在啟動(dòng)時(shí)自動(dòng)重新啟動(dòng)。 -
--network=dev
:將容器連接到 "dev" 網(wǎng)絡(luò),使其能夠與該網(wǎng)絡(luò)上的其他容器進(jìn)行通信。 -
-e TZ=Asia/Shanghai
:通過(guò)設(shè)置環(huán)境變量 "TZ",將容器的時(shí)區(qū)設(shè)置為 Asia/Shanghai。 -
-p 8081:8080
:這個(gè)選項(xiàng)將容器的端口映射到主機(jī)的端口。本例中,容器的端口8080
可以通過(guò)主機(jī)上的8081
端口進(jìn)行訪問(wèn)。 -
--link oap:oap
:通過(guò)--link
選項(xiàng),將容器與名為 "oap" 的另一個(gè)容器進(jìn)行鏈接。這將允許容器skywalking-ui
可以與oap
容器進(jìn)行通信。 -
-e SW_OAP_ADDRESS=http://oap:12800
:通過(guò)設(shè)置環(huán)境變量 "SW_OAP_ADDRESS",指定了 SkyWalking-UI 連接到的 SkyWalking OAP Server 的地址。這里設(shè)置為http://oap:12800
,表示連接到運(yùn)行在oap
容器上的 SkyWalking OAP Server,并使用端口12800
進(jìn)行通信。 -
apache/skywalking-ui:9.1.0
:這部分指定了用于容器的 Docker 鏡像。在此例中,使用的是 Apache SkyWalking-UI 版本 9.1.0 的鏡像。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-609024.html
這段代碼運(yùn)行了一個(gè)名為 "skywalking-ui" 的 Docker 容器,將其連接到 "dev" 網(wǎng)絡(luò)。容器在啟動(dòng)時(shí)會(huì)自動(dòng)重新啟動(dòng),并通過(guò)端口映射,使得容器的 8080 端口可以通過(guò)主機(jī)上的 8081 端口進(jìn)行訪問(wèn)。容器與 oap
容器鏈接,指定 SkyWalking-UI 使用運(yùn)行在 oap
容器上的 SkyWalking OAP Server,并通過(guò) http://oap:12800
地址和端口進(jìn)行通信。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-609024.html
到了這里,關(guān)于SkyWalking鏈路追蹤-搭建-spring-boot-cloud-單機(jī)環(huán)境 之《10 分鐘快速搭建 SkyWalking 服務(wù)》的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!