2016-04-20 75 views
1

我想获取Azure中虚拟机的基本指标。基本指标将包括CPU使用率,磁盘读取/写入,网络输入/输出。在Azure中监视API支持

我查看了Azure Reference,看看是否有REST API支持访问度量标准,但没有。此外,Insights REST API仅返回度量标准定义,而不是实际的度量标准。我知道有一个.NET Monitoring API可以提供我需要的数据,但我的应用程序需要一个REST API或至少一个基于Java的解决方案。

有没有使用REST API获取指标的方法?

回答

0

您可以使用Microsoft Azure Insights Library访问原始指标数据,其中包括一个统一的API,以检索Azure资源管理器中可用的所有Azure资源的监控指标和运营事件。你可以参考MSDN Library - Microsoft.Azure.Insights了解更多信息。

+0

不确定你指的是什么统一的API,但nuGet,AFAIK是基于.NET的。 NuGet是Microsoft开发平台的包管理器,包括.NET – prashant

0

根据文章Microsoft Azure Virtual Machine Monitoring with Azure Diagnostics Extension,Azure VM指标数据将存储在具有相同VM存储帐户的Azure表存储中。

所以我认为你可以尝试通过查询Azure Table Storgae来获得基本的度量数据。

希望它有帮助。

+0

这就是我现在要采用的方法。我可以使用[这里]提到的指令获取度量标准定义(https://msdn.microsoft.com/en-us/library/azure/dn931939.aspx)。 Metrics Definition包含了诸如tableEndpoint,tableName,sasToken等信息。我不确定如何使用这些信息来获取度量数据。 – prashant

+0

@prashant您可以从'tableEndpoint'和'tableInfo'查询表使用的其他信息中获取存储帐户。请参阅文章[如何使用Java中的表存储](https://azure.microsoft.com/zh-CN/documentation/articles/storage-java-how-to-use-table-storage/#how-to - 检索分区中的所有实体)来检索数据。 –

+0

我尝试使用相同的文章来获取数据。我可以使用'tableClient.listTables()'方法列出表格。但是,我不知道实体是什么样子,更具体地说是WADMetricsPT1MP10DV2S20160415实体,因此我无法创建TableQuery。我尝试使用通用的'TableQuery ',但这导致IllegalArgumentException“类的类型必须包含一个空的构造函数。”。 任何想法,我可能会出错? – prashant