Json 如何使用Azure资源管理器在Azure webapp中设置应用程序日志
是否有人知道如何使用Azure资源管理器(Powershell或JSON)在Azure Web应用程序上设置以下诊断设置 使用.json,我只能找到这些设置Json 如何使用Azure资源管理器在Azure webapp中设置应用程序日志,json,powershell,azure,azure-resource-manager,Json,Powershell,Azure,Azure Resource Manager,是否有人知道如何使用Azure资源管理器(Powershell或JSON)在Azure Web应用程序上设置以下诊断设置 使用.json,我只能找到这些设置 "requestTracingEnabled": true, /* Failed request tracing, aka 'freb' */ "httpLoggingEnabled": true, /* IIS logs (aka Web server logging) */ "logsDirectoryS
"requestTracingEnabled": true, /* Failed request tracing, aka 'freb' */
"httpLoggingEnabled": true, /* IIS logs (aka Web server logging) */
"logsDirectorySizeLimit": 40, /* 40 MB limit for IIS logs */
"detailedErrorLoggingEnabled": true, /* Detailed error messages */
它打开web服务器到文件系统的日志记录,但不打开应用程序日志记录或blob存储
对于Powershell,此命令似乎只适用于ASM,因为它找不到提供给它的非经典存储帐户
Enable-AzureWebsiteApplicationDiagnostic
任何帮助都将不胜感激。我们目前正在使用Azure Powershell 0.9.8
关于如果您在中浏览现有的Web应用程序,您将发现一个类似以下内容的
config/logs
部分:
{
"id": "/subscriptions/.../config/logs",
"name": "logs",
"type": "Microsoft.Web/sites/config",
"location": "North Central US",
"properties": {
"applicationLogs": {
"fileSystem": {
"level": "Off"
},
"azureBlobStorage": {
"level": "Information",
"sasUrl": "...",
"retentionInDays": 14
}
},
...
}
我相信您可以在json模板中使用这种格式来配置日志记录。(此部分与包含问题中提到的设置的config/web
部分同级。)
请注意,
config/logs
部分未在中描述,因此我认为目前MS不支持该部分。我很确定我已经尝试过并看到了它的效果。Azure资源管理器(ARM)模板json部分用于根据上面的屏幕截图配置应用程序日志(Blob)和Web服务器日志(存储)如下所示:
{
"apiVersion": "2015-08-01",
"name": "logs",
"type": "config",
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('siteName'))]"
],
"properties": {
"applicationLogs": {
"azureBlobStorage": {
"level": "Information",
"sasUrl": "<Your Azure Blob Storage Account SAS Url>",
"retentionInDays": null
}
},
"httpLogs": {
"azureBlobStorage": {
"sasUrl": "<Your Azure Blob Storage Account SAS Url>",
"retentionInDays": null,
"enabled": true
}
},
"failedRequestsTracing": {
"enabled": true
},
"detailedErrorMessages": {
"enabled": true
}
}
}
{
“apiVersion”:“2015-08-01”,
“名称”:“日志”,
“类型”:“配置”,
“dependsOn”:[
[resourceId('Microsoft.Web/Sites',parameters('siteName'))]
],
“财产”:{
“应用程序日志”:{
“azureBlobStorage”:{
“级别”:“信息”,
“sasUrl”:“,
“保留天数”:空
}
},
“httpLogs”:{
“azureBlobStorage”:{
“sasUrl”:“,
“保留天数”:空,
“已启用”:真
}
},
“FailedRequestStraging”:{
“已启用”:真
},
“详细错误消息”:{
“已启用”:真
}
}
}
参考资料:
希望这能回答您的问题并帮助解决您的问题
如果您需要进一步的帮助或澄清,请告诉我。我在第一个条款中没有找到如何在模板中设置它。但事实证明,在调配资源后,这很容易。关于使用
Set AzureRmResource
的实际脚本,请参见上的答案。非常好-不知何故,我从未见过资源管理器-不应该再问这样的问题。有人能帮助我如何在RM模板(json)文件中,请?属性sasUrl
和retentioninday
实际上映射到应用程序设置键DIAGNOSTICS\AZUREBLOBCONTAINERSASURL
和DIAGNOSTICS\u azureblobretensiondays
。因此,您可以将它们设置为常规的SiteConfig.AppSettings
properties.@MichaëlHompus只是一个警告说明,我认为这意味着如果以后将它们作为应用程序设置应用,我可以将它们注释掉,但您不能,如果sasUrl未设置/存在,部署会出现问题。