- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 KQL 新手,所以对我来说很简单。我的目标是搜索“Microsoft.Cdn/Profiles/AccessLog/Write”并首先过滤到不同的 IP 地址。我已经弄清楚 userAgent_s 列中的哪些值可以告诉我哪些设备是什么。我可以搜索“macintosh”、“ipad”和“iphone”来获取不同的设备类型。
我想创建一个饼图来显示这三个设备的计数百分比,但仅使用不同的 IP 地址(每个 IP 地址仅一个)。以下是要在 userAgent_s 列中搜索的三个字符串,它们将显示哪个设备是什么:“macintosh”、“ipad”和“iphone”。
以下是一些数据的样子。
TimeGenerated [Local Time] OperationName userAgent_s clientIp_s Type
9/26/2022, 10:48:33.238 AM Microsoft.Cdn/Profiles/AccessLog/Write yourApplicationName/4.1.4 (Linux;Android 10) ExoPlayerLib/2.9.2 2405:201:f00c:2015:4fe:9d1f:f77a:c2ab AzureDiagnostics
9/26/2022, 10:48:07.481 AM Microsoft.Cdn/Profiles/AccessLog/Write AppleCoreMedia/1.0.0.14G60 (iPhone; U; CPU OS 10_3_3 like Mac OS X; en_us) 2600:8801:42c:5400:f01f:d3dd:b55f:88de AzureDiagnostics
9/26/2022, 10:48:56.714 AM Microsoft.Cdn/Profiles/AccessLog/Write iTunes/12.12 (Windows; Microsoft Windows 10 x64; x64) AppleWebKit/7613.2007 68.98.143.209 AzureDiagnostics
9/26/2022, 10:47:27.620 AM Microsoft.Cdn/Profiles/AccessLog/Write Mozilla/5.0 (Linux; Android 11; motorola one 5G ace) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36 2600:387:15:1637::4 AzureDiagnostics
9/26/2022, 10:47:27.793 AM Microsoft.Cdn/Profiles/AccessLog/Write Mozilla/5.0 (Linux; Android 11; motorola one 5G ace) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36 2600:387:15:1637::4 AzureDiagnostics
这是我所能得到的最接近的结果:
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| extend MacOS = userAgent_s has "macintosh"
| extend iPhone = userAgent_s has "iphone"
| extend iPad = userAgent_s has "iPad"
| where MacOS == true or iPad == true or iPhone == true
| summarize Total=dcount(clientIp_s) by MacOS, iPhone, iPad
//| summarize MacOSTotal=countif(MacOS == true),iPadTotal=countif(iPad == true),iPhoneTotal=countif(iPhone == true)
| render table
我也尝试过这样的事情:
let MacOSX =
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where
userAgent_s has "macintosh"
| summarize MacOSX=dcount(clientIp_s) by bin(TimeGenerated,1h);
let iPhone =
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where
userAgent_s has "iphone"
| summarize iPhone=dcount(clientIp_s) by bin(TimeGenerated,1h);
let iPad =
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where
userAgent_s has "ipad"
| summarize iPad=dcount(clientIp_s) by bin(TimeGenerated,1h);
MacOSX
| join iPad on TimeGenerated
| render columnchart
这也可以,但我想计算三个设备的数量。
| where userAgent_s has "iphone" or userAgent_s has "ipad" or userAgent_s has "macintosh"
| summarize count() by userAgent_s
| render piechart
更接近,但不会让我用它制作饼图。
AzureDiagnostics
| where userAgent_s has "iphone" or userAgent_s has "ipad" or userAgent_s has "macintosh"
| summarize MacOs=dcountif(clientIp_s, userAgent_s has "macintosh"),
iPad=dcountif(clientIp_s, userAgent_s has "ipad"),
iPhone=dcountif(clientIp_s, userAgent_s has "iphone")
我知道我错过了一些如此基本的东西,但我只是知道得不够。
最佳答案
正如我在评论中所说,图表是基于表格数据构建的。
饼图需要两列,类别和值。
然而,您的查询会产生透视形式,即每个类别都存储在不同的列中。
附注
Log Analytics 使用 client_ip_s(而不是clientIp_s)
// Sample data generation. Not part of the solution.
let prob = toscalar(range i from 0 to 2 step 1 | summarize make_list(repeat(i, tolong(bin(rand() * 1000, 1)))));
let prob_len = array_length(prob);
let devices = dynamic(["macintosh", "ipad", "iphone"]);
let AzureDiagnostics = range i from 1 to 10000 step 1
| extend userAgent_s = tostring(devices[toint(prob[toint(rand(prob_len))])])
,client_ip_s = format_ipv4(toint(rand(0x00FFFFFF)));
// Solution starts here
let search_terms = dynamic(["macintosh", "ipad", "iphone"]);
AzureDiagnostics
| where userAgent_s has_any (search_terms)
| mv-apply search_term = search_terms to typeof(string) on (where userAgent_s has search_term)
| summarize dcount(client_ip_s) by search_term
| render piechart
关于azure - 使用 userAgent 列对 Azure CDN 访问日志进行 KQL 查询,按设备类型进行排序和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73854293/
我有一个简单的 perl 脚本,它使用 LWP::UserAgent 连接到一个安全站点。它工作正常。当我使用 Mojo::UserAgent 时,它无法验证证书。这是可靠且可重复的。基本的 Perl
我最近将 gwt.xml 脚本更改为仅编译 1 个排列(仅限 ie8),这解决了我之前的问题,但是出现了一个外观问题,即每次使用 IE8 打开我的 GWT 页面时都会显示一个烦人的弹出窗口 这里我包含
如果我提出这样的请求: my $mojo_ua = Mojo::UserAgent->new->max_redirects(5); $mojo_ua->inactivity_timeout(60)->
是否有任何默认方式来记录哪些用户代理访问了您的服务器?我需要编制一份访问我们网站的浏览器列表,以便我们知道我们最能支持什么。 谢谢! 最佳答案 日志CGI.HTTP_USER_AGENT ,也许在 A
我读了这个 MSDN 喜欢它并运行它的例子。 http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.useragent.a
我正在尝试使用 JSoup 解析 facebook 的首页,但我总是获得移动设备的 HTML 代码,而不是普通浏览器的版本(在我的例子中是 Firefox 5.0)。 我将我的用户代理设置如下: do
我正在制作一个包含 WebBrowser 元素的应用程序,我想让该应用程序显示该用户的默认浏览器的用户代理。 我知道如何通过注册表项获取默认浏览器以及如何获取浏览器的用户代理,但不知道如何将两者结合起
我正在使用 ionic、cordova 4.3、angular 和 firebase 开发一个应用程序。当我在 iOS 上运行我的应用程序时,我总是收到这两条消息: Deprecated attemp
我使用 javascript 作为用户代理将主网站重定向到移动网站。但我无法在移动设备中切换到桌面 View 。 有什么方法可以通过链接“完整网站”重定向到移动设备上的主网站? 这是我正在使用的 Ja
我正在尝试检测浏览器是否为 Safari。如果是这样,那么才做点什么。在所有其他浏览器中,执行其他操作: if ( navigator.userAgent.toLowerCase().indexOf(
我正在尝试发送一个将其用户代理设置为带有冒号的内容的请求,但是 HttpRequestMessage提示冒号是无效字符。 确切的代码看起来像这样: HttpClient client = new Ht
我想使用 MobileVLCKit 在视频播放器应用程序中设置自定义用户代理。但我不确定如何在 3.3.16 版本中设置它。如果有人对此有经验,请告诉我。谢谢。 最佳答案 我找到了解决方案。 let
只是想知道 VB.NET 在访问网页时读取的浏览器类型。例如,在我的网站上,它显示了访问我网站的所有不同浏览器的分割。 最佳答案 您没有为您的问题提供太多背景信息,但我认为您在谈论 User Agen
我正在尝试向不可靠的服务器发出请求。这个请求很好,但不是 100% 需要我的 perl 脚本成功完成。问题是服务器偶尔会死锁(我们正在尝试找出原因)并且请求永远不会成功。由于服务器认为它是事件的,它保
我正在使用以下子例程运行 40 个左右的线程: my $app = shift; my $ua = LWP::UserAgent->new(); $ua->timeout(5); my $respon
我正在尝试确定向用户显示哪种界面。如果用户使用触摸屏手机访问我的网站,我想向他们展示一个界面,否则,我想向他们展示另一个界面。 有谁知道 UserAgent 字符串值列表,以便我可以进行此检查?我知道
代码如下: $vizFile ='https://docs.recipeinvesting.com/t.aaaf.html'; my $ua = LWP::UserAgent->new; $ua->t
我将用户代理提取为: string userAgent = HttpContext.Current.Request.UserAgent; UserAgent 是否有可能为空?是否仅适用于机器人或任何合
代码如下: $vizFile ='https://docs.recipeinvesting.com/t.aaaf.html'; my $ua = LWP::UserAgent->new; $ua->t
我正在尝试使用 LWP::UserAgent 设置凭据,但我无法登录。$username、$passwd 是正确的。我不明白我应该在第三个参数中输入什么(根据dos $realm,这里是Authent
我是一名优秀的程序员,十分优秀!