Documentation ¶
Index ¶
- Constants
- Variables
- type AzRoute
- type AzureMonitorCustomizedCloudSettings
- type AzureMonitorDimensionFilter
- type AzureMonitorJSONQuery
- type AzureMonitorQuery
- type AzureMonitorResponse
- type AzureMonitorSettings
- type AzureResponseTable
- type DatasourceInfo
- type DatasourceService
- type LogAnalyticsWorkspaceFeatures
- type LogAnalyticsWorkspaceProperties
- type LogAnalyticsWorkspaceResponse
- type LogJSONQuery
- type MetricChartDefinition
- type MetricVisualization
- type ServiceProxy
Constants ¶
const (
TimeSeries = "time_series"
)
Variables ¶
var ErrorAzureHealthCheck = errors.New("health check failed")
var (
LegendKeyFormat = regexp.MustCompile(`\{\{\s*(.+?)\s*\}\}`)
)
Functions ¶
This section is empty.
Types ¶
type AzureMonitorCustomizedCloudSettings ¶
type AzureMonitorCustomizedCloudSettings struct {
CustomizedRoutes map[string]AzRoute `json:"customizedRoutes"`
}
AzureMonitorCustomizedCloudSettings is the extended Azure Monitor settings for customized cloud
type AzureMonitorDimensionFilter ¶
type AzureMonitorDimensionFilter struct { Dimension string `json:"dimension"` Operator string `json:"operator"` Filters []string `json:"filters,omitempty"` // Deprecated: To support multiselection, filters are passed in a slice now. Also migrated in frontend. Filter *string `json:"filter,omitempty"` }
AzureMonitorDimensionFilter is the model for the frontend sent for azureMonitor metric queries like "BlobType", "eq", "*"
func (AzureMonitorDimensionFilter) ConstructFiltersString ¶
func (a AzureMonitorDimensionFilter) ConstructFiltersString() string
type AzureMonitorJSONQuery ¶
type AzureMonitorJSONQuery struct { AzureMonitor struct { ResourceURI string `json:"resourceUri"` // These are used to reconstruct a resource URI MetricNamespace string `json:"metricNamespace"` CustomNamespace string `json:"customNamespace"` MetricName string `json:"metricName"` ResourceGroup string `json:"resourceGroup"` ResourceName string `json:"resourceName"` Aggregation string `json:"aggregation"` Alias string `json:"alias"` DimensionFilters []AzureMonitorDimensionFilter `json:"dimensionFilters"` // new model TimeGrain string `json:"timeGrain"` Top string `json:"top"` AllowedTimeGrainsMs []int64 `json:"allowedTimeGrainsMs"` Dimension string `json:"dimension"` // old model DimensionFilter string `json:"dimensionFilter"` // old model Format string `json:"format"` // Deprecated, MetricNamespace should be used instead MetricDefinition string `json:"metricDefinition"` } `json:"azureMonitor"` Subscription string `json:"subscription"` }
AzureMonitorJSONQuery is the frontend JSON query model for an Azure Monitor query.
type AzureMonitorQuery ¶
type AzureMonitorQuery struct { ResourceName string ResourceURI string URL string Target string Params url.Values RefID string Alias string TimeRange backend.TimeRange }
AzureMonitorQuery is the query for all the services as they have similar queries with a url, a querystring and an alias field
type AzureMonitorResponse ¶
type AzureMonitorResponse struct { Cost int `json:"cost"` Timespan string `json:"timespan"` Interval string `json:"interval"` Value []struct { ID string `json:"id"` Type string `json:"type"` Name struct { Value string `json:"value"` LocalizedValue string `json:"localizedValue"` } `json:"name"` Unit string `json:"unit"` Timeseries []struct { Metadatavalues []struct { Name struct { Value string `json:"value"` LocalizedValue string `json:"localizedValue"` } `json:"name"` Value string `json:"value"` } `json:"metadatavalues"` Data []struct { TimeStamp time.Time `json:"timeStamp"` Average *float64 `json:"average,omitempty"` Total *float64 `json:"total,omitempty"` Count *float64 `json:"count,omitempty"` Maximum *float64 `json:"maximum,omitempty"` Minimum *float64 `json:"minimum,omitempty"` } `json:"data"` } `json:"timeseries"` } `json:"value"` Namespace string `json:"namespace"` Resourceregion string `json:"resourceregion"` }
AzureMonitorResponse is the json response from the Azure Monitor API
type AzureMonitorSettings ¶
type AzureResponseTable ¶
type AzureResponseTable struct { Name string `json:"name"` Columns []struct { Name string `json:"name"` Type string `json:"type"` } `json:"columns"` Rows [][]interface{} `json:"rows"` }
AzureResponseTable is the table format for Azure responses
type DatasourceInfo ¶
type DatasourceInfo struct { Cloud string Credentials azcredentials.AzureCredentials Settings AzureMonitorSettings Routes map[string]AzRoute Services map[string]DatasourceService JSONData map[string]interface{} DecryptedSecureJSONData map[string]string DatasourceID int64 OrgID int64 }
type DatasourceService ¶
type LogAnalyticsWorkspaceProperties ¶
type LogAnalyticsWorkspaceProperties struct { CreatedDate string `json:"createdDate"` CustomerId string `json:"customerId"` Features LogAnalyticsWorkspaceFeatures `json:"features"` }
type LogAnalyticsWorkspaceResponse ¶
type LogAnalyticsWorkspaceResponse struct { Id string `json:"id"` Location string `json:"location"` Name string `json:"name"` Properties LogAnalyticsWorkspaceProperties `json:"properties"` ProvisioningState string `json:"provisioningState"` PublicNetworkAccessForIngestion string `json:"publicNetworkAccessForIngestion"` PublicNetworkAccessForQuery string `json:"publicNetworkAccessForQuery"` RetentionInDays int `json:"retentionInDays"` }
type LogJSONQuery ¶
type LogJSONQuery struct { AzureLogAnalytics struct { Query string `json:"query"` ResultFormat string `json:"resultFormat"` Resource string `json:"resource"` // Deprecated: Queries should be migrated to use Resource instead Workspace string `json:"workspace"` } `json:"azureLogAnalytics"` }
LogJSONQuery is the frontend JSON query model for an Azure Log Analytics query.
type MetricChartDefinition ¶
type MetricChartDefinition struct { ResourceMetadata map[string]string `json:"resourceMetadata"` Name string `json:"name"` AggregationType int `json:"aggregationType"` Namespace string `json:"namespace"` MetricVisualization MetricVisualization `json:"metricVisualization"` }
MetricChartDefinition is the JSON model for a metrics chart definition
type MetricVisualization ¶
type MetricVisualization struct { DisplayName string `json:"displayName"` ResourceDisplayName string `json:"resourceDisplayName"` }
MetricVisualization is the JSON model for the visualization field of a metricChartDefinition
type ServiceProxy ¶
type ServiceProxy interface {
Do(rw http.ResponseWriter, req *http.Request, cli *http.Client) http.ResponseWriter
}