我在Azure上运行了多个Windows VM,这些Windows VM配置为收集性能计数器和事件日志。
所有这些都在Azure Portal内VM资源的“诊断设置...”中进行配置。有一个Windows Azure Diagnostics代理,可在VM上收集此数据并将其存储到存储帐户中(在Table Storage中)。
所有这些收集的数据(性能指标,指标,日志等)都没有任何保留策略,并且似乎没有任何设置方法。因此,它只会永久存储在存储帐户的表存储中。
这就是我的问题所在-这些表中现在有太多数据(在我的情况下为几个TB),并且为了保持它而花费了很多钱。而且它只会随着时间的推移而不断增加。
相关的存储帐户表如下所示:
WADMetrics*
(Windows Azure诊断指标表)WADPerformanceCountersTable
(Windows Azure诊断性能计数器表)WASWindowsEventLogsTable
(Windows Azure诊断Windows事件日志表)有什么方法可以删除这些表中的旧数据,从而不会破坏任何数据吗?甚至更好的是,是否有某种方法可以配置保留策略或对其进行设置,以使其不会永远累积下去?
有什么方法可以删除这些表中的旧数据,从而不会破坏任何数据吗?
您将需要手动执行此操作。它的工作方式是,您将首先查询需要删除的数据,然后在获取数据后将其删除。PartitionKey
存储在这些表中的实体的属性实际上表示日期/时间值(以零表示的滴答声,使其等于长度的字符串),因此您需要采用from和to日期/时间值,将它们转换为滴答声,它是一个19字符长的字符串(通过添加适当数量的零)并查询数据。在客户端获得数据后,您将把删除请求发送回表存储。
为了加快整个过程,您可以做一些事情:
PartitionKey
和RowKey
属性,因为仅需要删除这两个属性即可。不久前,我写了一篇博客文章,可能对您有所帮助:https : //gauravmantri.com/2012/02/17/effective-way-of-fetching-diagnostics-data-from-windows-azure-diagnostics-table- hint-use-partitionkey /。
甚至更好的是,是否有某种方法可以配置保留策略或对其进行设置,以使其不会永远累积下去?
不幸的是,至少到目前为止还没有。有保留设置,但仅适用于斑点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句