mirror of
https://github.com/minio/minio.git
synced 2025-02-25 04:19:13 -05:00
server-info: Avoid initializing audit/log http/kafka targets (#18703)
This can cause unnecessary ServerInfo() call delay.
This commit is contained in:
parent
9d7660b409
commit
8bd4f6568b
@ -1911,7 +1911,7 @@ func getServerInfo(ctx context.Context, poolsInfoEnabled bool, r *http.Request)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
log, audit := fetchLoggerInfo()
|
log, audit := fetchLoggerInfo(ctx)
|
||||||
|
|
||||||
// Get the notification target info
|
// Get the notification target info
|
||||||
notifyTarget := fetchLambdaInfo()
|
notifyTarget := fetchLambdaInfo()
|
||||||
@ -2660,19 +2660,26 @@ func fetchKMSStatusV2(ctx context.Context) []madmin.KMS {
|
|||||||
return stats
|
return stats
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func targetStatus(ctx context.Context, h logger.Target) madmin.Status {
|
||||||
|
if h.IsOnline(ctx) {
|
||||||
|
return madmin.Status{Status: string(madmin.ItemOnline)}
|
||||||
|
}
|
||||||
|
return madmin.Status{Status: string(madmin.ItemOffline)}
|
||||||
|
}
|
||||||
|
|
||||||
// fetchLoggerDetails return log info
|
// fetchLoggerDetails return log info
|
||||||
func fetchLoggerInfo() ([]madmin.Logger, []madmin.Audit) {
|
func fetchLoggerInfo(ctx context.Context) ([]madmin.Logger, []madmin.Audit) {
|
||||||
var loggerInfo []madmin.Logger
|
var loggerInfo []madmin.Logger
|
||||||
var auditloggerInfo []madmin.Audit
|
var auditloggerInfo []madmin.Audit
|
||||||
for _, tgt := range logger.SystemTargets() {
|
for _, tgt := range logger.SystemTargets() {
|
||||||
if tgt.Endpoint() != "" {
|
if tgt.Endpoint() != "" {
|
||||||
loggerInfo = append(loggerInfo, madmin.Logger{tgt.String(): logger.TargetStatus(GlobalContext, tgt)})
|
loggerInfo = append(loggerInfo, madmin.Logger{tgt.String(): targetStatus(ctx, tgt)})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tgt := range logger.AuditTargets() {
|
for _, tgt := range logger.AuditTargets() {
|
||||||
if tgt.Endpoint() != "" {
|
if tgt.Endpoint() != "" {
|
||||||
auditloggerInfo = append(auditloggerInfo, madmin.Audit{tgt.String(): logger.TargetStatus(GlobalContext, tgt)})
|
auditloggerInfo = append(auditloggerInfo, madmin.Audit{tgt.String(): targetStatus(ctx, tgt)})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,6 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/minio/madmin-go/v3"
|
|
||||||
"github.com/minio/minio/internal/logger/target/http"
|
"github.com/minio/minio/internal/logger/target/http"
|
||||||
"github.com/minio/minio/internal/logger/target/kafka"
|
"github.com/minio/minio/internal/logger/target/kafka"
|
||||||
"github.com/minio/minio/internal/logger/target/types"
|
"github.com/minio/minio/internal/logger/target/types"
|
||||||
@ -57,18 +56,6 @@ var (
|
|||||||
consoleTgt Target
|
consoleTgt Target
|
||||||
)
|
)
|
||||||
|
|
||||||
// TargetStatus returns status of the target (online|offline)
|
|
||||||
func TargetStatus(ctx context.Context, h Target) madmin.Status {
|
|
||||||
if h.IsOnline(ctx) {
|
|
||||||
return madmin.Status{Status: string(madmin.ItemOnline)}
|
|
||||||
}
|
|
||||||
// Previous initialization had failed. Try again.
|
|
||||||
if e := h.Init(ctx); e == nil {
|
|
||||||
return madmin.Status{Status: string(madmin.ItemOnline)}
|
|
||||||
}
|
|
||||||
return madmin.Status{Status: string(madmin.ItemOffline)}
|
|
||||||
}
|
|
||||||
|
|
||||||
// SystemTargets returns active targets.
|
// SystemTargets returns active targets.
|
||||||
// Returned slice may not be modified in any way.
|
// Returned slice may not be modified in any way.
|
||||||
func SystemTargets() []Target {
|
func SystemTargets() []Target {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user