From f5ffaa8e73870265624665d5db8167f6b09a6fbb Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Tue, 5 Feb 2019 08:02:32 -0700 Subject: [PATCH] Add username password back from es to kibana config (#10553) --- libbeat/cmd/instance/beat.go | 6 +++++- libbeat/dashboards/dashboards.go | 14 +++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/libbeat/cmd/instance/beat.go b/libbeat/cmd/instance/beat.go index 6a64e10d3b08..7881199d6f2a 100644 --- a/libbeat/cmd/instance/beat.go +++ b/libbeat/cmd/instance/beat.go @@ -681,6 +681,10 @@ func (b *Beat) loadDashboards(ctx context.Context, force bool) error { } if b.Config.Dashboards.Enabled() { + var esConfig *common.Config + if b.Config.Output.Name() == "elasticsearch" { + esConfig = b.Config.Output.Config() + } var withMigration bool if b.RawConfig.HasField("migration") { @@ -716,7 +720,7 @@ func (b *Beat) loadDashboards(ctx context.Context, force bool) error { } err = dashboards.ImportDashboards(ctx, b.Info, paths.Resolve(paths.Home, ""), - kibanaConfig, b.Config.Dashboards, nil, pattern) + kibanaConfig, esConfig, b.Config.Dashboards, nil, pattern) if err != nil { return errw.Wrap(err, "Error importing Kibana dashboards") } diff --git a/libbeat/dashboards/dashboards.go b/libbeat/dashboards/dashboards.go index c1ba0ca9b1c4..f40ea8635dd0 100644 --- a/libbeat/dashboards/dashboards.go +++ b/libbeat/dashboards/dashboards.go @@ -33,7 +33,7 @@ import ( func ImportDashboards( ctx context.Context, beatInfo beat.Info, homePath string, - kibanaConfig, dashboardsConfig *common.Config, + kibanaConfig, esConfig, dashboardsConfig *common.Config, msgOutputter MessageOutputter, pattern common.MapStr, ) error { @@ -50,6 +50,18 @@ func ImportDashboards( return err } + if esConfig.Enabled() { + username, _ := esConfig.String("username", -1) + password, _ := esConfig.String("password", -1) + + if !kibanaConfig.HasField("username") && username != "" { + kibanaConfig.SetString("username", -1, username) + } + if !kibanaConfig.HasField("password") && password != "" { + kibanaConfig.SetString("password", -1, password) + } + } + if !kibanaConfig.Enabled() { return errors.New("kibana configuration missing for loading dashboards.") }