新社区网站

通常情况下,你会在正确的位置,但我们最近推出了一个全新的社区网站…为了社区,靠社区。

耶……带我去社区!

社区博客是社区成员的个人观点,绝不是DNN公司或DNN平台的官方立场。这是一个表达个人对DNNPlatform、社区及其生态系统的想法的地方。你有有用的信息,你想分享与DNN社区的特色文章或博客?如有,请联系

社区博客的使用由我们的社区博客指南-请在评论或张贴前阅读。


使用应用程序洞察分析排除基于DNN的网站故障

3月 30.
嗨的人!我真的很兴奋,终于能够谈论我们在DNN软件公司过去几个月一直在工作的一个领域。如果你还没有听说过,几年前我们开始将Evoq产品(以前称为DotNetNuke Professional)作为一种服务提供。这是一个基于云的软件即服务解决方案,名为Evoq OnDemand,运行在微软Azure上。我们一直在不断改进我们的解决方案,以适应Azure平台的新变化和改进,例如Azure应用程序服务、SQL数据库v12、Azure活动目录或Redis缓存等方面的改进。我们利用新工具使客户受益。
image001
为了分享一些数据,我们已经交付了超过50,000个网站,包括Evoq试验和生产环境,备份了大约400tb的网站信息。虽然日志数据大小并不大,但从操作角度来看,管理每月160GB的站点日志并不容易,特别是当我们需要对客户属性上的性能问题进行故障排除并试图找到根本原因时。
当事件发生时,我们的DevOps团队需要在几分钟内找出原因,而在云连接的世界中,问题来源的增长速度与新服务产品的出现速度相同:是底层基础设施的问题吗?是最近的DNN更新导致的吗?是3理查德·道金斯方模块吗?是3理查德·道金斯派对连接服务?我们需要将遥测和仪器添加到云基础设施的每个部分,不仅是客户属性,还包括后端自动供应系统。
我们一直在用NewRelic来满足我们的需求,成功地让我们深入挖掘问题并解决运营问题,同时密切关注微软应用洞察的发展。我们的监控需求不断增长,寻找聚合视图(例如,有多少网站正在经历我们在客户日志条目中发现的问题?有多少网站在使用这个3理查德·道金斯派对模块和体验性能问题?)因此,我们继续尝试其他应用程序洞察工具,如NewRelic insights和Splunk,以实现更高级的场景。在去年第四季度,我们看到了微软在该领域改进当前应用程序洞察服务的演示。在第一个演示中,我们看到了几乎实时过滤的70tb数据、用于复杂闪电般快速查询的高级web工具、用于多个帐户聚合查询的桌面工具,以及从PowerBI仪表板消费查询的能力。这听起来像是我们要找的东西的基础。

准备应用程序洞察分析入职

正如我之前提到的,我们的云基础设施不仅服务于客户网站或试用版。几年前,我在Cloudburst我们的云服务集的任务,如自动备份和恢复,Evoq产品更新,订单处理和帐户管理。这些最初的服务多年来持续增长,我们现在有新的服务用于页面浏览量计算(Evoq OnDemand在页面浏览量层可用),用于Azure应用程序服务环境的IFilter索引卸载,以及用于后台任务的其他服务。我们还为部署在Azure应用程序服务上的Evoq和DNN平台的夜间构建实现了持续集成。能够自动将Application Insights信息发送到Analytics商店是下一个需求。
image003
要在Application Insights Analytics上获得所有可用数据,最简单的方法是为每个云服务和网站配备Application Insights,以便开始发送所有遥测数据。一旦进入Application Insights,所有信息都可以使用AQL(分析查询语言)从分析中查询。所以我们最终致力于两个领域:
1)修改所有工作者角色(云服务)开始向Application Insights发送遥测数据。在Connect()期间;去年的活动Azure诊断与应用程序洞察集成Azure SDK 2.8发布。这很容易实现,只需遵循博客文章中提到的步骤,并部署每个worker的新版本。在短短几分钟内,我们就开始在Azure门户上提供所有的遥测技术。感谢团队让这一切变得如此简单;
image005
2)创建一个新的Application Insights监视提供程序在我们控制下的每个网站上自动化应用程序洞察帐户配置和部署。当我们最初设计后端监控服务时,我们从Pingdom和NewRelic实现开始实现了“监控提供者”方法。监控提供商只是我们平台中的一个集成点,它支持“安装、卸载、暂停和恢复监控”等方法,例如,帮助我们在维护或更新操作期间暂停网站上的所有警报。我们内部的Application Insights监控提供商实现了这个接口,自动提供帐户和警报,以及使用资源管理器API推送web部署包。我们也可以手动运行这些操作,通过我们的后端系统,通过web UI或通过使用我们的自定义PowerShell cmdlet来配置和配置数百个应用程序洞察帐户,只需几行代码:
image007
然后,我们可以访问Azure门户,检查每个网站或服务的情况,并找到性能问题及其原因:如果问题在服务器端,则是依赖关系,或者只是客户应用到性能不佳的网站上的新皮肤,如我们在下面的图表中看到的,服务器响应一致,但页面加载时间倾斜向上,表明客户端存在问题。
image009
对于每一个单独的web应用程序,我们不仅可以通过页面视图、请求、跟踪或异常进行搜索。由于我们已经实现了DNN的自定义日志记录器,我们能够通过DNN Eventlog记录或存储在/portals/_default/logs下的典型log4net数据进行搜索。我们终于有了一个可以查询所有参数的地方。

使用应用程序洞察分析的高级搜索

一旦我们将所有遥测数据发送到Application Insights,现在我们就可以开始使用新的分析功能运行高级查询了。
应用分析一个强大的查询引擎适合你吗应用程序的见解遥测技术使用一种名为AQL的查询语言。这种语言不像SQL那样嵌套语句,而是允许将数据从一个基本操作输送到下一个基本操作。我们可以过滤所有原始遥测数据从每个网站发送的任何字段,包括DNN事件日志记录,执行统计聚合和立即显示原始文本结果或强大的可视化。
作为自动Application Insights配置的一部分,我们为被监控的每个资源创建警报。当我们收到警报时,我们开始使用该工具开始深入研究问题,通过使用AQL找到模式。UI允许我们保存预定义的查询,并加载它们以供以后使用。
image011
image013

机器学习在后台运行的好处:主动检测

有一件事是令人惊讶的,并且每天都在变得更好,那就是应用程序洞察主动检测。这个功能通过“近实时主动诊断”来通知你应用程序中潜在的性能问题。您得到的是关于失败请求率异常上升的警报,以及不需要配置!它就是有用。
例如,检查我们今天收到的警报。我对该服务提供的信息感到震惊,而且我们很快就找到了问题的根源。
在这个案例中,是一个机器人请求格式错误的url,导致请求失败率异常上升。多亏了在主动分析后15分钟到达的警报上提供的堆栈跟踪,我们检测到了问题,发现了问题,创建了一个补丁,问题消失了。
你喜欢吗?我也是!
image015

DNN平台的应用洞察模块

如果你也有一个基于DNN的网站,并且想要从我发布的应用洞察和分析开始GitHub上一个开源模块,允许开始发送所有你的网站遥测应用洞察:页面浏览量,web请求,跟踪信息(log4net日志文件内容),异常(包括客户端浏览器异常)和DNN事件日志记录。

开始

该模块是一个DNN平台扩展,集成Visual Studio应用程序洞察来监控您的DNN安装。要在安装中设置模块,请遵循以下步骤:
1.根据指南提供一个新的应用程序洞察服务https://azure.microsoft.com/en-us/documentation/articles/app-insights-overview/确保在“应用程序类型”参数中选择“ASP.net web应用程序”
2.一旦提供,复制资源Essentials属性上可用的“Instrumentation Key”
image017
3.现在从释放文件夹https://github.com/davidjrh/dnn.appinsights/tree/master/Releases下载以“…Install.zip”结尾的最新模块包(source .zip包包含生产网站不需要的源代码)。
4.安装扩展包在您的DNN实例从“主机>扩展”菜单像任何其他模块
5.安装完成后,“Host (Advanced menu)>Application Insights”下的新菜单将允许您粘贴在步骤2中获得的仪表键。应用更改后,几分钟后您将开始在Application Insights上接收数据。
image019
您好,编码快乐!

评论

目前没有评论,请第一个发表评论。

评论形式

只有注册用户才能发表评论。

NewsArchives


艾德森·奥利维拉(22岁)
亚历克·惠廷顿(11岁)
亚历山德拉·戴维斯(3)
亚历克斯·雪莉(10岁)
安德鲁·霍弗林(3)
安德鲁·纳斯(30岁)
安迪·特里巴(1)
安东尼·格伦赖特(5岁)
安东尼奥·沙古里(28岁)
阿什·普拉萨德(37岁)
本·施密特(1)
本杰明·赫尔曼(25岁)
伯努瓦·萨顿(9)
贝丝·菲尔博(12岁)
比尔·沃克(36岁)
鲍勃·克鲁格(5)
Bogdan Litescu (1)
布莱恩·杜克斯(2)
布莱斯·雪(1)
布鲁斯·查普曼(20岁)
布莱恩·安德鲁斯(1)
卡萨尔·康诺利(55岁)
查尔斯·纳斯(163)
克里斯·哈蒙德(213岁)
克里斯·帕特拉(55岁)
克林特·帕特森(108岁)
Cuong Dang(21岁)
丹尼尔·巴塞洛缪(2)
丹尼尔·梅特勒(181岁)
丹尼尔·瓦拉达斯(48岁)
戴夫·巴克纳(2)
大卫·波因德克斯特(12岁)
大卫·罗德里格斯(3)
丹尼斯·萧(1)
道格·豪厄尔(11)
埃里克·范·巴列戈伊(30岁)
恩斯特·彼得·塔明加(80岁)
弗朗西斯科·佩雷斯·安德烈斯(17岁)
杰夫·巴洛(12岁)
乔治·阿拉特拉什(12)
吉福德·沃特金斯(3)
吉尔·勒·小猪(3)
伊恩·罗宾逊(7岁)
以色列·马丁内斯(17岁)
简·布隆奎斯特(2)
简·乔纳斯(3)
Jaspreet Bhatia (1)
珍妮·梅里菲尔德(6岁)
乔·布林克曼(274)
约翰·米切尔(1)
乔恩·亨宁(14岁)
乔纳森·希利(4)
乔丹·库珀史密斯(1)
约瑟夫·克雷格
侃妈(1)
凯万·贝吉(3)
凯利·福特(4岁)
肯·格里尔森(10岁)
凯文·施赖纳(6岁)
利·波波特(31岁)
洛林·杨(60岁)
马利克·汗(1)
马特·拉特利奇(2)
马提亚斯·施罗曼(16岁)
毛里西奥Márquez (5)
迈克尔·多克西(7岁)
迈克尔·托比什(3)
迈克尔·华盛顿(202岁)
米格尔·加特梅坦(3)
迈克·霍顿(19岁)
米切尔·塞勒斯(40岁)
内森·罗孚(3)
Navin V Nagiah (14)
Néstor Sánchez (31)
尼克·卡利亚尼(14岁)
奥利弗·海因(1)
帕特里西奥·f·萨利纳斯(1)
帕特里克·瑞恩(1)
彼得·唐克尔(54岁)
菲利普·比德尔(135岁)
菲利普·贝克(4)
理查德·大仲马(22岁)
罗伯特·J·柯林斯(5)
罗杰·塞尔温(8)
鲁本·洛佩兹(1)
瑞恩·马丁内斯(1)
Sacha Trauwaen (1)
Salar Golestanian (4)
桑杰·梅赫罗特拉(9)
斯科特·麦卡洛克(1)
斯科特·施莱西尔(11)
斯科特·威尔金森(3)
斯科特·威尔海特(97岁)
塞巴斯蒂安·利乌波尔德(80岁)
肖恩·沃克(237)
肖恩·梅哈菲(17岁)
斯蒂芬·卡尔曼(12岁)
斯蒂芬·坎普伊斯(12岁)
史蒂夫·法比安(31岁)
史蒂文·费舍尔(1)
蒂莫·布鲁梅尔霍夫(24岁)
托尼·亨里奇(3)
Torsten Weggen (3)
第谷·德·沃德(4)
Vicenç Masanas (27)
文森特·阮(3)
维塔利·科扎达耶夫(6岁)
威尔·摩根威克(40岁)
威尔·斯特罗尔(180岁)
威廉·塞弗伦斯(5)
什么是液体含量?
找出
什么是液体含量?
找出
什么是液体含量?
找出
Baidu
map