microsoft management rest azure azure-application-insights azure-resource-manager

rest - management - portal login azure



API Azure Microsoft Insights 2016-09-01 Error al recopilar métricas (2)

Puedo reproducir el problema cuando no haya "()" para los nombres de las medidas.

Supongo que usted mencionó que la URL que no funciona no corresponde a su información de error. Como mencionó 2 URL, solo el grupo de recursos y el nombre de la máquina virtual no son lo mismo excluir la hora de inicio y la hora de finalización. Intente utilizar la siguiente URL para probarla nuevamente. funciona correctamente de mi lado.

https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroup}/providers/Microsoft.Compute/virtualMachines/{machineName}/providers/microsoft.insights/metrics?$filter=(%20name.value%20eq%20''Disk%20Write%20Operations/Sec''%20or%20%20name.value%20eq%20''Percentage%20CPU''%20or%20%20name.value%20eq%20''Network%20In''%20or%20%20name.value%20eq%20''Network%20Out''%20or%20%20name.value%20eq%20''Disk%20Read%20Operations/Sec''%20or%20%20name.value%20eq%20''Disk%20Read%20Bytes''%20or%20%20name.value%20eq%20''Disk%20Write%20Bytes''%20%20)%20and%20timeGrain%20eq%20duration''PT5M''%20and%20startTime%20eq%202017-10-26T05:28:34.919Z%20and%20endTime%20eq%202017-10-26T05:33:34.919&api-version=2016-09-01

Si el uso de C # SDK es aceptable, podríamos usar Microsoft.Azure.Management.Monitor.Fluent a eso, a continuación está mi código de demostración, funciona correctamente de mi lado.

var azureTenantId = "tenant id"; var azureSecretKey = "secret key"; var azureAppId = "client id"; var subscriptionId = "subscription id"; var resourceGroup = "resource group"; var machineName = "machine name"; var serviceCreds = ApplicationTokenProvider.LoginSilentAsync(azureTenantId, azureAppId, azureSecretKey).Result; MonitorClient monitorClient = new MonitorClient(serviceCreds) { SubscriptionId = subscriptionId }; var resourceUrl = $"subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/virtualMachines/{machineName}"; var metricNames = "(name.value eq ''Disk Write Operations/Sec'' or name.value eq ''Percentage CPU'' or name.value eq ''Network In'' or name.value eq ''Network Out'' or name.value eq ''Disk Read Operations/Sec'' or name.value eq ''Disk Read Bytes'' or name.value eq ''Disk Write Bytes'')"; string timeGrain = " and timeGrain eq duration''PT5M''"; string startDate = " and startTime eq 2017-10-26T05:28:34.919Z"; string endDate = " and endTime eq 2017-10-26T05:33:34.919Z"; var odataFilterMetrics = new ODataQuery<MetricInner>( $"{metricNames}{timeGrain}{startDate}{endDate}"); var metrics = monitorClient.Metrics.ListWithHttpMessagesAsync(resourceUrl, odataFilterMetrics).Result;

Ayúdeme a comprender por qué en los últimos días Azure Microsoft Insights API 2016-09-01 muestra el siguiente error { "code": "BadRequest", "message": "only conditions of the form ''<name> eq <value>'' are allowed, where <name> = ''timeGrain'', ''startTime'', ''endTime'', ''name.value'', ''aggregationType'', ''debugRegion'' : ( name.value eq ''Disk Write Bytes'' ) and timeGrain eq duration''PT5M'' and startTime eq 2017-10-25T13:27:49.620 0000 and endTime eq 2017-10-25T13:32:49.620 0000 " } unos días funcionaba bien Viejo URL de trabajo ---> https://management.azure.com/subscriptions/452529bb-083b-411a-a5c2-30c735222/resourceGroups/Preprod2-Resource-Group/providers/Microsoft.Compute/virtualMachines/mw-mcs-test3/providers/microsoft.insights/metrics?api-version=2016-09-01&$filter=%28+name.value+eq+%27Disk+Write+Operations%2FSec%27+or++name.value+eq+%27Percentage+CPU%27+or++name.value+eq+%27Network+In%27+or++name.value+eq+%27Network+Out%27+or++name.value+eq+%27Disk+Read+Operations%2FSec%27+or++name.value+eq+%27Disk+Read+Bytes%27+or++name.value+eq+%27Disk+Write+Bytes%27++%29+and+timeGrain+eq+duration%27PT5M%27+and+startTime+eq+2017-05-26T10%3A52%3A28.475%2B0000+and+endTime+eq+2017-05-26T10%3A57%3A28.476%2B0000+ https://management.azure.com/subscriptions/452529bb-083b-411a-a5c2-30c735222/resourceGroups/Preprod2-Resource-Group/providers/Microsoft.Compute/virtualMachines/mw-mcs-test3/providers/microsoft.insights/metrics?api-version=2016-09-01&$filter=%28+name.value+eq+%27Disk+Write+Operations%2FSec%27+or++name.value+eq+%27Percentage+CPU%27+or++name.value+eq+%27Network+In%27+or++name.value+eq+%27Network+Out%27+or++name.value+eq+%27Disk+Read+Operations%2FSec%27+or++name.value+eq+%27Disk+Read+Bytes%27+or++name.value+eq+%27Disk+Write+Bytes%27++%29+and+timeGrain+eq+duration%27PT5M%27+and+startTime+eq+2017-05-26T10%3A52%3A28.475%2B0000+and+endTime+eq+2017-05-26T10%3A57%3A28.476%2B0000+

Nueva URL que no funciona ---> https://management.azure.com/subscriptions/452529bb-083b-411a-a5c2-30c735222/resourceGroups/MWatchLab-dev-kafka-bridge-oldcore-357248/providers/Microsoft.Compute/virtualMachines/dev-kafka-bridge-oldcore/providers/microsoft.insights/metrics?api-version=2016-09-01&$filter=%28+name.value+eq+%27Disk+Write+Operations%2FSec%27+or++name.value+eq+%27Percentage+CPU%27+or++name.value+eq+%27Network+In%27+or++name.value+eq+%27Network+Out%27+or++name.value+eq+%27Disk+Read+Operations%2FSec%27+or++name.value+eq+%27Disk+Read+Bytes%27+or++name.value+eq+%27Disk+Write+Bytes%27++%29+and+timeGrain+eq+duration%27PT5M%27+and+startTime+eq+2017-10-26T05%3A28%3A34.919%2B0000+and+endTime+eq+2017-10-26T05%3A33%3A34.919%2B0000+

Por favor, ayúdame a solucionar este problema, está causando grandes problemas en mi entorno de producción.


El problema era anterior +and+timeGrain+eq+duration%27PT5M%27+and+startTime+eq+2017-05-26T10%3A52%3A28.475%2B0000+and+endTime+eq+2017-05-26T10%3A57%3A28.476%2B0000+ fue compatible (es decir, en Java estaba usando SimpleDateFormat ("aaaa-MM-dd''T''HH: mm: ss.SSSZ")) pero hoy no he eliminado% 2B0000 así que solo esto funcionará +and+timeGrain+eq+duration%27PT5M%27+and+startTime+eq+2017-05-26T10%3A52%3A28.475+and+endTime+eq+2017-05-26T10%3A57%3A28.476 (entonces ahora he cambiado a SimpleDateFormat ("aaaa-MM-dd''T''HH: mm: ss.SSS"))