阳江人才招聘网:ApplicationInsights迁徙海内躺的坑

admin 5个月前 (05-13) 科技 32 0

由于之前有段时间接见国际版的Application Insights实在是慢,而且又不是每个人都有梯子,然后海内版大概在去年(2019)六七月左右已经上线,想着也有一段时日了,要么就迁了吧。

&NBsp;

然后现实证明,我们可能是第一批成规模的去躺坑的用户。

固然,一码归一码,迁徙后,接见的速率是质的提升。

 

先说说可以根据官方的套路找到迁徙的法子。

首先由于众所周知的问题国际版Azure是微软自己运营的,而海内版由于相关法律法规以是是海内的合作伙伴世纪互联运行的。

原则上是微软提供手艺支持给世纪互联,由世纪互联来做实行。

两者数据上并不互通,种种服务之间虽然手艺底层基本一致然则却不能互通,而许多SDK默认都是针对国际版举行开发的,以是若是要用海内版一样平常都要重新设置。

最典型的设置就是修改SDK里默认的终结点,由于一样平常SDK里的终结点默认都是国际版的。

 

终结点设置

AppInsights的终结点修改方式可以参考官方文档 https://docs.microsoft.com/zh-cn/azure/azure-monitor/app/custom-endpoints?tabs=net 

然则新版本的SDK有个更简捷的方式,现在你打开一个AppInsights的资源,可以发下它有一个毗邻字符串这么个器械,用国际版的可能不会在意这是什么,由于都是谁人Key

国际版的毗邻字符串

 

然则你看海内版的时刻,发现毗邻字符串里就已经包含了终结点信息,以是只要用毗邻字符串来举行SDK的初始化就无需在分外设置终结点了 

海内版的毗邻字符串,和国际版相比多了EndpointSuffix

 

对于我自己来说,使用国际版的时刻由于通例都是使用InstrumentationKey检测密钥即可,只有用到海内版的时刻才会毗邻字符串。

而毗邻字符串有个规则,就是开头永远是InstrumentationKey,于是乎我代码里这么处置,便于处置从国际版迁徙到海内版

这样子若是我想迁徙到海内版的话,从现有读取AppInsights的key的地方换成海内版毗邻字符串即可。

(注:毗邻字符串本质是个Key-Value聚集,只是AppInsights那里显示的永远是InstrumentationKey作为开头,然则你把EndpointSuffix和InstrumentationKey换个位置也是能事情的)

 

然则这里有一个隐藏的坑。

若是你的项目是NetCore的话,恭喜你,直接用毗邻字符串之后all well done

然则若是你是Net Framework的话,你设置毗邻字符串后通例的AppInsights服务是可以的,然则实时指标流是无法事情的,若是要用实时指标流,照样老老实实参考上面贴的官方谁人文档,替换实时指标流对应的终结点信息 

 

公布符号 Release Annotation

我们是使用TFS来举行CI/CD的,然后使用了 Release Annotation 在每次公布后会在AppInsights里打个公布符号,便于知道什么时刻公布了(公布前公布后的监控对比看起来就直观了)

然后迁徙到海内后就boom了,默认这个插件打标只能打国际版上,你用了海内版的ApiKey和ApplicationId它会吐你一脸的404

然后心想,TFS的插件不就是js或者powershell什么的么,哥改还不成么,从build agent里拉下它的task义务来扒,惊讶发现实在它是支持Azure China的(然则它插件说明里却并没有说)

阳江人才招聘网:ApplicationInsights迁徙海内躺的坑 第1张

然后参照这里,在TFS公布界说里添加了对应变量 

阳江人才招聘网:ApplicationInsights迁徙海内躺的坑 第2张

后面觉察,好了,能乐成把符号打上去了 

阳江人才招聘网:ApplicationInsights迁徙海内躺的坑 第3张 

 

Grafana监控

我感受grafana是个神奇的器械,首先它有2个模式可以看AppInsights的信息

基于Azure Monitor DetAIls的模式也能看AppInsights而且可以设置一次数据源看所有的AppInsights资源,然则能看的信息对照粗,适合总览性查看

基于Application Insights Details的模式一个AppInsights资源就要加一个数据源,然则能看较为明细的数据

 

Azure Monitor Details写着是能支持Azure China,现实上看看就好,你直接用它是对接不上Azure China的,永远验证不通过

 

阳江人才招聘网:ApplicationInsights迁徙海内躺的坑 第4张

而另外的Application Insights Details则更不用说,你用海内版的信息填写进去永远404,由于它默认也是链接到国际版去的。

 

上文Release Annotation我都敢去查源码了,一言不合查源码 

阳江人才招聘网:ApplicationInsights迁徙海内躺的坑 第5张

我们定位到Grafana的Azure Monitor的设置文件所在目录

 

先说基于Azure Monitor Details的Azure China问题,实在它默认Azure Monitor设置是可以的,然则重点在于它登录的终结点是用了外洋版

也就是说它现实去查AppInsights的设置是的,然则你要用AppInsights你要上岸做身份验证是吧,这里身份验证跑外洋去了,海内外洋数据差别,国际版不认识你,自然就boom了。

解决方式很简单,把登录终结点改为海内的 

找到loganalyticsazure的path

把下面的url改为 https://login.chinacloudapi.cn/{{.JsonData.logAnalyticsTenantId}}/oauth2/token 

阳江人才招聘网:ApplicationInsights迁徙海内躺的坑 第6张

 

 

再说Application Insights Details的,同样在谁人文件里

找到path为appinsights的

把下面的url改为 https://api.applicationinsights.azure.cn

 

阳江人才招聘网:ApplicationInsights迁徙海内躺的坑 第7张

 

现在仍有的问题

使用国际版的时刻,我们弄了AppInsights的动态阈值报警,然后触发规则的时刻通知到logic app,然后logic app处置一下数据后通知到我们的企业微信群

以前参照国际版相关文档,使用了 启用常见警报架构

 

阳江人才招聘网:ApplicationInsights迁徙海内躺的坑 第8张

现在反馈上去后获得的信息是暂时不支持这个,导致现在这个机制瘫痪中,再让小伙伴为 不启用常见警报架构 然后重新对接下

but,照样以为挺坑的。

,

诚信在线娱乐

诚信在线(原诚信在线官网)现已开放阳光在线手机版、阳光在线电脑客户端下载。阳光在线娱乐游戏公平、公开、公正,用实力赢取信誉。

AllBetGaming声明:该文看法仅代表作者自己,与本平台无关。转载请注明:阳江人才招聘网:ApplicationInsights迁徙海内躺的坑

网友评论

  • (*)

最新评论

站点信息

  • 文章总数:657
  • 页面总数:0
  • 分类总数:8
  • 标签总数:964
  • 评论总数:246
  • 浏览总数:10116