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

使用Jaeger對Nginx進(jìn)行鏈路追蹤

通過Jaeger為應(yīng)用埋點(diǎn)并上報(bào)鏈路數(shù)據(jù)至可觀測鏈路 OpenTelemetry 版后,可觀測鏈路 OpenTelemetry 版即可開始監(jiān)控應(yīng)用,您可以查看應(yīng)用拓?fù)?、調(diào)用鏈路、異常事務(wù)、慢事務(wù)和SQL分析等一系列監(jiān)控?cái)?shù)據(jù)。本文介紹如何使用Jaeger埋點(diǎn)并上報(bào)應(yīng)用數(shù)據(jù)。

前提條件

獲取接入點(diǎn)信息

新版控制臺

  1. 登錄可觀測鏈路 OpenTelemetry 版控制臺,在左側(cè)導(dǎo)航欄單擊接入中心。

  2. 開源框架區(qū)域單擊Jaeger卡片。

  3. 在彈出的Jaeger面板中選擇數(shù)據(jù)需要上報(bào)的地域。

    說明

    初次接入的地域?qū)詣舆M(jìn)行資源初始化。

  4. 選擇連接方式上報(bào)方式,然后復(fù)制接入點(diǎn)信息。

    • 連接方式:若您的服務(wù)部署在阿里云上,且所屬地域與選擇的接入地域一致,推薦使用阿里云內(nèi)網(wǎng)方式,否則選擇公網(wǎng)方式。

    • 上報(bào)方式:根據(jù)客戶端支持的協(xié)議類型選擇HTTP或gRPC協(xié)議上報(bào)數(shù)據(jù)。

    image

舊版控制臺

  1. 登錄可觀測鏈路 OpenTelemetry 版控制臺。

  2. 在左側(cè)導(dǎo)航欄單擊集群配置,然后在右側(cè)頁面單擊接入點(diǎn)信息頁簽。

  3. 在頁面頂部選擇需要接入的地域,然后在集群信息區(qū)域打開顯示Token開關(guān)。

  4. 客戶端采集工具區(qū)域單擊Jaeger。

    相關(guān)信息列中,獲取接入點(diǎn)信息。jager中國.jpg

    說明

    如果應(yīng)用部署于阿里云生產(chǎn)環(huán)境,則選擇阿里云VPC網(wǎng)絡(luò)接入點(diǎn),否則選擇公網(wǎng)接入點(diǎn)。

教程概述

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

當(dāng)Nginx代理的微服務(wù)出現(xiàn)假死現(xiàn)象時,因?yàn)椴杉坏饺魏螖?shù)據(jù),所以無法評估造成的影響。借助鏈路追蹤,我們追蹤微服務(wù)的上游Nginx,并快速統(tǒng)計(jì)出假死現(xiàn)象影響的訪問量。

在Docker上部署和跟蹤Nginx

  1. 下載Dockerfile并編譯部署。

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

    docker run --rm  -p 80:80 -e "GRPC_HOST=${GRPC_HOST}" -e "GRPC_AUTH=${GRPC_AUTH}" -d jaeger-nginx:0.1

    ${GRPC_HOST}${GRPC_AUTH}是前提條件中保存的Agent接入點(diǎn)信息。

    例如:

    docker run --rm  -p 80:80 -e "GRPC_HOST=tracing-analysis-dc-hz.aliyuncs.com:1883" -e "GRPC_AUTH=123abc@123abc_789abc@456abc}" -d jaeger-nginx: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目錄。如果不存在該目錄則需要先創(chuàng)建。

      sudo mkdir /usr/local/nginx/modules
      sudo cp ngx_http_opentracing_module.so /usr/local/nginx/modules/ngx_http_opentracing_module.so
  3. 使用Jaeger進(jìn)行鏈路追蹤。

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

      wget https://github.com/jaegertracing/jaeger-client-cpp/releases/download/v0.4.2/libjaegertracing_plugin.linux_amd64.so
      sudo cp /usr/local/lib/libjaegertracing_plugin.so /usr/local/lib/libjaegertracing.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/libjaegertracing_plugin.so /etc/jaeger-config.json;
        server {
          error_log /var/log/nginx/debug.log debug;
          listen 80;
          location  ~ {
            opentracing_operation_name $uri;
            opentracing_trace_locations off;
            # 跳轉(zhuǎn)到代理的服務(wù),用戶根據(jù)需要替換。
            proxy_pass http://127.0.0.1:8081;
            opentracing_propagate_context;
          }
        }
      }
      說明

      詳細(xì)配置說明,請參見opentracing-contrib配置。

    3. /etc/jaeger-config.json文件中配置Jaeger參數(shù)。

      {
        "service_name": "nginx",
        // 配置采樣
        "sampler": {
          "type": "const",
          "param": 1
        },
        "reporter": {
          "localAgentHostPort": "localhost:6831"
        }
      }
    4. 采用以下方法之一配置Jaeger Agent。

      • 若使用自建的Jaeger服務(wù),則下載原生Jaeger Agent,并配置collector.host-port。

        nohup ./jaeger-agent  --collector.host-port=10.100.**.**:142**   1>1.log 2>2.log &
      • 若使用阿里云的Jaeger托管服務(wù),則下載tracing-analysis-agent,并用以下參數(shù)啟動Agent,以將數(shù)據(jù)上報(bào)至可觀測鏈路 OpenTelemetry 版。

        請將<endpoint>替換成前提條件中保存的Agent接入點(diǎn)信息。請刪除頁面上顯示的接入點(diǎn)信息末尾的“/api/traces”,例如http://tracing-analysis-dc-sh.aliyuncs.com/adapt_abc123@abc123_efg123@efg123

        # collector.host-port 用于設(shè)置網(wǎng)關(guān),網(wǎng)關(guān)因地域而異。例如:
        nohup ./tracing-analysis-agent-linux-amd64 --collector.host-port=<endpoint>
    5. 運(yùn)行Nginx并訪問Nginx服務(wù)。

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

在其他環(huán)境上部署和跟蹤Nginx

  1. 從Registry中拉取鏡像。

    docker pull registry.cn-hangzhou.aliyuncs.com/public-community/jaeger-nginx:0.1
  2. 運(yùn)行Nginx Docker。

    docker run --rm  -p 80:80 -e "GRPC_HOST=${GRPC_HOST}" -e "GRPC_AUTH=${GRPC_AUTH}" -d registry.cn-hangzhou.aliyuncs.com/public-community/jaeger-nginx:0.1

    ${GRPC_HOST}${GRPC_AUTH}是前提條件中保存的Agent接入點(diǎn)信息。

    例如:

    docker run --rm  -p 80:80 -e "GRPC_HOST=tracing-analysis-dc-hz.aliyuncs.com:1883" -e "GRPC_AUTH=123abc@123abc_789abc@456abc}" -d jaeger-nginx:0.1
  3. 訪問Nginx頁面。

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

查看結(jié)果

可觀測鏈路 OpenTelemetry 版控制臺應(yīng)用列表頁面選擇目標(biāo)應(yīng)用,查看鏈路數(shù)據(jù)。