【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息

简介: 本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。

问题描述

在App Service的门户页面,很容易就可以查看到“Web 服务器日志记录”是否配置。

但是,如何通过Python Code获取到呢?

 

问题解答

在使用 Python SDK 时获取 web app 的日志?这是一个常见的问题,尤其是在调试和监控应用程序时。可以通过 Web App ( App Service ) 提供的官方管理站点的SDK来实现:azure-mgmt-web

 

执行步骤

第一步:初始化 WebSiteManagementClient 对象

第二步:调用client.web_apps.get_configuration 就可以获取到 Web App的配置信息

第三步:查看 http_logging_enabled 的设置值

  • web服务器日志记录 -  关闭状态

http_logging_enabled False

  • web服务器日志记录 -  存储

http_logging_enabled True ,   WEBSITE_HTTPLOGGING_CONTAINER_URL: 存储容器,  WEBSITE_HTTPLOGGING_RETENTION_DAYS:  保留 天数

  • web服务器日志记录 -  文件系统 

http_logging_enabled True ,logs_directory_size_limit log quota (MB)大小, WEBSITE_HTTPLOGGING_RETENTION_DAYS:  保留 天数

 

示例代码

from azure.identity import DefaultAzureCredential
from azure.mgmt.web import WebSiteManagementClient
from azure.identity import ClientSecretCredential, AzureAuthorityHosts
client_id = 'xx-x-x-x-xxx'
azure_secret = "xxxxxx"
client_tenant = 'xx-x-x-x-xxx'
credential_scopes = ["https://management.chinacloudapi.cn/.default"]
base_url = 'https://management.chinacloudapi.cn/'
credentials = ClientSecretCredential(tenant_id=client_tenant,
                                                 client_id=client_id,
                                                 client_secret=azure_secret,
                                                 authority=AzureAuthorityHosts.AZURE_CHINA)
# Replace with your subscription ID
subscription_id = 'xx-x-x-x-xxx'
# Replace with your resource group name and app service name
resource_group_name = 'xxxx'
app_service_name = 'xxxx'
# Create a WebSiteManagementClient
client = WebSiteManagementClient(credentials, subscription_id,base_url=base_url, credential_scopes=credential_scopes)
# Get the app settings
app_settings = client.web_apps.list_application_settings(resource_group_name, app_service_name)
# Print the app settings
for key, value in app_settings.properties.items():
    print(f"{key}: {value}")
print("----------------------------------\n")
# Get the app service configuration
app_service_config = client.web_apps.get_configuration(resource_group_name, app_service_name)
# Print the app service configuration
print(app_service_config)

 

执行结果

 

参考资料

get_configuration : https://learn.microsoft.com/en-us/python/api/azure-mgmt-web/azure.mgmt.web.v2024_04_01.operations.webappsoperations?view=azure-python#azure-mgmt-web-v2024-04-01-operations-webappsoperations-get-configuration

Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.

Description for Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.

 


 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
7月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
1729 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
5月前
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
5月前
|
缓存 监控 Android开发
京东 item_get_app 接口深度分析及 Python 实现
京东item_get_app接口可获取商品原始详情数据,包含更丰富的字段和细节,适用于电商分析、价格追踪等场景。需通过认证获取权限,支持字段筛选和区域化数据查询。
|
6月前
|
缓存 数据挖掘 API
淘宝 item_get_app 接口深度分析及 Python 实现
淘宝item_get_app接口是淘宝开放平台提供的移动端商品详情数据获取接口,相较PC端更贴近APP展示效果,支持获取APP专属价格、促销活动及详情页结构,适用于电商导购、比价工具、数据分析等场景。接口采用appkey+appsecret+session认证机制,需申请相应权限。本文提供Python调用示例及使用注意事项,帮助开发者高效对接移动端商品数据。
|
5月前
|
运维 监控 安全
EventLog Analyzer:高效的Web服务器日志监控与审计解决方案
ManageEngine EventLog Analyzer是一款企业级Web服务器日志监控与审计工具,支持Apache、IIS、Nginx等主流服务器,实现日志集中管理、实时威胁检测、合规报表生成及可视化分析,助力企业应对安全攻击与合规挑战,提升运维效率。
305 0
|
6月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
1191 1
|
5月前
|
缓存 供应链 开发者
1688 item_get_app 接口深度分析及 Python 实现
1688平台item_get_app接口专为移动端设计,提供商品原始详情数据,包含批发价格、起订量、供应商信息等B2B特有字段,适用于采购决策、供应链分析等场景。接口需通过appkey+access_token认证,并支持字段筛选,返回结构化数据,助力企业实现智能采购与供应商评估。
|
7月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
1642 0
|
7月前
|
数据安全/隐私保护 Python
抖音私信脚本app,协议私信群发工具,抖音python私信模块
这个实现包含三个主要模块:抖音私信核心功能类、辅助工具类和主程序入口。核心功能包括登录
|
7月前
|
前端开发 数据安全/隐私保护 Python
虚拟物流单号生成器, 虚拟快递单号假物流信息, 虚拟快递单号在线生成【python框架】
这个虚拟物流单号生成系统包含以下功能:支持多种主流快递公司的单号生成

推荐镜像

更多