当前位置:网站首页>Application insights application insights use application maps to build request link views
Application insights application insights use application maps to build request link views
2020-11-06 21:13:00 【itread01】
Applicaotn Insigths Use Application Maps Build request link view
When building the system , In most cases, the logical operation of the request needs to be in different services , Or interface to complete the entire request link . A request can go through multiple components , It is very likely that the client requests the site 1, Site 1 Request site 2, … Site N It's the final processing of data and then it's returned in turn .
In this case , If there is an intuitive view of the status of requests on each site ( success , Failure ), When problems arise , It's very helpful to locate where problems occur . By means of Azure Application insights (Application Insights) The telemetry correlation in the Application Maps Can be realized
Effect display
Implementation principle
Application Insights The data model used to allocate telemetry correlation is defined , Every outgoing operation ( for example , For another component HTTP call ) Is represented by dependency telemetry . Dependency telemetry also defines its own global, unique id, This dependency calls the request initiated by telemetering this id As its operation_parentId. Through operation_Id、operation_parentId and request.id, That is, it can generate a view of decentralized logical operations ( These fields also define the causal order of telemetry calls ).
Example item construction Application Maps
In the example item , This request was made 4 Segment forwarding .
The first paragraph : Native code access APIM(test01.azure-api.cn),
The second paragraph :APIM Visit the site 1(lbphptest.chinacloudsites.cn)
The third paragraph : Site 1 Visit the site 2(lbjavatest.chinacloudsites.cn)
The fourth paragraph : Site 2 Access to the final processing request Azure Function(Http Trigger)( functionapp120201013155425.chinacloudsites.cn).
Preparation conditions
- establish Application Insights (lbphptest202011050549)
- establish APIM(test01)
- Create two App Service (lbphptest and lbjavatest)
- Build a Azure Function(functionapp120201013155425)
notes : If you are not familiar with how to set up the above resources , You can navigate to the resources section at the end of the article
Step one : stay Azure Funciton Enable and associate Application Insights Service
Enter Azure Funciton Portal , Choice Application Insights function , Select the established one according to the page prompts Application Insights (lbphptest202011050549).
The establishment of a Function For the preset HttpTrigger Pattern , Test purpose , Code can be modified without any modification . Refer to the figure below to get Function Of URL, For the next step at the site 2 Call me .
Step two : At the site 2(lbjavatest) Enable and associate Application Insights Service , And deploy code requests Azure Function
Enter the site 2 The portal page of , stay Application Insights According to the prompt in the catalogue Enable Application Insights And choose the same Application Insights.
Deploy code to call step one Azure Function
//Level 3 [HttpGet] [Route("[Action]")] public string Fun([FromQuery] string name) { using (HttpClient httpClient = new HttpClient()) { var url = $"https://functionapp120201013155425.chinacloudsites.cn/api/HttpTrigger1?name={name}"; HttpRequestMessage httpRequest = new HttpRequestMessage(HttpMethod.Get, url); httpRequest.Headers.Add("Accept", "application/json, text/plain, */*"); var response = httpClient.SendAsync(httpRequest).Result; string responseContent = response.Content.ReadAsStringAsync().Result; return responseContent; } }
Step three : At the site 1(lbphptest) Enable and associate Application Insights Service , And deploy the code request site 2
Enter the site 1 The portal page of , stay Application Insights According to the prompt in the catalogue Enable Application Insights And choose the same Application Insights.
Deploy code to call the site in step 2 2 Of URL, Code and access Azure Function be similar .
//Level 2 [HttpGet] [Route("[Action]")] public string FunSub([FromQuery] string name) { using (HttpClient httpClient = new HttpClient()) { var url = $"https://lbjavatest.chinacloudsites.cn/WeatherForecast/fun?name={name}"; HttpRequestMessage httpRequest = new HttpRequestMessage(HttpMethod.Get, url); httpRequest.Headers.Add("Accept", "application/json, text/plain, */*"); var response = httpClient.SendAsync(httpRequest).Result; string responseContent = response.Content.ReadAsStringAsync().Result; return responseContent; } }
Step four : stay APIM Enable and associate Application Insights Service , And set API Visit the site 1
Enter APIM The portal page of , stay Application Insights Add the same to the table of contents Application Insights.
stay APIM To configure API Visit the site 1(lbphptest)
- Click on “Add API” Button
- Choose from App Service To establish
- Choose a site 1(lbphptest)
Add an operation to the interface. A new operation , Visit the site 1 Interface in /weatherforecast/funsub?name={name}
Step 5 : stay ASP.NET Core Add code in Application Insights SDK And configure the connection string , Access in the interface APIM.
Add... To native code Application Insights SDK
Configure the connection string ( In a string Application Insights Of Overview Page copy )
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "ApplicationInsights": { "ConnectionString": "InstrumentationKey=xxx-xxx-xxx-xxx-xxxxx;EndpointSuffix=applicationinsights.azure.cn;IngestionEndpoint=https://chinaeast2-0.in.applicationinsights.azure.cn/" }, "AllowedHosts": "*" }
Start the local program , And access it through the browser https://localhost:44323/weatherforecast/Funsubfornt?name=test from local -- apim -- app 1 – app 2 -- function
Look at the final renderings :
【END】
References :
stay Azure Create the first function in the portal : https://docs.azure.cn/zh-cn/azure-functions/functions-create-first-azure-function
Apply to ASP.NET Core Of the application Application Insights : https://docs.azure.cn/zh-cn/azure-monitor/app/asp-net-core
About API management : https://docs.azure.cn/zh-cn/api-management/api-management-key-concepts
stay Azure To establish ASP.NET Core Web Apply : https://docs.azure.cn/zh-cn/app-service/quickstart-dotnetcore?pivots=platform-linux
&n
版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
边栏推荐
- 解决 WPF 绑定集合后数据变动界面却不更新的问题
- 事务的本质和死锁的原理
- The legality of IPFs / filecoin: protecting personal privacy from disclosure
- Flink's datasource Trilogy 2: built in connector
- 2020-08-17:详细说下数据倾斜怎么解决?
- Python basic variable type -- list analysis
- StickEngine-架构12-通信协议
- What course of artificial intelligence? Will it replace human work?
- 大会倒计时|2020 PostgreSQL亚洲大会-中文分论坛议程安排
- Basic usage of Vue codemirror: search function, code folding function, get editor value and verify in time
猜你喜欢
A small goal in 2019 to become a blog expert of CSDN
Description of phpshe SMS plug-in
How to play sortable JS vuedraggable to realize nested drag function of forms
2020-08-17:详细说下数据倾斜怎么解决?
Elasticsearch database | elasticsearch-7.5.0 application construction
Summary of front-end interview questions (C, s, s) that front-end engineers need to understand (2)
Get twice the result with half the effort: automation without cabinet
An article will take you to understand SVG gradient knowledge
StickEngine-架构11-消息队列(MessageQueue)
递归、回溯算法常用数学基础公式
随机推荐
Why is the LS command stuck when there are too many files?
With this artifact, quickly say goodbye to spam messages
2020-09-04:函数调用约定了解么?
Try to build my mall from scratch (2): use JWT to protect our information security and perfect swagger configuration
2020-08-24:什么是小文件?很多小文件会有什么问题?很多小文件怎么解决?(大数据)
Live broadcast preview | micro service architecture Learning Series live broadcast phase 3
Zero basis to build a web search engine of its own
实用工具类函数(持续更新)
An article takes you to understand CSS gradient knowledge
Elasticsearch database | elasticsearch-7.5.0 application construction
It's time for your financial report to change to a more advanced style -- financial analysis cockpit
2020-08-19:TCP是通过什么机制保障可靠性的?
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
2020-09-09:裸写算法:两个线程轮流打印数字1-100。
What are Devops
An article will introduce you to CSS3 background knowledge
Call analysis of start method in JNI thread and callback analysis of run method
Xmppmini project details: step by step from the principle of practical XMPP technology development 4. String decoding secrets and message package
代码重构之法——方法重构分析
ORA-02292: 违反完整约束条件 (MIDBJDEV2.SYS_C0020757) - 已找到子记录