mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
K8s: Logging improvements (#76646)
This commit is contained in:
parent
797a3c57af
commit
ec7ed11ea1
4
go.mod
4
go.mod
@ -124,7 +124,7 @@ require (
|
||||
gopkg.in/mail.v2 v2.3.1 // @grafana/backend-platform
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // @grafana/alerting-squad-backend
|
||||
xorm.io/builder v0.3.6 // @grafana/backend-platform
|
||||
xorm.io/builder v0.3.6 // indirect; @grafana/backend-platform
|
||||
xorm.io/core v0.7.3 // @grafana/backend-platform
|
||||
xorm.io/xorm v0.8.2 // @grafana/alerting-squad-backend
|
||||
)
|
||||
@ -176,7 +176,7 @@ require (
|
||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.1-0.20191002090509-6af20e3a5340 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-msgpack v0.5.5 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // @grafana/alerting-squad
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect; @grafana/alerting-squad
|
||||
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
|
||||
github.com/hashicorp/golang-lru v0.6.0 // indirect
|
||||
github.com/hashicorp/yamux v0.1.1 // indirect
|
||||
|
2
go.sum
2
go.sum
@ -1805,8 +1805,6 @@ github.com/grafana/grafana-google-sdk-go v0.1.0 h1:LKGY8z2DSxKjYfr2flZsWgTRTZ6HG
|
||||
github.com/grafana/grafana-google-sdk-go v0.1.0/go.mod h1:Vo2TKWfDVmNTELBUM+3lkrZvFtBws0qSZdXhQxRdJrE=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.94.0/go.mod h1:3VXz4nCv6wH5SfgB3mlW39s+c+LetqSCjFj7xxPC5+M=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.114.0/go.mod h1:D7x3ah+1d4phNXpbnOaxa/osSaZlwh9/ZUnGGzegRbk=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.183.0 h1:nT8LUQHnGLiyToRjTjFVKhnWHXVfrV1EdIpXZADBrp0=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.183.0/go.mod h1:fPX9spPWEzyUg0BLTQbdXCCq7PVSJZGNVKfNpiTQUts=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.184.0 h1:1bIQZnOLqktYwaFybkghE9TmWv+gLKB4plB2wL4DCdQ=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.184.0/go.mod h1:fPX9spPWEzyUg0BLTQbdXCCq7PVSJZGNVKfNpiTQUts=
|
||||
github.com/grafana/kindsys v0.0.0-20230508162304-452481b63482 h1:1YNoeIhii4UIIQpCPU+EXidnqf449d0C3ZntAEt4KSo=
|
||||
|
@ -10,11 +10,12 @@ import (
|
||||
var _ logr.LogSink = (*logAdapter)(nil)
|
||||
|
||||
type logAdapter struct {
|
||||
log log.Logger
|
||||
level int
|
||||
log log.Logger
|
||||
}
|
||||
|
||||
func newLogAdapter() *logAdapter {
|
||||
return &logAdapter{log: log.New("k8s.apiserver")}
|
||||
func newLogAdapter(level int) *logAdapter {
|
||||
return &logAdapter{log: log.New("grafana-apiserver"), level: level}
|
||||
}
|
||||
|
||||
func (l *logAdapter) WithName(name string) logr.LogSink {
|
||||
@ -28,19 +29,21 @@ func (l *logAdapter) WithValues(keysAndValues ...any) logr.LogSink {
|
||||
}
|
||||
|
||||
func (l *logAdapter) Init(_ logr.RuntimeInfo) {
|
||||
// TODO: shrug emoji
|
||||
// we aren't using the logr library for logging, so this is a no-op
|
||||
}
|
||||
|
||||
func (l *logAdapter) Enabled(level int) bool {
|
||||
return level <= 5
|
||||
return level <= l.level
|
||||
}
|
||||
|
||||
func (l *logAdapter) Info(level int, msg string, keysAndValues ...any) {
|
||||
msg = strings.TrimSpace(msg)
|
||||
if level < 1 {
|
||||
// kubernetes uses level 0 for critical messages, so map that to Info
|
||||
if level == 0 {
|
||||
l.log.Info(msg, keysAndValues...)
|
||||
return
|
||||
}
|
||||
// every other level is mapped to Debug
|
||||
l.log.Debug(msg, keysAndValues...)
|
||||
}
|
||||
|
||||
|
@ -91,10 +91,11 @@ type RestConfigProvider interface {
|
||||
type service struct {
|
||||
*services.BasicService
|
||||
|
||||
restConfig *clientrest.Config
|
||||
etcd_servers []string
|
||||
restConfig *clientrest.Config
|
||||
etcdServers []string
|
||||
|
||||
enabled bool
|
||||
logLevel int
|
||||
dataPath string
|
||||
stopCh chan struct{}
|
||||
stoppedCh chan error
|
||||
@ -112,13 +113,14 @@ func ProvideService(
|
||||
authz authorizer.Authorizer,
|
||||
) (*service, error) {
|
||||
s := &service{
|
||||
etcd_servers: cfg.SectionWithEnvOverrides("grafana-apiserver").Key("etcd_servers").Strings(","),
|
||||
enabled: cfg.IsFeatureToggleEnabled(featuremgmt.FlagGrafanaAPIServer),
|
||||
rr: rr,
|
||||
dataPath: path.Join(cfg.DataPath, "k8s"),
|
||||
stopCh: make(chan struct{}),
|
||||
builders: []APIGroupBuilder{},
|
||||
authorizer: authz,
|
||||
logLevel: cfg.SectionWithEnvOverrides("grafana-apiserver").Key("log_level").MustInt(10),
|
||||
etcdServers: cfg.SectionWithEnvOverrides("grafana-apiserver").Key("etcd_servers").Strings(","),
|
||||
enabled: cfg.IsFeatureToggleEnabled(featuremgmt.FlagGrafanaAPIServer),
|
||||
rr: rr,
|
||||
dataPath: path.Join(cfg.DataPath, "k8s"),
|
||||
stopCh: make(chan struct{}),
|
||||
builders: []APIGroupBuilder{},
|
||||
authorizer: authz,
|
||||
}
|
||||
|
||||
// This will be used when running as a dskit service
|
||||
@ -171,15 +173,14 @@ func (s *service) RegisterAPI(builder APIGroupBuilder) {
|
||||
}
|
||||
|
||||
func (s *service) start(ctx context.Context) error {
|
||||
logger := logr.New(newLogAdapter())
|
||||
logger.V(9)
|
||||
logger := logr.New(newLogAdapter(s.logLevel))
|
||||
klog.SetLoggerWithOptions(logger, klog.ContextualLogger(true))
|
||||
|
||||
o := options.NewRecommendedOptions("", unstructured.UnstructuredJSONScheme)
|
||||
o.SecureServing.BindPort = 6443
|
||||
o.Authentication.RemoteKubeConfigFileOptional = true
|
||||
o.Authorization.RemoteKubeConfigFileOptional = true
|
||||
o.Etcd.StorageConfig.Transport.ServerList = s.etcd_servers
|
||||
o.Etcd.StorageConfig.Transport.ServerList = s.etcdServers
|
||||
|
||||
o.Admission = nil
|
||||
o.CoreAPI = nil
|
||||
|
Loading…
Reference in New Issue
Block a user