【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)

问题描述

把Web Role服务发布到Azure Cloud Service后,需要在IIS的输出日志中,把每一个请求的HTTP Request Header中的User-Agent内容也输出到日志中。通过Cloud Service(云服务)如何实现呢?

 

解决方案

方案一(临时):Cloud Service WebRole是Host在IIS中,所以可以通过对IIS的Logging设置就可以(RDP到VM中修改)

1:RDP到云服务的实例上,搜索IIS Manager

2:打开之后,找到云服务实例,点击Logging。 如下截图所示:

3:打开之后,在Log File 里面的Format 选择W3C ,点击Select Fields,进行添加自定义字段

4:修改完成后,新生成的IIS日志中就会包含列名为UUID,内容为User-Agent的内容。

 

 

方案二:通过Cloud Service的启动任务对IIS Logging进行设置(需重新部署一次云服务)
1:在Cloud Service中设置启动任务,在WebRole项目的ServiceDefinition.csdef文件中加入 Startup 内容:
<Startup>
    <Task commandLine="Startup.cmd" executionContext="limited" taskType="simple" >
        <Environment>
            <Variable name="MyVersionNumber" value="1.0.0.0" />
        </Environment>
    </Task>
</Startup>

2: 在项目根目录中添加文件 Startup.cmd,文件内容为:

d /d "%~dp0"
%windir%\system32\inetsrv\appcmd.exe set config -section:system.applicationHost/sites /+"siteDefaults.logFile.customFields.[logFieldName='UUID',sourceName='User-Agent',sourceType='RequestHeader']" /commit:apphost >> "%TEMP%\StartupLog.txt" 2>&1
exit /b 0

PS: 通过修改IIS config的方式来配置Loggin中的自定义日志字段

 

3: 重新部署整个Cloud Service,即可生效。

 

 

参考资料

如何配置和运行 Azure 云服务(经典)的启动任务https://docs.microsoft.com/zh-cn/azure/cloud-services/cloud-services-startup-tasks#example-of-a-startup-task

 

Adding Custom Fields to a Log File for a Site <add> : https://docs.microsoft.com/en-us/iis/configuration/system.applicationhost/sites/site/logfile/customfields/add#sample-code

 

如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR) : https://www.cnblogs.com/lulight/p/13579629.html

 

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
11月前
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
109 0
|
8月前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
111 2
|
9月前
|
开发框架 缓存 安全
开发日志:IIS安全配置
开发日志:IIS安全配置
开发日志:IIS安全配置
|
10月前
|
存储 监控
【Azure Cloud Service】在Azure云服务中收集CPU监控指标和IIS进程的DUMP方法
在使用Cloud Service服务时,发现服务的CPU占用很高,在业务请求并不大的情况下,需要直到到底是什么进程占用了大量的CPU资源,已经如何获取IIS进程(w3wp.exe)的DUMP文件?
|
10月前
|
SQL 开发框架 安全
Web安全-IIS短文件名泄露
Web安全-IIS短文件名泄露
285 2
|
11月前
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
11月前
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
|
11月前
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
|
11月前
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
173 0
|
2月前
|
Web App开发 前端开发 JavaScript
鸿蒙5开发宝藏案例分享---Web适配一多开发实践
这是一份实用的鸿蒙Web多设备适配开发指南,针对开发者在不同屏幕尺寸下的布局难题提供了解决方案。文章通过三大法宝(相对单位、媒体查询和窗口监听)详细介绍如何实现智能适配,并提供了多个实战案例,如宫格布局、对话框变形和自适应轮播图等。此外,还分享了调试技巧及工具推荐,帮助开发者快速上手并优化性能。最后鼓励读者实践探索,并提示更多官方资源等待发现。

热门文章

最新文章