问题描述
在 Azure App Service 环境中,发现App Service服务在无人操作的情况下,凭空出现了一个名为 “DaaS” 的 WebJob。
这个作业是做什么的呢?是否会影响应用性能或安全性?
问题解答
DaaS 全称 Diagnostics as a Service,是 Azure App Service 平台内置的诊断工具组件,用于支持应用故障排查和性能分析。
其核心作用是:
启动诊断工具:当用户访问 Diagnose and Solve Problems 页面或调用诊断功能(如 CPU Profiling、内存转储、应用快照)时,系统会自动安装并运行 DaaS WebJob。
自动重建机制:即使用户手动删除该 WebJob,只要再次访问诊断页面或触发诊断会话,DaaS WebJob 会被重新创建。这是因为 Diagnose and Solve Portal 会周期性调用 DaaS 扩展,检查是否需要启动新的诊断任务。
资源占用情况:DaaS WebJob 大部分时间处于空闲状态,不会消耗大量 CPU 或内存,只有在执行诊断会话时才会活跃。因此,保留该 WebJob是安全的,不会影响应用正常运行。
如果不需要诊断功能,可以忽略该 WebJob或手动删除;若需使用诊断工具,建议保留它。 .
DaaS 详细说明
DaaS(Diagnostics as a Service)是 Azure App Service 提供的内置诊断框架,旨在帮助开发者和运维人员快速定位应用问题。它通过后台 WebJob(DaasRunner)实现数据收集和分析,支持多种诊断场景,包括:
- 性能分析:CPU Profiling、请求延迟分析。
- 故障排查:内存转储、线程快照、异常跟踪。
- 自动化诊断:结合门户的“Diagnose and Solve Problems”功能,提供一键式问题检测和修复建议。
DaaS WebJob的生命周期与诊断工具紧密关联,每次启动诊断扩展或访问诊断页面时都会自动创建或恢复。其日志和报告通常存储在 d:\home\data\DaaSReports 或 d:\home\data\DaaSLogs 目录中,供后续分析使用
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!