将 Azure Monitor 指标与 Azure Functions 配合使用

Azure Functions 与 Azure Monitor 指标集成,可让你分析函数应用在执行期间生成的指标。 有关详细信息,请参阅 Azure Monitor 指标概述。 这些指标指示函数应用在应用服务平台上的运行状况。 可以查看用于估算消耗计划成本的资源消耗数据。 若要调查函数执行后提供的详细遥测数据(包括日志数据),还应使用 Azure Monitor 中的 Application Insights

可用度量值

Azure Monitor 从一组已进入时序数据库的受监视资源收集数字数据。 Azure Monitor 收集特定于 Functions 以及底层应用服务资源的指标。

特定于 Functions 的指标

有两个特定于 Functions 的相关指标:

指标 说明
FunctionExecutionCount 函数执行计数表示函数应用已执行的次数。 此值与某个函数在应用中运行的次数相关联。
FunctionExecutionUnits 函数执行单位由执行次数和内存使用组成。 目前无法通过 Azure Monitor 获取内存数据这一指标。 但是,如果要优化应用的内存用量,可以使用 Application Insights 收集的性能计数器数据。 此指标目前不支持在 Linux 上运行的高级和专用(App 服务)计划。

估算消耗计划成本时,会专门使用这些指标。

常规应用服务指标

除了特定于函数的指标以外,应用服务平台还会实现其他可用于监视函数应用的指标。 有关完整列表,请参阅可用于应用服务应用的指标

访问指标

可以使用 Azure 门户中的 Azure Monitor 指标资源管理器或使用 REST API 来获取 Monitor 指标数据。

以下示例使用 Monitor 指标来帮助估算在消耗计划中运行函数应用所产生的成本。 若要详细了解如何估算消耗计划成本,请参阅估算消耗计划成本

使用 Azure Monitor 指标资源管理器可以图形格式查看消耗计划函数应用的成本相关数据。

  1. Azure 门户中,导航到你的函数应用。

  2. 在左侧面板中,向下滚动至“监视”,然后选择“指标” 。

  3. 在“指标”中,为“聚合”选择“函数执行计数”和“求和”。 这会在图表中将所选时间段内的执行计数之和相加。

    Define a functions app metric to add to the chart

  4. 选择“添加指标”并重复步骤 2-4,将“函数执行单位”添加到图表中。

生成的图表包含所选时间范围内(在本例中为 2 小时)两个执行指标的总和。

Graph of function execution counts and execution units

由于执行单位数远远大于执行计数,因此图表只显示执行单位。

此图显示两小时时间段内总共消耗了 11.1 亿个 Function Execution Units(以“MB 毫秒”度量)。 若要转换为 GB 秒,请除以 1024000。 在此示例中,函数应用消耗了 1110000000 / 1024000 = 1083.98 GB 秒。 可以将此值乘以 Functions 定价页上执行时间的当前价格,从而得出这两个小时的成本(假设已用完了所有免费授予的执行时间)。

若要详细了解如何使用监视器资源管理器查看指标,请参阅 Azure 指标资源管理器入门

后续步骤

请参阅以下文章,以详细了解如何监视 Azure Functions: