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

使用Zipkin對Nginx進行鏈路追蹤

通過Zipkin為應用埋點并上報鏈路數據至可觀測鏈路 OpenTelemetry 版后,可觀測鏈路 OpenTelemetry 版即可開始監控應用,您可以查看應用拓撲、調用鏈路、異常事務、慢事務和SQL分析等一系列監控數據。本文介紹如何使用Zipkin埋點并上報應用數據。

前提條件

獲取接入點信息

  1. 登錄ARMS控制臺,在左側導航欄單擊接入中心

  2. 服務端應用區域單擊Zipkin卡片。

  3. 在彈出的Zipkin面板中選擇數據需要上報的地域。

    說明

    初次接入的地域將會自動進行資源初始化。

  4. 選擇連接方式,然后復制接入點信息。

    說明
    • 若您的服務部署在阿里云上,且所屬地域與選擇的接入地域一致,推薦使用阿里云內網方式,否則選擇公網方式。

    • 一般情況下請使用v2版本接入點,v1版本接入點推薦對Zipkin十分了解的高階用戶使用。

    image.png

教程概述

Nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器,對其進行跟蹤可以幫助我們更好的了解應用服務的運行狀況。

當Nginx代理的微服務出現假死現象時,因為采集不到任何數據,所以無法評估造成的影響。借助鏈路追蹤,可以追蹤微服務的上游Nginx,并快速統計出假死現象影響的訪問量。

在Docker上部署和跟蹤Nginx

  1. 下載Dockerfile并編譯部署。

    wget https://arms-apm.oss-cn-hangzhou.aliyuncs.com/demo/nginx-zipkin-docker.tgz
    tar -xzvf nginx-zipkin-docker.tgz
    cd nginx-zipkin
    # 編譯docker
    docker build --rm --tag nginx-zipkin:0.1
  2. 運行Docker。

    docker run --rm  -p 80:80 -e "COLLECTOR_HOST=${ZIPKIN_ENDPOINT}?" -d nginx-zipkin:0.1

    ${ZIPKIN_ENDPOINT}是前提條件中保存的v1版本的Agent接入點信息。不包括“http://”部分,且以英文問號(?)結尾。

    例如:

    docker run --rm  -p 80:80 -e "COLLECTOR_HOST=tracing-analysis-dc-hz.aliyuncs.com/adapt_123@abc_456@efg/api/v1/spans?" -d nginx-zipkin:0.1

在ECS上部署和跟蹤Nginx

  1. 安裝Nginx。

    1. 下載并解壓Nginx源碼。

      wget http://nginx.org/download/nginx-1.14.2.tar.gz
      tar -xzvf nginx-1.14.2.tar.gz
    2. 編譯Nginx源碼。

      cd nginx-1.14.2
      ./configure --with-compat
      make
      sudo make install
  2. 安裝OpenTracing插件。

    1. 下載OpenTracing插件并解壓。

      wget https://github.com/opentracing-contrib/nginx-opentracing/releases/download/v0.7.0/linux-amd64-nginx-1.14.0-ngx_http_module.so.tgz
      tar -xzvf linux-amd64-nginx-1.14.0-ngx_http_module.so.tgz
    2. 拷貝.so文件至Nginx的modules目錄。如果不存在該目錄則需要先創建。

      sudo mkdir /usr/local/nginx/modules
      sudo cp ngx_http_opentracing_module.so /usr/local/nginx/modules/ngx_http_opentracing_module.so
  3. 使用Zipkin進行鏈路追蹤。

    1. 下載Zipkin插件并將其拷貝至任意工作目錄。

      wget  https://github.com/rnburn/zipkin-cpp-opentracing/releases/download/v0.5.2/linux-amd64-libzipkin_opentracing_plugin.so.gz
      gunzip linux-amd64-libzipkin_opentracing_plugin.so.gz
      sudo cp linux-amd64-libzipkin_opentracing_plugin.so /usr/local/lib/libzipkin_opentracing_plugin.so 
    2. 配置/usr/local/nginx/conf/nginx.conf文件。

      load_module modules/ngx_http_opentracing_module.so;
      events {}
      http {
        opentracing on;
        opentracing_load_tracer /usr/local/lib/libzipkin_opentracing.so /etc/zipkin-config.json;
        server {
          error_log /var/log/nginx/debug.log debug;
          listen 80;
          location  ~ {
            opentracing_operation_name $uri;
            opentracing_trace_locations off;
            # 跳轉到代理的服務,用戶根據需要替換。
            proxy_pass http://127.0.0.1:8081;
            opentracing_propagate_context;
          }
        }
      }
      說明

      詳細配置說明,請參見opentracing-contrib配置

    3. /etc/zipkin-config.json文件中配置Zipkin參數。

      {
        "service_name": "nginx",
        "collector_host": "zipkin"
      }

      若使用阿里云的Zipkin托管服務,則將collector_host配置為Zipkin接口。

      說明

      Zipkin接口的值為前提條件中保存的v1版本的Agent接入點信息,不包括“http://”部分,且以英文問號(?)結尾。

      "collector_host": "tracing-analysis-dc-hz.aliyuncs.com/adapt_abc123@abc456_abc123@abc356/api/v1/spans?"
    4. 通過sample_rate配置采樣比例。

      // 10%的采樣比例
      "sample_rate":0.1
    5. 運行Nginx并訪問Nginx服務。

      sudo /usr/local/nginx/sbin/nginx
      curl "http://localhost"

在其他環境上部署和跟蹤Nginx

  1. 從Registry中拉取鏡像。

    sudo docker pull registry.cn-hangzhou.aliyuncs.com/public-community/nginx-zipkin:0.1
  2. 運行Nginx Docker。

    docker run --rm  -p 80:80 -e "COLLECTOR_HOST=${ZIPKIN_ENDPOINT}?" -d registry.cn-hangzhou.aliyuncs.com/public-community/nginx-zipkin:0.1

    ${ZIPKIN_ENDPOINT}是前提條件中保存的v1版本的Agent接入點信息。不包括“http://”部分,且以英文問號(?)結尾。

    例如:

    docker run --rm  -p 80:80 -e "COLLECTOR_HOST=tracing-analysis-dc-hz.aliyuncs.com/adapt_******_******/api/v1/spans?" -d registry.cn-hangzhou.aliyuncs.com/public-community/nginx-zipkin:0.1
  3. 訪問Nginx頁面。

    在瀏覽器訪問localhost/nginx.conf或者curl "localhost/nginx.conf"。

查看監控數據

登錄ARMS控制臺后,在應用監控 > 應用列表頁面選擇目標應用,查看鏈路數據。

說明

語言列顯示image圖標的應用為接入應用監控的應用,顯示-圖標的應用為接入可觀測鏈路 OpenTelemetry 版的應用。