您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

在 Application Insights 中管理定价和数据量Manage pricing and data volume in Application Insights

Azure Application Insights 的定价以每个应用程序的数据量为基础。Pricing for Azure Application Insights is based on data volume per application. 如果开发期间的应用使用率或小型应用的使用率较低,则可能不会产生费用,因为每月会提供 1 GB 的遥测数据限额。Low usage during development or for a small app is likely to be free, because there's a 1 GB monthly allowance of telemetry data.

每个 Application Insights 资源作为独立服务计费,并在 Azure 订阅的账单中产生相应费用。Each Application Insights resource is charged as a separate service, and contributes to the bill for your subscription to Azure.

目前有两种定价计划。There are two pricing plans. 默认的计划称为基本定价计划。The default plan is called Basic. 可以选择按日计费的企业计划,但会启用某些其他功能,例如连续导出You can opt for the Enterprise plan, which has a daily charge, but enables certain additional features such as continuous export.

如果对 Application Insights 的定价方式存在疑问,欢迎在我们的论坛提出问题。If you have questions about how pricing works for Application Insights, feel free to post a question in our forum.

价格计划The price plans

如需当前价格(所使用的货币),请参阅 Application Insights 定价页See the Application Insights pricing page for current prices in your currency.

基本计划Basic plan

创建新的 Application Insights 资源时,基本计划是默认的计划,满足大多数客户的要求。The Basic plan is the default when a new Application Insights resource is created, and will suffice for most customers.

  • 在基本计划中,将按数据量(Application Insights 收到的遥测数据的字节数)对用户收费。In the Basic plan, you are charged by data volume: number of bytes of telemetry received by Application Insights. 数据量的衡量标准是 Application Insights 从用户应用程序收到的未压缩 JSON 数据包的大小。Data volume is measured as the size of the uncompressed JSON data package received by Application Insights from your application. 对于导入到 Analytics 中的表格数据,按发送到 Application Insights 的文件的未压缩大小来度量数据量。For tabular data imported into Analytics, the data volume is measured as the uncompressed size of files sent to Application Insights.
  • 每个应用的头 1 GB 免费,因此,如果只是进行试验或开发,可能不需付费。Your first 1 GB for each app is free, so if you're just experimenting or developing, you're unlikely to have to pay.
  • 定价未考虑实时指标流数据。Live Metrics Stream data isn't counted for pricing purposes.
  • 已推出连续导出,在使用基本计划时需额外付费(按 GB)。Continuous Export is available for an extra per-GB charge in the Basic plan.

企业计划Enterprise plan

  • 在企业计划中,应用可以使用 Application Insights 的所有功能。In the Enterprise plan, your app can use all the features of Application Insights. 连续导出Continuous Export and

Log Analytics 连接器已推出,在使用企业计划时不额外收费。Log Analytics connector are available without any extra charge in the Enterprise plan.

  • 将按在企业计划中为任何应用发送遥测数据的节点收费。You pay per node that is sending telemetry for any apps in the Enterprise plan.
    • 节点 是托管应用的物理/虚拟服务器计算机或平台即服务角色实例。A node is a physical or virtual server machine, or a Platform-as-a-Service role instance, that hosts your app.
    • 开发计算机、客户端浏览器和移动设备不计为节点。Development machines, client browsers, and mobile devices are not counted as nodes.
    • 如果应用有多个组件(例如 Web 服务和后端辅助角色)发送遥测数据,则会对其分开计数。If your app has several components that send telemetry, such as a web service and a back-end worker, they are counted separately.
    • 定价未考虑实时指标流数据。在订阅中,将按节点而非应用计费。Live Metrics Stream data isn't counted for pricing purposes.* Across a subscription, your charges are per node, not per app. 如果有 5 个节点在为 12 个应用发送遥测数据,则按 5 个节点计费。If you have five nodes sending telemetry for 12 apps, then the charge is for five nodes.
  • 虽然是按月计费,但对于从应用发送遥测数据的节点来说,实际上是按小时计费。Although charges are quoted per month, you're charged only for any hour in which a node sends telemetry from an app. 小时费率为月费/744(每月的小时数,每月按 31 天算)。The hourly charge is the quoted monthly charge / 744 (the number of hours in a 31-day month).
  • 每天为每个检测到的节点分配的数据量为 200 MB(时间粒度为小时)。A data volume allocation of 200 MB per day is given for each node detected (with hourly granularity). 分配的数据如果未使用,不会从当天转到第二天。Unused data allocation is not carried over from one day to the next.
    • 如果选择“企业”定价选项,会根据该订阅中向 Application Insights 资源发送遥测数据的节点数为每个订阅提供每日数据限额。If you choose the Enterprise pricing option, each subscription gets a daily allowance of data based on the number of nodes sending telemetry to the Application Insights resources in that subscription. 因此,如果全天有 5 个节点在发送数据,则该订阅中的所有 Application Insights 资源可以共用 1 GB 的数据限额。So if you have 5 nodes sending data all day, you will have a pooled allowance of 1 GB applied to all the Application Insights resources in that subscription. 无所谓某些节点是否比其他节点发送更多数据,因为所有节点发送的数据都计入同一个数据限额。It doesn't matter if certain nodes are sending more data than other nodes because the included data is shared across all nodes. 如果 Application Insights 资源在特定的某一天收到的数据量超出了为该订阅分配的每日数据限额,则会对超额数据按 GB 计费。If, on a given day, the Application Insights resources receive more data than is included in the daily data allocation for this subscription, the per-GB overage data charges apply.
    • 每日数据限额的计算方式为所有节点在一天中发送遥测数据的小时数(使用 UTC 计时方式)除以 24 再乘以 200 MB。The daily data allowance is calculated as the number of hours in the day (using UTC) that each node is sending telemetry divided by 24 times 200 MB. 因此,如果有 4 个节点在一天 24 小时的 15 小时内发送遥测数据,则当天的数据限额为 ((4 x 15) / 24) x 200 MB = 500 MB。So if you have 4 nodes sending telemetry during 15 of the 24 hours in the day, the included data for that day would be ((4 x 15) / 24) x 200 MB = 500 MB. 超额数据的价格为 2.30 美元/GB,如果当天发送了 1 GB 的数据,则收费 1.15 美元。At the price of 2.30 USD per GB for data overage, the charge for would be 1.15 USD if the nodes send 1 GB of data that day.
    • 请注意,企业计划的每日限额不能与选择了“基本”选项的应用程序共享,未使用的限额不能从当天转到第二天。Note that the Enterprise plan's daily allowance is not shared with applications for which you have chosen the Basic option and unused allowance is not carried over from day-to-day.
  • 下面是一些示例,说明了如何确定不同的节点计数:Here are some examples of determining distinct node count:

    方案Scenario 每日节点计数总数Total daily node count
    1 个应用程序使用 3 个 Azure 应用服务实例和 1 个虚拟服务器1 application is using 3 Azure App Service instances and 1 virtual server 44
    3 个应用程序运行在 2 个 VM 上,这些应用程序的 Application Insights 资源属于同一订阅,所用计划为企业计划3 applications running on 2 VMs, and the Application Insights resources for these applications are in the same subscription and in the Enterprise plan #N/A2
    4 个应用程序的 Applications Insights 资源属于同一订阅。4 applications whose Applications Insights resources are in the same subscription. 每个应用程序在 16 小时的非高峰时段内运行 2 个实例,在 8 小时的高峰时段内运行 4 个实例。Each application runs 2 instances during 16 off-peak hours, and 4 instances during 8 peak hours. 13.3313.33
    云服务有 1 个辅助角色和 1 个 Web 角色,每个角色运行 2 个实例Cloud services with 1 Worker Role and 1 Web Role, each running 2 instances 44
    5 节点型 Service Fabric 群集运行 50 个微服务,每个微服务运行 3 个实例5-node Service Fabric Cluster running 50 micro-services, each micro-service running 3 instances 55
  • 若要进行精确的节点计数,必须了解应用程序在使用哪个 Application Insights SDK。The precise node counting behavior depends on which Application Insights SDK your application is using.

    • 在 SDK 2.2 及更高版本中,Application Insights Core SDKWeb SDK 都会将每个应用程序主机作为节点进行报告,例如会报告物理服务器和 VM 主机的计算机名称,而在使用云服务时,则会报告实例名称。In SDK versions 2.2 and onwards, both the Application Insights Core SDK or Web SDK will report each application host as a node, for example the computer name for physical server and VM hosts or the instance name in the case of cloud services. 唯一的例外是应用程序仅使用 .NET Core 和 Application Insights Core SDK,这种情况下,所有主机只会报告一个节点,因为主机名不可用。The only exception is applications only using .NET Core and the Application Insights Core SDK, in which case only one node will be reported for all hosts because the host name is not available.
    • 就早期版本的 SDK 来说,Web SDK 的行为与新版 SDK 并无二致,而 Core SDK 则只会报告一个节点,不管实际应用程序主机的数目是多少。For earlier versions of the SDK, the Web SDK will behave just as the newer SDK versions, however the Core SDK will report only one node regardless of the number of actual application hosts.
    • 请注意,如果应用程序通过 SDK 将 roleInstance 设置为自定义值,则会默认使用该值确定节点计数。Note that if your application is using the SDK to set roleInstance to a custom value, by default that same value will be used to determine the count of nodes.
    • 如果对应用使用新版 SDK,而该应用在客户端计算机或移动设备中运行,则节点计数可能会返回很大的数目(在客户端计算机或移动设备数目很大的情况下)。If you are using a new SDK version with an app that is run from client machines or mobile devices, it is possible that the count of nodes might return a number which is very large (from the large number of client machines or mobile devices).

多步骤 Web 测试Multi-step web tests

多步骤 Web 测试会额外收费。There's an additional charge for multi-step web tests. 此类测试是指执行一系列操作的 Web 测试。This refers to web tests that perform a sequence of actions.

单页“ping 测试”不单独计费。There is no separate charge for 'ping tests' of a single page. 进行 ping 测试和多步测试时发送的遥测数据将与应用发送的其他遥测数据一起计费。Telemetry from both ping tests and multi-step tests is charged along with other telemetry from your app.

Operations Management Suite 订阅权利Operations Management Suite subscription entitlement

按照最近的公告,购买 Microsoft Operations Management Suite E1 和 E2 的客户能够以附加组件的形式获取 Application Insights 企业版,而没有额外费用。As recently announced, customers who purchase Microsoft Operations Management Suite E1 and E2 are able to get Application Insights Enterprise as an additional component at no additional cost. 具体而言,Operations Management Suite E1 和 E2 的每个单位都包含对 Application Insights 企业计划的 1 个节点的权利。Specifically, each unit of Operations Management Suite E1 and E2 includes an entitlement to 1 node of the Enterprise plan of Application Insights. 如上所述,每个 Application Insights 节点包含每天最多 200 MB 的引入数据(独立于 Log Analytics 数据引入),并且数据会保留 90 天,无额外费用。As noted above, each Application Insights node includes up to 200 MB of data ingested per day (separate from Log Analytics data ingestion), with 90-day data retention at no additional cost.

备注

若要确保获取此权利,必须在企业定价计划中具有 Application Insights 资源。To ensure that you get this entitlement, you must have your Application Insights resources in the Enterprise pricing plan. 此权利仅作为节点进行应用,因此基本计划中的 Application Insights 资源不会实现任何优势。This entitlement applies only as nodes, so Application Insights resources in the Basic plan will not realize any benefit. 请注意,此权利在“功能 + 定价”边栏选项卡上显示的估计成本中不可见。Note that this entitlement will not be visible on the estimated costs shown on the Features + pricing blade.

检查定价计划和估计成本Review pricing plans and estimate costs

通过 Applicaition Insights 可以轻松了解可用的定价计划以及基于最近使用模式的可能成本。Applicaition Insights makes it easy to understand the pricing plans available and what the costs are likely be be based on recent usage patterns. 首先在 Azure 门户的 Application Insights 资源中打开“功能 + 定价”边栏选项卡:Start by opening the Features + Pricing blade in the Application Insights resource in the Azure portal:

选择“定价”。

a.a. 查看当月数据量。Review your data volume for the month. 这包括接收和保留的所有数据(在通过服务器和客户端应用以及可用性测试进行采样后)。This includes all the data received and retained (after any sampling from your server and client apps, and from availability tests.

b.b. 会单独对多步骤 Web 测试计费。A separate charge is made for multi-step web tests. (这不包括简单可用性测试,它已包括在数据量费用中。)(This doesn't include simple availability tests, which are included in the data volume charge.)

c.c. 启用企业计划。Enable the Enterprise plan.

d.d. 单击数据管理选项查看上月的数据量、设置每日上限或设置引入采样。Click through to data management options to view data volume for the last month, set a daily cap or set ingestion sampling.

Application Insights 费用将添加到 Azure 帐单。Application Insights charges are added to your Azure bill. 可以在 Azure 门户的“计费”部分或在 Azure Billing Portal(Azure 计费门户)查看 Azure 账单的详细信息。You can see details of your Azure bill on the Billing section of the Azure portal or in the Azure Billing Portal.

在侧边菜单上,选择“计费”。

数据速率Data rate

发送数据时存在三种数量限值:There are three ways in which the volume you send data is limited:

  • 采样:可以使用此机制减少从服务器和客户端应用发送的遥测量,同时最大程度减小指标失真。Sampling: This mechanism can be used reduce the amount of telemetry sent from your server and client apps, with minimal distortion of metrics. 这是你拥有的调整数据量的主要工具。This is the primary tool you have to tune the amount of data. 了解有关采样功能的详细信息。Learn more about sampling features.
  • 每日上限:从 Azure 门户创建 Application Insights 资源时,此项设置为 100 GB/天。Daily cap: When creating an Application Insights resource from the Azure portal this is set to 100 GB/day. 从 Visual Studio 创建 Application Insights 资源时,默认值很小(只有 32.3 MB/天),仅为了便于测试。The default when creating an Application Insights resource from Visual Studio, is small (only 32.3 MB/day) which is intended only to faciliate testing. 在这种情况下,可预期用户在将应用部署到生产环境之前,会提高每日上限。In this case it is intended that the user will raise the daily cap before deploying the app into production. 除非为高流量应用程序请求了更高的最大值,否则最大上限是 1000 GB/天。The maximum cap is 1000 GB/day unless you have requested a higher maximum for a high traffic application. 设置每日上限时要格外小心,因为意图应是永远不达到每日上限,因为达到了会在当天的剩余时间内丢失数据,并且无法监视应用程序。Use care when setting the daily cap, as your intent should be never to hit the daily cap, because you will then lose data for the remainder of the day and be unable to monitor your application. 若要更改它,请使用从“数据量管理”边栏选项卡链接的“每日数据量上限”边栏选项卡(参见下文)。To change it, use the Daily volume cap blade, linked from the Data Volume Management blade (see below). 请注意,某些订阅类型具有无法用于 Application Insights 的信用额度。Note that some subscription types have credit which cannot be used for Application Insights. 如果订阅有支出限制,“每日上限”边栏选项卡将提供如何去除此限制,并使每日上限提高到超过 32.3 MB/天的说明。If the subscription has a spending limit, the daily cap blade will have instructions how to remove it and enable the daily cap to be raised beyond 32.3 MB/day.
  • 限制:此项将数据速率限制为每秒 32000 个事件,取 1 分钟的平均值。Throttling: This limits the data rate to 32 k events per second, averaged over 1 minute.

如果应用超过限制速率,会发生什么情况?What happens if my app exceeds the throttling rate?

  • 每分钟会评估一次应用发送的数据量。The volume of data that your app sends is assessed every minute. 如果超出一分钟内的平均每秒速率,服务器将拒绝某些请求。If it exceeds the per-second rate averaged over the minute, the server refuses some requests. SDK 会缓冲数据,并尝试重新发送,导致数分钟内数据传输量激增。The SDK buffers the data and then tries to resend, spreading a surge out over several minutes. 如果应用连续以超出限制的速率发送数据,一些数据会被丢弃。If your app consistently sends data at above the throttling rate, some data will be dropped. (ASP.NET、Java 和 JavaScript Sdk 会尝试以这种方式重新发送;其他 SDK 可能会丢弃超出限制的数据。)如果发生超出限制的情况,会显示一个通知,警告发生了这种情况。(The ASP.NET, Java, and JavaScript SDKs try to resend in this way; other SDKs might simply drop throttled data.) If throttling occurs, you'll see a notification warning that this has happened.

如何知道我的应用正在发送的数据量?How do I know how much data my app is sending?

  • 打开“数据量管理”边栏选项卡查看每日数据量图表。Open the Data volume management blade to see the Daily data volume chart.
  • 或在“指标资源管理器”中,添加新图表并选择“数据点量”作为其指标。Or in Metrics Explorer, add a new chart and select Data point volume as its metric. 启用“分组”,并按数据类型分组。Switch on Grouping, and group by Data type.

降低数据速率To reduce your data rate

可通过以下操作降低数据量:Here are some things you can do to reduce your data volume:

  • 使用采样Use Sampling. 此技术可减少数据速率,同时不会影响指标的准确性,也不会中断在“搜索”中的相关项目之间导航的能力。This technology reduces data rate without skewing your metrics, and without disrupting the ability to navigate between related items in Search. 在服务器应用中,它会自动运行。In server apps, it operates automatically.
  • 限制可在每个页面视图中报告的 Ajax 调用数或关闭 Ajax 报告。Limit the number of Ajax calls that can be reported in every page view, or switch off Ajax reporting.
  • 通过编辑 ApplicationInsights.config 关闭不需要的集合模块。例如,用户可能认为不再需要性能计数器或依赖项数据。Switch off collection modules you don't need by editing ApplicationInsights.config. For example, you might decide that performance counters or dependency data are inessential.
  • 将遥测拆分到单独的检测密钥。Split your telemetry to separate instrumentation keys.
  • 预先聚合指标。Pre-aggregate metrics. 如果已将对 TrackMetric 的调用放在应用中,则可通过使用重载降低流量,这种重载接受对一批度量值的平均偏差和标准偏差的计算结果。If you have put calls to TrackMetric in your app, you can reduce traffic by using the overload that accepts your calculation of the average and standard deviation of a batch of measurements. 也可使用 预先聚合包Or you can use a pre-aggregating package.

管理每日最大数据量Managing the maximum daily data volume

可使用每日数据上限来限制收集的数据量,但如果达到上限,会导致当天剩余时间从应用程序发送的所有遥测丢失。You can use the daily volume cap to limit the data collected, but if the cap is met, it will result in a loss of all telemetery sent from your application for the remainder of the day. 不推荐让应用程序达到每日上限,因为达到每日上限后将无法跟踪应用程序运行状况和性能。It is not advisable to have your application to hit the daily cap since you are unable to track the health and performance of your application after it is hit.

相反,请使用采样将数据量调整到所需级别,将每日上限仅用作防止应用程序意外发送过多遥测数据量的“最后手段”。Instead, use Sampling to tune the data volume to the level you'd like, and use the daily cap only as a "last resort" in case your application starts sending much higher volumes of telemetery unexpectedly.

若要更改每日上限,请在 Application Insights 资源的“配置”部分中,依次单击“数据量管理”、“每日上限”。To change the daily cap, in the Configure section of your Application Insihgts resource, click Data volume management then Daily Cap.

调整每日遥测数据量上限

采样Sampling

采样是一种方法,可降低向应用发送遥测的速率,同时仍可在诊断搜索过程中查找相关事件,并保留正确的事件计数。Sampling is a method of reducing the rate at which telemetry is sent to your app, while still retaining the ability to find related events during diagnostic searches, and still retaining correct event counts.

采样是降低费用同时又不超出每月配额的有效方式。Sampling is an effective way to reduce charges and stay within your monthly quota. 采样算法会保留遥测的相关项,这样,当使用“搜索”时便可查找与特定异常相关的请求。The sampling algorithm retains related items of telemetry, so that, for example, when you use Search, you can find the request related to a particular exception. 该算法还保留正确计数,使用户可在指标资源管理器中看到请求率、异常率和其他计数的正确值。The algorithm also retains correct counts, so that you see the correct values in Metric Explorer for request rates, exception rates, and other counts.

有数种形式的采样。There are several forms of sampling.

  • 自适应采样是用于 ASP.NET SDK 时的默认设置,它可自动调整为应用发送的遥测量。Adaptive sampling is the default for the ASP.NET SDK, which automatically adjusts to the volume of telemetry that your app sends. 它会在 Web 应用的 SDK 中自动运行,以便减少网络上的遥测流量。It operates automatically in the SDK in your web app, so that the telemetry traffic on the network is reduced.
  • 引入采样是一种替代方法,会在应用的遥测进入 Application Insights 服务时运行。Ingestion sampling is an alternative that operates at the point where telemetry from your app enters the Application Insights service. 这种形式的采样不会影响从应用发送的遥测量,但会减少服务保留的量。It doesn't affect the volume of telemetry sent from your app, but it reduces the volume retained by the service. 可以使用这种采样来降低来自浏览器和其他 SDK 的遥测所使用的配额。You can use it to reduce the quota used up by telemetry from browsers and other SDKs.

若要设置引入采样,请在定价边栏选项卡中设置控件:To set ingestion sampling, set the control in the Pricing blade:

单击“配额和定价”边栏选项卡中的“示例”磁贴,并选择采样分数。

警告

“数据采样”边栏选项卡仅控制引入采样的值。The Data sampling blade only controls the value of ingestion sampling. 它不反映 Application Insights SDK 在应用中应用的采样速率。It doesn't reflect the sampling rate that is being applied by the Application Insights SDK in your app. 如果传入的遥测已在 SDK 处进行了采样,则不适用引入采样。If the incoming telemetry has already been sampled at the SDK, ingestion sampling is not applied.

若要查找实际采样率(无论是否已应用),请使用如下所示的分析查询To discover the actual sampling rate no matter where it has been applied, use an Analytics query such as this:

requests | where timestamp > ago(1d)
| summarize 100/avg(itemCount) by bin(timestamp, 1h) 
| render areachart 

在每个保留的记录中,itemCount 指示它表示的原始记录数,其等于 1 +(即以前已放弃的记录数)。In each retained record, itemCount indicates the number of original records that it represents, equal to 1 + the number of previous discarded records.

自动化Automation

可使用 Azure 资源管理编写脚本进行价格计划设置。You can write a script to set the price plan, using Azure Resource Management. 了解操作方法Learn how.

限制摘要Limits summary

每个应用程序(即每个检测密钥)的度量值和的事件数都具有一定限制。There are some limits on the number of metrics and events per application (that is, per instrumentation key). 限制取决于选择的定价计划Limits depend on the pricing plan that you choose.

资源Resource 默认限制Default limit 注意Note
每日的总数据量Total data per day 100 GB100 GB 可以通过设置一个上限来减少数据。You can reduce data by setting a cap. 如果需要更多,可以从门户最多将限制增加到 1,000 GB。If you need more, you can increase the limit up to 1,000 GB from the portal. 如需大于 1,000 GB 的容量,请将邮件发送到 AIDataCap@microsoft.com。For capacities greater than 1,000 GB, send mail to AIDataCap@microsoft.com.
每月免费数据量Free data per month
(基本价格计划)(Basic price plan)
1 GB1 GB 额外的数据按千兆字节收费。Additional data is charged per gigabyte.
限制Throttling 32000 个事件/秒32 k events/second 限制按分钟计量。The limit is measured over a minute.
数据保留Data retention 90 天90 days 此资源适用于搜索分析指标资源管理器This resource is for Search, Analytics, and Metrics Explorer.
可用性多步骤测试详细结果保留Availability multi-step test detailed results retention 90 天90 days 此资源提供了每个步骤的详细结果。This resource provides detailed results of each step.
最大事件大小Maximum event size 64 K64 K
属性和指标名称长度Property and metric name length 150150 请参阅类型架构See type schemas
属性值字符串长度Property value string length 8,1928,192 请参阅类型架构See type schemas
跟踪和异常消息长度Trace and exception message length 10 k10 k 请参阅类型架构See type schemas
每个应用的可用性测试计数Availability tests count per app 100100
探查器数据保留期Profiler data retention 5 天5 days
每天发送的探查器数据量Profiler data sent per day 10GB10GB

有关详细信息,请参阅关于 Application Insights 中的定价和配额For more information, see About pricing and quotas in Application Insights.

后续步骤Next steps