簡體   English   中英

來自兩個 azure 應用服務的日志不會同時轉儲到單個應用洞察中

[英]logs from two azure app service not dumping in a single app insight at the same time

我有2 web apps使用python flask運行的 web 應用程序。
創建了single azure application insights資源。
這兩個應用程序的日志當時並沒有轉儲到同一個應用程序洞察力中。
我目前看到一個奇怪的案例。
無論哪台 web 服務器最近啟動,這些應用服務日志都會轉儲到應用洞察中。

  • 如果 webapp1 先啟動而 webapp2 再啟動(在 webapp1 之后)-> 應用洞察只有 webapps2 的日志
  • 如果 webapp2 先啟動而 webapp1 再啟動(在 webapp2 之后)-> 應用洞察只有 webapps1 的日志。

但是我需要在單個應用程序洞察力中同時獲取這兩個應用程序的日志。
我只使用 logging.* 功能。 未配置任何遙測或依賴項跟蹤。

Instrumentation Key連接字符串已在兩個 webapps 中正確配置。 iKey沒有問題。

如果您有兩個或更多服務將遙測數據發送到相同的 Application Insights 資源,則需要設置雲角色名稱以在應用程序 Map 上正確表示它們。

設置雲角色名稱和雲角色實例:-

您可以通過資源屬性設置雲角色名稱和雲角色實例。

此步驟將 Cloud Role Name 和 Cloud Role Instance 從其默認值更新為對您的團隊有意義的內容。 它們將作為節點下方的名稱出現在應用程序 Map 上。

雲角色名稱使用service.namespaceservice.name屬性,但如果未設置service.namespace ,它會回退到service.name

雲角色實例使用service.instance.id屬性值。

... 
from opentelemetry.sdk.resources import SERVICE_NAME, SERVICE_NAMESPACE, SERVICE_INSTANCE_ID, Resource 
trace.set_tracer_provider(
 TracerProvider( 
 resource=Resource.create( 
 { 
 SERVICE_NAME: "my-helloworld-service",
   # ---------------------------------------- 
   # Setting role name and role instance
   # ----------------------------------------

 SERVICE_NAMESPACE: "my-namespace",    
 SERVICE_INSTANCE_ID: "my-instance", 
 # -------------------------------------------
 # Done setting role name and role instance  
 # -------------------------------------------
  }
 )
 )
 )
 ...

注意:Azure Monitor OpenTelemetry Exporter for Python 應用程序目前處於預覽階段,尚未發布到一般可用性。

要更加熟悉 Azure Monitor Application Insights 和 OpenTelemetry,請參閱Azure Monitor Example Application

請參閱此鏈接,為您的 Python 應用程序設置 Azure 監視器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM