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

使用Skywalking對Nginx進行鏈路追蹤

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

前提條件

獲取接入點信息

新版控制臺

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

  2. 開源框架區域單擊SkyWalking卡片。

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

    說明

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

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

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

    image.png

舊版控制臺

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

  2. 在左側導航欄單擊集群配置,然后在右側頁面單擊接入點信息頁簽。

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

  4. 客戶端采集工具區域單擊SkyWalking

    相關信息列中,獲取接入點信息。

    SkyWalking接入點信息

    說明

    如果應用部署于阿里云生產環境,則選擇阿里云VPC網絡接入點,否則選擇公網接入點。

背景信息

SkyWalking是一款廣受歡迎的國產應用性能監控APM(Application Performance Monitoring)產品,主要針對微服務、Cloud Native和容器化(Docker、Kubernetes、Mesos)架構的應用。SkyWalking的核心是一個分布式追蹤系統。

要通過SkyWalking將Java應用數據上報至可觀測鏈路 OpenTelemetry 版控制臺,首先需要完成埋點工作。SkyWalking既支持自動埋點(Dubbo、gRPC、JDBC、OkHttp、Spring、Tomcat、Struts、Jedis等),也支持手動埋點(OpenTracing)。本文介紹自動埋點方法。

通過Docker鏡像快速配置skywalking-nginx-lua

使用打包好的Docker配置skywalking-nginx-lua。

  1. 從Registry中拉取鏡像。

    docker pull registry.cn-hangzhou.aliyuncs.com/public-community/skywalking-nginx-lua:0.2
  2. 運行Nginx Docker。

    docker run --rm  -p 80:80 -e "BACKEND_URL=$skywalking-nginx-lua"  -d registry.cn-hangzhou.aliyuncs.com/public-community/skywalking-nginx-lua:0.2

    $skywalking-nginx-lua是前提條件中保存的nginx-lua接入點信息。

    例如:

    docker run --rm  -p 80:80 -e "BACKEND_URL=http://tracing-analysis-dc-hz.aliyuncs.com/adapt_123@abc_456@efg"  -d registry.cn-hangzhou.aliyuncs.com/public-community/skywalking-nginx-lua:0.2
  3. 訪問Nginx頁面。

    • 在瀏覽器上訪問localhost/nginx.conf

    • 執行命令curl "localhost/nginx.conf"

通過Dockerfile配置skywalking-nginx-lua

  1. 下載Dockerfile。

    wget https://arms-apm.oss-cn-hangzhou.aliyuncs.com/demo/nginx-skywalking-docker.tgz
    tar -xzvf nginx-skywalking-docker.tgz
    cd nginx-lua
  2. 編譯Docker。

    docker build --rm --tag skywalking-nginx-lua:0.2 .
  3. 運行Docker。

    docker run --rm  -p 80:80 -e "BACKEND_URL=$skywalking-nginx-lua"  -d skywalking-nginx-lua:0.2

    $skywalking-nginx-lua是前提條件中保存的nginx-lua接入點信息。

    例如:

    docker run --rm  -p 80:80 -e "BACKEND_URL=http://tracing-analysis-dc-hz.aliyuncs.com/adapt_123@abc_456@efg"  -d skywalking-nginx-lua:0.2
  4. 訪問Nginx頁面。

    • 在瀏覽器上訪問localhost/nginx.conf。

    • 執行命令curl "localhost/nginx.conf"。

在ECS上配置skywalking-nginx-lua

此處以在CentOS 7.0上的操作為例。

  1. 配置Lua運行環境。

    1. 安裝工具庫。

      yum install gcc gcc-c++ kernel-devel -y
      yum install readline-devel -y
      yum install ncurses-devel -y
    2. 下載并安裝Lua 5.3.5。

      cd /usr/local/src
      wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
      tar -zxvf lua-5.3.5.tar.gz
      cd /usr/local/src/lua-5.3.5 && echo "INSTALL_TOP= /usr/local/lua_5.3.5" >> Makefile && make linux && make install
    3. 下載并安裝LuaRocks 2.2.2。

      cd /usr/local/src
      wget http://keplerproject.github.io/luarocks/releases/luarocks-2.2.2.tar.gz
      tar -xzvf luarocks-2.2.2.tar.gz
      cd luarocks-2.2.2
      ./configure --prefix=/usr/local/luarocks_2.2.2 --with-lua=/usr/local/lua_5.3.5
      make build
      make install
    4. /etc/profile文件中添加以下內容。

      export LUA_HOME=/usr/local/lua_5.3.5
      export LUAROCKS_HOME=/usr/local/luarocks_2.2.2
      PATH=$PATH:$HOME/bin:$LUAROCKS_HOME/bin:$LUA_HOME/bin
      export PATH
      export LUA_PATH="$LUAROCKS_HOME/share/lua/5.3/?.lua;?.lua;;"
      export LUA_CPATH="$LUAROCKS_HOME/lib/lua/5.3/?.so;?.so;;"
    5. 刷新/etc/profile配置文件。

      source /etc/profile
    6. 安裝Lua組件。

      luarocks install luasocket
      luarocks install lua-resty-jit-uuid
      luarocks install luaunit
      luarocks install lua-cjson 2.1.0-1
    7. 確認Lua組件是否安裝成功。

      luarocks list
  2. 下載并安裝OpenResty Nginx。

    yum install pcre-devel openssl-devel gcc curl postgresql-devel
    cd /usr/local/src
    wget -c https://openresty.org/download/openresty-1.15.8.1rc2.tar.gz
    tar -zxvf openresty-1.15.8.1rc2.tar.gz
    cd openresty-1.15.8.1rc2
    ./configure --prefix=/usr/local/openresty/ --with-http_stub_status_module --with-luajit --without-http_redis2_module --with-http_iconv_module --with-http_postgres_module --with-stream && gmake && gmake install
    export PATH=/usr/local/openresty/nginx/sbin:$PATH
  3. 下載并安裝skywalking-nginx-lua。

    1. 下載并解壓skywalking-nginx-lua安裝包。

      cd /usr/local/skywalking-nginx-lua
      wget https://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/nginx-lua/0.5.0/skywalking-nginx-lua-0.5.0-src.tgz
      tar -xzvf skywalking-nginx-lua-0.5.0-src.tgz
    2. 修改nginx.conf文件中的lua_package_pathstartBackendTimer。

      例如:

      • lua_package_path改為/usr/local/skywalking-nginx-lua/lib/?.lua;;。

      • startBackendTimer改為require("skywalking.client"):startBackendTimer("http://tracing-analysis-dc-hz.aliyuncs.com/adapt_***")。

    3. 啟動skywalking-nginx-lua。

      nginx -c /usr/local/skywalking-nginx-lua/examples/nginx.conf

查看結果

可觀測鏈路 OpenTelemetry 版控制臺應用列表頁面選擇目標應用,查看鏈路數據。