Documentation
¶
Index ¶
- Constants
- type AzureClients
- type AzureMonitorMetricsReceiver
- func (ammr *AzureMonitorMetricsReceiver) CheckResourceTargetsMetricsValidation() error
- func (ammr *AzureMonitorMetricsReceiver) CollectResourceTargetMetrics(target *ResourceTarget) ([]*Metric, []string, error)
- func (ammr *AzureMonitorMetricsReceiver) CreateResourceTargetsFromResourceGroupTargets() error
- func (ammr *AzureMonitorMetricsReceiver) CreateResourceTargetsFromSubscriptionTargets() error
- func (ammr *AzureMonitorMetricsReceiver) SetResourceTargetsAggregations()
- func (ammr *AzureMonitorMetricsReceiver) SetResourceTargetsMetrics() error
- func (ammr *AzureMonitorMetricsReceiver) SplitResourceTargetsMetricsByMinTimeGrain() error
- func (ammr *AzureMonitorMetricsReceiver) SplitResourceTargetsWithMoreThanMaxMetrics()
- type Metric
- type MetricDefinitionsClient
- type MetricsClient
- type Resource
- type ResourceGroupTarget
- type ResourceTarget
- type ResourcesClient
- type Targets
Constants ¶
const ( // MetricFieldTimeStamp is timeStamp metric field name. MetricFieldTimeStamp = "timeStamp" // MetricFieldTotal is total metric field name. MetricFieldTotal = "total" // MetricFieldAverage is average metric field name. MetricFieldAverage = "average" // MetricFieldCount is count metric field name. MetricFieldCount = "count" // MetricFieldMinimum is minimum metric field name. MetricFieldMinimum = "minimum" // MetricFieldMaximum is maximum metric field name. MetricFieldMaximum = "maximum" // MetricTagSubscriptionID is subscription ID metric tag name. MetricTagSubscriptionID = "subscription_id" // MetricTagResourceGroup is resource group metric tag name. MetricTagResourceGroup = "resource_group" // MetricTagResourceName is resource name metric tag name. MetricTagResourceName = "resource_name" // MetricTagNamespace is namespace metric tag name. MetricTagNamespace = "namespace" // MetricTagResourceRegion is resource region metric tag name. MetricTagResourceRegion = "resource_region" // MetricTagUnit is unit metric tag name. MetricTagUnit = "unit" )
const (
// MaxMetricsPerRequest is max metrics per request to Azure Monitor API.
MaxMetricsPerRequest = 20
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AzureClients ¶
type AzureClients struct { Ctx context.Context ResourcesClient ResourcesClient MetricDefinitionsClient MetricDefinitionsClient MetricsClient MetricsClient }
AzureClients contains all clients that communicate with Azure Monitor API.
func CreateAzureClients ¶
func CreateAzureClients(subscriptionID string, clientID string, clientSecret string, tenantID string) (*AzureClients, error)
CreateAzureClients creates Azure clients with service principal credentials
func CreateAzureClientsWithCreds ¶ added in v1.0.2
func CreateAzureClientsWithCreds(subscriptionID string, credential azcore.TokenCredential) (*AzureClients, error)
CreateAzureClientsWithCreds creates Azure clients with provided TokenCredential
type AzureMonitorMetricsReceiver ¶
type AzureMonitorMetricsReceiver struct { Targets *Targets AzureClients *AzureClients // contains filtered or unexported fields }
AzureMonitorMetricsReceiver is the receiver that gets metrics of Azure resources using Azure Monitor API.
func NewAzureMonitorMetricsReceiver ¶
func NewAzureMonitorMetricsReceiver(subscriptionID string, clientID string, clientSecret string, tenantID string, targets *Targets, azureClients *AzureClients) (*AzureMonitorMetricsReceiver, error)
NewAzureMonitorMetricsReceiver lets you create a new receiver.
func (*AzureMonitorMetricsReceiver) CheckResourceTargetsMetricsValidation ¶
func (ammr *AzureMonitorMetricsReceiver) CheckResourceTargetsMetricsValidation() error
CheckResourceTargetsMetricsValidation checks resource targets metrics validation.
func (*AzureMonitorMetricsReceiver) CollectResourceTargetMetrics ¶
func (ammr *AzureMonitorMetricsReceiver) CollectResourceTargetMetrics(target *ResourceTarget) ([]*Metric, []string, error)
CollectResourceTargetMetrics collects metrics of a resource target.
func (*AzureMonitorMetricsReceiver) CreateResourceTargetsFromResourceGroupTargets ¶
func (ammr *AzureMonitorMetricsReceiver) CreateResourceTargetsFromResourceGroupTargets() error
CreateResourceTargetsFromResourceGroupTargets creates resource targets from resource group targets.
func (*AzureMonitorMetricsReceiver) CreateResourceTargetsFromSubscriptionTargets ¶
func (ammr *AzureMonitorMetricsReceiver) CreateResourceTargetsFromSubscriptionTargets() error
CreateResourceTargetsFromSubscriptionTargets creates resource targets from subscription targets.
func (*AzureMonitorMetricsReceiver) SetResourceTargetsAggregations ¶
func (ammr *AzureMonitorMetricsReceiver) SetResourceTargetsAggregations()
SetResourceTargetsAggregations sets resource targets aggregations if their aggregations array is empty.
func (*AzureMonitorMetricsReceiver) SetResourceTargetsMetrics ¶
func (ammr *AzureMonitorMetricsReceiver) SetResourceTargetsMetrics() error
SetResourceTargetsMetrics sets resource targets metrics if their metrics array is empty.
func (*AzureMonitorMetricsReceiver) SplitResourceTargetsMetricsByMinTimeGrain ¶
func (ammr *AzureMonitorMetricsReceiver) SplitResourceTargetsMetricsByMinTimeGrain() error
SplitResourceTargetsMetricsByMinTimeGrain splits resource targets metrics by min time grain.
func (*AzureMonitorMetricsReceiver) SplitResourceTargetsWithMoreThanMaxMetrics ¶
func (ammr *AzureMonitorMetricsReceiver) SplitResourceTargetsWithMoreThanMaxMetrics()
SplitResourceTargetsWithMoreThanMaxMetrics splits resource targets with more than max metrics.
type MetricDefinitionsClient ¶
type MetricDefinitionsClient interface {
List(context.Context, string, *armmonitor.MetricDefinitionsClientListOptions) (armmonitor.MetricDefinitionsClientListResponse, error)
}
MetricDefinitionsClient is an Azure metric definitions client interface.
type MetricsClient ¶
type MetricsClient interface {
List(context.Context, string, *armmonitor.MetricsClientListOptions) (armmonitor.MetricsClientListResponse, error)
}
MetricsClient is an Azure metrics client interface.
type Resource ¶
type Resource struct {
// contains filtered or unexported fields
}
Resource describes an Azure resource by resource type.
type ResourceGroupTarget ¶
type ResourceGroupTarget struct {
// contains filtered or unexported fields
}
ResourceGroupTarget describes an Azure resource group.
func NewResourceGroupTarget ¶
func NewResourceGroupTarget(resourceGroup string, resources []*Resource) *ResourceGroupTarget
NewResourceGroupTarget lets you create a new resource group target.
type ResourceTarget ¶
ResourceTarget describes an Azure resource by resource ID.
func NewResourceTarget ¶
func NewResourceTarget(resourceID string, metrics []string, aggregations []string) *ResourceTarget
NewResourceTarget lets you create a new resource target.
type ResourcesClient ¶
type ResourcesClient interface { List(context.Context, *armresources.ClientListOptions) ([]*armresources.ClientListResponse, error) ListByResourceGroup(context.Context, string, *armresources.ClientListByResourceGroupOptions) ([]*armresources.ClientListByResourceGroupResponse, error) }
ResourcesClient is an Azure resources client interface.
type Targets ¶
type Targets struct { ResourceTargets []*ResourceTarget // contains filtered or unexported fields }
Targets contains all targets types.
func NewTargets ¶
func NewTargets(resourceTargets []*ResourceTarget, resourceGroupTargets []*ResourceGroupTarget, subscriptionTargets []*Resource) *Targets
NewTargets lets you create a new targets object.