<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # SkyWalking 安裝部署 ### 一、業務背景 微服務作為當前系統架構的主流選型,雖然可以應對復雜的業務場景,但是隨著業務擴展,微服務架構本身的復雜度也會膨脹,對于一些核心的業務流程,其請求鏈路會涉及到多個業務服務,少則三五個,多則十幾個都很常見: 需要對請求的鏈路有完整監控,并且采集和分析各個環節的數據,這樣才能清晰地理解系統的行為信息,比如耗時分析,故障原因發現,從而進行優化和解決;能實現這種能力的組件很多,這里來看看基于SkyWalking9的實踐方式; ### 二、組件原理 Skywalking是APM規范的國產開源分布式鏈路追蹤系統,APM(Application-Performance-Management)即應用性能管理,支持對SpringCloud微服務集成,并且無代碼層面的侵入: ![](https://img.kancloud.cn/de/b0/deb010122b791f5b42c10fddba4f18ba_993x486.png) **業務機制**![](https://img.kancloud.cn/cd/8e/cd8e74807d24b1ddfe59d84600ddc01e_991x304.png)\*\*\*\* ***** **SpringCloud**:分布式系統中的服務,啟動時配置代理即可; **Agent**:以探針的方式進行請求鏈路的數據采集,并向管理服務上報; **OAP-Service**:接收數據,完成數據的存儲和展示; **Storage**:數據的存儲層,支持ElasticSearch、Mysql、H2多種方式; **UI界面**:數據的可視化展示界面 ![](https://img.kancloud.cn/77/14/7714bb38f9772f543f78a5b64107d280_1002x507.png) 工作流程,服務通過探針的方式接入數據采集的功能,之后請求鏈路的相關處理行為會上報到OAP服務中,進行數據的聚合管理和分析,并存儲在持久層,然后可以通過UI界面進行可視化呈現; ## 三、安裝部署 版本9.2 下載地址:[https://skywalking.apache.org/downloads/](https://skywalking.apache.org/downloads/) **1、版本描述&下載** skywalking在之前的舊版本中,apm與agent是在一個包中的,在9.0的版本中是需要分開下載的;agent包下載解壓之后,也將其放到apm包下面維護: * skywalking-apm-9.2.0.tar.gz * skywalking-java-agent-8.13.0.tgz ![](https://img.kancloud.cn/94/50/9450be30eca37d7a0d099d0b61ca2e44_1871x971.bmp)![](https://img.kancloud.cn/d0/19/d0191eab6fc9caca70133a5eb4dcf3c4_2028x1036.png)![](https://img.kancloud.cn/c6/cb/c6cbad5e609df2a40330956d8f0a3cb6_1805x853.png) ## 四、SkyWalking 的配置 在服務器解壓完畢后,我們將分三步進行,完成整體 SkyWalking 的配置。Skywalking 主要分為 oap 、webapp 和 agent 三部分, * `oap` 用于匯總數據。 * `webapp` 用于匯總數據的展示。 * `agent` 是探針,部署在需要收集數據的應用服務器上,并將數據同步到Skywalking的平臺。 **`oap` 和 `webapp`這兩塊共同組成了Skywalking的平臺** ***** ## `4.1、oap` 進行配置 進入 `config` 文件夾, `application.yml` 文件夾進行編輯。下面將進行集群配置、存儲配置、自監控空配置。 集群部分 ``` cluster: # 配置我們是集群還是單節點。這里我們是單節點,所以不做改變。 selector: ${SW_CLUSTER:standalone} ``` 存儲部分這里我們的存儲使用 elasticsearch7 ``` storage: selector: ${SW_STORAGE:elasticsearch} …… elasticsearch: # sky-walking 在 ES 中索引的前綴 nameSpace: ${SW_NAMESPACE:"Sky-walking"} # 在 ES 安裝的位置與端口 clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9208} ``` 自監控【**采取了默認的配置沒有更改】** ``` prometheus-fetcher: selector: ${SW_PROMETHEUS_FETCHER:default} default: enabledRules: ${SW_PROMETHEUS_FETCHER_ENABLED_RULES:"self"} active: ${SW_PROMETHEUS_FETCHER_ACTIVE:true} …… telemetry: selector: ${SW_TELEMETRY:prometheus} ``` ## 4.2 對 `webapp` 進行配置 1、訪問 oap 的方式默認使用graphql方式訪問oap的數據收集端口,因此監聽的是12800端口由于oap 和web 在同一臺機器上。所以我填寫的是127.0.0.1 ``` server: port: 7100#訪問頁面使用的端口 collector: path: /graphql ribbon: ReadTimeout: 10000 # Point to all backend's restHost:restPort, split by , listOfServers: 127.0.0.1:12800 ``` 完成上述步驟就可以啟動了 ## 4.3 對 `agent` 進行配置 【樣例】 ``` -javaagent:/opt/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar=agent.service_name=NJ-GL,agent.application_code=90001, logging.level=debug ``` ``` -javaagent:/usr/hj/apps/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$APP_NAME -Dskywalking.collector.backend_service=$skywalking_Server -jar $FULL_PATH --spring.profiles.active=prod >/dev/null 2>&1 & ``` # 五、啟動 進入 `bin` 目錄執行 `startup.sh` 文件即可啟動 `SkyWalking` 平臺,內部文件其實是分別執行 `oapService.sh` 與`webappService.sh` 文件,如果我們是分開部署這兩部分功能,可以單獨運行對應的 `.sh` 文件即可啟動對應部分。 ``` cd /usr/local/skywalking/bin sh startup.sh ``` `startup.sh` 腳本內容。 ``` setlocal call "%~dp0"\oapService.bat start call "%~dp0"\webappService.bat start endlocal ``` ![](https://img.kancloud.cn/50/67/50678bd67a86bb3075d075215a9add67_2083x1100.png) 完整 Java啟動腳本 ``` rt JAVA_HOME=/usr/local/java/jdk1.8.0_211 APP_PATH="/usr/hj/apps/hmall-service-trade" APP_NAME="hmall-service-trade" FULL_PATH=${APP_PATH}/${APP_NAME}".jar" skywalking_Server="14.29.150.191:11800" #啟動方法 start(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'` if [ "$pid" ]; then echo "$APP_NAME is already running. pid=$pid ." else nohup $JAVA_HOME/bin/java -javaagent:/usr/hj/apps/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$APP_NAME -Dskywalking.collector.backend_service=$skywalking_Server -jar $FULL_PATH --spring.profiles.active=prod >/dev/null 2>&1 & echo $! echo "$APP_NAME now is running" fi } #停止方法 stop(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'` if [ "$pid" ]; then kill -9 $pid echo "Pid:$pid stopped" else echo "$APP_NAME is not running" fi } #輸出運行狀態 status(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'` if [ "$pid" ]; then echo "$APP_NAME is running. Pid is ${pid}" else echo "$APP_NAME is NOT running." fi } #根據輸入參數,選擇執行對應方法,不輸入則執行使用說明 case "$1" in start) start ;; stop) stop ;; status) status ;; restart) stop sleep 5 start ;; *) echo "Usage:{start|stop|status|restart}" ;; esac exit 0 ``` UI說明 [https://blog.csdn.net/miluan\_ren/article/details/118223680](https://blog.csdn.net/miluan_ren/article/details/118223680)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看