mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2025-01-10 15:14:09 +00:00
lib/promscrape/discovery: properly apply the resource_group filter for Azure service discovery
Previously, this filter did not apply to virtual machine scale sets, causing all virtual machines to be discovered. This commit conditionally adds `resource_group` filter for Azure service discovery on virtual machine scale sets. Related issue: https://github.com/VictoriaMetrics/VictoriaMetrics/issues/7630.
This commit is contained in:
parent
bb99ddf957
commit
7374a8813d
3 changed files with 10 additions and 1 deletions
|
@ -27,6 +27,7 @@ See also [LTS releases](https://docs.victoriametrics.com/lts-releases/).
|
|||
|
||||
* BUGFIX: [vmagent](https://docs.victoriametrics.com/vmagent): Properly return `200 OK` HTTP status code when importing data via [Pushgateway protocol](https://docs.victoriametrics.com/#how-to-import-data-in-prometheus-exposition-format) using [multitenant URL format](https://docs.victoriametrics.com/cluster-victoriametrics/#url-format). See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3636) and [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/7571).
|
||||
* BUGFIX: [vmagent](https://docs.victoriametrics.com/vmagent): Properly set `TCP` connection timeout for `Kubernetes API server` connection for metric scrapping with `kubernetes_sd_configs`. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/7127).
|
||||
* BUGFIX: [vmagent](https://docs.victoriametrics.com/vmagent): fix the `resource_group` filter for Azure service discovery on virtual machine scale sets. Previously, this filter did not apply to virtual machine scale sets, causing all virtual machines to be discovered. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/7630).
|
||||
* BUGFIX: [vmsingle](https://docs.victoriametrics.com/single-server-victoriametrics/), `vmselect` in [VictoriaMetrics cluster](https://docs.victoriametrics.com/cluster-victoriametrics/): properly return result for binary operation `^` aka pow at query requests for `NaN` values. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/7359) for details.
|
||||
* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): fix rendering of isolated data points on the graph that are not connected to other points.
|
||||
* BUGFIX: [vmalert](https://docs.victoriametrics.com/vmalert): improve the correctness of alert [state restoration](https://docs.victoriametrics.com/vmalert/#alerts-state-on-restarts). Previously, it could result in false-positive alerts if alert was resolved shortly before vmalert restart.
|
||||
|
|
|
@ -190,9 +190,16 @@ type scaleSet struct {
|
|||
}
|
||||
|
||||
// See https://docs.microsoft.com/en-us/rest/api/compute/virtual-machine-scale-sets/list-all
|
||||
// and https://learn.microsoft.com/en-us/rest/api/compute/virtual-machine-scale-sets/list (need resourceGroup)
|
||||
func listScaleSetRefs(ac *apiConfig) ([]scaleSet, error) {
|
||||
// https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets?api-version=2022-03-01
|
||||
apiURL := "/subscriptions/" + ac.subscriptionID + "/providers/Microsoft.Compute/virtualMachineScaleSets?api-version=2022-03-01"
|
||||
apiURL := "/subscriptions/" + ac.subscriptionID
|
||||
if ac.resourceGroup != "" {
|
||||
// special case filter by resourceGroup
|
||||
// https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets?api-version=2022-03-01
|
||||
apiURL += "/resourceGroups/" + ac.resourceGroup
|
||||
}
|
||||
apiURL += "/providers/Microsoft.Compute/virtualMachineScaleSets?api-version=2022-03-01"
|
||||
var sss []scaleSet
|
||||
err := visitAllAPIObjects(ac, apiURL, func(data json.RawMessage) error {
|
||||
var ss scaleSet
|
||||
|
|
|
@ -93,6 +93,7 @@ func TestGetVirtualMachinesSuccess(t *testing.T) {
|
|||
c: c,
|
||||
apiServerHost: u.Hostname(),
|
||||
subscriptionID: "some-id",
|
||||
resourceGroup: "some-resource-group",
|
||||
refreshToken: func() (string, time.Duration, error) {
|
||||
return "auth-token", 0, nil
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue