<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          skywalking 實現(xiàn)全鏈路監(jiān)控

          共 3932字,需瀏覽 8分鐘

           ·

          2021-05-16 14:45

          0x01: 概述

          簡介

          skywalking是一個開放源碼的,用于收集、分析,聚合,可視化來自于不同服務和本地基礎服務的數(shù)據(jù)的可觀察的平臺,

          skywalking提供了一個簡單的方法來讓你對你的分布式系統(tǒng)甚至是跨云的服務有清晰的了解。

          它更像是一個現(xiàn)代的系統(tǒng)性能管理,特別為分布式系統(tǒng)而設計。

          功能

          skywalking提供了在很多不同的場景下用于觀察和監(jiān)控分布式系統(tǒng)的方式。

          首先,像傳統(tǒng)的方法,skywalking為java,c#,Node.js等提供了自動探針代理.

          同時,它為Go,C++提供了手工探針。

          隨著本地服務越來越多,需要越來越多的語言,掌控代碼的風險也在增加,

          Skywalking可以使用網(wǎng)狀服務探針收集數(shù)據(jù),以了解整個分布式系統(tǒng)。

          通常,skywalking提供了觀察service,service instance,endpoint的能力。

          • service: 一個服務

          • Service Instance: 服務的實例(1個服務會啟動多個節(jié)點)

          • Endpoint: 一個服務中的其中一個接口

          架構(gòu)圖


           

          0x02: 快速部署

          環(huán)境說明

          • 操作系統(tǒng):centos 7.6

          • docker版本:19.03.12

          • ip地址:192.168.31.146

          • 配置:4核8g

          下載鏡像

          docker pull elasticsearch:7.5.1
          docker pull apache/skywalking-oap-server:6.6.0-es7
          docker pull apache/skywalking-ui:6.6.0

          說明:使用最新版本的 elasticsearch 和 skywalking-oap-serve r鏡像,啟動會有問題。因此,必須使用上述版本才可以。

          下載源碼包,下面會用到agent

          https://archive.apache.org/dist/skywalking/6.6.0/apache-skywalking-apm-6.6.0.tar.gz

          安裝 elasticsearch

          修改系統(tǒng)參數(shù)

          vim /etc/security/limits.conf

          調(diào)整參數(shù)

          vm.max_map_count=262144

          刷新參數(shù)

          sysctl -p

          啟動 elasticsearch

          docker run -d --name=es7 \
          -p 9200:9200 -p 9300:9300 \
          -e "discovery.type=single-node" elasticsearch:7.5.1

          等待30秒左右,查看 docker 日志,如果有出現(xiàn)

          "publish_address {172.17.0.2:9300}, bound_addresses {0.0.0.0:9300}"

          說明啟動成功了。

          創(chuàng)建持久化目錄,并重啟啟動elasticsearch

          docker cp es7:/usr/share/elasticsearch/data /data/elasticsearch/
          docker cp es7:/usr/share/elasticsearch/logs /data/elasticsearch/
          docker rm -f es7
          mkdir -p /data/elasticsearch
          docker run -d --name=es7 \
            --restart=always \
            -p 9200:9200 -p 9300:9300 \
            -e "discovery.type=single-node" \
            -v /data/elasticsearch/data:/usr/share/elasticsearch/data \
            -v /data/elasticsearch/logs:/usr/share/elasticsearch/logs \
          elasticsearch:7.5.1

          安裝oap

          注意:等待 elasticsearch 完全啟動之后,再啟動 oap

          docker run --name oap --restart always -d \
          --restart=always \
          -e TZ=Asia/Shanghai \
          -p 12800:12800 \
          -p 11800:11800 \
          --link es7:es7 \
          -e SW_STORAGE=elasticsearch \
          -e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 \
          apache/skywalking-oap-server:6.6.0-es7

          說明:這里指定elasticsearch 來存儲數(shù)據(jù)

          安裝ui

          docker run -d --name skywalking-ui \
          --restart=always \
          -e TZ=Asia/Shanghai \
          -p 8088:8080 \
          --link oap:oap \
          -e SW_OAP_ADDRESS=oap:12800 \
          apache/skywalking-ui:6.6.0

          注意:這里映射的端口為8088,防止端口沖突。


          0x03:SpringBoot 實例部署

          項目地址,這里一個SpringBootDemo為例,github地址:

          https://github.com/solochen84/SpringBootDemo

          制作jar包

          找一臺安裝了 jdk1.8 和 maven 的服務器,使用 maven 構(gòu)建命令進行打包

          mvn clean package

          打包好之后,會在 target 目錄,生成 jar 包,文件名為:spring-boot-demo-0.0.1-SNAPSHOT.jar

          啟動 jar 包

          原來的啟動方式為:

          java -jar spring-boot-demo-0.0.1-SNAPSHOT.jar

          那么使用 skywalking agent,啟動命令為:

          java -javaagent:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar -Dskywalking.agent.service_name=xxxtest -Dskywalking.collector.backend_service=127.0.0.1:11800 -jar /opt/spring-boot-demo-0.0.1-SNAPSHOT.jar

          說明:

          • -javaagent 指定agent包位置。這里我將apache-skywalking-apm-6.6.0.tar.gz解壓到/opt目錄了,因此路徑為:/opt/apache-skywalking-apm-bin/agent/skywalking-agent.jar

          • -Dskywalking.agent.service_name 指定服務名

          • -Dskywalking.collector.backend_service 指定skywalking oap地址,由于在本機,地址為:127.0.0.1:11800

          • -jar 指定jar包的路徑,這里我直接放到/opt/目錄了。

          訪問ui

          http://192.168.31.146:8088/

          效果如下:

          因為機制為懶加載,所以當只有你調(diào)用該java接口時,頁面上才有顯示。所以第一次訪問時,數(shù)據(jù)是沒有的。

          訪問 demo 接口

          SpringBootDemo 啟動端口為:8080,api 接口有3個

          GET /
          GET /?name=cheney
          GET /random

          頁面多刷新幾次接口

          http://192.168.31.146:8080/
          http://192.168.31.146:8080/?name=cheney
          http://192.168.31.146:8080/randomAbout

          儀表盤

          刷新ui頁面,選擇最近15分鐘的。

           拓撲圖

          點擊拓撲圖,選擇最近15分鐘的

          可以看到 xxxtest,就是我們定義的服務名稱

          追蹤

          同樣,可是查看最近15分鐘的。

          告警

          查看最近15分鐘的。

          指標

          這里可以選定3個指標,進行對比。

          喜歡,在看



          瀏覽 55
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲欧美性爱在线视频 | 日韩成人网站 | 欧美一级aa。 | 国产黄色视频在线免费看 | 色欲影视淫色淫香 |