日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用SkyWalking和Elasticsearch實現全鏈路監控

SkyWalking是分布式的應用性能管理APM(Application Performance Monitoring)工具,也被稱為分布式追蹤系統。本文介紹使用阿里云Elasticsearch 7.4版本的實例與SkyWalking,實現對實例的全鏈路監控。

背景信息

SkyWalking具有以下特性:

  • 全自動探針監控,不需要修改應用程序代碼。

  • 手動探針監控,提供了支持OpenTracing標準的SDK。覆蓋范圍擴大到OpenTracing-Java支持的組件。

    說明

    OpenTracing支持的組件請參見OpenTracing Registry

  • 自動監控和手動監控可以同時使用,使用手動監控彌補自動監控不支持的組件,甚至私有化組件。

  • 純Java后端分析程序,提供RESTful服務,可為其他語言探針提供分析能力。

  • 高性能純流式分析。

SkyWalking的架構圖如下。SkyWalking架構圖

SkyWalking的核心在于數據分析和度量結果的存儲平臺部分,通過HTTP或gRPC方式向SkyWalking Collector提交分析和度量數據。SkyWalking Collector對數據進行分析和聚合,存儲到Elasticsearch、H2、MySQL、TiDB等其一即可,最后通過SkyWalking UI的可視化界面查看分析結果。Skywalking支持從多個來源和多種格式收集數據,支持多種語言的Skywalking Agent 、Zipkin v1/v2 、Istio勘測、Envoy度量等數據格式。

說明

本文介紹SkyWalking與阿里云Elasticsearch 7.4版本的集成配置,您也可以通過Skywalking客戶端上報Java應用數據,詳細信息,請參見通過SkyWalking上報Java應用數據。SkyWalking支持的中間件和組件,請參見SkyWalking官方文檔

前提條件

您已完成以下操作:

  • 創建阿里云Elasticsearch實例,本文使用7.4.0版本。

    具體操作步驟,請參見創建阿里云Elasticsearch實例

  • 準備一臺Linux服務器,并在服務器中安裝JDK,要求JDK版本為1.8.0及以上版本。

    建議您使用阿里云ECS服務器。購買ECS服務器的方法,請參見步驟一:創建ECS實例

    說明

    安裝JDK的方式,請參見步驟三:安裝JDK。如果未正確安裝JDK,啟動SkyWalking后查看日志,可能會顯示Java not found或者java-xxx: No such file or directory報錯。

  • 確保Linux服務器的8080、10800、11800、12800端口不被占用。

  • 關閉Linux服務器的防火墻及SELinux。

操作流程

  1. 步驟一:下載并安裝SkyWalking

  2. 步驟二:配置SkyWalking與Elasticsearch連通

  3. 步驟三:驗證結果

步驟一:下載并安裝SkyWalking

  1. 在Linux服務器中,下載SkyWalking

    本文使用的是Elasticsearch 7.4.0版本,選擇Binary Distribution for ElasticSearch 7二進制包。下載命令如下。

    wget https://archive.apache.org/dist/skywalking/7.0.0/apache-skywalking-apm-es7-7.0.0.tar.gz
  2. 解壓。

    tar -zxvf apache-skywalking-apm-es7-7.0.0.tar.gz
  3. 查看解壓后的文件。

    ls apache-skywalking-apm-bin-es7/

    返回結果如下。

    total 92
    agent
    bin
    config
    LICENSE
    licenses
    NOTICE
    oap-libs
    README.txt
    tools
    webapp

步驟二:配置SkyWalking與Elasticsearch連通

  1. 在config目錄下,打開application.yml文件。

    cd apache-skywalking-apm-bin-es7/config/
    vi application.yml
  2. 定位到storage部分,將默認的H2存儲庫改為elasticsearch7,并按照以下說明配置。

    storage:
      selector: ${SW_STORAGE:elasticsearch7}
      elasticsearch7:
        nameSpace: ${SW_NAMESPACE:"skywalking-index"}
        clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:es-cn-4591kzdzk000i****.public.elasticsearch.aliyuncs.com:9200}
        protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
       # trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
       # trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
        enablePackedDownsampling: ${SW_STORAGE_ENABLE_PACKED_DOWNSAMPLING:true} # Hour and Day metrics will be merged into minute index.
        dayStep: ${SW_STORAGE_DAY_STEP:1} # Represent the number of days in the one minute/hour/day index.
        user: ${SW_ES_USER:"elastic"}
        password: ${SW_ES_PASSWORD:"es_password"}
    說明

    SkyWalking服務默認使用H2存儲,不具有持久存儲的特性,所以需要將存儲組件修改為elasticsearch。

    參數

    說明

    selector

    存儲選擇器。本文設置為elasticsearch7。

    nameSpace

    命名空間。Elasticsearch實例中,所有索引的命名會使用此參數值作為前綴。

    clusterNodes

    指定Elasticsearch實例的訪問地址。由于實例與SkyWalking不在同一專有網絡VPC(Virtual Private Cloud)下,因此要使用公網訪問地址,獲取方式請參見查看實例的基本信息

    user

    Elasticsearch實例的訪問用戶名,默認為elastic。

    password

    對應用戶的密碼。elastic用戶的密碼在創建實例時指定,如果忘記可重置。重置密碼的注意事項和操作步驟,請參見重置實例訪問密碼

    重要

    配置中僅指定用戶名和密碼即可,請注釋trustStorePathtrustStorePass,否則會報錯NoSuchFileException:../es_keystore.jks

  3. 可選:修改監聽的IP地址或端口號。

    SkyWalking默認使用12800作為Rest API通信端口,11800為gRPC API端口,可在application.yml文件的core中修改,本文使用默認配置。

    core:
      selector: ${SW_CORE:default}
      default:
        # Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate
        # Receiver: Receive agent data, Level 1 aggregate
        # Aggregator: Level 2 aggregate
        role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator
        restHost: ${SW_CORE_REST_HOST:0.0.0.0}
        restPort: ${SW_CORE_REST_PORT:12800}
        restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/}
        gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0}
        gRPCPort: ${SW_CORE_GRPC_PORT:11800}
  4. 可選:在webapp目錄下,修改webapp.yml配置。

    本文使用默認配置,您也可以根據具體需求修改。

    server:
      port: 8080
    collector:
      path: /graphql
      ribbon:
        ReadTimeout: 10000
        # Point to all backend's restHost:restPort, split by ,
        listOfServers: 127.0.0.1:12800

步驟三:驗證結果

  1. 在Linux服務器中,啟動SkyWalking。

    cd ../bin
    ./startup.sh
    重要
    • 在啟動SkyWalking前,請確保Elasticsearch實例為正常狀態。

    • 執行./startup.sh命令,會同時啟動Collector和UI。

    啟動成功后,返回如下結果。

    SkyWalking OAP started successfully!
    SkyWalking Web Application started successfully!
  2. 在瀏覽器中,訪問http://<Linux服務器的IP地址>:8080/

    訪問skywalking

    說明

    初次使用SkyWalking連接Elasticsearch服務,啟動會比較慢。因為SkyWalking需要向Elasticsearch服務創建大量的index,所以在未創建完成之前,訪問這個頁面會顯示空白。此時您可以通過查看日志來判斷啟動是否完成,日志路徑為<SkyWalking的安裝路徑>logs/skywalking-oap-server.log

  3. 參見登錄Kibana控制臺,登錄對應Elasticsearch實例的Kibana控制臺,執行GET _cat/indices?v 命令查看索引數據。

    根據返回結果,可以看到Elasticsearch實例中包含了大量以skywalking-index開頭的索引。skywalking-index開頭的索引