【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程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
1764 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
5月前
|
运维 监控 安全
EventLog Analyzer:高效的Web服务器日志监控与审计解决方案
ManageEngine EventLog Analyzer是一款企业级Web服务器日志监控与审计工具,支持Apache、IIS、Nginx等主流服务器,实现日志集中管理、实时威胁检测、合规报表生成及可视化分析,助力企业应对安全攻击与合规挑战,提升运维效率。
327 0
|
6月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
1218 1
|
6月前
|
JavaScript 前端开发 机器人
【Azure Bot Service】在中国区Azure上部署机器人的 Python 版配置
本文介绍了在中国区Azure上使用Python SDK配置Azure Bot Service时遇到的问题及解决方案,涵盖参数设置与适配器配置,适用于希望在Azure中国区部署Python机器人的开发者。
192 6
|
7月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
1717 0
|
8月前
|
API Python
VIN码查询API的实战指南:获取二手车信息以Python为例
随着机动车保有量上升,中国二手车市场迎来发展机遇。本文介绍如何通过VIN码查询API获取车辆详细信息,提升交易透明度与安全性。
275 1
|
7月前
|
前端开发 数据安全/隐私保护 Python
虚拟物流单号生成器, 虚拟快递单号假物流信息, 虚拟快递单号在线生成【python框架】
这个虚拟物流单号生成系统包含以下功能:支持多种主流快递公司的单号生成
|
7月前
|
数据安全/隐私保护 数据格式 Python
快递单号模拟生成器, 虚拟物流信息在线生成,虚假快递单号生成器【python】
支持多种主流快递公司生成符合各快递公司规则的快递单号自动生成收发件人信息
|
7月前
|
JSON 前端开发 API
快递单号生成器在线, 快递单号模拟生成器, 虚拟物流信息在线生成【python】
项目包含三个主要模块:快递单号生成器核心逻辑、Flask Web应用程序和前端HTML页面
|
7月前
|
JSON API 数据安全/隐私保护
车辆五项信息查询 API 的实践指南:通过Python调用赋能车辆信息标准化
本API通过车牌号快速获取车辆五项核心信息,包括品牌、登记日期、车架号等,助力二手车评估、维修、保险等场景实现数字化转型。数据源自权威公安交管库,日更同步,毫秒级响应,满足高并发需求,符合隐私保护规范,是推动汽车后市场智能化的重要工具。
455 0

推荐镜像

更多