Microsoft Azure Functions 是微软作为 Azure 云计算平台一部分提供的无服务器计算服务。Azure Functions 允许开发人员构建、部署和运行事件驱动的函数或应用程序,无需管理基础设施。监控 Microsoft Azure Functions 对维护运行在 Azure Functions 平台上的无服务器应用程序的健康、性能和可靠性至关重要。Applications Manager 的 Azure Functions 监控工具 提供多种监控功能,帮助您深入了解其行为并有效排查问题。继续阅读以了解监控 Azure Functions 的关键方面。
如需了解如何创建新的 Microsoft Azure Functions 监控器, 点击这里.
通过点击 分类视图 导航至 监控器 选项卡。在 Microsoft Azure 云应用表格下,将鼠标悬停在“子监控器”上,然后从显示的工具提示中选择 Functions 监控器。此操作将显示 Azure Functions 的批量配置视图,共有三个选项卡:
Azure 监控 工具,如 Applications Manager 的 Microsoft Azure 监控器,提供给定订阅下 Azure Functions 的简要详情。以下是 Azure Functions 监控工具 各自选项卡中监控的指标列表:
| 参数 | 描述 |
|---|---|
| WEB 应用状态 | |
| 默认主机名 | 函数应用的默认主机名。 |
| Functions 应用可用性状态 | 应用的管理信息可用性状态。可能值:
|
| 函数应用状态 | 应用的当前状态。可能值:运行中/已停止。 |
| 函数应用使用情况 | 指示应用是否已超出其配额使用情况。可能值:超出/正常。 |
| 函数执行单位 | |
| 函数执行单位 | 在轮询间隔内的函数执行单位总量(以 GB-s 计)。GB-s 是执行时间与内存使用量的组合。Azure Functions 使用此计费模型来确定运行无服务器函数的成本。 |
| 函数执行速率 | |
| 函数执行速率 | 在轮询间隔内每分钟的函数执行总速率(执行次数/分钟)。函数执行计数表示您的函数应用执行的次数。该值与您的应用中函数运行的次数相关。 |
| 响应时间 | |
| 响应时间 | 应用在轮询间隔内处理 HTTP 请求的平均时间(以毫秒计)。 |
| 文件系统使用情况 | |
| 文件系统使用情况 | 轮询间隔内与您的函数应用相关的文件平均使用的存储空间(以 MB 计)。 |
| 参数 | 描述 |
|---|---|
| 内存工作集 | |
| 内存工作集(最大) | 函数应用在轮询间隔内使用的最大内存量(以 MB 计)。 |
| 内存工作集(平均) | 函数应用在轮询间隔内使用的平均内存量(以 MB 计)。 |
| 网络带宽使用 | |
| 入站流量 | 函数应用在轮询间隔内消耗的入站带宽总速率(以 MB/s 计)。 |
| 出站流量 | 函数应用在轮询间隔内消耗的出站带宽总速率(以 MB/s 计)。 |
| IO 操作 | |
| IO 读操作速率 | 应用程序进程在轮询间隔内执行读 I/O 操作的平均速率(以 MB/s 计)。 |
| IO 写操作速率 | 应用程序进程在轮询间隔内执行写 I/O 操作的平均速率(以 MB/s 计)。 |
| IO 吞吐量 | |
| IO 读吞吐量 | 应用程序进程在轮询间隔内读取 I/O 操作字节的平均速率(以 MB/s 计)。 |
| IO 写吞吐量 | 应用程序进程在轮询间隔内写入 I/O 操作字节的平均速率(以 MB/s 计)。 |
| 参数 | 描述 |
|---|---|
| 请求 | |
| 请求速率 | 函数应用在轮询间隔内每分钟接收的请求总数,不论其 HTTP 状态码(请求数/分钟)。 |
| 请求总数 | 函数应用在轮询间隔内接收的请求总数,不论其 HTTP 状态码。 |
| HTTP 状态码 | |
| HTTP 101 - 协议切换 | 在轮询间隔内导致 HTTP 101 状态码(切换协议)的请求总数。 |
| HTTP 2xx - 成功 | 在轮询间隔内导致 HTTP 2xx 状态码(成功)的请求总数。 |
| HTTP 3xx - 重定向 | 在轮询间隔内导致 HTTP 3xx 状态码(重定向)的请求总数。 |
| HTTP 4xx - 客户端错误 | 在轮询间隔内导致 HTTP 4xx 状态码(客户端错误)的请求总数。 |
| HTTP 5xx - 服务器错误 | 在轮询间隔内导致 HTTP 5xx 状态码(服务器错误)的请求总数。 |
| HTTP 4XX 错误 | |
| HTTP 401 - 未授权 | 在轮询间隔内导致 HTTP 401(未授权)状态码的请求总数。 |
| HTTP 403 - 禁止 | 在轮询间隔内导致 HTTP 403(禁止)状态码的请求总数。 |
| HTTP 404 - 未找到 | 在轮询间隔内导致 HTTP 404(未找到)状态码的请求总数。 |
| HTTP 406 - 不可接受 | 在轮询间隔内导致 HTTP 406(不可接受)状态码的请求总数。 |
| 参数 | 描述 |
|---|---|
| 连接数 | |
| 连接数(平均) | 轮询间隔内沙箱(w3wp.exe 及其子进程)中存在的绑定套接字的平均数量。绑定套接字是通过调用 bind()/connect() API 创建,并持续保持直到使用 CloseHandle()/closesocket() 关闭该套接字。 |
| 应用程序队列中的请求 | |
| 应用程序队列中的请求(平均) | 轮询间隔内应用程序请求队列中的请求平均数量。 |
| 私有字节数 | |
| 私有字节数 | 轮询间隔内应用进程分配且无法与其他进程共享的内存的平均大小(以 MB 计)。 |
| 线程数* | |
| 线程数(平均) | 轮询间隔内应用进程活动线程的平均数量。 |
| IO 其他吞吐量 | |
| IO 其他吞吐量 | 轮询间隔内应用进程发出的非数据字节 I/O 操作的平均速率,如控制操作(以 MB/s 计)。 |
| IO 其他操作 | |
| IO 其他操作速率 | 轮询间隔内应用进程发出的非读写的 I/O 操作的平均速率(以 MB/s 计)。 |
| 句柄数(平均) | |
| 句柄数(平均) | 轮询间隔内应用进程当前打开的句柄平均数量。 |
| 当前程序集数(平均)* | |
| 当前程序集数(平均) | 轮询间隔内此应用所有 AppDomain 中加载的程序集平均数量。 |
| 垃圾回收* | |
| 第 0 代垃圾回收次数 | 自应用进程启动以来第 0 代对象被垃圾回收的总次数。高代数垃圾回收包括所有低代数垃圾回收。 |
| 第 1 代垃圾回收次数 | 自应用进程启动以来第 1 代对象被垃圾回收的总次数。高代数垃圾回收包括所有低代数垃圾回收。 |
| 第 2 代垃圾回收次数 | 自应用进程启动以来第 2 代对象被垃圾回收的总次数。 |
| 应用域 | |
| 应用域加载数(平均) | 轮询间隔内此应用加载的应用域平均数量。 |
| 应用域卸载数(平均) | 自应用启动以来轮询间隔内卸载的应用域平均数量。 |
| 参数 | 描述 |
|---|---|
| 配置 | |
| 资源组名称 | 资源组的名称。 |
| 位置 | 应用服务的位置。 |
| Function App 类型 | Function App 的类型。 |
| 工作器数量 | Function App 的工作器数量。 |
| Function App 启用状态 | 指示应用是否在线(true)或离线(false)。 |
| 容器大小 | Function 容器的大小(MB)。 |
| 内存时间配额(每日) | 允许的最大每日内存时间配额(秒)。 |
| 存储库站点名称 | 存储库站点的名称。 |
| 最后修改时间 | 应用的最后修改时间(UTC)。 |
| Function App 版本 | Function App 的版本。 |
| VNet 内容共享 | 启用通过虚拟网络访问内容。 |
| FTP 主机名 | FTPS 的主机名。 |
| FTP 用户名 | FTPS 的用户名。 |
| 主机配置 | |
| 公开访问 | 属性以允许或阻止所有公共流量。可能值:Enabled、Disabled 或空字符串。 |
| 仅接受 HTTPS 请求 | 指示应用是否仅接受 HTTPS 请求。HTTP 请求会被重定向。 |
| 应用服务计划 | |
| 应用服务计划 | Web 应用的应用服务计划名称。 |
| 服务器群组 ID | 关联应用服务计划的资源 ID,格式为: /subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}. |