Added fallback to default dashboard in case Prometheus is not accesible (#1302)

This commit is contained in:
Alex
2021-12-07 15:39:50 -06:00
committed by GitHub
parent 1e59f131e8
commit bf126d3a84
10 changed files with 141 additions and 65 deletions

View File

@@ -58,11 +58,12 @@ func registerAdminInfoHandlers(api *operations.ConsoleAPI) {
}
type UsageInfo struct {
Buckets int64
Objects int64
Usage int64
DisksUsage int64
Servers []*models.ServerProperties
Buckets int64
Objects int64
Usage int64
DisksUsage int64
Servers []*models.ServerProperties
EndpointNotReady bool
}
// GetAdminInfo invokes admin info and returns a parsed `UsageInfo` structure
@@ -845,7 +846,12 @@ func getAdminInfoResponse(session *models.Principal, params admin_api.AdminInfoP
}
func getUsageWidgetsForDeployment(prometheusURL string, mAdmin *madmin.AdminClient) (*models.AdminInfoResponse, *models.Error) {
if prometheusURL == "" {
prometheusNotReady := false
if prometheusURL != "" && !testPrometheusURL(prometheusURL) {
prometheusNotReady = true
}
if prometheusURL == "" || prometheusNotReady {
// create a minioClient interface implementation
// defining the client to be used
adminClient := AdminClient{Client: mAdmin}
@@ -858,10 +864,11 @@ func getUsageWidgetsForDeployment(prometheusURL string, mAdmin *madmin.AdminClie
return nil, prepareError(err)
}
sessionResp := &models.AdminInfoResponse{
Buckets: usage.Buckets,
Objects: usage.Objects,
Usage: usage.Usage,
Servers: usage.Servers,
Buckets: usage.Buckets,
Objects: usage.Objects,
Usage: usage.Usage,
Servers: usage.Servers,
PrometheusNotReady: prometheusNotReady,
}
return sessionResp, nil
}

View File

@@ -3655,6 +3655,9 @@ func init() {
"objects": {
"type": "integer"
},
"prometheusNotReady": {
"type": "boolean"
},
"servers": {
"type": "array",
"items": {
@@ -9503,6 +9506,9 @@ func init() {
"objects": {
"type": "integer"
},
"prometheusNotReady": {
"type": "boolean"
},
"servers": {
"type": "array",
"items": {