From 8d004f17bdfa186d5df0aac3c165c5bf7a22a1c3 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 27 Nov 2023 10:04:40 +0530 Subject: [PATCH 001/172] new salesforce input initial commit --- go.mod | 1 + go.sum | 2 + .../input/default-inputs/inputs_other.go | 2 + x-pack/filebeat/input/salesforce/config.go | 55 ++++ .../filebeat/input/salesforce/config_auth.go | 92 ++++++ x-pack/filebeat/input/salesforce/input.go | 275 ++++++++++++++++++ .../input/salesforce/input_manager.go | 74 +++++ x-pack/filebeat/input/salesforce/soql.go | 73 +++++ x-pack/filebeat/input/salesforce/state.go | 19 ++ x-pack/filebeat/input/salesforce/value_tpl.go | 33 +++ 10 files changed, 626 insertions(+) create mode 100644 x-pack/filebeat/input/salesforce/config.go create mode 100644 x-pack/filebeat/input/salesforce/config_auth.go create mode 100644 x-pack/filebeat/input/salesforce/input.go create mode 100644 x-pack/filebeat/input/salesforce/input_manager.go create mode 100644 x-pack/filebeat/input/salesforce/soql.go create mode 100644 x-pack/filebeat/input/salesforce/state.go create mode 100644 x-pack/filebeat/input/salesforce/value_tpl.go diff --git a/go.mod b/go.mod index 55ef8b4acc5..d68d2528b47 100644 --- a/go.mod +++ b/go.mod @@ -277,6 +277,7 @@ require ( github.com/fearful-symmetry/gomsr v0.0.1 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/form3tech-oss/jwt-go v3.2.5+incompatible // indirect + github.com/g8rswimmer/go-sfdc v2.0.1+incompatible // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect diff --git a/go.sum b/go.sum index df5741e581b..d2a4b67de69 100644 --- a/go.sum +++ b/go.sum @@ -750,6 +750,8 @@ github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2 github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= +github.com/g8rswimmer/go-sfdc v2.0.1+incompatible h1:YceU6c4QaY35dom6iUhZafuuWZq2ZZtpotB0nyvYlHY= +github.com/g8rswimmer/go-sfdc v2.0.1+incompatible/go.mod h1:Nn5s4odQdoeOBK87o+QfLtNXC1wSqMPfzo2CC9QnYI8= github.com/gabriel-vasile/mimetype v1.4.1/go.mod h1:05Vi0w3Y9c/lNvJOdmIwvrrAhX3rYhfQQCaf9VJcv7M= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= diff --git a/x-pack/filebeat/input/default-inputs/inputs_other.go b/x-pack/filebeat/input/default-inputs/inputs_other.go index d396d4635a1..fd72a252d51 100644 --- a/x-pack/filebeat/input/default-inputs/inputs_other.go +++ b/x-pack/filebeat/input/default-inputs/inputs_other.go @@ -21,6 +21,7 @@ import ( "github.com/elastic/beats/v7/x-pack/filebeat/input/httpjson" "github.com/elastic/beats/v7/x-pack/filebeat/input/lumberjack" "github.com/elastic/beats/v7/x-pack/filebeat/input/o365audit" + "github.com/elastic/beats/v7/x-pack/filebeat/input/salesforce" "github.com/elastic/beats/v7/x-pack/filebeat/input/shipper" "github.com/elastic/elastic-agent-libs/logp" ) @@ -38,6 +39,7 @@ func xpackInputs(info beat.Info, log *logp.Logger, store beater.StateStore) []v2 awss3.Plugin(store), awscloudwatch.Plugin(), lumberjack.Plugin(), + salesforce.Plugin(log, store), shipper.Plugin(log, store), } } diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go new file mode 100644 index 00000000000..2e2ee7ee198 --- /dev/null +++ b/x-pack/filebeat/input/salesforce/config.go @@ -0,0 +1,55 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package salesforce + +import ( + "fmt" + "time" +) + +type config struct { + Interval time.Duration `config:"interval" validate:"required"` + Auth *authConfig `config:"auth"` + Url string `config:"url" validate:"required"` + Soql *SoqlConfig `config:"soql"` + Query *QueryConfig `config:"query"` +} + +func (c *config) Validate() error { + if c.Url == "" { + return fmt.Errorf("no instance url was configured or detected") + } + return nil +} + +type QueryConfig struct { + Default *valueTpl `config:"default"` + Value *valueTpl `config:"value"` +} + +type SoqlConfig struct { + Query string `config:"query"` + Object string `config:"object"` + Fields []string `config:"fields"` + Where WhereTypeConfig `config:"where"` + Order OrderConfig `config:"order"` +} + +type WhereTypeConfig struct { + Or []WhereConfig `config:"or"` + And []WhereConfig `config:"and"` +} + +type WhereConfig struct { + Op string `config:"op"` + Values []interface{} `config:"values"` + Field string `config:"field"` +} + +type OrderConfig struct { + By string `config:"by"` + Ascending bool `config:"asc"` + NullFirst bool `config:"null_first"` +} diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go new file mode 100644 index 00000000000..c44b27ff7e3 --- /dev/null +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -0,0 +1,92 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package salesforce + +import ( + "context" + "errors" + "fmt" + "net/http" + + "golang.org/x/oauth2" + "golang.org/x/oauth2/clientcredentials" +) + +type authConfig struct { + OAuth2 *oAuth2Config `config:"oauth2"` +} + +type oAuth2Config struct { + Enabled *bool `config:"enabled"` + + // common oauth fields + ClientID string `config:"client.id"` + ClientSecret string `config:"client.secret"` + Password string `config:"password"` + TokenURL string `config:"token_url"` + User string `config:"user"` +} + +// IsEnabled returns true if the `enable` field is set to true in the yaml. +func (o *oAuth2Config) isEnabled() bool { + return o != nil && (o.Enabled == nil || *o.Enabled) +} + +// clientCredentialsGrant creates http client from token_url and client credentials +// held by the receiver. +func (o *oAuth2Config) clientCredentialsGrant(ctx context.Context, _ *http.Client) *http.Client { + creds := clientcredentials.Config{ + ClientID: o.ClientID, + ClientSecret: maybeString(&o.ClientSecret), + } + return creds.Client(ctx) +} + +// Client wraps the given http.Client and returns a new one that will use the oauth authentication. +func (o *oAuth2Config) client(ctx context.Context, client *http.Client) (*http.Client, error) { + ctx = context.WithValue(ctx, oauth2.HTTPClient, client) + + if o.User != "" || o.Password != "" { + conf := &oauth2.Config{ + ClientID: o.ClientID, + ClientSecret: maybeString(&o.ClientSecret), + Endpoint: oauth2.Endpoint{ + TokenURL: o.TokenURL, + AuthStyle: oauth2.AuthStyleAutoDetect, + }, + } + token, err := conf.PasswordCredentialsToken(ctx, o.User, o.Password) + if err != nil { + return nil, fmt.Errorf("oauth2 client: error loading credentials using user and password: %w", err) + } + return conf.Client(ctx, token), nil + } else { + return o.clientCredentialsGrant(ctx, client), nil + } +} + +// maybeString returns the string pointed to by p or "" if p in nil. +func maybeString(p *string) string { + if p == nil { + return "" + } + return *p +} + +// Validate checks if oauth2 config is valid. +func (o *oAuth2Config) Validate() error { + if !o.isEnabled() { + return nil + } + + if o.TokenURL == "" || o.ClientID == "" || o.ClientSecret == "" { + return errors.New("both token_url and client credentials must be provided") + } + if (o.User != "" && o.Password == "") || (o.User == "" && o.Password != "") { + return errors.New("both user and password credentials must be provided") + } + + return nil +} diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go new file mode 100644 index 00000000000..babfa892ded --- /dev/null +++ b/x-pack/filebeat/input/salesforce/input.go @@ -0,0 +1,275 @@ +package salesforce + +import ( + "bytes" + "context" + "encoding/csv" + "errors" + "fmt" + "io" + "net/http" + "sync" + "time" + + "github.com/elastic/beats/v7/filebeat/channel" + v2 "github.com/elastic/beats/v7/filebeat/input/v2" + inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" + "github.com/elastic/beats/v7/libbeat/beat" + "github.com/elastic/beats/v7/libbeat/feature" + "github.com/elastic/beats/v7/libbeat/version" + "github.com/elastic/elastic-agent-libs/logp" + "github.com/elastic/elastic-agent-libs/mapstr" + "github.com/elastic/elastic-agent-libs/useragent" + "github.com/elastic/go-concert/ctxtool" + "github.com/elastic/go-concert/timed" + "github.com/g8rswimmer/go-sfdc" + "github.com/g8rswimmer/go-sfdc/credentials" + "github.com/g8rswimmer/go-sfdc/session" + "github.com/g8rswimmer/go-sfdc/soql" +) + +const ( + inputName = "salesforce" +) + +type salesforceInput struct { + config + + time func() time.Time + + log *logp.Logger + outlet channel.Outleter // Output of received messages. + inputCtx context.Context // Wraps the Done channel from parent input.Context. + + workerCtx context.Context // Worker goroutine context. It's cancelled when the input stops or the worker exits. + workerCancel context.CancelFunc // Used to signal that the worker should stop. + workerOnce sync.Once // Guarantees that the worker goroutine is only started once. + workerWg sync.WaitGroup // Waits on worker goroutine. +} + +// The Filebeat user-agent is provided to the program as useragent. +var userAgent = useragent.UserAgent("Filebeat", version.GetDefaultVersion(), version.Commit(), version.BuildTime().String()) + +func Plugin(log *logp.Logger, store inputcursor.StateStore) v2.Plugin { + return v2.Plugin{ + Name: inputName, + Stability: feature.Stable, + Manager: NewInputManager(log, store), + } +} + +// now is time.Now with a modifiable time source. +func (s *salesforceInput) now() time.Time { + if s.time == nil { + return time.Now() + } + return s.time() +} + +func (s *salesforceInput) Name() string { return inputName } + +func (s *salesforceInput) Test(src inputcursor.Source, _ v2.TestContext) error { + return nil +} + +// Run starts the input and blocks until it ends completes. It will return on +// context cancellation or type invalidity errors, any other error will be retried. +func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inputcursor.Cursor, pub inputcursor.Publisher) error { + st := &state{} + if !cursor.IsNew() { + now := time.Now() + st.setCheckpoint(now.Format(time.RFC3339)) + } + return s.run(env, src.(*source), st, pub) +} + +func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub inputcursor.Publisher) error { + cfg := src.cfg + log := env.Logger.With("input_url", cfg.Url) + + ctx := ctxtool.FromCanceller(env.Cancelation) + + log.Info("run process every ", cfg.Interval.String()) + err := periodically(ctx, cfg.Interval, func() error { + log.Info("process repeated request") + + log.Debug("running salesforce input") + cursor.StartTime = time.Now() + + q, err := cfg.Soql.getQueryFormatter() + if err != nil { + return err + } + + passCreds := credentials.PasswordCredentials{ + URL: cfg.Url, + Username: cfg.Auth.OAuth2.User, + Password: cfg.Auth.OAuth2.Password, + ClientID: cfg.Auth.OAuth2.ClientID, + ClientSecret: cfg.Auth.OAuth2.ClientSecret, + } + + creds, err := credentials.NewPasswordCredentials(passCreds) + if err != nil { + return err + } + // Set up configuration using the credentials, the default HTTP client, and the Salesforce version. + config := &sfdc.Configuration{ + Credentials: creds, + Client: http.DefaultClient, + Version: 56, + } + // Open a session using the configuration. + session, err := session.Open(*config) + if err != nil { + log.Fatalf("error setting up session: %s\n", err) + } + // Create a new SOQL resource using the session. + soqlr, err := soql.NewResource(session) + if err != nil { + log.Fatalf("error setting up SOQL resource: %s\n", err) + } + + res, err := soqlr.Query(q, false) + if err != nil { + return err + } + + for res.Done() { + for _, rec := range res.Records() { + // Create a new HTTP client. + client := http.Client{} + // Create a GET request with the LogFile URL. + req, err := http.NewRequest(http.MethodGet, creds.URL()+rec.Record().Fields()["LogFile"].(string), nil) + if err != nil { + return err + } + + // temp := make(mapstr.M) + + // temp.Put("cursor", cursor.StartTime.Format(time.RFC3339)) + + // // tp := template.New("SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND LogDate > [[.cursor]] ORDER BY CreatedDate ASC NULLS FIRST") + + // buf := new(bytes.Buffer) + + // err = cfg.Query.Value.Execute(buf, temp) + // if err != nil { + // return err + // } + + // log.Infof("\n\n\ngenerated query from template: %s\n\n\n\n\n", buf.String()) + + // Add the session authorization header to the request. + session.AuthorizationHeader(req) + req.Header.Add("X-PrettyPrint", "1") + // Send the request and get the response. + ress, err := client.Do(req) + if err != nil { + return err + } + // Read the response body. + body, err := io.ReadAll(ress.Body) + if err != nil { + return err + } + + var r interface{} + err = decodeAsCSV(body, r) + if err != nil { + return err + } + + for _, v := range r.([]interface{}) { + event := beat.Event{ + Timestamp: time.Now(), + Fields: mapstr.M{ + "salesforce": mapstr.M{ + v.(map[string]interface{})["EVENT_TYPE"].(string): v, + }, + }, + } + + cursor.setCheckpoint(v.(map[string]interface{})["TIMESTAMP_DERIVED"].(string)) + fmt.Printf("cursor: %#+v\n", cursor) + err = pub.Publish(event, cursor) + if err != nil { + return err + } + } + + ress.Body.Close() + } + // Get the next set of records. + res, err = res.Next() + if err != nil { + return err + } + } + + return nil + }) + if err != nil { + return err + } + + return nil +} + +func periodically(ctx context.Context, each time.Duration, fn func() error) error { + err := fn() + if err != nil { + return err + } + return timed.Periodic(ctx, each, fn) +} + +type response struct { + body interface{} +} + +type textContextError struct { + error + body []byte +} + +// decodeAsCSV decodes p as a headed CSV document into dst. +func decodeAsCSV(p []byte, dst interface{}) error { + var results []interface{} + + r := csv.NewReader(bytes.NewReader(p)) + + // a header is always expected, otherwise we can't map + // values to keys in the event + header, err := r.Read() + if err != nil { + if err == io.EOF { //nolint:errorlint // csv.Reader never wraps io.EOF. + return nil + } + return err + } + + event, err := r.Read() + for ; err == nil; event, err = r.Read() { + o := make(map[string]interface{}, len(header)) + if len(header) != len(event) { + // sanity check, csv.Reader should fail on this scenario + // and this code path should be unreachable + return errors.New("malformed CSV, record does not match header length") + } + for i, h := range header { + o[h] = event[i] + } + results = append(results, o) + } + + if err != nil { + if err != io.EOF { //nolint:errorlint // csv.Reader never wraps io.EOF. + return textContextError{error: err, body: p} + } + } + + dst = results + + return nil +} diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go new file mode 100644 index 00000000000..c4cb54b87a5 --- /dev/null +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -0,0 +1,74 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package salesforce + +import ( + "fmt" + "time" + + "github.com/elastic/go-concert/unison" + + v2 "github.com/elastic/beats/v7/filebeat/input/v2" + cursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" + inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" + conf "github.com/elastic/elastic-agent-libs/config" + "github.com/elastic/elastic-agent-libs/logp" +) + +// inputManager wraps one stateless input manager +// and one cursor input manager. It will create one or the other +// based on the config that is passed. +type InputManager struct { + cursor *inputcursor.InputManager +} + +var _ v2.InputManager = InputManager{} + +func NewInputManager(log *logp.Logger, store inputcursor.StateStore) InputManager { + return InputManager{ + cursor: &inputcursor.InputManager{ + Logger: log, + StateStore: store, + Type: inputName, + Configure: cursorConfigure, + }, + } +} + +func cursorConfigure(cfg *conf.C) ([]inputcursor.Source, inputcursor.Input, error) { + config := defaultConfig() + if err := cfg.Unpack(&config); err != nil { + return nil, nil, fmt.Errorf("reading config: %w", err) + } + + var sources []cursor.Source + sources = append(sources, &source{cfg: config}) + + return sources, &salesforceInput{config: config}, nil +} + +type source struct{ cfg config } + +func (s *source) Name() string { return s.cfg.Url } + +// Init initializes both wrapped input managers. +func (m InputManager) Init(grp unison.Group, mode v2.Mode) error { + return m.cursor.Init(grp, mode) +} + +// Create creates a cursor input manager. +func (m InputManager) Create(cfg *conf.C) (v2.Input, error) { + config := defaultConfig() + if err := cfg.Unpack(&config); err != nil { + return nil, err + } + return m.cursor.Create(cfg) +} + +func defaultConfig() config { + return config{ + Interval: time.Hour, + } +} diff --git a/x-pack/filebeat/input/salesforce/soql.go b/x-pack/filebeat/input/salesforce/soql.go new file mode 100644 index 00000000000..47cf6506de1 --- /dev/null +++ b/x-pack/filebeat/input/salesforce/soql.go @@ -0,0 +1,73 @@ +package salesforce + +import ( + "github.com/g8rswimmer/go-sfdc/soql" +) + +const ( + Select = "SELECT" + From = "FROM" + Where = "WHERE" + Order = "ORDER" + Asc = "ASC" + Null = "NULL" +) + +type querier struct { + expression string +} + +func (q querier) Format() (string, error) { + return q.expression, nil +} + +func (s *SoqlConfig) getQueryFormatter() (querier, error) { + if s.Query != "" { + q := querier{ + expression: s.Query, + } + return q, nil + } + + return querier{}, nil +} + +func (s *SoqlConfig) addWhere() *soql.WhereClause { + var whereClause *soql.WhereClause + for _, where := range s.Where.And { + newWhereClause := getWhereClause(where.Field, where.Values, where.Op) + whereClause.And(newWhereClause) + } + + for _, where := range s.Where.Or { + newWhereClause := getWhereClause(where.Field, where.Values, where.Op) + whereClause.Or(newWhereClause) + whereClause.Clause() + } + + return whereClause +} + +func getWhereClause(field string, values []interface{}, op string) *soql.WhereClause { + var newWhereClause *soql.WhereClause + switch op { + case "=": + newWhereClause, _ = soql.WhereEquals(field, values) + case "!=": + newWhereClause, _ = soql.WhereNotEquals(field, values) + case ">": + newWhereClause, _ = soql.WhereGreaterThan(field, values, false) + case ">=": + newWhereClause, _ = soql.WhereGreaterThan(field, values, true) + case "<": + newWhereClause, _ = soql.WhereLessThan(field, values, false) + case "<=": + newWhereClause, _ = soql.WhereLessThan(field, values, true) + case "IN": + newWhereClause, _ = soql.WhereIn(field, values) + case "NOT IN": + newWhereClause, _ = soql.WhereNotIn(field, values) + } + + return newWhereClause +} diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go new file mode 100644 index 00000000000..1696994a42f --- /dev/null +++ b/x-pack/filebeat/input/salesforce/state.go @@ -0,0 +1,19 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package salesforce + +import ( + "time" +) + +type state struct { + StartTime time.Time `struct:"start_timestamp"` + LogTime string `struct:"timestamp"` +} + +// setCheckpoint sets checkpoint from source to current state instance +func (s *state) setCheckpoint(chkpt string) { + s.LogTime = chkpt +} diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go new file mode 100644 index 00000000000..9059713f20a --- /dev/null +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -0,0 +1,33 @@ +package salesforce + +import ( + "fmt" + "text/template" +) + +// we define custom delimiters to prevent issues when using template values as part of other Go templates. +const ( + leftDelim = "[[" + rightDelim = "]]" +) + +type valueTpl struct { + *template.Template +} + +func (t *valueTpl) Unpack(in string) error { + tpl, err := template.New(""). + Option("missingkey=error"). + Funcs(template.FuncMap{ + "sprintf": fmt.Sprintf, + }). + Delims(leftDelim, rightDelim). + Parse(in) + if err != nil { + return err + } + + *t = valueTpl{Template: tpl} + + return nil +} From dcfd937e1b9b1316d667690c0e80a6f6bef69c75 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 28 Nov 2023 02:10:19 +0530 Subject: [PATCH 002/172] Push partial changes --- go.mod | 2 +- x-pack/filebeat/input/salesforce/config.go | 39 ++--- .../filebeat/input/salesforce/config_auth.go | 11 +- x-pack/filebeat/input/salesforce/input.go | 156 ++++++++---------- .../input/salesforce/input_manager.go | 10 +- x-pack/filebeat/input/salesforce/soql.go | 68 +------- x-pack/filebeat/input/salesforce/soql_test.go | 6 + x-pack/filebeat/input/salesforce/state.go | 6 +- 8 files changed, 101 insertions(+), 197 deletions(-) create mode 100644 x-pack/filebeat/input/salesforce/soql_test.go diff --git a/go.mod b/go.mod index d68d2528b47..2c50ce415ff 100644 --- a/go.mod +++ b/go.mod @@ -209,6 +209,7 @@ require ( github.com/elastic/mito v1.6.0 github.com/elastic/toutoumomoma v0.0.0-20221026030040-594ef30cb640 github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15 + github.com/g8rswimmer/go-sfdc v2.0.1+incompatible github.com/google/cel-go v0.15.3 github.com/googleapis/gax-go/v2 v2.11.0 github.com/gorilla/handlers v1.5.1 @@ -277,7 +278,6 @@ require ( github.com/fearful-symmetry/gomsr v0.0.1 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/form3tech-oss/jwt-go v3.2.5+incompatible // indirect - github.com/g8rswimmer/go-sfdc v2.0.1+incompatible // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 2e2ee7ee198..11af2628b8d 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -5,6 +5,7 @@ package salesforce import ( + "errors" "fmt" "time" ) @@ -13,43 +14,25 @@ type config struct { Interval time.Duration `config:"interval" validate:"required"` Auth *authConfig `config:"auth"` Url string `config:"url" validate:"required"` - Soql *SoqlConfig `config:"soql"` + Version int `config:"version" validate:"required"` Query *QueryConfig `config:"query"` } func (c *config) Validate() error { - if c.Url == "" { - return fmt.Errorf("no instance url was configured or detected") + switch { + case c.Url == "": + return errors.New("no instance url was configured or detected") + case c.Interval == 0: + return fmt.Errorf("please provide a valid interval %d", c.Interval) + case c.Version <= 0: + return fmt.Errorf("please provide a valid version") } + return nil } type QueryConfig struct { + SOQL string `config:"soql"` // NOTE(SS): Only for testing purpose Default *valueTpl `config:"default"` Value *valueTpl `config:"value"` } - -type SoqlConfig struct { - Query string `config:"query"` - Object string `config:"object"` - Fields []string `config:"fields"` - Where WhereTypeConfig `config:"where"` - Order OrderConfig `config:"order"` -} - -type WhereTypeConfig struct { - Or []WhereConfig `config:"or"` - And []WhereConfig `config:"and"` -} - -type WhereConfig struct { - Op string `config:"op"` - Values []interface{} `config:"values"` - Field string `config:"field"` -} - -type OrderConfig struct { - By string `config:"by"` - Ascending bool `config:"asc"` - NullFirst bool `config:"null_first"` -} diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index c44b27ff7e3..46e6007524c 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -29,7 +29,7 @@ type oAuth2Config struct { User string `config:"user"` } -// IsEnabled returns true if the `enable` field is set to true in the yaml. +// isEnabled returns true if the `enable` field is set to true in the yaml. func (o *oAuth2Config) isEnabled() bool { return o != nil && (o.Enabled == nil || *o.Enabled) } @@ -44,7 +44,7 @@ func (o *oAuth2Config) clientCredentialsGrant(ctx context.Context, _ *http.Clien return creds.Client(ctx) } -// Client wraps the given http.Client and returns a new one that will use the oauth authentication. +// client wraps the given http.Client and returns a new one that will use the oauth authentication. func (o *oAuth2Config) client(ctx context.Context, client *http.Client) (*http.Client, error) { ctx = context.WithValue(ctx, oauth2.HTTPClient, client) @@ -57,14 +57,14 @@ func (o *oAuth2Config) client(ctx context.Context, client *http.Client) (*http.C AuthStyle: oauth2.AuthStyleAutoDetect, }, } + token, err := conf.PasswordCredentialsToken(ctx, o.User, o.Password) if err != nil { return nil, fmt.Errorf("oauth2 client: error loading credentials using user and password: %w", err) } return conf.Client(ctx, token), nil - } else { - return o.clientCredentialsGrant(ctx, client), nil } + return o.clientCredentialsGrant(ctx, client), nil } // maybeString returns the string pointed to by p or "" if p in nil. @@ -84,7 +84,8 @@ func (o *oAuth2Config) Validate() error { if o.TokenURL == "" || o.ClientID == "" || o.ClientSecret == "" { return errors.New("both token_url and client credentials must be provided") } - if (o.User != "" && o.Password == "") || (o.User == "" && o.Password != "") { + + if o.Password == "" || o.User == "" { return errors.New("both user and password credentials must be provided") } diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index babfa892ded..ebce525c632 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -4,7 +4,6 @@ import ( "bytes" "context" "encoding/csv" - "errors" "fmt" "io" "net/http" @@ -16,10 +15,8 @@ import ( inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" "github.com/elastic/beats/v7/libbeat/feature" - "github.com/elastic/beats/v7/libbeat/version" "github.com/elastic/elastic-agent-libs/logp" "github.com/elastic/elastic-agent-libs/mapstr" - "github.com/elastic/elastic-agent-libs/useragent" "github.com/elastic/go-concert/ctxtool" "github.com/elastic/go-concert/timed" "github.com/g8rswimmer/go-sfdc" @@ -28,9 +25,7 @@ import ( "github.com/g8rswimmer/go-sfdc/soql" ) -const ( - inputName = "salesforce" -) +const inputName = "salesforce" type salesforceInput struct { config @@ -47,8 +42,8 @@ type salesforceInput struct { workerWg sync.WaitGroup // Waits on worker goroutine. } -// The Filebeat user-agent is provided to the program as useragent. -var userAgent = useragent.UserAgent("Filebeat", version.GetDefaultVersion(), version.Commit(), version.BuildTime().String()) +// // The Filebeat user-agent is provided to the program as useragent. +// var userAgent = useragent.UserAgent("Filebeat", version.GetDefaultVersion(), version.Commit(), version.BuildTime().String()) func Plugin(log *logp.Logger, store inputcursor.StateStore) v2.Plugin { return v2.Plugin{ @@ -85,62 +80,54 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub inputcursor.Publisher) error { cfg := src.cfg - log := env.Logger.With("input_url", cfg.Url) + // log := env.Logger.With("input_url", cfg.Url) ctx := ctxtool.FromCanceller(env.Cancelation) - log.Info("run process every ", cfg.Interval.String()) - err := periodically(ctx, cfg.Interval, func() error { - log.Info("process repeated request") + passCreds := credentials.PasswordCredentials{ + URL: cfg.Url, + Username: cfg.Auth.OAuth2.User, + Password: cfg.Auth.OAuth2.Password, + ClientID: cfg.Auth.OAuth2.ClientID, + ClientSecret: cfg.Auth.OAuth2.ClientSecret, + } - log.Debug("running salesforce input") - cursor.StartTime = time.Now() + creds, err := credentials.NewPasswordCredentials(passCreds) + if err != nil { + return err + } - q, err := cfg.Soql.getQueryFormatter() - if err != nil { - return err - } + config := sfdc.Configuration{ + Credentials: creds, + Client: http.DefaultClient, + Version: cfg.Version, + } - passCreds := credentials.PasswordCredentials{ - URL: cfg.Url, - Username: cfg.Auth.OAuth2.User, - Password: cfg.Auth.OAuth2.Password, - ClientID: cfg.Auth.OAuth2.ClientID, - ClientSecret: cfg.Auth.OAuth2.ClientSecret, - } + query := querier{Query: cfg.Query.SOQL} - creds, err := credentials.NewPasswordCredentials(passCreds) - if err != nil { - return err - } - // Set up configuration using the credentials, the default HTTP client, and the Salesforce version. - config := &sfdc.Configuration{ - Credentials: creds, - Client: http.DefaultClient, - Version: 56, - } - // Open a session using the configuration. - session, err := session.Open(*config) + err = periodically(ctx, cfg.Interval, func() error { + cursor.StartTime = time.Now() + + // Open creates a session using the configuration. + session, err := session.Open(config) if err != nil { - log.Fatalf("error setting up session: %s\n", err) + return fmt.Errorf("error setting up salesforce session: %w", err) } + // Create a new SOQL resource using the session. soqlr, err := soql.NewResource(session) if err != nil { - log.Fatalf("error setting up SOQL resource: %s\n", err) + return fmt.Errorf("error setting up salesforce SOQL resource: %w", err) } - res, err := soqlr.Query(q, false) + res, err := soqlr.Query(query, false) if err != nil { return err } for res.Done() { for _, rec := range res.Records() { - // Create a new HTTP client. - client := http.Client{} - // Create a GET request with the LogFile URL. - req, err := http.NewRequest(http.MethodGet, creds.URL()+rec.Record().Fields()["LogFile"].(string), nil) + req, err := http.NewRequestWithContext(ctx, "GET", creds.URL()+rec.Record().Fields()["LogFile"].(string), nil) if err != nil { return err } @@ -160,60 +147,54 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in // log.Infof("\n\n\ngenerated query from template: %s\n\n\n\n\n", buf.String()) - // Add the session authorization header to the request. session.AuthorizationHeader(req) req.Header.Add("X-PrettyPrint", "1") - // Send the request and get the response. - ress, err := client.Do(req) + + resp, err := config.Client.Do(req) if err != nil { return err } - // Read the response body. - body, err := io.ReadAll(ress.Body) + + body, err := io.ReadAll(resp.Body) if err != nil { + resp.Body.Close() return err } + resp.Body.Close() - var r interface{} - err = decodeAsCSV(body, r) + recs, err := decodeAsCSV(body) if err != nil { return err } - for _, v := range r.([]interface{}) { + for _, v := range recs { + val := v.(map[string]interface{}) + event := beat.Event{ Timestamp: time.Now(), - Fields: mapstr.M{ - "salesforce": mapstr.M{ - v.(map[string]interface{})["EVENT_TYPE"].(string): v, - }, - }, + Fields: mapstr.M{"salesforce": mapstr.M{val["EVENT_TYPE"].(string): v}}, } - cursor.setCheckpoint(v.(map[string]interface{})["TIMESTAMP_DERIVED"].(string)) - fmt.Printf("cursor: %#+v\n", cursor) + cursor.setCheckpoint(val["TIMESTAMP_DERIVED"].(string)) err = pub.Publish(event, cursor) if err != nil { return err } } - - ress.Body.Close() } - // Get the next set of records. - res, err = res.Next() - if err != nil { - return err + + if res.MoreRecords() { + res, err = res.Next() + if err != nil { + return err + } } } return nil }) - if err != nil { - return err - } - return nil + return err } func periodically(ctx context.Context, each time.Duration, fn func() error) error { @@ -224,39 +205,38 @@ func periodically(ctx context.Context, each time.Duration, fn func() error) erro return timed.Periodic(ctx, each, fn) } -type response struct { - body interface{} -} - type textContextError struct { error body []byte } // decodeAsCSV decodes p as a headed CSV document into dst. -func decodeAsCSV(p []byte, dst interface{}) error { - var results []interface{} - +func decodeAsCSV(p []byte) ([]interface{}, error) { r := csv.NewReader(bytes.NewReader(p)) + r.ReuseRecord = true // to control sharing of backing array for performance + + // NOTE: + // Read sets `r.FieldsPerRecord` to the number of fields in the first record, + // so that future records must have the same field count. - // a header is always expected, otherwise we can't map - // values to keys in the event + // Header row is always expected, otherwise we can't map values to keys in + // the event. header, err := r.Read() if err != nil { if err == io.EOF { //nolint:errorlint // csv.Reader never wraps io.EOF. - return nil + return nil, nil } - return err + return nil, err } + var results []interface{} + event, err := r.Read() for ; err == nil; event, err = r.Read() { - o := make(map[string]interface{}, len(header)) - if len(header) != len(event) { - // sanity check, csv.Reader should fail on this scenario - // and this code path should be unreachable - return errors.New("malformed CSV, record does not match header length") + if err != nil { + continue } + o := make(map[string]interface{}, len(header)) for i, h := range header { o[h] = event[i] } @@ -265,11 +245,9 @@ func decodeAsCSV(p []byte, dst interface{}) error { if err != nil { if err != io.EOF { //nolint:errorlint // csv.Reader never wraps io.EOF. - return textContextError{error: err, body: p} + return nil, textContextError{error: err, body: p} } } - dst = results - - return nil + return results, nil } diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index c4cb54b87a5..054c39bbcb7 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -11,7 +11,6 @@ import ( "github.com/elastic/go-concert/unison" v2 "github.com/elastic/beats/v7/filebeat/input/v2" - cursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" @@ -42,10 +41,7 @@ func cursorConfigure(cfg *conf.C) ([]inputcursor.Source, inputcursor.Input, erro if err := cfg.Unpack(&config); err != nil { return nil, nil, fmt.Errorf("reading config: %w", err) } - - var sources []cursor.Source - sources = append(sources, &source{cfg: config}) - + sources := []inputcursor.Source{&source{cfg: config}} return sources, &salesforceInput{config: config}, nil } @@ -68,7 +64,5 @@ func (m InputManager) Create(cfg *conf.C) (v2.Input, error) { } func defaultConfig() config { - return config{ - Interval: time.Hour, - } + return config{Interval: time.Hour} } diff --git a/x-pack/filebeat/input/salesforce/soql.go b/x-pack/filebeat/input/salesforce/soql.go index 47cf6506de1..d4b474059ff 100644 --- a/x-pack/filebeat/input/salesforce/soql.go +++ b/x-pack/filebeat/input/salesforce/soql.go @@ -1,73 +1,17 @@ package salesforce import ( - "github.com/g8rswimmer/go-sfdc/soql" -) - -const ( - Select = "SELECT" - From = "FROM" - Where = "WHERE" - Order = "ORDER" - Asc = "ASC" - Null = "NULL" + "errors" + "strings" ) type querier struct { - expression string + Query string } func (q querier) Format() (string, error) { - return q.expression, nil -} - -func (s *SoqlConfig) getQueryFormatter() (querier, error) { - if s.Query != "" { - q := querier{ - expression: s.Query, - } - return q, nil - } - - return querier{}, nil -} - -func (s *SoqlConfig) addWhere() *soql.WhereClause { - var whereClause *soql.WhereClause - for _, where := range s.Where.And { - newWhereClause := getWhereClause(where.Field, where.Values, where.Op) - whereClause.And(newWhereClause) + if strings.TrimSpace(q.Query) == "" { + return "", errors.New("query is empty") } - - for _, where := range s.Where.Or { - newWhereClause := getWhereClause(where.Field, where.Values, where.Op) - whereClause.Or(newWhereClause) - whereClause.Clause() - } - - return whereClause -} - -func getWhereClause(field string, values []interface{}, op string) *soql.WhereClause { - var newWhereClause *soql.WhereClause - switch op { - case "=": - newWhereClause, _ = soql.WhereEquals(field, values) - case "!=": - newWhereClause, _ = soql.WhereNotEquals(field, values) - case ">": - newWhereClause, _ = soql.WhereGreaterThan(field, values, false) - case ">=": - newWhereClause, _ = soql.WhereGreaterThan(field, values, true) - case "<": - newWhereClause, _ = soql.WhereLessThan(field, values, false) - case "<=": - newWhereClause, _ = soql.WhereLessThan(field, values, true) - case "IN": - newWhereClause, _ = soql.WhereIn(field, values) - case "NOT IN": - newWhereClause, _ = soql.WhereNotIn(field, values) - } - - return newWhereClause + return q.Query, nil } diff --git a/x-pack/filebeat/input/salesforce/soql_test.go b/x-pack/filebeat/input/salesforce/soql_test.go new file mode 100644 index 00000000000..4a2beeecbb1 --- /dev/null +++ b/x-pack/filebeat/input/salesforce/soql_test.go @@ -0,0 +1,6 @@ +package salesforce + +import "github.com/g8rswimmer/go-sfdc/soql" + +// compile-time check if querier implements soql.QueryFormatter +var _ soql.QueryFormatter = (*querier)(nil) diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index 1696994a42f..e118a0ef61a 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -4,16 +4,14 @@ package salesforce -import ( - "time" -) +import "time" type state struct { StartTime time.Time `struct:"start_timestamp"` LogTime string `struct:"timestamp"` } -// setCheckpoint sets checkpoint from source to current state instance +// setCheckpoint sets checkpoint from source to current state instance. func (s *state) setCheckpoint(chkpt string) { s.LogTime = chkpt } From 4e133003435f80499fca2083e6c4f5f1d176015b Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 28 Nov 2023 13:57:52 +0530 Subject: [PATCH 003/172] add basic cursor implementation --- x-pack/filebeat/input/salesforce/input.go | 44 ++++++++++------------- x-pack/filebeat/input/salesforce/state.go | 9 ++--- 2 files changed, 21 insertions(+), 32 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index ebce525c632..d4047441f4e 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -72,8 +72,9 @@ func (s *salesforceInput) Test(src inputcursor.Source, _ v2.TestContext) error { func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inputcursor.Cursor, pub inputcursor.Publisher) error { st := &state{} if !cursor.IsNew() { - now := time.Now() - st.setCheckpoint(now.Format(time.RFC3339)) + if err := cursor.Unpack(&st); err != nil { + return err + } } return s.run(env, src.(*source), st, pub) } @@ -84,6 +85,16 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in ctx := ctxtool.FromCanceller(env.Cancelation) + buf := new(bytes.Buffer) + if cursor.LogDateTime != "" { + err := cfg.Query.Value.Execute(buf, cursor) + if err != nil { + return err + } + } else { + buf.WriteString(cfg.Query.Default.Root.String()) + } + passCreds := credentials.PasswordCredentials{ URL: cfg.Url, Username: cfg.Auth.OAuth2.User, @@ -111,7 +122,7 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in // Open creates a session using the configuration. session, err := session.Open(config) if err != nil { - return fmt.Errorf("error setting up salesforce session: %w", err) + return err } // Create a new SOQL resource using the session. @@ -132,21 +143,6 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in return err } - // temp := make(mapstr.M) - - // temp.Put("cursor", cursor.StartTime.Format(time.RFC3339)) - - // // tp := template.New("SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND LogDate > [[.cursor]] ORDER BY CreatedDate ASC NULLS FIRST") - - // buf := new(bytes.Buffer) - - // err = cfg.Query.Value.Execute(buf, temp) - // if err != nil { - // return err - // } - - // log.Infof("\n\n\ngenerated query from template: %s\n\n\n\n\n", buf.String()) - session.AuthorizationHeader(req) req.Header.Add("X-PrettyPrint", "1") @@ -167,15 +163,13 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in return err } - for _, v := range recs { - val := v.(map[string]interface{}) - + for _, val := range recs { event := beat.Event{ Timestamp: time.Now(), - Fields: mapstr.M{"salesforce": mapstr.M{val["EVENT_TYPE"].(string): v}}, + Fields: mapstr.M{"event": mapstr.M{"original": val}}, } - cursor.setCheckpoint(val["TIMESTAMP_DERIVED"].(string)) + cursor.LogDateTime = val["TIMESTAMP_DERIVED"].(string) err = pub.Publish(event, cursor) if err != nil { return err @@ -211,7 +205,7 @@ type textContextError struct { } // decodeAsCSV decodes p as a headed CSV document into dst. -func decodeAsCSV(p []byte) ([]interface{}, error) { +func decodeAsCSV(p []byte) ([]map[string]interface{}, error) { r := csv.NewReader(bytes.NewReader(p)) r.ReuseRecord = true // to control sharing of backing array for performance @@ -229,7 +223,7 @@ func decodeAsCSV(p []byte) ([]interface{}, error) { return nil, err } - var results []interface{} + var results []map[string]interface{} event, err := r.Read() for ; err == nil; event, err = r.Read() { diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index e118a0ef61a..15ea9791f83 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -7,11 +7,6 @@ package salesforce import "time" type state struct { - StartTime time.Time `struct:"start_timestamp"` - LogTime string `struct:"timestamp"` -} - -// setCheckpoint sets checkpoint from source to current state instance. -func (s *state) setCheckpoint(chkpt string) { - s.LogTime = chkpt + StartTime time.Time `struct:"start_timestamp"` + LogDateTime string `struct:"timestamp"` } From 27be2ba805a2c033f7b16c1ebe8ccfc93a230e13 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 29 Nov 2023 15:36:48 +0530 Subject: [PATCH 004/172] update soql query option for cursor --- x-pack/filebeat/input/salesforce/input.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index d4047441f4e..b950ee456fe 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -114,7 +114,7 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in Version: cfg.Version, } - query := querier{Query: cfg.Query.SOQL} + query := querier{Query: buf.String()} err = periodically(ctx, cfg.Interval, func() error { cursor.StartTime = time.Now() @@ -169,7 +169,12 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in Fields: mapstr.M{"event": mapstr.M{"original": val}}, } - cursor.LogDateTime = val["TIMESTAMP_DERIVED"].(string) + if timstamp, ok := val["TIMESTAMP_DERIVED"].(string); ok { + cursor.LogDateTime = timstamp + } else { + cursor.LogDateTime = time.Now().Format(time.RFC3339) + } + err = pub.Publish(event, cursor) if err != nil { return err From 3f4595d1bf7f92e05105be4080a7568ed5d540f3 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 29 Nov 2023 15:46:23 +0530 Subject: [PATCH 005/172] convert event.original to json string --- x-pack/filebeat/input/salesforce/input.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index b950ee456fe..ad2fe2a2026 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "encoding/csv" + "encoding/json" "fmt" "io" "net/http" @@ -164,9 +165,14 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in } for _, val := range recs { + jsonStrEvent, err := json.Marshal(val) + if err != nil { + return err + } + event := beat.Event{ Timestamp: time.Now(), - Fields: mapstr.M{"event": mapstr.M{"original": val}}, + Fields: mapstr.M{"event": mapstr.M{"original": jsonStrEvent}}, } if timstamp, ok := val["TIMESTAMP_DERIVED"].(string); ok { From c206e2f38f43e7ab07afaa72cefb58c9b12218fc Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 29 Nov 2023 15:54:00 +0530 Subject: [PATCH 006/172] Fix a bug --- go.mod | 2 +- x-pack/filebeat/input/salesforce/input.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 2c50ce415ff..a93dc972459 100644 --- a/go.mod +++ b/go.mod @@ -225,6 +225,7 @@ require ( go.elastic.co/apm/module/apmhttp/v2 v2.4.4 go.elastic.co/apm/v2 v2.4.4 go.mongodb.org/mongo-driver v1.5.1 + golang.org/x/exp v0.0.0-20220921023135-46d9e7742f1e google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 gopkg.in/natefinch/lumberjack.v2 v2.0.0 ) @@ -365,7 +366,6 @@ require ( go.opentelemetry.io/otel v1.19.0 // indirect go.opentelemetry.io/otel/metric v1.19.0 // indirect go.opentelemetry.io/otel/trace v1.19.0 // indirect - golang.org/x/exp v0.0.0-20220921023135-46d9e7742f1e // indirect golang.org/x/term v0.13.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index ad2fe2a2026..14f6e4c4c64 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -24,6 +24,7 @@ import ( "github.com/g8rswimmer/go-sfdc/credentials" "github.com/g8rswimmer/go-sfdc/session" "github.com/g8rswimmer/go-sfdc/soql" + "golang.org/x/exp/slices" ) const inputName = "salesforce" @@ -234,6 +235,9 @@ func decodeAsCSV(p []byte) ([]map[string]interface{}, error) { return nil, err } + // As buffer reuse is enabled, copying header is important. + header = slices.Clone(header) + var results []map[string]interface{} event, err := r.Read() From 45c216a9d8343da96ed79abfb8b645bd99806b74 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 29 Nov 2023 17:43:41 +0530 Subject: [PATCH 007/172] Fix a bug --- x-pack/filebeat/input/salesforce/input.go | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 14f6e4c4c64..7bedbe62937 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -4,7 +4,6 @@ import ( "bytes" "context" "encoding/csv" - "encoding/json" "fmt" "io" "net/http" @@ -166,17 +165,12 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in } for _, val := range recs { - jsonStrEvent, err := json.Marshal(val) - if err != nil { - return err - } - event := beat.Event{ Timestamp: time.Now(), - Fields: mapstr.M{"event": mapstr.M{"original": jsonStrEvent}}, + Fields: mapstr.M{"event": mapstr.M{"original": val}}, } - if timstamp, ok := val["TIMESTAMP_DERIVED"].(string); ok { + if timstamp, ok := val["TIMESTAMP_DERIVED"]; ok { cursor.LogDateTime = timstamp } else { cursor.LogDateTime = time.Now().Format(time.RFC3339) @@ -217,7 +211,7 @@ type textContextError struct { } // decodeAsCSV decodes p as a headed CSV document into dst. -func decodeAsCSV(p []byte) ([]map[string]interface{}, error) { +func decodeAsCSV(p []byte) ([]map[string]string, error) { r := csv.NewReader(bytes.NewReader(p)) r.ReuseRecord = true // to control sharing of backing array for performance @@ -238,14 +232,14 @@ func decodeAsCSV(p []byte) ([]map[string]interface{}, error) { // As buffer reuse is enabled, copying header is important. header = slices.Clone(header) - var results []map[string]interface{} + var results []map[string]string event, err := r.Read() for ; err == nil; event, err = r.Read() { if err != nil { continue } - o := make(map[string]interface{}, len(header)) + o := make(map[string]string, len(header)) for i, h := range header { o[h] = event[i] } From 6267574752f531b016d72738bfa25cd34bf4af47 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 30 Nov 2023 11:41:17 +0530 Subject: [PATCH 008/172] fix event.original --- x-pack/filebeat/input/salesforce/input.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 7bedbe62937..5374f2424f5 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "encoding/csv" + "encoding/json" "fmt" "io" "net/http" @@ -165,9 +166,14 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in } for _, val := range recs { + jsonStrEvent, err := json.Marshal(val) + if err != nil { + return err + } + event := beat.Event{ Timestamp: time.Now(), - Fields: mapstr.M{"event": mapstr.M{"original": val}}, + Fields: mapstr.M{"event": mapstr.M{"original": string(jsonStrEvent)}}, } if timstamp, ok := val["TIMESTAMP_DERIVED"]; ok { From 0b0647f7f2f0b133666485f42f6db2ef4f6e3d7a Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 30 Nov 2023 15:12:48 +0530 Subject: [PATCH 009/172] Fix a bug and add draft features --- x-pack/filebeat/input/salesforce/config.go | 1 - x-pack/filebeat/input/salesforce/input.go | 9 ++- x-pack/filebeat/input/salesforce/value_tpl.go | 69 +++++++++++++++++-- 3 files changed, 69 insertions(+), 10 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 11af2628b8d..06ebf7bc80d 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -32,7 +32,6 @@ func (c *config) Validate() error { } type QueryConfig struct { - SOQL string `config:"soql"` // NOTE(SS): Only for testing purpose Default *valueTpl `config:"default"` Value *valueTpl `config:"value"` } diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 5374f2424f5..75280c444f7 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -8,6 +8,7 @@ import ( "fmt" "io" "net/http" + "strings" "sync" "time" @@ -87,7 +88,7 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in ctx := ctxtool.FromCanceller(env.Cancelation) - buf := new(bytes.Buffer) + buf := new(strings.Builder) if cursor.LogDateTime != "" { err := cfg.Query.Value.Execute(buf, cursor) if err != nil { @@ -173,7 +174,11 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in event := beat.Event{ Timestamp: time.Now(), - Fields: mapstr.M{"event": mapstr.M{"original": string(jsonStrEvent)}}, + Fields: mapstr.M{ + "event": mapstr.M{ + "message": string(jsonStrEvent), + }, + }, } if timstamp, ok := val["TIMESTAMP_DERIVED"]; ok { diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index 9059713f20a..93a507bbf35 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -3,12 +3,7 @@ package salesforce import ( "fmt" "text/template" -) - -// we define custom delimiters to prevent issues when using template values as part of other Go templates. -const ( - leftDelim = "[[" - rightDelim = "]]" + "time" ) type valueTpl struct { @@ -16,10 +11,22 @@ type valueTpl struct { } func (t *valueTpl) Unpack(in string) error { + // Custom delimiters to prevent issues when using template values as part of + // other Go templates. + const ( + leftDelim = "[[" + rightDelim = "]]" + ) + tpl, err := template.New(""). Option("missingkey=error"). Funcs(template.FuncMap{ - "sprintf": fmt.Sprintf, + "sprintf": fmt.Sprintf, + "formatCurrentTimeWithDurationOffset": formatCurrentTimeWithDurationOffset, + "formatUnixTimeAsRFC3339": formatUnixTimeAsRFC3339, + "formatUnixTimeMilliAsRFC3339": formatUnixTimeMilliAsRFC3339, + "formatUnixTimeNanoAsRFC3339": formatUnixTimeNanoAsRFC3339, + "parseRFC3339Timestamp": parseRFC3339Timestamp, }). Delims(leftDelim, rightDelim). Parse(in) @@ -31,3 +38,51 @@ func (t *valueTpl) Unpack(in string) error { return nil } + +func parseRFC3339Timestamp(s string) string { + now := time.Now().UTC() + _, err := time.Parse(time.RFC3339, s) + if err != nil { + return now.Format(time.RFC3339) + } + return s +} + +func formatUnixTimeAsRFC3339(sec int64) string { + return time.Unix(sec, 0).Format(time.RFC3339) +} +func formatUnixTimeMilliAsRFC3339(ms int64) string { + return time.Unix(0, ms*1e6).Format(time.RFC3339) +} + +func formatUnixTimeNanoAsRFC3339(ns int64) string { + return time.Unix(0, ns).Format(time.RFC3339) +} + +func formatCurrentTimeWithDurationOffset(duration string) string { + now := time.Now().UTC() + + if duration == "" { + return now.Format(time.RFC3339) + } + + d, err := time.ParseDuration(duration) + if err != nil { + return now.Format(time.RFC3339) + } + + // Consume [-+]? + var neg bool + c := duration[0] + if c == '-' || c == '+' { + neg = c == '-' + } + + // Example: + // * If duration d is -1h, then now()-1h + // * If duration d is 1h, then now()+1h + if neg { + return now.Add(-d).Format(time.RFC3339) + } + return now.Add(d).Format(time.RFC3339) +} From abd13a5fb192f42462fed1564a69957a230fee9c Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 30 Nov 2023 17:23:41 +0530 Subject: [PATCH 010/172] Draft code --- x-pack/filebeat/input/salesforce/config.go | 11 ++-- x-pack/filebeat/input/salesforce/input.go | 20 +++++--- x-pack/filebeat/input/salesforce/value_tpl.go | 51 +++++++++++++++++++ 3 files changed, 70 insertions(+), 12 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 06ebf7bc80d..ef294d3971c 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -11,11 +11,12 @@ import ( ) type config struct { - Interval time.Duration `config:"interval" validate:"required"` - Auth *authConfig `config:"auth"` - Url string `config:"url" validate:"required"` - Version int `config:"version" validate:"required"` - Query *QueryConfig `config:"query"` + Interval time.Duration `config:"interval" validate:"required"` + Auth *authConfig `config:"auth"` + Url string `config:"url" validate:"required"` + Version int `config:"version" validate:"required"` + Query *QueryConfig `config:"query"` + InitialInterval time.Duration `config:"initial_interval"` } func (c *config) Validate() error { diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 75280c444f7..09dd049abad 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -8,8 +8,8 @@ import ( "fmt" "io" "net/http" - "strings" "sync" + "text/template" "time" "github.com/elastic/beats/v7/filebeat/channel" @@ -82,20 +82,26 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp return s.run(env, src.(*source), st, pub) } -func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub inputcursor.Publisher) error { +func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub inputcursor.Publisher) (err error) { cfg := src.cfg - // log := env.Logger.With("input_url", cfg.Url) + log := env.Logger.With("input_url", cfg.Url) ctx := ctxtool.FromCanceller(env.Cancelation) - buf := new(strings.Builder) + var qr string if cursor.LogDateTime != "" { - err := cfg.Query.Value.Execute(buf, cursor) + qr, err = cfg.Query.Value.Execute(mapstr.M{}, cursor, "target", nil, log) if err != nil { return err } } else { - buf.WriteString(cfg.Query.Default.Root.String()) + q := "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" + defaultTmpl := &valueTpl{template.Must(template.New("defaultQuery").Parse(q))} + data := mapstr.M{"var": mapstr.M{"initial_interval": time.Now().Add(-cfg.InitialInterval).Format(time.RFC3339)}} + qr, err = cfg.Query.Default.Execute(data, cursor, "target", defaultTmpl, log) + if err != nil { + return err + } } passCreds := credentials.PasswordCredentials{ @@ -117,7 +123,7 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in Version: cfg.Version, } - query := querier{Query: buf.String()} + query := querier{Query: qr} err = periodically(ctx, cfg.Interval, func() error { cursor.StartTime = time.Now() diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index 93a507bbf35..8653461c646 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -1,15 +1,66 @@ package salesforce import ( + "errors" "fmt" + "strings" "text/template" "time" + + "github.com/elastic/elastic-agent-libs/logp" + "github.com/elastic/elastic-agent-libs/mapstr" ) type valueTpl struct { *template.Template } +var ( + errEmptyTemplateResult = errors.New("template result is empty") + errExecuteTemplate = errors.New("template execution failed") +) + +func tryDebugTemplateValue(target, val string, log *logp.Logger) { + switch target { + case "": + // ignore filtered headers + default: + log.Debugw("evaluated template", "target", target, "value", val) + } +} + +func (t *valueTpl) Execute(data, cursor any, target string, defaultVal *valueTpl, log *logp.Logger) (val string, err error) { + fallback := func(err error) (string, error) { + if defaultVal != nil { + log.Debugf("template execution: falling back to default value for target %s. Error: %s", target, err) + return defaultVal.Execute(mapstr.M{}, mapstr.M{}, target, nil, log) + } + return "", err + } + + defer func() { + if r := recover(); r != nil { + val, err = fallback(errExecuteTemplate) + } + if err != nil { + log.Debugw("template execution failed", "target", target, "error", err) + } + tryDebugTemplateValue(target, val, log) + }() + + buf := new(strings.Builder) + + if err := t.Template.Execute(buf, data); err != nil { + return fallback(err) + } + + val = buf.String() + if val == "" { + return fallback(errEmptyTemplateResult) + } + return val, nil +} + func (t *valueTpl) Unpack(in string) error { // Custom delimiters to prevent issues when using template values as part of // other Go templates. From d9003ce3a6a9be95e44451c44d89f0a4c8260eef Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 30 Nov 2023 22:07:00 +0530 Subject: [PATCH 011/172] Fix template code --- x-pack/filebeat/input/salesforce/input.go | 19 +++++++++++----- x-pack/filebeat/input/salesforce/value_tpl.go | 22 ++++++------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 09dd049abad..fafbfbc92ef 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -89,16 +89,23 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in ctx := ctxtool.FromCanceller(env.Cancelation) var qr string + ctxTmpl := mapstr.M{ + "var": nil, + "cursor": nil, + } + if cursor.LogDateTime != "" { - qr, err = cfg.Query.Value.Execute(mapstr.M{}, cursor, "target", nil, log) + ctxTmpl["cursor"] = mapstr.M{"logdate": cursor.LogDateTime} + qr, err = cfg.Query.Value.Execute(ctxTmpl, nil, log) if err != nil { return err } } else { - q := "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" - defaultTmpl := &valueTpl{template.Must(template.New("defaultQuery").Parse(q))} - data := mapstr.M{"var": mapstr.M{"initial_interval": time.Now().Add(-cfg.InitialInterval).Format(time.RFC3339)}} - qr, err = cfg.Query.Default.Execute(data, cursor, "target", defaultTmpl, log) + defaultQuery := "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" + defaultTmpl := &valueTpl{template.Must(template.New("default").Parse(defaultQuery))} + + ctxTmpl["var"] = mapstr.M{"initial_interval": time.Now().Add(-cfg.InitialInterval).Format(time.RFC3339)} + qr, err = cfg.Query.Default.Execute(ctxTmpl, defaultTmpl, log) if err != nil { return err } @@ -123,6 +130,8 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in Version: cfg.Version, } + log.Infof("salesforce query: %s", qr) + query := querier{Query: qr} err = periodically(ctx, cfg.Interval, func() error { diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index 8653461c646..fb5c2ac6965 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -20,20 +20,12 @@ var ( errExecuteTemplate = errors.New("template execution failed") ) -func tryDebugTemplateValue(target, val string, log *logp.Logger) { - switch target { - case "": - // ignore filtered headers - default: - log.Debugw("evaluated template", "target", target, "value", val) - } -} - -func (t *valueTpl) Execute(data, cursor any, target string, defaultVal *valueTpl, log *logp.Logger) (val string, err error) { +func (t *valueTpl) Execute(data any, defaultVal *valueTpl, log *logp.Logger) (val string, err error) { fallback := func(err error) (string, error) { if defaultVal != nil { - log.Debugf("template execution: falling back to default value for target %s. Error: %s", target, err) - return defaultVal.Execute(mapstr.M{}, mapstr.M{}, target, nil, log) + log.Debugf("template execution error: %s", err) + log.Info("fallback to default template") + return defaultVal.Execute(mapstr.M{}, nil, log) } return "", err } @@ -43,14 +35,14 @@ func (t *valueTpl) Execute(data, cursor any, target string, defaultVal *valueTpl val, err = fallback(errExecuteTemplate) } if err != nil { - log.Debugw("template execution failed", "target", target, "error", err) + log.Debugf("template execution failed %s", err) } - tryDebugTemplateValue(target, val, log) }() buf := new(strings.Builder) - if err := t.Template.Execute(buf, data); err != nil { + err = t.Template.Execute(buf, data) + if err != nil { return fallback(err) } From 4c139f1f4a5cd01f133b6dda6d3ddf34f403edda Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 7 Dec 2023 12:46:22 +0530 Subject: [PATCH 012/172] - Add support of Objects based data collection - Update cursor to support custom fields from config - Update cursor implementation --- x-pack/filebeat/input/salesforce/config.go | 6 + x-pack/filebeat/input/salesforce/input.go | 293 +++++++++++++-------- x-pack/filebeat/input/salesforce/state.go | 32 ++- 3 files changed, 213 insertions(+), 118 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index ef294d3971c..2282ecc5e78 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -17,6 +17,12 @@ type config struct { Version int `config:"version" validate:"required"` Query *QueryConfig `config:"query"` InitialInterval time.Duration `config:"initial_interval"` + From string `config:"from"` + Cursor *cursorConfig `config:"cursor"` +} + +type cursorConfig struct { + Field string `config:"field"` } func (c *config) Validate() error { diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index fafbfbc92ef..f5a954443ce 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -5,14 +5,12 @@ import ( "context" "encoding/csv" "encoding/json" + "errors" "fmt" "io" "net/http" - "sync" - "text/template" "time" - "github.com/elastic/beats/v7/filebeat/channel" v2 "github.com/elastic/beats/v7/filebeat/input/v2" inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" @@ -28,21 +26,21 @@ import ( "golang.org/x/exp/slices" ) -const inputName = "salesforce" +const ( + inputName = "salesforce" + timestampFormat = "2006-01-02T15:04:05.999Z" +) type salesforceInput struct { config - time func() time.Time + ctx context.Context - log *logp.Logger - outlet channel.Outleter // Output of received messages. - inputCtx context.Context // Wraps the Done channel from parent input.Context. + publisher inputcursor.Publisher + cursor *state + sfdcConfig *sfdc.Configuration - workerCtx context.Context // Worker goroutine context. It's cancelled when the input stops or the worker exits. - workerCancel context.CancelFunc // Used to signal that the worker should stop. - workerOnce sync.Once // Guarantees that the worker goroutine is only started once. - workerWg sync.WaitGroup // Waits on worker goroutine. + log *logp.Logger } // // The Filebeat user-agent is provided to the program as useragent. @@ -56,14 +54,6 @@ func Plugin(log *logp.Logger, store inputcursor.StateStore) v2.Plugin { } } -// now is time.Now with a modifiable time source. -func (s *salesforceInput) now() time.Time { - if s.time == nil { - return time.Now() - } - return s.time() -} - func (s *salesforceInput) Name() string { return inputName } func (s *salesforceInput) Test(src inputcursor.Source, _ v2.TestContext) error { @@ -86,141 +76,210 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in cfg := src.cfg log := env.Logger.With("input_url", cfg.Url) - ctx := ctxtool.FromCanceller(env.Cancelation) + s.ctx = ctxtool.FromCanceller(env.Cancelation) + s.publisher = pub + s.cursor = cursor + s.log = log - var qr string - ctxTmpl := mapstr.M{ - "var": nil, - "cursor": nil, + s.sfdcConfig, err = getSFDCConfig(&cfg) + if err != nil { + return err } - if cursor.LogDateTime != "" { - ctxTmpl["cursor"] = mapstr.M{"logdate": cursor.LogDateTime} - qr, err = cfg.Query.Value.Execute(ctxTmpl, nil, log) - if err != nil { - return err - } - } else { - defaultQuery := "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" - defaultTmpl := &valueTpl{template.Must(template.New("default").Parse(defaultQuery))} + cursor.StartTime = time.Now() - ctxTmpl["var"] = mapstr.M{"initial_interval": time.Now().Add(-cfg.InitialInterval).Format(time.RFC3339)} - qr, err = cfg.Query.Default.Execute(ctxTmpl, defaultTmpl, log) - if err != nil { - return err - } + switch cfg.From { + case "EventLogFile": + return periodically(s.ctx, cfg.Interval, s.runEventLogFile) + case "Object": + return periodically(s.ctx, cfg.Interval, s.runObject) } - passCreds := credentials.PasswordCredentials{ - URL: cfg.Url, - Username: cfg.Auth.OAuth2.User, - Password: cfg.Auth.OAuth2.Password, - ClientID: cfg.Auth.OAuth2.ClientID, - ClientSecret: cfg.Auth.OAuth2.ClientSecret, + return errors.New("invalid from: " + cfg.From + ", supported values: EventLogFile, Object") +} + +func (s *salesforceInput) runObject() error { + qr, err := ParseCursor(&s.config, s.cursor, s.log) + if err != nil { + return err } + query := &querier{Query: qr} - creds, err := credentials.NewPasswordCredentials(passCreds) + s.log.Infof("salesforce query: %s", qr) + + // Open creates a session using the configuration. + session, err := session.Open(*s.sfdcConfig) if err != nil { return err } - config := sfdc.Configuration{ - Credentials: creds, - Client: http.DefaultClient, - Version: cfg.Version, + // Create a new SOQL resource using the session. + soqlr, err := soql.NewResource(session) + if err != nil { + return fmt.Errorf("error setting up salesforce SOQL resource: %w", err) } - log.Infof("salesforce query: %s", qr) + res, err := soqlr.Query(query, false) + if err != nil { + return err + } - query := querier{Query: qr} + totalEvents := 0 + for res.Done() { + for _, rec := range res.Records() { + val := rec.Record().Fields() + jsonStrEvent, err := json.Marshal(val) + if err != nil { + return err + } - err = periodically(ctx, cfg.Interval, func() error { - cursor.StartTime = time.Now() + if timstamp, ok := val[s.config.Cursor.Field].(string); ok { + s.cursor.LogDateTime = timstamp + } else { + s.cursor.LogDateTime = time.Now().Format(timestampFormat) + } - // Open creates a session using the configuration. - session, err := session.Open(config) - if err != nil { - return err + err = publishEvent(s.publisher, s.cursor, jsonStrEvent) + if err != nil { + return err + } + totalEvents++ } - // Create a new SOQL resource using the session. - soqlr, err := soql.NewResource(session) - if err != nil { - return fmt.Errorf("error setting up salesforce SOQL resource: %w", err) + if res.MoreRecords() { + res, err = res.Next() + if err != nil { + return err + } + } else { + break } + } + s.log.Debugf("total events: %d", totalEvents) - res, err := soqlr.Query(query, false) - if err != nil { - return err - } + return nil +} - for res.Done() { - for _, rec := range res.Records() { - req, err := http.NewRequestWithContext(ctx, "GET", creds.URL()+rec.Record().Fields()["LogFile"].(string), nil) - if err != nil { - return err - } +func (s *salesforceInput) runEventLogFile() error { + qr, err := ParseCursor(&s.config, s.cursor, s.log) + if err != nil { + return err + } + query := &querier{Query: qr} - session.AuthorizationHeader(req) - req.Header.Add("X-PrettyPrint", "1") + s.log.Infof("salesforce query: %s", qr) - resp, err := config.Client.Do(req) - if err != nil { - return err - } + // Open creates a session using the configuration. + session, err := session.Open(*s.sfdcConfig) + if err != nil { + return err + } - body, err := io.ReadAll(resp.Body) - if err != nil { - resp.Body.Close() - return err - } + // Create a new SOQL resource using the session. + soqlr, err := soql.NewResource(session) + if err != nil { + return fmt.Errorf("error setting up salesforce SOQL resource: %w", err) + } + + res, err := soqlr.Query(query, false) + if err != nil { + return err + } + + totalEvents := 0 + for res.Done() { + for _, rec := range res.Records() { + req, err := http.NewRequestWithContext(s.ctx, "GET", s.sfdcConfig.Credentials.URL()+rec.Record().Fields()["LogFile"].(string), nil) + if err != nil { + return err + } + + session.AuthorizationHeader(req) + req.Header.Add("X-PrettyPrint", "1") + + resp, err := s.sfdcConfig.Client.Do(req) + if err != nil { + return err + } + + body, err := io.ReadAll(resp.Body) + if err != nil { resp.Body.Close() + return err + } + resp.Body.Close() - recs, err := decodeAsCSV(body) + recs, err := decodeAsCSV(body) + if err != nil { + return err + } + + if timstamp, ok := rec.Record().Fields()[s.config.Cursor.Field].(string); ok { + s.cursor.LogDateTime = timstamp + } else { + s.cursor.LogDateTime = time.Now().Format(timestampFormat) + } + + for _, val := range recs { + jsonStrEvent, err := json.Marshal(val) if err != nil { return err } - for _, val := range recs { - jsonStrEvent, err := json.Marshal(val) - if err != nil { - return err - } - - event := beat.Event{ - Timestamp: time.Now(), - Fields: mapstr.M{ - "event": mapstr.M{ - "message": string(jsonStrEvent), - }, - }, - } - - if timstamp, ok := val["TIMESTAMP_DERIVED"]; ok { - cursor.LogDateTime = timstamp - } else { - cursor.LogDateTime = time.Now().Format(time.RFC3339) - } - - err = pub.Publish(event, cursor) - if err != nil { - return err - } - } - } - - if res.MoreRecords() { - res, err = res.Next() + err = publishEvent(s.publisher, s.cursor, jsonStrEvent) if err != nil { return err } + totalEvents++ } } - return nil - }) + if res.MoreRecords() { + res, err = res.Next() + if err != nil { + return err + } + } else { + break + } + } + s.log.Debugf("total events: %d", totalEvents) + + return nil +} + +func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { + passCreds := credentials.PasswordCredentials{ + URL: cfg.Url, + Username: cfg.Auth.OAuth2.User, + Password: cfg.Auth.OAuth2.Password, + ClientID: cfg.Auth.OAuth2.ClientID, + ClientSecret: cfg.Auth.OAuth2.ClientSecret, + } + + creds, err := credentials.NewPasswordCredentials(passCreds) + if err != nil { + return nil, err + } + + return &sfdc.Configuration{ + Credentials: creds, + Client: http.DefaultClient, + Version: cfg.Version, + }, nil +} + +func publishEvent(pub inputcursor.Publisher, cursor *state, jsonStrEvent []byte) error { + event := beat.Event{ + Timestamp: time.Now(), + Fields: mapstr.M{ + "event": mapstr.M{ + "message": string(jsonStrEvent), + }, + }, + } - return err + return pub.Publish(event, cursor) } func periodically(ctx context.Context, each time.Duration, fn func() error) error { diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index 15ea9791f83..0cb8596c9c2 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -4,9 +4,39 @@ package salesforce -import "time" +import ( + "time" + + "github.com/elastic/elastic-agent-libs/logp" + "github.com/elastic/elastic-agent-libs/mapstr" +) type state struct { StartTime time.Time `struct:"start_timestamp"` LogDateTime string `struct:"timestamp"` } + +func ParseCursor(cfg *config, cursor *state, log *logp.Logger) (qr string, err error) { + ctxTmpl := mapstr.M{ + "var": nil, + "cursor": nil, + } + + if cursor.LogDateTime != "" { + ctxTmpl["cursor"] = mapstr.M{"logdate": cursor.LogDateTime} + qr, err = cfg.Query.Value.Execute(ctxTmpl, nil, log) + if err != nil { + return "", err + } + } else { + defaultTmpl := cfg.Query.Default + + ctxTmpl["var"] = mapstr.M{"initial_interval": time.Now().Add(-cfg.InitialInterval).Format(time.RFC3339)} + qr, err = cfg.Query.Default.Execute(ctxTmpl, defaultTmpl, log) + if err != nil { + return "", err + } + } + + return qr, nil +} From b2ad1d00933f40f835c3c4b3fa9e6bd3b4ca6006 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 7 Dec 2023 15:58:36 +0530 Subject: [PATCH 013/172] Bump go.mod --- go.mod | 3 ++- go.sum | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a93dc972459..2df12f659d4 100644 --- a/go.mod +++ b/go.mod @@ -209,7 +209,7 @@ require ( github.com/elastic/mito v1.6.0 github.com/elastic/toutoumomoma v0.0.0-20221026030040-594ef30cb640 github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15 - github.com/g8rswimmer/go-sfdc v2.0.1+incompatible + github.com/g8rswimmer/go-sfdc v2.0.2-0.20201201191151-3190c381b3e1+incompatible github.com/google/cel-go v0.15.3 github.com/googleapis/gax-go/v2 v2.11.0 github.com/gorilla/handlers v1.5.1 @@ -269,6 +269,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/dgraph-io/ristretto v0.1.0 // indirect + github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect github.com/dnephin/pflag v1.0.7 // indirect github.com/docker/go-metrics v0.0.1 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect diff --git a/go.sum b/go.sum index d2a4b67de69..02cec047d82 100644 --- a/go.sum +++ b/go.sum @@ -577,6 +577,7 @@ github.com/devigned/tab v0.1.2-0.20190607222403-0c15cf42f9a2/go.mod h1:XG9mPq0dF github.com/dgraph-io/badger/v3 v3.2103.1 h1:zaX53IRg7ycxVlkd5pYdCeFp1FynD6qBGQoQql3R3Hk= github.com/dgraph-io/badger/v3 v3.2103.1/go.mod h1:dULbq6ehJ5K0cGW/1TQ9iSfUk0gbSiToDWmWmTsJ53E= github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1/go.mod h1:+hnT3ywWDTAFrW5aE+u2Sa/wT555ZqwoCS+pk3p6ry4= github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= @@ -750,8 +751,8 @@ github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2 github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= -github.com/g8rswimmer/go-sfdc v2.0.1+incompatible h1:YceU6c4QaY35dom6iUhZafuuWZq2ZZtpotB0nyvYlHY= -github.com/g8rswimmer/go-sfdc v2.0.1+incompatible/go.mod h1:Nn5s4odQdoeOBK87o+QfLtNXC1wSqMPfzo2CC9QnYI8= +github.com/g8rswimmer/go-sfdc v2.0.2-0.20201201191151-3190c381b3e1+incompatible h1:gAIccXkY5stBInqFbv9vgelvvAmHHki1jtpjHpdrqf8= +github.com/g8rswimmer/go-sfdc v2.0.2-0.20201201191151-3190c381b3e1+incompatible/go.mod h1:Nn5s4odQdoeOBK87o+QfLtNXC1wSqMPfzo2CC9QnYI8= github.com/gabriel-vasile/mimetype v1.4.1/go.mod h1:05Vi0w3Y9c/lNvJOdmIwvrrAhX3rYhfQQCaf9VJcv7M= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= From ad2debd69e7088f595b8396305be5c1bebfefede Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 7 Dec 2023 16:51:56 +0530 Subject: [PATCH 014/172] Make linter happy --- x-pack/filebeat/input/salesforce/config.go | 4 +- .../filebeat/input/salesforce/config_auth.go | 47 ------------------- x-pack/filebeat/input/salesforce/input.go | 38 +++++++-------- .../input/salesforce/input_manager.go | 2 +- x-pack/filebeat/input/salesforce/state.go | 14 +++--- x-pack/filebeat/input/salesforce/value_tpl.go | 2 + 6 files changed, 31 insertions(+), 76 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 2282ecc5e78..9f5b7028d72 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -13,7 +13,7 @@ import ( type config struct { Interval time.Duration `config:"interval" validate:"required"` Auth *authConfig `config:"auth"` - Url string `config:"url" validate:"required"` + URL string `config:"url" validate:"required"` Version int `config:"version" validate:"required"` Query *QueryConfig `config:"query"` InitialInterval time.Duration `config:"initial_interval"` @@ -27,7 +27,7 @@ type cursorConfig struct { func (c *config) Validate() error { switch { - case c.Url == "": + case c.URL == "": return errors.New("no instance url was configured or detected") case c.Interval == 0: return fmt.Errorf("please provide a valid interval %d", c.Interval) diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index 46e6007524c..1320cfd20ef 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -5,13 +5,7 @@ package salesforce import ( - "context" "errors" - "fmt" - "net/http" - - "golang.org/x/oauth2" - "golang.org/x/oauth2/clientcredentials" ) type authConfig struct { @@ -34,47 +28,6 @@ func (o *oAuth2Config) isEnabled() bool { return o != nil && (o.Enabled == nil || *o.Enabled) } -// clientCredentialsGrant creates http client from token_url and client credentials -// held by the receiver. -func (o *oAuth2Config) clientCredentialsGrant(ctx context.Context, _ *http.Client) *http.Client { - creds := clientcredentials.Config{ - ClientID: o.ClientID, - ClientSecret: maybeString(&o.ClientSecret), - } - return creds.Client(ctx) -} - -// client wraps the given http.Client and returns a new one that will use the oauth authentication. -func (o *oAuth2Config) client(ctx context.Context, client *http.Client) (*http.Client, error) { - ctx = context.WithValue(ctx, oauth2.HTTPClient, client) - - if o.User != "" || o.Password != "" { - conf := &oauth2.Config{ - ClientID: o.ClientID, - ClientSecret: maybeString(&o.ClientSecret), - Endpoint: oauth2.Endpoint{ - TokenURL: o.TokenURL, - AuthStyle: oauth2.AuthStyleAutoDetect, - }, - } - - token, err := conf.PasswordCredentialsToken(ctx, o.User, o.Password) - if err != nil { - return nil, fmt.Errorf("oauth2 client: error loading credentials using user and password: %w", err) - } - return conf.Client(ctx, token), nil - } - return o.clientCredentialsGrant(ctx, client), nil -} - -// maybeString returns the string pointed to by p or "" if p in nil. -func maybeString(p *string) string { - if p == nil { - return "" - } - return *p -} - // Validate checks if oauth2 config is valid. func (o *oAuth2Config) Validate() error { if !o.isEnabled() { diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index f5a954443ce..20e3d04473c 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -11,6 +11,12 @@ import ( "net/http" "time" + "github.com/g8rswimmer/go-sfdc" + "github.com/g8rswimmer/go-sfdc/credentials" + "github.com/g8rswimmer/go-sfdc/session" + "github.com/g8rswimmer/go-sfdc/soql" + "golang.org/x/exp/slices" + v2 "github.com/elastic/beats/v7/filebeat/input/v2" inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" @@ -19,28 +25,20 @@ import ( "github.com/elastic/elastic-agent-libs/mapstr" "github.com/elastic/go-concert/ctxtool" "github.com/elastic/go-concert/timed" - "github.com/g8rswimmer/go-sfdc" - "github.com/g8rswimmer/go-sfdc/credentials" - "github.com/g8rswimmer/go-sfdc/session" - "github.com/g8rswimmer/go-sfdc/soql" - "golang.org/x/exp/slices" ) const ( - inputName = "salesforce" - timestampFormat = "2006-01-02T15:04:05.999Z" + inputName = "salesforce" + formatRFC3339Like = "2006-01-02T15:04:05.999Z" ) type salesforceInput struct { config - - ctx context.Context - + ctx context.Context publisher inputcursor.Publisher cursor *state sfdcConfig *sfdc.Configuration - - log *logp.Logger + log *logp.Logger } // // The Filebeat user-agent is provided to the program as useragent. @@ -56,7 +54,7 @@ func Plugin(log *logp.Logger, store inputcursor.StateStore) v2.Plugin { func (s *salesforceInput) Name() string { return inputName } -func (s *salesforceInput) Test(src inputcursor.Source, _ v2.TestContext) error { +func (s *salesforceInput) Test(_ inputcursor.Source, _ v2.TestContext) error { return nil } @@ -74,7 +72,7 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub inputcursor.Publisher) (err error) { cfg := src.cfg - log := env.Logger.With("input_url", cfg.Url) + log := env.Logger.With("input_url", cfg.URL) s.ctx = ctxtool.FromCanceller(env.Cancelation) s.publisher = pub @@ -103,6 +101,7 @@ func (s *salesforceInput) runObject() error { if err != nil { return err } + query := &querier{Query: qr} s.log.Infof("salesforce query: %s", qr) @@ -128,6 +127,7 @@ func (s *salesforceInput) runObject() error { for res.Done() { for _, rec := range res.Records() { val := rec.Record().Fields() + jsonStrEvent, err := json.Marshal(val) if err != nil { return err @@ -136,7 +136,7 @@ func (s *salesforceInput) runObject() error { if timstamp, ok := val[s.config.Cursor.Field].(string); ok { s.cursor.LogDateTime = timstamp } else { - s.cursor.LogDateTime = time.Now().Format(timestampFormat) + s.cursor.LogDateTime = time.Now().Format(formatRFC3339Like) } err = publishEvent(s.publisher, s.cursor, jsonStrEvent) @@ -165,6 +165,7 @@ func (s *salesforceInput) runEventLogFile() error { if err != nil { return err } + query := &querier{Query: qr} s.log.Infof("salesforce query: %s", qr) @@ -217,7 +218,7 @@ func (s *salesforceInput) runEventLogFile() error { if timstamp, ok := rec.Record().Fields()[s.config.Cursor.Field].(string); ok { s.cursor.LogDateTime = timstamp } else { - s.cursor.LogDateTime = time.Now().Format(timestampFormat) + s.cursor.LogDateTime = time.Now().Format(formatRFC3339Like) } for _, val := range recs { @@ -250,7 +251,7 @@ func (s *salesforceInput) runEventLogFile() error { func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { passCreds := credentials.PasswordCredentials{ - URL: cfg.Url, + URL: cfg.URL, Username: cfg.Auth.OAuth2.User, Password: cfg.Auth.OAuth2.Password, ClientID: cfg.Auth.OAuth2.ClientID, @@ -283,8 +284,7 @@ func publishEvent(pub inputcursor.Publisher, cursor *state, jsonStrEvent []byte) } func periodically(ctx context.Context, each time.Duration, fn func() error) error { - err := fn() - if err != nil { + if err := fn(); err != nil { return err } return timed.Periodic(ctx, each, fn) diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index 054c39bbcb7..8698c3edfb1 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -47,7 +47,7 @@ func cursorConfigure(cfg *conf.C) ([]inputcursor.Source, inputcursor.Input, erro type source struct{ cfg config } -func (s *source) Name() string { return s.cfg.Url } +func (s *source) Name() string { return s.cfg.URL } // Init initializes both wrapped input managers. func (m InputManager) Init(grp unison.Group, mode v2.Mode) error { diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index 0cb8596c9c2..8bcceb88d26 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -28,14 +28,14 @@ func ParseCursor(cfg *config, cursor *state, log *logp.Logger) (qr string, err e if err != nil { return "", err } - } else { - defaultTmpl := cfg.Query.Default + return qr, nil + } - ctxTmpl["var"] = mapstr.M{"initial_interval": time.Now().Add(-cfg.InitialInterval).Format(time.RFC3339)} - qr, err = cfg.Query.Default.Execute(ctxTmpl, defaultTmpl, log) - if err != nil { - return "", err - } + defaultTmpl := cfg.Query.Default + ctxTmpl["var"] = mapstr.M{"initial_interval": time.Now().Add(-cfg.InitialInterval).Format(time.RFC3339)} + qr, err = cfg.Query.Default.Execute(ctxTmpl, defaultTmpl, log) + if err != nil { + return "", err } return qr, nil diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index fb5c2ac6965..24c1849921e 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -94,6 +94,7 @@ func parseRFC3339Timestamp(s string) string { func formatUnixTimeAsRFC3339(sec int64) string { return time.Unix(sec, 0).Format(time.RFC3339) } + func formatUnixTimeMilliAsRFC3339(ms int64) string { return time.Unix(0, ms*1e6).Format(time.RFC3339) } @@ -116,6 +117,7 @@ func formatCurrentTimeWithDurationOffset(duration string) string { // Consume [-+]? var neg bool + c := duration[0] if c == '-' || c == '+' { neg = c == '-' From ad877d544f6feecd9129edee170e5fbe575cae1e Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 11 Dec 2023 14:41:36 +0530 Subject: [PATCH 015/172] Deduplicate code and more --- x-pack/filebeat/input/salesforce/config.go | 21 +++++- x-pack/filebeat/input/salesforce/input.go | 69 +++++++++++-------- .../input/salesforce/input_manager.go | 6 +- .../input/salesforce/input_manager_test.go | 6 ++ x-pack/filebeat/input/salesforce/state.go | 5 +- 5 files changed, 68 insertions(+), 39 deletions(-) create mode 100644 x-pack/filebeat/input/salesforce/input_manager_test.go diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 9f5b7028d72..93330f0d755 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -31,8 +31,25 @@ func (c *config) Validate() error { return errors.New("no instance url was configured or detected") case c.Interval == 0: return fmt.Errorf("please provide a valid interval %d", c.Interval) - case c.Version <= 0: - return fmt.Errorf("please provide a valid version") + case c.Version < 46: + // * EventLogFile object is available in API version 32.0 or later + // * SetupAuditTrail object is available in API version 15.0 or later + // * Real-Time Event monitoring objects that were introduced as part of + // the beta release in API version 46.0 + // + // To keep things simple, only one version is entertained i.e., the + // minimum version supported by all objects for which we have support for. + // + // min_vesion_support_all[32.0, 15.0, 46.0] = 46.0 + // + // (objects like EventLogFile, SetupAuditTrail and Real-time monitoring + // objects are available in v46.0) + + // References: + // https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm + // https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_setupaudittrail.htm + // https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_objects_monitoring.htm + return fmt.Errorf("please provide a valid version i.e., 46.0 or above") } return nil diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 20e3d04473c..b8a8ac009cc 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -39,6 +39,8 @@ type salesforceInput struct { cursor *state sfdcConfig *sfdc.Configuration log *logp.Logger + + clientSession *session.Session } // // The Filebeat user-agent is provided to the program as useragent. @@ -88,34 +90,53 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in switch cfg.From { case "EventLogFile": - return periodically(s.ctx, cfg.Interval, s.runEventLogFile) + return periodically(s.ctx, cfg.Interval, s.RunEventLogFile) case "Object": - return periodically(s.ctx, cfg.Interval, s.runObject) + return periodically(s.ctx, cfg.Interval, s.RunObject) } return errors.New("invalid from: " + cfg.From + ", supported values: EventLogFile, Object") } -func (s *salesforceInput) runObject() error { - qr, err := ParseCursor(&s.config, s.cursor, s.log) +func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { + // Open creates a session using the configuration. + session, err := session.Open(*s.sfdcConfig) if err != nil { - return err + return nil, err } - query := &querier{Query: qr} + // set clientSession for re-use (EventLogFile) + s.clientSession = session - s.log.Infof("salesforce query: %s", qr) + // Create a new SOQL resource using the session. + soqlr, err := soql.NewResource(session) + if err != nil { + return nil, fmt.Errorf("error setting up salesforce SOQL resource: %w", err) + } + return soqlr, nil +} - // Open creates a session using the configuration. - session, err := session.Open(*s.sfdcConfig) +func (s *salesforceInput) FormQueryWithCursor() (*querier, error) { + qr, err := parseCursor(&s.config, s.cursor, s.log) if err != nil { - return err + return nil, err } + s.log.Infof("salesforce query: %s", qr) + + return &querier{Query: qr}, err +} + +func (s *salesforceInput) RunObject() error { // Create a new SOQL resource using the session. - soqlr, err := soql.NewResource(session) + soqlr, err := s.SetupSFClientConnection() + if err != nil { + return fmt.Errorf("error setting up connection to Salesforce: %w", err) + } + + query, err := s.FormQueryWithCursor() if err != nil { - return fmt.Errorf("error setting up salesforce SOQL resource: %w", err) + return fmt.Errorf("error forming based on cursor: %w", err) } res, err := soqlr.Query(query, false) @@ -160,26 +181,15 @@ func (s *salesforceInput) runObject() error { return nil } -func (s *salesforceInput) runEventLogFile() error { - qr, err := ParseCursor(&s.config, s.cursor, s.log) - if err != nil { - return err - } - - query := &querier{Query: qr} - - s.log.Infof("salesforce query: %s", qr) - - // Open creates a session using the configuration. - session, err := session.Open(*s.sfdcConfig) +func (s *salesforceInput) RunEventLogFile() error { + soqlr, err := s.SetupSFClientConnection() if err != nil { - return err + return fmt.Errorf("error setting up connection to Salesforce: %w", err) } - // Create a new SOQL resource using the session. - soqlr, err := soql.NewResource(session) + query, err := s.FormQueryWithCursor() if err != nil { - return fmt.Errorf("error setting up salesforce SOQL resource: %w", err) + return fmt.Errorf("error forming based on cursor: %w", err) } res, err := soqlr.Query(query, false) @@ -195,7 +205,8 @@ func (s *salesforceInput) runEventLogFile() error { return err } - session.AuthorizationHeader(req) + s.clientSession.AuthorizationHeader(req) + req.Header.Add("X-PrettyPrint", "1") resp, err := s.sfdcConfig.Client.Do(req) diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index 8698c3edfb1..5c3f47367a9 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -23,8 +23,6 @@ type InputManager struct { cursor *inputcursor.InputManager } -var _ v2.InputManager = InputManager{} - func NewInputManager(log *logp.Logger, store inputcursor.StateStore) InputManager { return InputManager{ cursor: &inputcursor.InputManager{ @@ -63,6 +61,4 @@ func (m InputManager) Create(cfg *conf.C) (v2.Input, error) { return m.cursor.Create(cfg) } -func defaultConfig() config { - return config{Interval: time.Hour} -} +func defaultConfig() config { return config{Interval: time.Hour} } diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go new file mode 100644 index 00000000000..382dd61a1a2 --- /dev/null +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -0,0 +1,6 @@ +package salesforce + +import v2 "github.com/elastic/beats/v7/filebeat/input/v2" + +// compile-time check if querier implements InputManager +var _ v2.InputManager = InputManager{} diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index 8bcceb88d26..edb9e3b2319 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -16,7 +16,7 @@ type state struct { LogDateTime string `struct:"timestamp"` } -func ParseCursor(cfg *config, cursor *state, log *logp.Logger) (qr string, err error) { +func parseCursor(cfg *config, cursor *state, log *logp.Logger) (qr string, err error) { ctxTmpl := mapstr.M{ "var": nil, "cursor": nil, @@ -31,9 +31,8 @@ func ParseCursor(cfg *config, cursor *state, log *logp.Logger) (qr string, err e return qr, nil } - defaultTmpl := cfg.Query.Default ctxTmpl["var"] = mapstr.M{"initial_interval": time.Now().Add(-cfg.InitialInterval).Format(time.RFC3339)} - qr, err = cfg.Query.Default.Execute(ctxTmpl, defaultTmpl, log) + qr, err = cfg.Query.Default.Execute(ctxTmpl, cfg.Query.Default, log) if err != nil { return "", err } From e6b28a92ec42834d7813cecd741a8297e80b3cd3 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 11 Dec 2023 14:45:03 +0530 Subject: [PATCH 016/172] Fix doc --- x-pack/filebeat/input/salesforce/config.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 93330f0d755..34a08f54f9c 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -38,12 +38,13 @@ func (c *config) Validate() error { // the beta release in API version 46.0 // // To keep things simple, only one version is entertained i.e., the - // minimum version supported by all objects for which we have support for. + // minimum version supported by all objects for which we have support + // for. // - // min_vesion_support_all[32.0, 15.0, 46.0] = 46.0 + // minimum_vesion_supported_by_all_objects([32.0, 15.0, 46.0]) = 46.0 // - // (objects like EventLogFile, SetupAuditTrail and Real-time monitoring - // objects are available in v46.0) + // (Objects like EventLogFile, SetupAuditTrail and Real-time monitoring + // objects are available in v46.0 and above) // References: // https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm From 2f7d4c38ccdde7064e02d194fdf5c2a202e96709 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 11 Dec 2023 16:52:39 +0530 Subject: [PATCH 017/172] Make linter happy --- x-pack/filebeat/input/salesforce/input.go | 6 +++++- x-pack/filebeat/input/salesforce/input_manager_test.go | 4 ++++ x-pack/filebeat/input/salesforce/soql.go | 4 ++++ x-pack/filebeat/input/salesforce/soql_test.go | 4 ++++ x-pack/filebeat/input/salesforce/value_tpl.go | 4 ++++ 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index b8a8ac009cc..56032d73dbc 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -1,3 +1,7 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + package salesforce import ( @@ -328,7 +332,7 @@ func decodeAsCSV(p []byte) ([]map[string]string, error) { // As buffer reuse is enabled, copying header is important. header = slices.Clone(header) - var results []map[string]string + var results []map[string]string //nolint:prealloc // not sure about the size to prealloc with event, err := r.Read() for ; err == nil; event, err = r.Read() { diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index 382dd61a1a2..4686f4aa89e 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -1,3 +1,7 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + package salesforce import v2 "github.com/elastic/beats/v7/filebeat/input/v2" diff --git a/x-pack/filebeat/input/salesforce/soql.go b/x-pack/filebeat/input/salesforce/soql.go index d4b474059ff..b7ed2233aed 100644 --- a/x-pack/filebeat/input/salesforce/soql.go +++ b/x-pack/filebeat/input/salesforce/soql.go @@ -1,3 +1,7 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + package salesforce import ( diff --git a/x-pack/filebeat/input/salesforce/soql_test.go b/x-pack/filebeat/input/salesforce/soql_test.go index 4a2beeecbb1..300b25d23e5 100644 --- a/x-pack/filebeat/input/salesforce/soql_test.go +++ b/x-pack/filebeat/input/salesforce/soql_test.go @@ -1,3 +1,7 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + package salesforce import "github.com/g8rswimmer/go-sfdc/soql" diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index 24c1849921e..081d5d60213 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -1,3 +1,7 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + package salesforce import ( From 3ab553d34d5596402a9c0c708289bf8eededc231 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 11 Dec 2023 17:36:23 +0530 Subject: [PATCH 018/172] Fix NOTICE --- NOTICE.txt | 123 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 86 insertions(+), 37 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 0070ee8ff11..80c0bbe5bd9 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -16190,6 +16190,37 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Dependency : github.com/g8rswimmer/go-sfdc +Version: v2.0.2-0.20201201191151-3190c381b3e1+incompatible +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/g8rswimmer/go-sfdc@v2.0.2-0.20201201191151-3190c381b3e1+incompatible/LICENSE.txt: + +MIT License + +Copyright (c) 2019 Robert Sean Justice + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- Dependency : github.com/go-sql-driver/mysql Version: v1.6.0 @@ -24736,6 +24767,43 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Dependency : golang.org/x/exp +Version: v0.0.0-20220921023135-46d9e7742f1e +Licence type (autodetected): BSD-3-Clause +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/golang.org/x/exp@v0.0.0-20220921023135-46d9e7742f1e/LICENSE: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + -------------------------------------------------------------------------------- Dependency : golang.org/x/lint Version: v0.0.0-20210508222113-6edffad5e616 @@ -34757,6 +34825,24 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/ristretto@v0.1. END OF TERMS AND CONDITIONS +-------------------------------------------------------------------------------- +Dependency : github.com/dgrijalva/jwt-go +Version: v3.2.0+incompatible +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/dgrijalva/jwt-go@v3.2.0+incompatible/LICENSE: + +Copyright (c) 2012 Dave Grijalva + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + -------------------------------------------------------------------------------- Dependency : github.com/dgryski/go-farm Version: v0.0.0-20190423205320-6a90982ecee2 @@ -51248,43 +51334,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Dependency : golang.org/x/exp -Version: v0.0.0-20220921023135-46d9e7742f1e -Licence type (autodetected): BSD-3-Clause --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/golang.org/x/exp@v0.0.0-20220921023135-46d9e7742f1e/LICENSE: - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -------------------------------------------------------------------------------- Dependency : golang.org/x/term Version: v0.13.0 From e306fabf3ee14998fd3b402f408f42d5d4e155ea Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 12 Dec 2023 02:07:46 +0530 Subject: [PATCH 019/172] Add JWT auth --- x-pack/filebeat/input/salesforce/config.go | 6 ++- .../filebeat/input/salesforce/config_auth.go | 24 ++++++++++- x-pack/filebeat/input/salesforce/input.go | 41 ++++++++++++++----- 3 files changed, 59 insertions(+), 12 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 34a08f54f9c..24ceebc68c5 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -27,6 +27,10 @@ type cursorConfig struct { func (c *config) Validate() error { switch { + case !c.Auth.JWT.isEnabled() && !c.Auth.OAuth2.isEnabled(): + return errors.New("no auth provider enabled") + case c.Auth.JWT.isEnabled() && c.Auth.OAuth2.isEnabled(): + return errors.New("only one auth provider must be enabled") case c.URL == "": return errors.New("no instance url was configured or detected") case c.Interval == 0: @@ -50,7 +54,7 @@ func (c *config) Validate() error { // https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm // https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_setupaudittrail.htm // https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_objects_monitoring.htm - return fmt.Errorf("please provide a valid version i.e., 46.0 or above") + return errors.New("please provide a valid version i.e., 46.0 or above") } return nil diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index 1320cfd20ef..59f9db31781 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -10,12 +10,12 @@ import ( type authConfig struct { OAuth2 *oAuth2Config `config:"oauth2"` + JWT *jwtConfig `config:"jwt"` } type oAuth2Config struct { Enabled *bool `config:"enabled"` - // common oauth fields ClientID string `config:"client.id"` ClientSecret string `config:"client.secret"` Password string `config:"password"` @@ -23,6 +23,15 @@ type oAuth2Config struct { User string `config:"user"` } +type jwtConfig struct { + Enabled *bool `config:"enabled"` + + URL string + ClientId string + ClientUsername string + // ClientKey struct{} +} + // isEnabled returns true if the `enable` field is set to true in the yaml. func (o *oAuth2Config) isEnabled() bool { return o != nil && (o.Enabled == nil || *o.Enabled) @@ -44,3 +53,16 @@ func (o *oAuth2Config) Validate() error { return nil } + +// isEnabled returns true if the `enable` field is set to true in the yaml. +func (o *jwtConfig) isEnabled() bool { + return o != nil && (o.Enabled == nil || *o.Enabled) +} + +func (o *jwtConfig) Validate() error { + if !o.isEnabled() { + return nil + } + + return nil +} diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 56032d73dbc..197e5e68b91 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -265,17 +265,38 @@ func (s *salesforceInput) RunEventLogFile() error { } func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { - passCreds := credentials.PasswordCredentials{ - URL: cfg.URL, - Username: cfg.Auth.OAuth2.User, - Password: cfg.Auth.OAuth2.Password, - ClientID: cfg.Auth.OAuth2.ClientID, - ClientSecret: cfg.Auth.OAuth2.ClientSecret, - } + var ( + creds *credentials.Credentials + err error + ) + + switch { + case cfg.Auth.JWT.isEnabled(): + passCreds := credentials.JwtCredentials{ + URL: cfg.Auth.JWT.URL, + ClientId: cfg.Auth.JWT.ClientId, + ClientUsername: cfg.Auth.JWT.ClientUsername, + ClientKey: nil, // FIXME(SS): Set this. + } + + creds, err = credentials.NewJWTCredentials(passCreds) + if err != nil { + return nil, err + } + case cfg.Auth.OAuth2.isEnabled(): + passCreds := credentials.PasswordCredentials{ + URL: cfg.URL, + Username: cfg.Auth.OAuth2.User, + Password: cfg.Auth.OAuth2.Password, + ClientID: cfg.Auth.OAuth2.ClientID, + ClientSecret: cfg.Auth.OAuth2.ClientSecret, + } + + creds, err = credentials.NewPasswordCredentials(passCreds) + if err != nil { + return nil, err + } - creds, err := credentials.NewPasswordCredentials(passCreds) - if err != nil { - return nil, err } return &sfdc.Configuration{ From acbfc1ff8c0c99ce77d809c71fcc52fe1e42abc9 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 12 Dec 2023 02:14:04 +0530 Subject: [PATCH 020/172] nit --- x-pack/filebeat/input/salesforce/input.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 197e5e68b91..66c9121fef1 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -9,10 +9,10 @@ import ( "context" "encoding/csv" "encoding/json" - "errors" "fmt" "io" "net/http" + "strings" "time" "github.com/g8rswimmer/go-sfdc" @@ -92,14 +92,14 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in cursor.StartTime = time.Now() - switch cfg.From { - case "EventLogFile": + switch { + case strings.EqualFold(cfg.From, "EventLogFile"): return periodically(s.ctx, cfg.Interval, s.RunEventLogFile) - case "Object": + case strings.EqualFold(cfg.From, "Object"): return periodically(s.ctx, cfg.Interval, s.RunObject) } - return errors.New("invalid from: " + cfg.From + ", supported values: EventLogFile, Object") + return fmt.Errorf("bad configuration: value for \"from: %s\" is not correct (supported values are EventLogFile or Object)", cfg.From) } func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { From 0524cf91f6fdc6c09cedeb94347ebbe8acd7ce51 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 12 Dec 2023 02:39:53 +0530 Subject: [PATCH 021/172] Full JWT impl --- NOTICE.txt | 19 +++++++++++++++++++ go.mod | 1 + go.sum | 1 + .../filebeat/input/salesforce/config_auth.go | 8 ++++---- x-pack/filebeat/input/salesforce/input.go | 19 +++++++++++++++---- 5 files changed, 40 insertions(+), 8 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 80c0bbe5bd9..dd17c74a3cc 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -17142,6 +17142,25 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Dependency : github.com/golang-jwt/jwt +Version: v3.2.1+incompatible +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/golang-jwt/jwt@v3.2.1+incompatible/LICENSE: + +Copyright (c) 2012 Dave Grijalva +Copyright (c) 2021 golang-jwt maintainers + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + -------------------------------------------------------------------------------- Dependency : github.com/golang/mock Version: v1.6.0 diff --git a/go.mod b/go.mod index 121a52b6ddd..5528e93386d 100644 --- a/go.mod +++ b/go.mod @@ -210,6 +210,7 @@ require ( github.com/elastic/toutoumomoma v0.0.0-20221026030040-594ef30cb640 github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15 github.com/g8rswimmer/go-sfdc v2.0.2-0.20201201191151-3190c381b3e1+incompatible + github.com/golang-jwt/jwt v3.2.1+incompatible github.com/google/cel-go v0.17.7 github.com/googleapis/gax-go/v2 v2.11.0 github.com/gorilla/handlers v1.5.1 diff --git a/go.sum b/go.sum index 5e0c50a28b5..b5c0280dac2 100644 --- a/go.sum +++ b/go.sum @@ -966,6 +966,7 @@ github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index 59f9db31781..9821802bf54 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -26,10 +26,10 @@ type oAuth2Config struct { type jwtConfig struct { Enabled *bool `config:"enabled"` - URL string - ClientId string - ClientUsername string - // ClientKey struct{} + URL string `config:"url"` + ClientId string `config:"client.id"` + ClientUsername string `config:"client.username"` + ClientKeyPath string `config:"client.key_path"` } // isEnabled returns true if the `enable` field is set to true in the yaml. diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 66c9121fef1..2ca0ae721f9 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -12,6 +12,7 @@ import ( "fmt" "io" "net/http" + "os" "strings" "time" @@ -19,6 +20,7 @@ import ( "github.com/g8rswimmer/go-sfdc/credentials" "github.com/g8rswimmer/go-sfdc/session" "github.com/g8rswimmer/go-sfdc/soql" + "github.com/golang-jwt/jwt" "golang.org/x/exp/slices" v2 "github.com/elastic/beats/v7/filebeat/input/v2" @@ -84,7 +86,6 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in s.publisher = pub s.cursor = cursor s.log = log - s.sfdcConfig, err = getSFDCConfig(&cfg) if err != nil { return err @@ -272,16 +273,26 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { switch { case cfg.Auth.JWT.isEnabled(): + pemBytes, err := os.ReadFile(cfg.Auth.JWT.ClientKeyPath) + if err != nil { + fmt.Errorf("problem with client key path for JWT auth: %w", err) + } + + signKey, err := jwt.ParseRSAPrivateKeyFromPEM(pemBytes) + if err != nil { + fmt.Errorf("problem with client key for JWT auth: %w", err) + } + passCreds := credentials.JwtCredentials{ URL: cfg.Auth.JWT.URL, ClientId: cfg.Auth.JWT.ClientId, ClientUsername: cfg.Auth.JWT.ClientUsername, - ClientKey: nil, // FIXME(SS): Set this. + ClientKey: signKey, } creds, err = credentials.NewJWTCredentials(passCreds) if err != nil { - return nil, err + return nil, fmt.Errorf("problem with credentials: %w", err) } case cfg.Auth.OAuth2.isEnabled(): passCreds := credentials.PasswordCredentials{ @@ -294,7 +305,7 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { creds, err = credentials.NewPasswordCredentials(passCreds) if err != nil { - return nil, err + return nil, fmt.Errorf("problem with credentials: %w", err) } } From f5b0f4505194aa9e778d91d26ba67aaab102cb8a Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 12 Dec 2023 12:45:59 +0530 Subject: [PATCH 022/172] add getTableFromSOQL func --- x-pack/filebeat/input/salesforce/input.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 2ca0ae721f9..5910088df9c 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -78,6 +78,20 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp return s.run(env, src.(*source), st, pub) } +func getTableFromSOQL(query string) (string, error) { + var ( + lowered = strings.ToLower(query) + fields = strings.Fields(lowered) + index = slices.Index(fields, "from") + ) + switch { + case index == -1, index+1 >= len(fields): + return "", fmt.Errorf("problem with SOQL query: %s", query) + default: + return fields[index+1], nil + } +} + func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub inputcursor.Publisher) (err error) { cfg := src.cfg log := env.Logger.With("input_url", cfg.URL) From 2fda36983f50ae3ec702d4a058e3a56766a48132 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 12 Dec 2023 14:29:10 +0530 Subject: [PATCH 023/172] fix bugs --- x-pack/filebeat/input/salesforce/input.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 5910088df9c..ea2c9a36fb1 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -78,7 +78,7 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp return s.run(env, src.(*source), st, pub) } -func getTableFromSOQL(query string) (string, error) { +func getObjectFromSOQL(query string) (string, error) { var ( lowered = strings.ToLower(query) fields = strings.Fields(lowered) @@ -289,12 +289,12 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { case cfg.Auth.JWT.isEnabled(): pemBytes, err := os.ReadFile(cfg.Auth.JWT.ClientKeyPath) if err != nil { - fmt.Errorf("problem with client key path for JWT auth: %w", err) + return nil, fmt.Errorf("problem with client key path for JWT auth: %w", err) } signKey, err := jwt.ParseRSAPrivateKeyFromPEM(pemBytes) if err != nil { - fmt.Errorf("problem with client key for JWT auth: %w", err) + return nil, fmt.Errorf("problem with client key for JWT auth: %w", err) } passCreds := credentials.JwtCredentials{ From f1acb091577ad0cbfc0d582e73b524c6a25f1276 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 18 Dec 2023 11:50:46 +0530 Subject: [PATCH 024/172] input will now can collect data from both ways in single input configurations. for example, user will be able to collect login data from both event_log_file and real-time objects at the same time. --- x-pack/filebeat/input/salesforce/config.go | 77 ++++++++++++++++--- x-pack/filebeat/input/salesforce/input.go | 57 +++++++++----- .../input/salesforce/input_manager.go | 3 +- x-pack/filebeat/input/salesforce/state.go | 8 +- 4 files changed, 109 insertions(+), 36 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 24ceebc68c5..1afa83a4a4f 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -10,15 +10,68 @@ import ( "time" ) +// Sample Config: +/* +- type: salesforce + enabled: true + version: 56 + auth.oauth2: + enabled: false + client.id: clientid + client.secret: clientsecret + token_url: https://instance_id.develop.my.salesforce.com/services/oauth2/token + user: username + password: password + auth.jwt: + enabled: true + client.id: clientid + client.username: username + client.key_path: ./server_client.key + url: https://login.salesforce.com + url: https://instance_id.develop.my.salesforce.com + data_collection_method: + event_log_file: + interval: 1h + enabled: true + query: + default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" + value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST" + cursor: + field: "CreatedDate" + object: + interval: 5m + enabled: true + query: + default: "SELECT FIELDS(STANDARD) FROM LoginEvent" + value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]" + cursor: + field: "EventDate" +*/ type config struct { - Interval time.Duration `config:"interval" validate:"required"` - Auth *authConfig `config:"auth"` - URL string `config:"url" validate:"required"` - Version int `config:"version" validate:"required"` - Query *QueryConfig `config:"query"` - InitialInterval time.Duration `config:"initial_interval"` - From string `config:"from"` - Cursor *cursorConfig `config:"cursor"` + Auth *authConfig `config:"auth"` + URL string `config:"url" validate:"required"` + Version int `config:"version" validate:"required"` + InitialInterval time.Duration `config:"initial_interval"` + DataCollectionMethod *DataCollectionMethod `config:"data_collection_method"` +} + +type DataCollectionMethod struct { + EventLogFile EventLogFileMethod `config:"event_log_file"` + Object ObjectMethod `config:"object"` +} + +type EventLogFileMethod struct { + Enabled bool `config:"enabled"` + Interval time.Duration `config:"interval" validate:"required"` + Query *QueryConfig `config:"query"` + Cursor *cursorConfig `config:"cursor"` +} + +type ObjectMethod struct { + Enabled bool `config:"enabled"` + Interval time.Duration `config:"interval" validate:"required"` + Query *QueryConfig `config:"query"` + Cursor *cursorConfig `config:"cursor"` } type cursorConfig struct { @@ -33,8 +86,12 @@ func (c *config) Validate() error { return errors.New("only one auth provider must be enabled") case c.URL == "": return errors.New("no instance url was configured or detected") - case c.Interval == 0: - return fmt.Errorf("please provide a valid interval %d", c.Interval) + case c.DataCollectionMethod.EventLogFile.Interval == 0: + return fmt.Errorf("please provide a valid interval %d", c.DataCollectionMethod.EventLogFile.Interval) + case c.DataCollectionMethod.Object.Interval == 0: + return fmt.Errorf("please provide a valid interval %d", c.DataCollectionMethod.Object.Interval) + case !c.DataCollectionMethod.Object.Enabled && !c.DataCollectionMethod.EventLogFile.Enabled: + return errors.New("at least one of \"data_collection_method.event_log_file\" or \"data_collection_method.object\" must be set to true") case c.Version < 46: // * EventLogFile object is available in API version 32.0 or later // * SetupAuditTrail object is available in API version 15.0 or later diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 2ca0ae721f9..769dbe55176 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -13,7 +13,7 @@ import ( "io" "net/http" "os" - "strings" + "sync" "time" "github.com/g8rswimmer/go-sfdc" @@ -41,6 +41,7 @@ const ( type salesforceInput struct { config ctx context.Context + cancel context.CancelCauseFunc publisher inputcursor.Publisher cursor *state sfdcConfig *sfdc.Configuration @@ -82,7 +83,11 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in cfg := src.cfg log := env.Logger.With("input_url", cfg.URL) - s.ctx = ctxtool.FromCanceller(env.Cancelation) + ctx := ctxtool.FromCanceller(env.Cancelation) + childCtx, cancel := context.WithCancelCause(ctx) + + s.ctx = childCtx + s.cancel = cancel s.publisher = pub s.cursor = cursor s.log = log @@ -93,14 +98,22 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in cursor.StartTime = time.Now() - switch { - case strings.EqualFold(cfg.From, "EventLogFile"): - return periodically(s.ctx, cfg.Interval, s.RunEventLogFile) - case strings.EqualFold(cfg.From, "Object"): - return periodically(s.ctx, cfg.Interval, s.RunObject) + var wg sync.WaitGroup + + if cfg.DataCollectionMethod.EventLogFile.Enabled { + log.Debugf("Starting EventLogFile collection") + wg.Add(1) + go periodically(childCtx, cancel, cfg.DataCollectionMethod.EventLogFile.Interval, &wg, s.RunEventLogFile) } + if cfg.DataCollectionMethod.Object.Enabled { + log.Debugf("Starting Object collection") + wg.Add(1) + go periodically(childCtx, cancel, cfg.DataCollectionMethod.Object.Interval, &wg, s.RunObject) + } + + wg.Wait() - return fmt.Errorf("bad configuration: value for \"from: %s\" is not correct (supported values are EventLogFile or Object)", cfg.From) + return fmt.Errorf("bad configuration: value for \"from: %s\" is not correct (supported values are EventLogFile or Object)") } func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { @@ -121,8 +134,8 @@ func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { return soqlr, nil } -func (s *salesforceInput) FormQueryWithCursor() (*querier, error) { - qr, err := parseCursor(&s.config, s.cursor, s.log) +func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig) (*querier, error) { + qr, err := parseCursor(&s.config.InitialInterval, queryConfig, s.cursor, s.log) if err != nil { return nil, err } @@ -139,7 +152,10 @@ func (s *salesforceInput) RunObject() error { return fmt.Errorf("error setting up connection to Salesforce: %w", err) } - query, err := s.FormQueryWithCursor() + query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.Object.Query) + if err != nil { + return fmt.Errorf("error forming based on cursor: %w", err) + } if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } @@ -159,7 +175,7 @@ func (s *salesforceInput) RunObject() error { return err } - if timstamp, ok := val[s.config.Cursor.Field].(string); ok { + if timstamp, ok := val[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { s.cursor.LogDateTime = timstamp } else { s.cursor.LogDateTime = time.Now().Format(formatRFC3339Like) @@ -192,7 +208,7 @@ func (s *salesforceInput) RunEventLogFile() error { return fmt.Errorf("error setting up connection to Salesforce: %w", err) } - query, err := s.FormQueryWithCursor() + query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.EventLogFile.Query) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } @@ -231,7 +247,7 @@ func (s *salesforceInput) RunEventLogFile() error { return err } - if timstamp, ok := rec.Record().Fields()[s.config.Cursor.Field].(string); ok { + if timstamp, ok := rec.Record().Fields()[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { s.cursor.LogDateTime = timstamp } else { s.cursor.LogDateTime = time.Now().Format(formatRFC3339Like) @@ -321,20 +337,21 @@ func publishEvent(pub inputcursor.Publisher, cursor *state, jsonStrEvent []byte) event := beat.Event{ Timestamp: time.Now(), Fields: mapstr.M{ - "event": mapstr.M{ - "message": string(jsonStrEvent), - }, + "message": string(jsonStrEvent), }, } return pub.Publish(event, cursor) } -func periodically(ctx context.Context, each time.Duration, fn func() error) error { +func periodically(ctx context.Context, cancel context.CancelCauseFunc, each time.Duration, wg *sync.WaitGroup, fn func() error) { + defer wg.Done() if err := fn(); err != nil { - return err + cancel(err) + } + if err := timed.Periodic(ctx, each, fn); err != nil { + cancel(err) } - return timed.Periodic(ctx, each, fn) } type textContextError struct { diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index 5c3f47367a9..755a0c1c4c1 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -6,7 +6,6 @@ package salesforce import ( "fmt" - "time" "github.com/elastic/go-concert/unison" @@ -61,4 +60,4 @@ func (m InputManager) Create(cfg *conf.C) (v2.Input, error) { return m.cursor.Create(cfg) } -func defaultConfig() config { return config{Interval: time.Hour} } +func defaultConfig() config { return config{} } diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index edb9e3b2319..80f4e047cba 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -16,7 +16,7 @@ type state struct { LogDateTime string `struct:"timestamp"` } -func parseCursor(cfg *config, cursor *state, log *logp.Logger) (qr string, err error) { +func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor *state, log *logp.Logger) (qr string, err error) { ctxTmpl := mapstr.M{ "var": nil, "cursor": nil, @@ -24,15 +24,15 @@ func parseCursor(cfg *config, cursor *state, log *logp.Logger) (qr string, err e if cursor.LogDateTime != "" { ctxTmpl["cursor"] = mapstr.M{"logdate": cursor.LogDateTime} - qr, err = cfg.Query.Value.Execute(ctxTmpl, nil, log) + qr, err = cfg.Value.Execute(ctxTmpl, nil, log) if err != nil { return "", err } return qr, nil } - ctxTmpl["var"] = mapstr.M{"initial_interval": time.Now().Add(-cfg.InitialInterval).Format(time.RFC3339)} - qr, err = cfg.Query.Default.Execute(ctxTmpl, cfg.Query.Default, log) + ctxTmpl["var"] = mapstr.M{"initial_interval": time.Now().Add(-*initialInterval).Format(time.RFC3339)} + qr, err = cfg.Default.Execute(ctxTmpl, cfg.Default, log) if err != nil { return "", err } From 7599c9e630c182d8c4af08eef4ea2128a756a6a7 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 18 Dec 2023 14:41:00 +0530 Subject: [PATCH 025/172] update code to make sure only one of the iteration can pull data at particular time in iteration so we wont face any memory or network spike --- x-pack/filebeat/input/salesforce/input.go | 48 ++++++++++++++++++----- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 239cadb450c..52c2d7931eb 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -113,22 +113,52 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in cursor.StartTime = time.Now() - var wg sync.WaitGroup - if cfg.DataCollectionMethod.EventLogFile.Enabled { log.Debugf("Starting EventLogFile collection") - wg.Add(1) - go periodically(childCtx, cancel, cfg.DataCollectionMethod.EventLogFile.Interval, &wg, s.RunEventLogFile) + if err := s.RunEventLogFile(); err != nil { + return err + } } if cfg.DataCollectionMethod.Object.Enabled { log.Debugf("Starting Object collection") - wg.Add(1) - go periodically(childCtx, cancel, cfg.DataCollectionMethod.Object.Interval, &wg, s.RunObject) + if err := s.RunObject(); err != nil { + return err + } } - wg.Wait() - - return fmt.Errorf("bad configuration: value for \"from: %s\" is not correct (supported values are EventLogFile or Object)") + objectMethodTicker := time.NewTicker(time.Duration(cfg.DataCollectionMethod.Object.Interval)) + defer objectMethodTicker.Stop() + + eventLogFileTicker := time.NewTicker(time.Duration(cfg.DataCollectionMethod.EventLogFile.Interval)) + defer eventLogFileTicker.Stop() + + for { + select { + case <-childCtx.Done(): + return childCtx.Err() + default: + if cfg.DataCollectionMethod.EventLogFile.Enabled { + select { + case <-eventLogFileTicker.C: + log.Debugf("Starting EventLogFile collection") + if err := s.RunEventLogFile(); err != nil { + return err + } + default: + } + } + if cfg.DataCollectionMethod.Object.Enabled { + select { + case <-objectMethodTicker.C: + log.Debugf("Starting Object collection") + if err := s.RunObject(); err != nil { + return err + } + default: + } + } + } + } } func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { From d38d1e157105c04710c2156f3b2e9ea4c9f7590e Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 18 Dec 2023 14:45:32 +0530 Subject: [PATCH 026/172] remove assertions --- x-pack/filebeat/input/salesforce/input.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 52c2d7931eb..6531844235c 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -126,10 +126,10 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in } } - objectMethodTicker := time.NewTicker(time.Duration(cfg.DataCollectionMethod.Object.Interval)) + objectMethodTicker := time.NewTicker(cfg.DataCollectionMethod.Object.Interval) defer objectMethodTicker.Stop() - eventLogFileTicker := time.NewTicker(time.Duration(cfg.DataCollectionMethod.EventLogFile.Interval)) + eventLogFileTicker := time.NewTicker(cfg.DataCollectionMethod.EventLogFile.Interval) defer eventLogFileTicker.Stop() for { From fc446e4fdf48f3a717d912bf60dc1380a9880a1a Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 18 Dec 2023 17:08:37 +0530 Subject: [PATCH 027/172] add UT --- x-pack/filebeat/input/salesforce/config.go | 15 ++- .../filebeat/input/salesforce/config_auth.go | 4 +- .../filebeat/input/salesforce/config_test.go | 126 ++++++++++++++++++ x-pack/filebeat/input/salesforce/input.go | 12 -- x-pack/filebeat/input/salesforce/soql_test.go | 35 ++++- 5 files changed, 170 insertions(+), 22 deletions(-) create mode 100644 x-pack/filebeat/input/salesforce/config_test.go diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 1afa83a4a4f..8df7809cf8c 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -85,13 +85,14 @@ func (c *config) Validate() error { case c.Auth.JWT.isEnabled() && c.Auth.OAuth2.isEnabled(): return errors.New("only one auth provider must be enabled") case c.URL == "": - return errors.New("no instance url was configured or detected") - case c.DataCollectionMethod.EventLogFile.Interval == 0: - return fmt.Errorf("please provide a valid interval %d", c.DataCollectionMethod.EventLogFile.Interval) - case c.DataCollectionMethod.Object.Interval == 0: - return fmt.Errorf("please provide a valid interval %d", c.DataCollectionMethod.Object.Interval) + return errors.New("no instance url is configured") case !c.DataCollectionMethod.Object.Enabled && !c.DataCollectionMethod.EventLogFile.Enabled: - return errors.New("at least one of \"data_collection_method.event_log_file\" or \"data_collection_method.object\" must be set to true") + return errors.New(`at least one of "data_collection_method.event_log_file.enabled" or "data_collection_method.object.enabled" must be set to true`) + case c.DataCollectionMethod.EventLogFile.Enabled && c.DataCollectionMethod.EventLogFile.Interval == 0: + return fmt.Errorf("not a valid interval %d", c.DataCollectionMethod.EventLogFile.Interval) + case c.DataCollectionMethod.Object.Enabled && c.DataCollectionMethod.Object.Interval == 0: + return fmt.Errorf("not a valid interval %d", c.DataCollectionMethod.Object.Interval) + case c.Version < 46: // * EventLogFile object is available in API version 32.0 or later // * SetupAuditTrail object is available in API version 15.0 or later @@ -111,7 +112,7 @@ func (c *config) Validate() error { // https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm // https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_setupaudittrail.htm // https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_objects_monitoring.htm - return errors.New("please provide a valid version i.e., 46.0 or above") + return errors.New("not a valid version i.e., 46.0 or above") } return nil diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index 9821802bf54..5ed41487f39 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -34,7 +34,7 @@ type jwtConfig struct { // isEnabled returns true if the `enable` field is set to true in the yaml. func (o *oAuth2Config) isEnabled() bool { - return o != nil && (o.Enabled == nil || *o.Enabled) + return o != nil && (o.Enabled != nil && *o.Enabled) } // Validate checks if oauth2 config is valid. @@ -56,7 +56,7 @@ func (o *oAuth2Config) Validate() error { // isEnabled returns true if the `enable` field is set to true in the yaml. func (o *jwtConfig) isEnabled() bool { - return o != nil && (o.Enabled == nil || *o.Enabled) + return o != nil && (o.Enabled != nil && *o.Enabled) } func (o *jwtConfig) Validate() error { diff --git a/x-pack/filebeat/input/salesforce/config_test.go b/x-pack/filebeat/input/salesforce/config_test.go new file mode 100644 index 00000000000..7bc372ce641 --- /dev/null +++ b/x-pack/filebeat/input/salesforce/config_test.go @@ -0,0 +1,126 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package salesforce + +import ( + "errors" + "fmt" + "testing" + "time" + + "github.com/stretchr/testify/assert" +) + +func pointer[T any](d T) *T { + return &d +} + +func TestValidate(t *testing.T) { + tests := map[string]struct { + inputCfg config + wantErr error + }{ + "no auth provider enabled (no password or jwt)": { + inputCfg: config{ + Auth: &authConfig{ + OAuth2: &oAuth2Config{}, + JWT: &jwtConfig{}, + }, + }, + wantErr: errors.New("no auth provider enabled"), + }, + "only one auth provider is allowed (either password or jwt)": { + inputCfg: config{ + Auth: &authConfig{ + OAuth2: &oAuth2Config{Enabled: pointer(true)}, + JWT: &jwtConfig{Enabled: pointer(true)}, + }, + }, + wantErr: errors.New("only one auth provider must be enabled"), + }, + "no instance url is configured (empty url)": { + inputCfg: config{ + URL: "", + Auth: &authConfig{ + OAuth2: &oAuth2Config{ + Enabled: pointer(true), + }, + }, + }, + wantErr: errors.New("no instance url is configured"), + }, + "no data collection method configured": { + inputCfg: config{ + DataCollectionMethod: &DataCollectionMethod{}, + URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", + Auth: &authConfig{ + OAuth2: &oAuth2Config{ + Enabled: pointer(true), + }, + }, + }, + wantErr: errors.New(`at least one of "data_collection_method.event_log_file.enabled" or "data_collection_method.object.enabled" must be set to true`), + }, + "invalid elf interval (1h)": { + inputCfg: config{ + DataCollectionMethod: &DataCollectionMethod{ + EventLogFile: EventLogFileMethod{ + Enabled: true, + Interval: time.Duration(0), + }, + }, + URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", + Auth: &authConfig{ + OAuth2: &oAuth2Config{ + Enabled: pointer(true), + }, + }, + }, + wantErr: fmt.Errorf("not a valid interval %d", time.Duration(0)), + }, + "invalid object interval (1h)": { + inputCfg: config{ + DataCollectionMethod: &DataCollectionMethod{ + Object: ObjectMethod{ + Enabled: true, + Interval: time.Duration(0), + }, + }, + URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", + Auth: &authConfig{ + OAuth2: &oAuth2Config{ + Enabled: pointer(true), + }, + }, + }, + wantErr: fmt.Errorf("not a valid interval %d", time.Duration(0)), + }, + "invalid api version (v45)": { + inputCfg: config{ + Version: 45, + DataCollectionMethod: &DataCollectionMethod{ + Object: ObjectMethod{ + Enabled: true, + Interval: time.Hour, + }, + }, + URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", + Auth: &authConfig{ + OAuth2: &oAuth2Config{ + Enabled: pointer(true), + }, + }, + }, + wantErr: errors.New("not a valid version i.e., 46.0 or above"), + }, + } + + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + got := tc.inputCfg.Validate() + assert.Equal(t, tc.wantErr, got) + }) + } +} diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 6531844235c..3c7c58b20b9 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -14,7 +14,6 @@ import ( "net/http" "os" "strings" - "sync" "time" "github.com/g8rswimmer/go-sfdc" @@ -31,7 +30,6 @@ import ( "github.com/elastic/elastic-agent-libs/logp" "github.com/elastic/elastic-agent-libs/mapstr" "github.com/elastic/go-concert/ctxtool" - "github.com/elastic/go-concert/timed" ) const ( @@ -389,16 +387,6 @@ func publishEvent(pub inputcursor.Publisher, cursor *state, jsonStrEvent []byte) return pub.Publish(event, cursor) } -func periodically(ctx context.Context, cancel context.CancelCauseFunc, each time.Duration, wg *sync.WaitGroup, fn func() error) { - defer wg.Done() - if err := fn(); err != nil { - cancel(err) - } - if err := timed.Periodic(ctx, each, fn); err != nil { - cancel(err) - } -} - type textContextError struct { error body []byte diff --git a/x-pack/filebeat/input/salesforce/soql_test.go b/x-pack/filebeat/input/salesforce/soql_test.go index 300b25d23e5..4c5add86ff5 100644 --- a/x-pack/filebeat/input/salesforce/soql_test.go +++ b/x-pack/filebeat/input/salesforce/soql_test.go @@ -4,7 +4,40 @@ package salesforce -import "github.com/g8rswimmer/go-sfdc/soql" +import ( + "errors" + "testing" + + "github.com/g8rswimmer/go-sfdc/soql" + "github.com/stretchr/testify/assert" +) // compile-time check if querier implements soql.QueryFormatter var _ soql.QueryFormatter = (*querier)(nil) + +func TestFormat(t *testing.T) { + tests := map[string]struct { + input string + wantStr string + wantErr error + }{ + "empty query": {input: "", wantStr: "", wantErr: errors.New("query is empty")}, + "valid query": {input: "SELECT FIELDS(STANDARD) FROM LoginEvent", wantStr: "SELECT FIELDS(STANDARD) FROM LoginEvent", wantErr: nil}, + "invalid query": {input: "SELECT ", wantStr: "SELECT ", wantErr: nil}, + } + + var q querier + + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + q.Query = tc.input + got, gotErr := q.Format() + if !assert.Equal(t, tc.wantErr, gotErr) { + t.FailNow() + } + if !assert.EqualValues(t, tc.wantStr, got) { + t.FailNow() + } + }) + } +} From a4d1f7170996a3145f230a0ede9eaed1079b3457 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 19 Dec 2023 01:20:50 +0530 Subject: [PATCH 028/172] improve code --- x-pack/filebeat/input/salesforce/input.go | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 3c7c58b20b9..ac00ea39bb0 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -9,6 +9,7 @@ import ( "context" "encoding/csv" "encoding/json" + "errors" "fmt" "io" "net/http" @@ -111,17 +112,26 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in cursor.StartTime = time.Now() + var err1, err2 error + if cfg.DataCollectionMethod.EventLogFile.Enabled { log.Debugf("Starting EventLogFile collection") - if err := s.RunEventLogFile(); err != nil { - return err - } + err1 = s.RunEventLogFile() } + if cfg.DataCollectionMethod.Object.Enabled { log.Debugf("Starting Object collection") - if err := s.RunObject(); err != nil { - return err - } + err2 = s.RunObject() + } + + switch { + case err1 != nil: + log.Errorf("Problem running EventLogFile collection: %s", err1) + case err2 != nil: + log.Errorf("Problem running Object collection: %s", err2) + case err1 != nil && err2 != nil: + log.Errorf("Problem running both EventLogFile and Object collection: %s", err2) + return errors.Join(err1, err2) } objectMethodTicker := time.NewTicker(cfg.DataCollectionMethod.Object.Interval) From 5fcbe2d7adc357a7b2931c3c51930b6975333358 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 19 Dec 2023 03:08:18 +0530 Subject: [PATCH 029/172] add more ut and mock time --- x-pack/filebeat/input/salesforce/input.go | 12 +--- .../filebeat/input/salesforce/input_test.go | 70 +++++++++++++++++++ x-pack/filebeat/input/salesforce/state.go | 5 +- x-pack/filebeat/input/salesforce/time.go | 20 ++++++ x-pack/filebeat/input/salesforce/value_tpl.go | 4 +- 5 files changed, 97 insertions(+), 14 deletions(-) create mode 100644 x-pack/filebeat/input/salesforce/input_test.go create mode 100644 x-pack/filebeat/input/salesforce/time.go diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index ac00ea39bb0..219e06b24cf 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -110,8 +110,6 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in return err } - cursor.StartTime = time.Now() - var err1, err2 error if cfg.DataCollectionMethod.EventLogFile.Enabled { @@ -199,7 +197,6 @@ func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig) (*querie } func (s *salesforceInput) RunObject() error { - // Create a new SOQL resource using the session. soqlr, err := s.SetupSFClientConnection() if err != nil { return fmt.Errorf("error setting up connection to Salesforce: %w", err) @@ -209,9 +206,6 @@ func (s *salesforceInput) RunObject() error { if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } - if err != nil { - return fmt.Errorf("error forming based on cursor: %w", err) - } res, err := soqlr.Query(query, false) if err != nil { @@ -231,7 +225,7 @@ func (s *salesforceInput) RunObject() error { if timstamp, ok := val[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { s.cursor.LogDateTime = timstamp } else { - s.cursor.LogDateTime = time.Now().Format(formatRFC3339Like) + s.cursor.LogDateTime = timeNow().Format(formatRFC3339Like) } err = publishEvent(s.publisher, s.cursor, jsonStrEvent) @@ -303,7 +297,7 @@ func (s *salesforceInput) RunEventLogFile() error { if timstamp, ok := rec.Record().Fields()[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { s.cursor.LogDateTime = timstamp } else { - s.cursor.LogDateTime = time.Now().Format(formatRFC3339Like) + s.cursor.LogDateTime = timeNow().Format(formatRFC3339Like) } for _, val := range recs { @@ -388,7 +382,7 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { func publishEvent(pub inputcursor.Publisher, cursor *state, jsonStrEvent []byte) error { event := beat.Event{ - Timestamp: time.Now(), + Timestamp: timeNow(), Fields: mapstr.M{ "message": string(jsonStrEvent), }, diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go new file mode 100644 index 00000000000..59774b12f76 --- /dev/null +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -0,0 +1,70 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package salesforce + +import ( + "testing" + "time" + + "github.com/elastic/elastic-agent-libs/logp" + "github.com/stretchr/testify/assert" +) + +func TestFormQueryWithCursor(t *testing.T) { + mockTimeNow(time.Date(2023, time.May, 18, 12, 0, 0, 0, time.UTC)) + t.Cleanup(resetTimeNow) + + tests := map[string]struct { + initialInterval time.Duration + defaultSOQLTemplate string + valueSOQLTemplate string + wantQuery string + cursor *state + wantErr error + }{ + "valid soql templates with nil cursor": { // expect default query with LogDate > initialInterval + initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 60 days (2 months) + defaultSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > [[ .var.initial_interval ]] ORDER BY CreatedDate ASC NULLS FIRST", + valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST", + wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > 2023-03-19T12:00:00Z ORDER BY CreatedDate ASC NULLS FIRST", + cursor: &state{}, + }, + "valid soql templates with non-empty .cursor.logdate": { // expect value SOQL query with .cursor.logdate set + initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 60 days (2 months) + defaultSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > [[ .var.initial_interval ]] ORDER BY CreatedDate ASC NULLS FIRST", + valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST", + wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > 2023-05-18T12:00:00Z ORDER BY CreatedDate ASC NULLS FIRST", + cursor: &state{LogDateTime: timeNow().Format(formatRFC3339Like)}, + }, + } + + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + v1, v2 := &valueTpl{}, &valueTpl{} + + err := v1.Unpack(tc.defaultSOQLTemplate) + assert.NoError(t, err) + + err = v2.Unpack(tc.valueSOQLTemplate) + assert.NoError(t, err) + + queryConfig := &QueryConfig{ + Default: v1, + Value: v2, + } + + sfInput := &salesforceInput{ + config: config{InitialInterval: tc.initialInterval}, + log: logp.L().With("hello", "world"), + cursor: tc.cursor, + } + + querier, err := sfInput.FormQueryWithCursor(queryConfig) + assert.NoError(t, err) + + assert.EqualValues(t, tc.wantQuery, querier.Query) + }) + } +} diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index 80f4e047cba..f55fbd354bc 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -12,8 +12,7 @@ import ( ) type state struct { - StartTime time.Time `struct:"start_timestamp"` - LogDateTime string `struct:"timestamp"` + LogDateTime string `struct:"timestamp"` } func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor *state, log *logp.Logger) (qr string, err error) { @@ -31,7 +30,7 @@ func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor *state return qr, nil } - ctxTmpl["var"] = mapstr.M{"initial_interval": time.Now().Add(-*initialInterval).Format(time.RFC3339)} + ctxTmpl["var"] = mapstr.M{"initial_interval": timeNow().Add(-*initialInterval).Format(formatRFC3339Like)} qr, err = cfg.Default.Execute(ctxTmpl, cfg.Default, log) if err != nil { return "", err diff --git a/x-pack/filebeat/input/salesforce/time.go b/x-pack/filebeat/input/salesforce/time.go new file mode 100644 index 00000000000..187a1accdba --- /dev/null +++ b/x-pack/filebeat/input/salesforce/time.go @@ -0,0 +1,20 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package salesforce + +import "time" + +// timeNow wraps time.Now to mock time for tests +var timeNow = time.Now + +func mockTimeNow(t time.Time) { + timeNow = func() time.Time { + return t + } +} + +func resetTimeNow() { + timeNow = time.Now +} diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index 081d5d60213..872c8d14121 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -87,7 +87,7 @@ func (t *valueTpl) Unpack(in string) error { } func parseRFC3339Timestamp(s string) string { - now := time.Now().UTC() + now := timeNow().UTC() _, err := time.Parse(time.RFC3339, s) if err != nil { return now.Format(time.RFC3339) @@ -108,7 +108,7 @@ func formatUnixTimeNanoAsRFC3339(ns int64) string { } func formatCurrentTimeWithDurationOffset(duration string) string { - now := time.Now().UTC() + now := timeNow().UTC() if duration == "" { return now.Format(time.RFC3339) From 69071deeaacaeb7be493a836a87e31edab5d0b12 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 19 Dec 2023 15:29:09 +0530 Subject: [PATCH 030/172] required changes and sample UT --- x-pack/filebeat/filebeat.yml | 155 ++++++++++++-- x-pack/filebeat/input/salesforce/config.go | 4 +- x-pack/filebeat/input/salesforce/input.go | 66 +++--- .../filebeat/input/salesforce/input_test.go | 201 ++++++++++++++++++ 4 files changed, 375 insertions(+), 51 deletions(-) diff --git a/x-pack/filebeat/filebeat.yml b/x-pack/filebeat/filebeat.yml index aa50779b922..80abce0fcd2 100644 --- a/x-pack/filebeat/filebeat.yml +++ b/x-pack/filebeat/filebeat.yml @@ -14,6 +14,137 @@ filebeat.inputs: +- type: cel + enabled: false + auth.digest: + user: "fpczxkxc" + password: "ceb46652-b9a3-4889-92a1-6633e0dda890" + resource.url: https://cloud.mongodb.com/api/atlas/v1.0/groups/646f4379c47da356740d14ad/clusters/atlas-ccx4uc-shard-00-00.q5ljb.mongodb.net/logs/mongodb-audit-log.gz?endDate=1700956800&startDate=1700955700 + state: + query: "/measurements?granularity=PT5M&period=PT5m" + want_more: false + next_url: "" + program: | + ( + string(bytes(get(state.url).Body).mime('application/gzip')).split("\n").map(body, { + "events": body.decode_json() + } + ) + ) + # .mime('application/gzip').decode_json() + +- type: cel + enabled: false + redact: + fields: + - path + delete: true + interval: 5s + auth.oauth2: + client.id: 3MVG9n_HvETGhr3BNn.eD22p.G8AhQ.F8wFg9_pSgbUKvyJZlyzR9f1W6llXfQvfjmcVYc.4LSBPjd8u9DpQH + client.secret: B7E6F2FEE72BFDF2C5B9860D0DA1A35D4E5F86694FA35A77E90E056B1564DD19 + token_url: https://crestdatasystems16-dev-ed.develop.my.salesforce.com/services/oauth2/token + user: ali@crest.sandbox + password: Letsgothere#$1234 + resource.url: "https://crestdatasystems16-dev-ed.develop.my.salesforce.com" + # resource.url: "http://localhost:8010" + state: + want_more: false + default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" + query: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND LogDate > [[.cursor.last]] ORDER BY CreatedDate ASC NULLS FIRST" + path: "/services/data/v52.0/query" + initial_interval: 24h + url: "https://crestdatasystems16-dev-ed.develop.my.salesforce.com" + program: | + bytes(get(string(state.url + state.path).parse_url().with({"RawQuery":({"q":[(!has(state.cursor) || !has(state.cursor.last) != ''? state.default : state.query)]}).format_query()}).format_url()).Body) + .decode_json() + .as(body,body.records) + .map(e, e.with({ + "csv": bytes(get(state.url + e.LogFile).Body).mime("text/csv; header=present"), + "e": e, + }).collate("csv").map(list, { + "csv": list, + "storeDate": { + "createdDate": e.CreatedDate + } + })).flatten().as(res, { + "events": res.collate("csv"), + "cursor": res.collate('storeDate.createdDate').as(t, { + "first": t.min(), + "last": t.max(), + }) + }) + +# Username:- salesforcetest081@gmail.com +# Password:- Salesforceinstance786 + +- type: salesforce + enabled: true + version: 56 + auth.oauth2: + enabled: false + client.id: 3MVG9pRzvMkjMb6nzW6iSPJU2rxCryzVeeo7KXuRlI1uqDsJhxdi76lQ5Eks2KSfr1o8D1PoMoGQCPPILnnkB + client.secret: C497A710C21497FB0A1E68B8DAF78DCFBE455C41BFBE076E85B9B37553D6CAAF + token_url: https://devtestin-dev-ed.develop.my.salesforce.com/services/oauth2/token + user: salesforceinstance@devtest.in + password: testinginstance4salesforce + auth.jwt: + enabled: true + client.id: 3MVG9pRzvMkjMb6nzW6iSPJU2r_G5FX9VkEC9kY.5sHaN1HrUSJzRy3dlofAYPyxJo_aEetg0zwp3wmnKJjyY + client.username: salesforceinstance@devtest.in + client.key_path: server_client.key + url: https://login.salesforce.com + url: "https://devtestin-dev-ed.develop.my.salesforce.com" + data_collection_method: + event_log_file: + interval: 1h + enabled: true + query: + default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" + value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST" + cursor: + field: "CreatedDate" + object: + interval: 5m + enabled: true + query: + default: "SELECT FIELDS(STANDARD) FROM LoginEvent" + value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]" + cursor: + field: "EventDate" + +- type: httpjson + id: 100 + enabled: false + interval: 1h + request.method: GET + auth.oauth2: + enabled: true + client.id: 3MVG9pRzvMkjMb6nzW6iSPJU2rxCryzVeeo7KXuRlI1uqDsJhxdi76lQ5Eks2KSfr1o8D1PoMoGQCPPILnnkB + client.secret: C497A710C21497FB0A1E68B8DAF78DCFBE455C41BFBE076E85B9B37553D6CAAF + token_url: https://devtestin-dev-ed.develop.my.salesforce.com/services/oauth2/token + user: salesforceinstance@devtest.in + password: testinginstance4salesforce + request.url: https://devtestin-dev-ed.develop.my.salesforce.com/services/data/v52.0/query?q=login+rest + request.transforms: + - set: + target: url.params.q + value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE LogDate > [[.cursor.last_published_apex]] AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" + default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" + response.pagination: + - set: + target: url.value + value: '[[if (ne .last_response.body.done true)]]https://devtestin-dev-ed.develop.my.salesforce.com[[.last_response.body.nextRecordsUrl]][[end]]' + fail_on_template_error: true + chain: + - step: + request.url: https://devtestin-dev-ed.develop.my.salesforce.com/services/data/v52.0/sobjects/EventLogFile/$.records[:].Id/LogFile + request.method: GET + replace: $.records[:].Id + cursor: + last_published_apex: + value: '[[(formatDate ((parseDate .last_event.TIMESTAMP_DERIVED "RFC3339").Add (parseDuration "-1h")))]]' + # Each - is an input. Most options can be set at the input level, so # you can use different inputs for various configurations. # Below are the input-specific configurations. @@ -135,14 +266,12 @@ setup.kibana: # Configure what output to use when sending the data collected by the beat. +output.console: + pretty: true # ---------------------------- Elasticsearch Output ---------------------------- -output.elasticsearch: - # Array of hosts to connect to. - hosts: ["localhost:9200"] - - # Performance preset - one of "balanced", "throughput", "scale", - # "latency", or "custom". - preset: balanced +# output.elasticsearch: +# # Array of hosts to connect to. +# hosts: ["localhost:9200"] # Protocol - either `http` (default) or `https`. #protocol: "https" @@ -168,12 +297,12 @@ output.elasticsearch: #ssl.key: "/etc/pki/client/cert.key" # ================================= Processors ================================= -processors: - - add_host_metadata: - when.not.contains.tags: forwarded - - add_cloud_metadata: ~ - - add_docker_metadata: ~ - - add_kubernetes_metadata: ~ +# processors: +# - add_host_metadata: +# when.not.contains.tags: forwarded +# - add_cloud_metadata: ~ +# - add_docker_metadata: ~ +# - add_kubernetes_metadata: ~ # ================================== Logging =================================== diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 8df7809cf8c..91b0bd230b0 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -62,14 +62,14 @@ type DataCollectionMethod struct { type EventLogFileMethod struct { Enabled bool `config:"enabled"` - Interval time.Duration `config:"interval" validate:"required"` + Interval time.Duration `config:"interval"` Query *QueryConfig `config:"query"` Cursor *cursorConfig `config:"cursor"` } type ObjectMethod struct { Enabled bool `config:"enabled"` - Interval time.Duration `config:"interval" validate:"required"` + Interval time.Duration `config:"interval"` Query *QueryConfig `config:"query"` Cursor *cursorConfig `config:"cursor"` } diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 219e06b24cf..abeb20ad1d0 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -48,6 +48,7 @@ type salesforceInput struct { log *logp.Logger clientSession *session.Session + soqlr *soql.Resource } // // The Filebeat user-agent is provided to the program as useragent. @@ -112,6 +113,13 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in var err1, err2 error + // Create a new SOQL resource using the session. + soqlr, err := s.SetupSFClientConnection() + if err != nil { + return fmt.Errorf("error setting up connection to Salesforce: %w", err) + } + s.soqlr = soqlr + if cfg.DataCollectionMethod.EventLogFile.Enabled { log.Debugf("Starting EventLogFile collection") err1 = s.RunEventLogFile() @@ -132,36 +140,32 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in return errors.Join(err1, err2) } - objectMethodTicker := time.NewTicker(cfg.DataCollectionMethod.Object.Interval) - defer objectMethodTicker.Stop() - - eventLogFileTicker := time.NewTicker(cfg.DataCollectionMethod.EventLogFile.Interval) - defer eventLogFileTicker.Stop() + var ( + eventLogFileTicker *time.Ticker + objectMethodTicker *time.Ticker + ) + if cfg.DataCollectionMethod.Object.Enabled { + objectMethodTicker = time.NewTicker(cfg.DataCollectionMethod.Object.Interval) + defer objectMethodTicker.Stop() + } + if cfg.DataCollectionMethod.EventLogFile.Enabled { + eventLogFileTicker = time.NewTicker(cfg.DataCollectionMethod.EventLogFile.Interval) + defer eventLogFileTicker.Stop() + } for { select { case <-childCtx.Done(): return childCtx.Err() - default: - if cfg.DataCollectionMethod.EventLogFile.Enabled { - select { - case <-eventLogFileTicker.C: - log.Debugf("Starting EventLogFile collection") - if err := s.RunEventLogFile(); err != nil { - return err - } - default: - } + case <-eventLogFileTicker.C: + log.Debugf("Starting EventLogFile collection") + if err := s.RunEventLogFile(); err != nil { + return err } - if cfg.DataCollectionMethod.Object.Enabled { - select { - case <-objectMethodTicker.C: - log.Debugf("Starting Object collection") - if err := s.RunObject(); err != nil { - return err - } - default: - } + case <-objectMethodTicker.C: + log.Debugf("Starting Object collection") + if err := s.RunObject(); err != nil { + return err } } } @@ -197,17 +201,12 @@ func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig) (*querie } func (s *salesforceInput) RunObject() error { - soqlr, err := s.SetupSFClientConnection() - if err != nil { - return fmt.Errorf("error setting up connection to Salesforce: %w", err) - } - query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.Object.Query) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } - res, err := soqlr.Query(query, false) + res, err := s.soqlr.Query(query, false) if err != nil { return err } @@ -250,17 +249,12 @@ func (s *salesforceInput) RunObject() error { } func (s *salesforceInput) RunEventLogFile() error { - soqlr, err := s.SetupSFClientConnection() - if err != nil { - return fmt.Errorf("error setting up connection to Salesforce: %w", err) - } - query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.EventLogFile.Query) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } - res, err := soqlr.Query(query, false) + res, err := s.soqlr.Query(query, false) if err != nil { return err } diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 59774b12f76..b595976c2c4 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -5,10 +5,22 @@ package salesforce import ( + "context" + "fmt" + "io" + "net/http" + "net/http/httptest" + "reflect" + "sync" "testing" "time" + v2 "github.com/elastic/beats/v7/filebeat/input/v2" + inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" + "github.com/elastic/beats/v7/libbeat/beat" + conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" + "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" ) @@ -68,3 +80,192 @@ func TestFormQueryWithCursor(t *testing.T) { }) } } + +// sample: +/* +map[string]interface{}{ + "data_collection_method": map[string]interface{}{ + "event_log_file": map[string]interface{}{ + "interval": "1h", + "enabled": true, + "query": map[string]interface{}{ + "default": "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST", + "value": "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST", + }, + "cursor": map[string]interface{}{ + "field": "CreatedDate", + }, + }, + "object": map[string]interface{}{ + "interval": "5m", + "enabled": true, + "query": map[string]interface{}{ + "default": "SELECT FIELDS(STANDARD) FROM LoginEvent", + "value": "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]", + }, + "cursor": map[string]interface{}{ + "field": "EventDate", + }, + }, + }, +}, +*/ + +var testCases = []struct { + name string + setupServer func(testing.TB, http.HandlerFunc, map[string]interface{}) + baseConfig map[string]interface{} + handler http.HandlerFunc + expected []string + expectedFile string + wantErr bool + + skipReason string +}{ + { + name: "test_data_collection_method_object_with_default_query_only", + setupServer: newTestServer(httptest.NewServer), + baseConfig: map[string]interface{}{ + "auth.oauth2": map[string]interface{}{ + "enabled": true, + "client.id": "clientid", + "client.secret": "clientsecret", + "token_url": "https://instance_id.develop.my.salesforce.com/services/oauth2/token", + "user": "username", + "password": "password", + }, + "version": 56, + "data_collection_method": map[string]interface{}{ + "object": map[string]interface{}{ + "interval": "5m", + "enabled": true, + "query": map[string]interface{}{ + "default": "SELECT FIELDS(STANDARD) FROM LoginEvent", + "value": "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]", + }, + "cursor": map[string]interface{}{ + "field": "EventDate", + }, + }, + }, + }, + handler: defaultHandler("GET", "", `{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}`), + expected: []string{`{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}`}, + }, +} + +func TestInput(t *testing.T) { + logp.TestingSetup() + + for _, test := range testCases { + t.Run(test.name, func(t *testing.T) { + test.setupServer(t, test.handler, test.baseConfig) + + cfg := conf.MustNewConfigFrom(test.baseConfig) + + conf := defaultConfig() + err := cfg.Unpack(&conf) + assert.NoError(t, err) + + input := salesforceInput{} + input.config = conf + + assert.Equal(t, "salesforce", input.Name()) + + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + + v2Ctx := v2.Context{ + Logger: logp.NewLogger("salesforce_test"), + ID: "test_id:" + test.name, + Cancelation: ctx, + } + + var client publisher + client.done = func() { + if len(client.published) >= len(test.expected) { + cancel() + } + } + + src := &source{conf} + + err = input.run(v2Ctx, src, &state{}, &client) + if test.wantErr != (err != nil) { + t.Errorf("unexpected error from running input: got:%v want:%v", err, test.wantErr) + } + + if len(client.published) < len(test.expected) { + t.Errorf("unexpected number of published events: got:%d want at least:%d", len(client.published), len(test.expected)) + test.expected = test.expected[:len(client.published)] + } + + client.published = client.published[:len(test.expected)] + for i, got := range client.published { + if !reflect.DeepEqual(got.Fields["event"].(map[string]interface{})["original"], test.expected[i]) { + t.Errorf("unexpected result for event %d: got:- want:+\n%s", i, cmp.Diff(got.Fields, test.expected[i])) + } + } + }) + } +} + +func defaultHandler(expectedMethod, expectedBody, msg string) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("content-type", "application/json") + switch { + case r.RequestURI == "/services/oauth2/token": + fmt.Println("in services/oauth2/token") + w.WriteHeader(http.StatusOK) + msg = `{"access_token":"abcd","instance_url":"http://` + r.Host + `","token_type":"Bearer","id_token":"abcd","refresh_token":"abcd"}` + case r.Method != expectedMethod: + w.WriteHeader(http.StatusBadRequest) + msg = fmt.Sprintf(`{"error":"expected method was %q"}`, expectedMethod) + case expectedBody != "": + body, _ := io.ReadAll(r.Body) + r.Body.Close() + if expectedBody != string(body) { + w.WriteHeader(http.StatusBadRequest) + msg = fmt.Sprintf(`{"error":"expected body was %q"}`, expectedBody) + } + } + + _, _ = w.Write([]byte(msg)) + } +} + +func newTestServer( + newServer func(http.Handler) *httptest.Server, +) func(testing.TB, http.HandlerFunc, map[string]interface{}) { + return func(t testing.TB, h http.HandlerFunc, config map[string]interface{}) { + server := newServer(h) + fmt.Printf("server.URL: %v\n", server.URL) + config["url"] = server.URL + config["auth.oauth2"].(map[string]interface{})["token_url"] = server.URL + "/services/oauth2/token" + t.Cleanup(server.Close) + } +} + +var _ inputcursor.Publisher = (*publisher)(nil) + +type publisher struct { + done func() + mu sync.Mutex + published []beat.Event + cursors []map[string]interface{} +} + +func (p *publisher) Publish(e beat.Event, cursor interface{}) error { + p.mu.Lock() + p.published = append(p.published, e) + if cursor != nil { + c, ok := cursor.(map[string]interface{}) + if !ok { + return fmt.Errorf("invalid cursor type for testing: %T", cursor) + } + p.cursors = append(p.cursors, c) + } + p.done() + p.mu.Unlock() + return nil +} From 11e887526025daf4088833ff8c435169644fb919 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 19 Dec 2023 15:30:14 +0530 Subject: [PATCH 031/172] remove getObjectFromSOQL --- x-pack/filebeat/input/salesforce/input.go | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index abeb20ad1d0..9d0a1e4428c 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -14,7 +14,6 @@ import ( "io" "net/http" "os" - "strings" "time" "github.com/g8rswimmer/go-sfdc" @@ -80,20 +79,6 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp return s.run(env, src.(*source), st, pub) } -func getObjectFromSOQL(query string) (string, error) { - var ( - lowered = strings.ToLower(query) - fields = strings.Fields(lowered) - index = slices.Index(fields, "from") - ) - switch { - case index == -1, index+1 >= len(fields): - return "", fmt.Errorf("problem with SOQL query: %s", query) - default: - return fields[index+1], nil - } -} - func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub inputcursor.Publisher) (err error) { cfg := src.cfg log := env.Logger.With("input_url", cfg.URL) From 52f20fe9728140a1e6dc2ef75a113e3e7f2f4659 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 19 Dec 2023 15:44:40 +0530 Subject: [PATCH 032/172] fix bugs --- x-pack/filebeat/input/salesforce/input.go | 33 +++++++++++-------- .../filebeat/input/salesforce/input_test.go | 5 +-- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 9d0a1e4428c..eb5aab0ab9b 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -9,7 +9,6 @@ import ( "context" "encoding/csv" "encoding/json" - "errors" "fmt" "io" "net/http" @@ -120,37 +119,43 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in log.Errorf("Problem running EventLogFile collection: %s", err1) case err2 != nil: log.Errorf("Problem running Object collection: %s", err2) - case err1 != nil && err2 != nil: - log.Errorf("Problem running both EventLogFile and Object collection: %s", err2) - return errors.Join(err1, err2) } - var ( - eventLogFileTicker *time.Ticker - objectMethodTicker *time.Ticker - ) - if cfg.DataCollectionMethod.Object.Enabled { - objectMethodTicker = time.NewTicker(cfg.DataCollectionMethod.Object.Interval) - defer objectMethodTicker.Stop() - } + eventLogFileTicker, objectMethodTicker := &time.Ticker{}, &time.Ticker{} + eventLogFileTicker.C, objectMethodTicker.C = nil, nil + if cfg.DataCollectionMethod.EventLogFile.Enabled { eventLogFileTicker = time.NewTicker(cfg.DataCollectionMethod.EventLogFile.Interval) defer eventLogFileTicker.Stop() } + if cfg.DataCollectionMethod.Object.Enabled { + objectMethodTicker = time.NewTicker(cfg.DataCollectionMethod.Object.Interval) + defer objectMethodTicker.Stop() + } + for { + // Always check for cancel first, to not accidentally trigger another + // run if the context is already cancelled, but we have already received + // another ticker making the channel ready. + select { + case <-childCtx.Done(): + return childCtx.Err() + default: + } + select { case <-childCtx.Done(): return childCtx.Err() case <-eventLogFileTicker.C: log.Debugf("Starting EventLogFile collection") if err := s.RunEventLogFile(); err != nil { - return err + log.Errorf("Problem running EventLogFile collection: %s", err) } case <-objectMethodTicker.C: log.Debugf("Starting Object collection") if err := s.RunObject(); err != nil { - return err + log.Errorf("Problem running Object collection: %s", err) } } } diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index b595976c2c4..4d386ea2d0f 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -15,13 +15,14 @@ import ( "testing" "time" + "github.com/google/go-cmp/cmp" + "github.com/stretchr/testify/assert" + v2 "github.com/elastic/beats/v7/filebeat/input/v2" inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" - "github.com/google/go-cmp/cmp" - "github.com/stretchr/testify/assert" ) func TestFormQueryWithCursor(t *testing.T) { From 891dd29de2f88a6174fca4ccdb2ff8c3efb8ce9b Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 20 Dec 2023 02:08:48 +0530 Subject: [PATCH 033/172] refactor --- x-pack/filebeat/input/salesforce/input.go | 70 +++++----- .../filebeat/input/salesforce/input_test.go | 131 +++++++++--------- 2 files changed, 98 insertions(+), 103 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index eb5aab0ab9b..6e65f28bc47 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -42,6 +42,7 @@ type salesforceInput struct { cancel context.CancelCauseFunc publisher inputcursor.Publisher cursor *state + srcConfig *config sfdcConfig *sfdc.Configuration log *logp.Logger @@ -68,69 +69,66 @@ func (s *salesforceInput) Test(_ inputcursor.Source, _ v2.TestContext) error { // Run starts the input and blocks until it ends completes. It will return on // context cancellation or type invalidity errors, any other error will be retried. -func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inputcursor.Cursor, pub inputcursor.Publisher) error { +func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inputcursor.Cursor, pub inputcursor.Publisher) (err error) { st := &state{} if !cursor.IsNew() { if err := cursor.Unpack(&st); err != nil { return err } } - return s.run(env, src.(*source), st, pub) -} -func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub inputcursor.Publisher) (err error) { - cfg := src.cfg - log := env.Logger.With("input_url", cfg.URL) + cfg := src.(*source).cfg ctx := ctxtool.FromCanceller(env.Cancelation) childCtx, cancel := context.WithCancelCause(ctx) + s.srcConfig = &cfg s.ctx = childCtx s.cancel = cancel s.publisher = pub - s.cursor = cursor - s.log = log + s.cursor = st + s.log = env.Logger.With("input_url", cfg.URL) s.sfdcConfig, err = getSFDCConfig(&cfg) if err != nil { return err } - var err1, err2 error - - // Create a new SOQL resource using the session. - soqlr, err := s.SetupSFClientConnection() + soqlr, err := s.SetupSFClientConnection() // create a new SOQL resource if err != nil { return fmt.Errorf("error setting up connection to Salesforce: %w", err) } s.soqlr = soqlr - if cfg.DataCollectionMethod.EventLogFile.Enabled { - log.Debugf("Starting EventLogFile collection") - err1 = s.RunEventLogFile() - } + return s.run() +} - if cfg.DataCollectionMethod.Object.Enabled { - log.Debugf("Starting Object collection") - err2 = s.RunObject() +func (s *salesforceInput) run() error { + if s.srcConfig.DataCollectionMethod.EventLogFile.Enabled { + s.log.Debugf("Starting EventLogFile collection") + err := s.RunEventLogFile() + if err != nil { + s.log.Errorf("Problem running EventLogFile collection: %s", err) + } } - switch { - case err1 != nil: - log.Errorf("Problem running EventLogFile collection: %s", err1) - case err2 != nil: - log.Errorf("Problem running Object collection: %s", err2) + if s.srcConfig.DataCollectionMethod.Object.Enabled { + s.log.Debugf("Starting Object collection") + err := s.RunObject() + if err != nil { + s.log.Errorf("Problem running Object collection: %s", err) + } } eventLogFileTicker, objectMethodTicker := &time.Ticker{}, &time.Ticker{} eventLogFileTicker.C, objectMethodTicker.C = nil, nil - if cfg.DataCollectionMethod.EventLogFile.Enabled { - eventLogFileTicker = time.NewTicker(cfg.DataCollectionMethod.EventLogFile.Interval) + if s.srcConfig.DataCollectionMethod.EventLogFile.Enabled { + eventLogFileTicker = time.NewTicker(s.srcConfig.DataCollectionMethod.EventLogFile.Interval) defer eventLogFileTicker.Stop() } - if cfg.DataCollectionMethod.Object.Enabled { - objectMethodTicker = time.NewTicker(cfg.DataCollectionMethod.Object.Interval) + if s.srcConfig.DataCollectionMethod.Object.Enabled { + objectMethodTicker = time.NewTicker(s.srcConfig.DataCollectionMethod.Object.Interval) defer objectMethodTicker.Stop() } @@ -139,23 +137,23 @@ func (s *salesforceInput) run(env v2.Context, src *source, cursor *state, pub in // run if the context is already cancelled, but we have already received // another ticker making the channel ready. select { - case <-childCtx.Done(): - return childCtx.Err() + case <-s.ctx.Done(): + return s.ctx.Err() default: } select { - case <-childCtx.Done(): - return childCtx.Err() + case <-s.ctx.Done(): + return s.ctx.Err() case <-eventLogFileTicker.C: - log.Debugf("Starting EventLogFile collection") + s.log.Debugf("Starting EventLogFile collection") if err := s.RunEventLogFile(); err != nil { - log.Errorf("Problem running EventLogFile collection: %s", err) + s.log.Errorf("Problem running EventLogFile collection: %s", err) } case <-objectMethodTicker.C: - log.Debugf("Starting Object collection") + s.log.Debugf("Starting Object collection") if err := s.RunObject(); err != nil { - log.Errorf("Problem running Object collection: %s", err) + s.log.Errorf("Problem running Object collection: %s", err) } } } diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 4d386ea2d0f..0e110a6fe71 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -26,6 +26,8 @@ import ( ) func TestFormQueryWithCursor(t *testing.T) { + logp.TestingSetup() + mockTimeNow(time.Date(2023, time.May, 18, 12, 0, 0, 0, time.UTC)) t.Cleanup(resetTimeNow) @@ -35,7 +37,6 @@ func TestFormQueryWithCursor(t *testing.T) { valueSOQLTemplate string wantQuery string cursor *state - wantErr error }{ "valid soql templates with nil cursor": { // expect default query with LogDate > initialInterval initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 60 days (2 months) @@ -112,64 +113,62 @@ map[string]interface{}{ }, */ -var testCases = []struct { - name string - setupServer func(testing.TB, http.HandlerFunc, map[string]interface{}) - baseConfig map[string]interface{} - handler http.HandlerFunc - expected []string - expectedFile string - wantErr bool - - skipReason string -}{ - { - name: "test_data_collection_method_object_with_default_query_only", - setupServer: newTestServer(httptest.NewServer), - baseConfig: map[string]interface{}{ - "auth.oauth2": map[string]interface{}{ - "enabled": true, - "client.id": "clientid", - "client.secret": "clientsecret", - "token_url": "https://instance_id.develop.my.salesforce.com/services/oauth2/token", - "user": "username", - "password": "password", - }, - "version": 56, - "data_collection_method": map[string]interface{}{ - "object": map[string]interface{}{ - "interval": "5m", - "enabled": true, - "query": map[string]interface{}{ - "default": "SELECT FIELDS(STANDARD) FROM LoginEvent", - "value": "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]", - }, - "cursor": map[string]interface{}{ - "field": "EventDate", +func TestInput(t *testing.T) { + logp.TestingSetup() + + tests := []struct { + name string + setupServer func(testing.TB, http.HandlerFunc, map[string]interface{}) + baseConfig map[string]interface{} + handler http.HandlerFunc + expected []string + expectedFile string + wantErr bool + + skipReason string + }{ + { + name: "test_data_collection_method_object_with_default_query_only", + setupServer: newTestServer(httptest.NewServer), + baseConfig: map[string]interface{}{ + "auth.oauth2": map[string]interface{}{ + "enabled": true, + "client.id": "clientid", + "client.secret": "clientsecret", + "token_url": "https://instance_id.develop.my.salesforce.com/services/oauth2/token", + "user": "username", + "password": "password", + }, + "version": 56, + "data_collection_method": map[string]interface{}{ + "object": map[string]interface{}{ + "interval": "5m", + "enabled": true, + "query": map[string]interface{}{ + "default": "SELECT FIELDS(STANDARD) FROM LoginEvent", + "value": "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]", + }, + "cursor": map[string]interface{}{ + "field": "EventDate", + }, }, }, }, + handler: defaultHandler("GET", "", `{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}`), + expected: []string{`{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}`}, }, - handler: defaultHandler("GET", "", `{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}`), - expected: []string{`{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}`}, - }, -} - -func TestInput(t *testing.T) { - logp.TestingSetup() + } - for _, test := range testCases { - t.Run(test.name, func(t *testing.T) { - test.setupServer(t, test.handler, test.baseConfig) + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + tc.setupServer(t, tc.handler, tc.baseConfig) - cfg := conf.MustNewConfigFrom(test.baseConfig) + cfg := defaultConfig() - conf := defaultConfig() - err := cfg.Unpack(&conf) + err := conf.MustNewConfigFrom(tc.baseConfig).Unpack(&cfg) assert.NoError(t, err) - input := salesforceInput{} - input.config = conf + input := salesforceInput{config: cfg} assert.Equal(t, "salesforce", input.Name()) @@ -178,33 +177,31 @@ func TestInput(t *testing.T) { v2Ctx := v2.Context{ Logger: logp.NewLogger("salesforce_test"), - ID: "test_id:" + test.name, + ID: "test_id:" + tc.name, Cancelation: ctx, } var client publisher client.done = func() { - if len(client.published) >= len(test.expected) { + if len(client.published) >= len(tc.expected) { cancel() } } - src := &source{conf} - - err = input.run(v2Ctx, src, &state{}, &client) - if test.wantErr != (err != nil) { - t.Errorf("unexpected error from running input: got:%v want:%v", err, test.wantErr) + err = input.Run(v2Ctx, &source{cfg: cfg}, inputcursor.Cursor{}, &client) + if tc.wantErr != (err != nil) { + t.Errorf("unexpected error from running input: got:%v want:%v", err, tc.wantErr) } - if len(client.published) < len(test.expected) { - t.Errorf("unexpected number of published events: got:%d want at least:%d", len(client.published), len(test.expected)) - test.expected = test.expected[:len(client.published)] + if len(client.published) < len(tc.expected) { + t.Errorf("unexpected number of published events: got:%d want at least:%d", len(client.published), len(tc.expected)) + tc.expected = tc.expected[:len(client.published)] } - client.published = client.published[:len(test.expected)] + client.published = client.published[:len(tc.expected)] for i, got := range client.published { - if !reflect.DeepEqual(got.Fields["event"].(map[string]interface{})["original"], test.expected[i]) { - t.Errorf("unexpected result for event %d: got:- want:+\n%s", i, cmp.Diff(got.Fields, test.expected[i])) + if !reflect.DeepEqual(got.Fields["event"].(map[string]interface{})["original"], tc.expected[i]) { + t.Errorf("unexpected result for event %d: got:- want:+\n%s", i, cmp.Diff(got.Fields, tc.expected[i])) } } }) @@ -235,9 +232,7 @@ func defaultHandler(expectedMethod, expectedBody, msg string) http.HandlerFunc { } } -func newTestServer( - newServer func(http.Handler) *httptest.Server, -) func(testing.TB, http.HandlerFunc, map[string]interface{}) { +func newTestServer(newServer func(http.Handler) *httptest.Server) func(testing.TB, http.HandlerFunc, map[string]interface{}) { return func(t testing.TB, h http.HandlerFunc, config map[string]interface{}) { server := newServer(h) fmt.Printf("server.URL: %v\n", server.URL) @@ -258,6 +253,8 @@ type publisher struct { func (p *publisher) Publish(e beat.Event, cursor interface{}) error { p.mu.Lock() + defer p.mu.Unlock() + p.published = append(p.published, e) if cursor != nil { c, ok := cursor.(map[string]interface{}) @@ -267,6 +264,6 @@ func (p *publisher) Publish(e beat.Event, cursor interface{}) error { p.cursors = append(p.cursors, c) } p.done() - p.mu.Unlock() + return nil } From cd0b63c9609343c58b5569d382b89a98ea4a02fd Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 20 Dec 2023 02:24:30 +0530 Subject: [PATCH 034/172] refactor --- x-pack/filebeat/input/salesforce/config.go | 37 ----------- x-pack/filebeat/input/salesforce/input.go | 5 +- .../filebeat/input/salesforce/input_test.go | 66 ++++++------------- 3 files changed, 23 insertions(+), 85 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 91b0bd230b0..4f1bb8dfe15 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -10,43 +10,6 @@ import ( "time" ) -// Sample Config: -/* -- type: salesforce - enabled: true - version: 56 - auth.oauth2: - enabled: false - client.id: clientid - client.secret: clientsecret - token_url: https://instance_id.develop.my.salesforce.com/services/oauth2/token - user: username - password: password - auth.jwt: - enabled: true - client.id: clientid - client.username: username - client.key_path: ./server_client.key - url: https://login.salesforce.com - url: https://instance_id.develop.my.salesforce.com - data_collection_method: - event_log_file: - interval: 1h - enabled: true - query: - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" - value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST" - cursor: - field: "CreatedDate" - object: - interval: 5m - enabled: true - query: - default: "SELECT FIELDS(STANDARD) FROM LoginEvent" - value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]" - cursor: - field: "EventDate" -*/ type config struct { Auth *authConfig `config:"auth"` URL string `config:"url" validate:"required"` diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 6e65f28bc47..06763bf2bf4 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -90,14 +90,13 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp s.log = env.Logger.With("input_url", cfg.URL) s.sfdcConfig, err = getSFDCConfig(&cfg) if err != nil { - return err + return fmt.Errorf("error with configuration: %w", err) } - soqlr, err := s.SetupSFClientConnection() // create a new SOQL resource + s.soqlr, err = s.SetupSFClientConnection() // create a new SOQL resource if err != nil { return fmt.Errorf("error setting up connection to Salesforce: %w", err) } - s.soqlr = soqlr return s.run() } diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 0e110a6fe71..eae6543f61c 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -18,7 +18,6 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" - v2 "github.com/elastic/beats/v7/filebeat/input/v2" inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" conf "github.com/elastic/elastic-agent-libs/config" @@ -71,7 +70,7 @@ func TestFormQueryWithCursor(t *testing.T) { sfInput := &salesforceInput{ config: config{InitialInterval: tc.initialInterval}, - log: logp.L().With("hello", "world"), + log: logp.NewLogger("salesforce"), cursor: tc.cursor, } @@ -83,36 +82,6 @@ func TestFormQueryWithCursor(t *testing.T) { } } -// sample: -/* -map[string]interface{}{ - "data_collection_method": map[string]interface{}{ - "event_log_file": map[string]interface{}{ - "interval": "1h", - "enabled": true, - "query": map[string]interface{}{ - "default": "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST", - "value": "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST", - }, - "cursor": map[string]interface{}{ - "field": "CreatedDate", - }, - }, - "object": map[string]interface{}{ - "interval": "5m", - "enabled": true, - "query": map[string]interface{}{ - "default": "SELECT FIELDS(STANDARD) FROM LoginEvent", - "value": "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]", - }, - "cursor": map[string]interface{}{ - "field": "EventDate", - }, - }, - }, -}, -*/ - func TestInput(t *testing.T) { logp.TestingSetup() @@ -128,7 +97,7 @@ func TestInput(t *testing.T) { skipReason string }{ { - name: "test_data_collection_method_object_with_default_query_only", + name: "data_collection_method_object_with_default_query_only", setupServer: newTestServer(httptest.NewServer), baseConfig: map[string]interface{}{ "auth.oauth2": map[string]interface{}{ @@ -164,23 +133,12 @@ func TestInput(t *testing.T) { tc.setupServer(t, tc.handler, tc.baseConfig) cfg := defaultConfig() - err := conf.MustNewConfigFrom(tc.baseConfig).Unpack(&cfg) assert.NoError(t, err) - input := salesforceInput{config: cfg} - - assert.Equal(t, "salesforce", input.Name()) - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() - v2Ctx := v2.Context{ - Logger: logp.NewLogger("salesforce_test"), - ID: "test_id:" + tc.name, - Cancelation: ctx, - } - var client publisher client.done = func() { if len(client.published) >= len(tc.expected) { @@ -188,7 +146,25 @@ func TestInput(t *testing.T) { } } - err = input.Run(v2Ctx, &source{cfg: cfg}, inputcursor.Cursor{}, &client) + salesforceInput := salesforceInput{config: cfg} + assert.Equal(t, "salesforce", salesforceInput.Name()) + + ctx, cancelClause := context.WithCancelCause(ctx) + + salesforceInput.cursor = &state{} + salesforceInput.ctx = ctx + salesforceInput.cancel = cancelClause + salesforceInput.srcConfig = &cfg + salesforceInput.publisher = &client + salesforceInput.log = logp.NewLogger("salesforce") + + salesforceInput.sfdcConfig, err = getSFDCConfig(&cfg) + assert.NoError(t, err) + + salesforceInput.soqlr, err = salesforceInput.SetupSFClientConnection() + assert.NoError(t, err) + + err = salesforceInput.run() if tc.wantErr != (err != nil) { t.Errorf("unexpected error from running input: got:%v want:%v", err, tc.wantErr) } From fa0050312a74374da118ec931595dc886e34c9c1 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 20 Dec 2023 02:32:29 +0530 Subject: [PATCH 035/172] refactor --- x-pack/filebeat/input/salesforce/input.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 06763bf2bf4..318cf3c670e 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -72,11 +72,19 @@ func (s *salesforceInput) Test(_ inputcursor.Source, _ v2.TestContext) error { func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inputcursor.Cursor, pub inputcursor.Publisher) (err error) { st := &state{} if !cursor.IsNew() { - if err := cursor.Unpack(&st); err != nil { + if err = cursor.Unpack(&st); err != nil { return err } } + if err = s.Setup(env, src, st, pub); err != nil { + return err + } + + return s.run() +} + +func (s *salesforceInput) Setup(env v2.Context, src inputcursor.Source, cursor *state, pub inputcursor.Publisher) (err error) { cfg := src.(*source).cfg ctx := ctxtool.FromCanceller(env.Cancelation) @@ -86,7 +94,7 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp s.ctx = childCtx s.cancel = cancel s.publisher = pub - s.cursor = st + s.cursor = cursor s.log = env.Logger.With("input_url", cfg.URL) s.sfdcConfig, err = getSFDCConfig(&cfg) if err != nil { @@ -98,7 +106,7 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp return fmt.Errorf("error setting up connection to Salesforce: %w", err) } - return s.run() + return nil } func (s *salesforceInput) run() error { From 6309b01f8802d0f0aee4447a31a0e7f096216c13 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 20 Dec 2023 13:02:25 +0530 Subject: [PATCH 036/172] - Fix cursor for object method - Separate out cursors both both method to use --- x-pack/filebeat/filebeat.yml | 6 +-- x-pack/filebeat/input/salesforce/input.go | 42 +++++++++++++------ .../filebeat/input/salesforce/input_test.go | 24 +++++++---- x-pack/filebeat/input/salesforce/state.go | 13 ++++-- 4 files changed, 58 insertions(+), 27 deletions(-) diff --git a/x-pack/filebeat/filebeat.yml b/x-pack/filebeat/filebeat.yml index 80abce0fcd2..c708c7c2d60 100644 --- a/x-pack/filebeat/filebeat.yml +++ b/x-pack/filebeat/filebeat.yml @@ -98,10 +98,10 @@ filebeat.inputs: data_collection_method: event_log_file: interval: 1h - enabled: true + enabled: false query: default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" - value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST" + value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate_elf ]] ORDER BY CreatedDate ASC NULLS FIRST" cursor: field: "CreatedDate" object: @@ -109,7 +109,7 @@ filebeat.inputs: enabled: true query: default: "SELECT FIELDS(STANDARD) FROM LoginEvent" - value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]" + value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate_object ]]" cursor: field: "EventDate" diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 318cf3c670e..1dbd72f4851 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -184,8 +184,8 @@ func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { return soqlr, nil } -func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig) (*querier, error) { - qr, err := parseCursor(&s.config.InitialInterval, queryConfig, s.cursor, s.log) +func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig, cursor mapstr.M) (*querier, error) { + qr, err := parseCursor(&s.config.InitialInterval, queryConfig, cursor, s.log) if err != nil { return nil, err } @@ -196,7 +196,15 @@ func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig) (*querie } func (s *salesforceInput) RunObject() error { - query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.Object.Query) + var cursor mapstr.M + if s.cursor.Object.LogDateTime != "" { + cursor = mapstr.M{ + "object": mapstr.M{ + "logdate": s.cursor.Object.LogDateTime, + }, + } + } + query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.Object.Query, cursor) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } @@ -207,6 +215,7 @@ func (s *salesforceInput) RunObject() error { } totalEvents := 0 + firstEvent := true for res.Done() { for _, rec := range res.Records() { val := rec.Record().Fields() @@ -216,16 +225,18 @@ func (s *salesforceInput) RunObject() error { return err } - if timstamp, ok := val[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { - s.cursor.LogDateTime = timstamp - } else { - s.cursor.LogDateTime = timeNow().Format(formatRFC3339Like) + if firstEvent { + s.cursor.Object.LogDateTime = timeNow().Format(formatRFC3339Like) + if timstamp, ok := val[s.config.DataCollectionMethod.Object.Cursor.Field].(string); ok { + s.cursor.Object.LogDateTime = timstamp + } } err = publishEvent(s.publisher, s.cursor, jsonStrEvent) if err != nil { return err } + firstEvent = false totalEvents++ } @@ -244,7 +255,15 @@ func (s *salesforceInput) RunObject() error { } func (s *salesforceInput) RunEventLogFile() error { - query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.EventLogFile.Query) + var cursor mapstr.M + if s.cursor.EventLogFile.LogDateTime != "" { + cursor = mapstr.M{ + "event_log_file": mapstr.M{ + "logdate": s.cursor.EventLogFile.LogDateTime, + }, + } + } + query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.EventLogFile.Query, cursor) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } @@ -257,7 +276,7 @@ func (s *salesforceInput) RunEventLogFile() error { totalEvents := 0 for res.Done() { for _, rec := range res.Records() { - req, err := http.NewRequestWithContext(s.ctx, "GET", s.sfdcConfig.Credentials.URL()+rec.Record().Fields()["LogFile"].(string), nil) + req, err := http.NewRequestWithContext(s.ctx, "GET", s.config.URL+rec.Record().Fields()["LogFile"].(string), nil) if err != nil { return err } @@ -283,10 +302,9 @@ func (s *salesforceInput) RunEventLogFile() error { return err } + s.cursor.EventLogFile.LogDateTime = timeNow().Format(formatRFC3339Like) if timstamp, ok := rec.Record().Fields()[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { - s.cursor.LogDateTime = timstamp - } else { - s.cursor.LogDateTime = timeNow().Format(formatRFC3339Like) + s.cursor.EventLogFile.LogDateTime = timstamp } for _, val := range recs { diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index eae6543f61c..0bebd2bcaf4 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -22,6 +22,7 @@ import ( "github.com/elastic/beats/v7/libbeat/beat" conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" + "github.com/elastic/elastic-agent-libs/mapstr" ) func TestFormQueryWithCursor(t *testing.T) { @@ -35,21 +36,29 @@ func TestFormQueryWithCursor(t *testing.T) { defaultSOQLTemplate string valueSOQLTemplate string wantQuery string - cursor *state + cursor mapstr.M + wantErr error }{ "valid soql templates with nil cursor": { // expect default query with LogDate > initialInterval initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 60 days (2 months) defaultSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > [[ .var.initial_interval ]] ORDER BY CreatedDate ASC NULLS FIRST", valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST", wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > 2023-03-19T12:00:00Z ORDER BY CreatedDate ASC NULLS FIRST", - cursor: &state{}, + cursor: nil, }, - "valid soql templates with non-empty .cursor.logdate": { // expect value SOQL query with .cursor.logdate set + "valid soql templates with non-empty .cursor.object.logdate": { // expect value SOQL query with .cursor.object.logdate set + initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 60 days (2 months) + defaultSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM LoginEvent WHERE EventDate > [[ .var.initial_interval ]]", + valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM LoginEvent WHERE CreatedDate > [[ .cursor.object.logdate ]]", + wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM LoginEvent WHERE CreatedDate > 2023-05-18T12:00:00Z", + cursor: mapstr.M{"object": mapstr.M{"logdate": timeNow().Format(formatRFC3339Like)}}, + }, + "valid soql templates with non-empty .cursor.event_log_file.logdate": { // expect value SOQL query with .cursor.event_log_file.logdate set initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 60 days (2 months) defaultSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > [[ .var.initial_interval ]] ORDER BY CreatedDate ASC NULLS FIRST", - valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST", + valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST", wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > 2023-05-18T12:00:00Z ORDER BY CreatedDate ASC NULLS FIRST", - cursor: &state{LogDateTime: timeNow().Format(formatRFC3339Like)}, + cursor: mapstr.M{"event_log_file": mapstr.M{"logdate": timeNow().Format(formatRFC3339Like)}}, }, } @@ -70,11 +79,10 @@ func TestFormQueryWithCursor(t *testing.T) { sfInput := &salesforceInput{ config: config{InitialInterval: tc.initialInterval}, - log: logp.NewLogger("salesforce"), - cursor: tc.cursor, + log: logp.L().With("hello", "world"), } - querier, err := sfInput.FormQueryWithCursor(queryConfig) + querier, err := sfInput.FormQueryWithCursor(queryConfig, tc.cursor) assert.NoError(t, err) assert.EqualValues(t, tc.wantQuery, querier.Query) diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index f55fbd354bc..b70df3a407e 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -12,17 +12,22 @@ import ( ) type state struct { - LogDateTime string `struct:"timestamp"` + Object dateCursor `json:"object,omitempty"` + EventLogFile dateCursor `json:"event_log_file,omitempty"` } -func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor *state, log *logp.Logger) (qr string, err error) { +type dateCursor struct { + LogDateTime string `struct:"logdate,omitempty"` +} + +func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor mapstr.M, log *logp.Logger) (qr string, err error) { ctxTmpl := mapstr.M{ "var": nil, "cursor": nil, } - if cursor.LogDateTime != "" { - ctxTmpl["cursor"] = mapstr.M{"logdate": cursor.LogDateTime} + if cursor != nil { + ctxTmpl["cursor"] = cursor qr, err = cfg.Value.Execute(ctxTmpl, nil, log) if err != nil { return "", err From 215d8ecba1b8b5ba4c6dd521eda0a7819c9440ff Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 20 Dec 2023 15:49:08 +0530 Subject: [PATCH 037/172] add first_event_time and last_event_time in cursor --- x-pack/filebeat/filebeat.yml | 151 ++---------------- x-pack/filebeat/input/salesforce/input.go | 48 +++--- .../filebeat/input/salesforce/input_test.go | 17 +- x-pack/filebeat/input/salesforce/state.go | 9 +- 4 files changed, 49 insertions(+), 176 deletions(-) diff --git a/x-pack/filebeat/filebeat.yml b/x-pack/filebeat/filebeat.yml index c708c7c2d60..d4080e9cccb 100644 --- a/x-pack/filebeat/filebeat.yml +++ b/x-pack/filebeat/filebeat.yml @@ -14,137 +14,6 @@ filebeat.inputs: -- type: cel - enabled: false - auth.digest: - user: "fpczxkxc" - password: "ceb46652-b9a3-4889-92a1-6633e0dda890" - resource.url: https://cloud.mongodb.com/api/atlas/v1.0/groups/646f4379c47da356740d14ad/clusters/atlas-ccx4uc-shard-00-00.q5ljb.mongodb.net/logs/mongodb-audit-log.gz?endDate=1700956800&startDate=1700955700 - state: - query: "/measurements?granularity=PT5M&period=PT5m" - want_more: false - next_url: "" - program: | - ( - string(bytes(get(state.url).Body).mime('application/gzip')).split("\n").map(body, { - "events": body.decode_json() - } - ) - ) - # .mime('application/gzip').decode_json() - -- type: cel - enabled: false - redact: - fields: - - path - delete: true - interval: 5s - auth.oauth2: - client.id: 3MVG9n_HvETGhr3BNn.eD22p.G8AhQ.F8wFg9_pSgbUKvyJZlyzR9f1W6llXfQvfjmcVYc.4LSBPjd8u9DpQH - client.secret: B7E6F2FEE72BFDF2C5B9860D0DA1A35D4E5F86694FA35A77E90E056B1564DD19 - token_url: https://crestdatasystems16-dev-ed.develop.my.salesforce.com/services/oauth2/token - user: ali@crest.sandbox - password: Letsgothere#$1234 - resource.url: "https://crestdatasystems16-dev-ed.develop.my.salesforce.com" - # resource.url: "http://localhost:8010" - state: - want_more: false - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" - query: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND LogDate > [[.cursor.last]] ORDER BY CreatedDate ASC NULLS FIRST" - path: "/services/data/v52.0/query" - initial_interval: 24h - url: "https://crestdatasystems16-dev-ed.develop.my.salesforce.com" - program: | - bytes(get(string(state.url + state.path).parse_url().with({"RawQuery":({"q":[(!has(state.cursor) || !has(state.cursor.last) != ''? state.default : state.query)]}).format_query()}).format_url()).Body) - .decode_json() - .as(body,body.records) - .map(e, e.with({ - "csv": bytes(get(state.url + e.LogFile).Body).mime("text/csv; header=present"), - "e": e, - }).collate("csv").map(list, { - "csv": list, - "storeDate": { - "createdDate": e.CreatedDate - } - })).flatten().as(res, { - "events": res.collate("csv"), - "cursor": res.collate('storeDate.createdDate').as(t, { - "first": t.min(), - "last": t.max(), - }) - }) - -# Username:- salesforcetest081@gmail.com -# Password:- Salesforceinstance786 - -- type: salesforce - enabled: true - version: 56 - auth.oauth2: - enabled: false - client.id: 3MVG9pRzvMkjMb6nzW6iSPJU2rxCryzVeeo7KXuRlI1uqDsJhxdi76lQ5Eks2KSfr1o8D1PoMoGQCPPILnnkB - client.secret: C497A710C21497FB0A1E68B8DAF78DCFBE455C41BFBE076E85B9B37553D6CAAF - token_url: https://devtestin-dev-ed.develop.my.salesforce.com/services/oauth2/token - user: salesforceinstance@devtest.in - password: testinginstance4salesforce - auth.jwt: - enabled: true - client.id: 3MVG9pRzvMkjMb6nzW6iSPJU2r_G5FX9VkEC9kY.5sHaN1HrUSJzRy3dlofAYPyxJo_aEetg0zwp3wmnKJjyY - client.username: salesforceinstance@devtest.in - client.key_path: server_client.key - url: https://login.salesforce.com - url: "https://devtestin-dev-ed.develop.my.salesforce.com" - data_collection_method: - event_log_file: - interval: 1h - enabled: false - query: - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" - value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate_elf ]] ORDER BY CreatedDate ASC NULLS FIRST" - cursor: - field: "CreatedDate" - object: - interval: 5m - enabled: true - query: - default: "SELECT FIELDS(STANDARD) FROM LoginEvent" - value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate_object ]]" - cursor: - field: "EventDate" - -- type: httpjson - id: 100 - enabled: false - interval: 1h - request.method: GET - auth.oauth2: - enabled: true - client.id: 3MVG9pRzvMkjMb6nzW6iSPJU2rxCryzVeeo7KXuRlI1uqDsJhxdi76lQ5Eks2KSfr1o8D1PoMoGQCPPILnnkB - client.secret: C497A710C21497FB0A1E68B8DAF78DCFBE455C41BFBE076E85B9B37553D6CAAF - token_url: https://devtestin-dev-ed.develop.my.salesforce.com/services/oauth2/token - user: salesforceinstance@devtest.in - password: testinginstance4salesforce - request.url: https://devtestin-dev-ed.develop.my.salesforce.com/services/data/v52.0/query?q=login+rest - request.transforms: - - set: - target: url.params.q - value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE LogDate > [[.cursor.last_published_apex]] AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" - response.pagination: - - set: - target: url.value - value: '[[if (ne .last_response.body.done true)]]https://devtestin-dev-ed.develop.my.salesforce.com[[.last_response.body.nextRecordsUrl]][[end]]' - fail_on_template_error: true - chain: - - step: - request.url: https://devtestin-dev-ed.develop.my.salesforce.com/services/data/v52.0/sobjects/EventLogFile/$.records[:].Id/LogFile - request.method: GET - replace: $.records[:].Id - cursor: - last_published_apex: - value: '[[(formatDate ((parseDate .last_event.TIMESTAMP_DERIVED "RFC3339").Add (parseDuration "-1h")))]]' - # Each - is an input. Most options can be set at the input level, so # you can use different inputs for various configurations. # Below are the input-specific configurations. @@ -266,12 +135,10 @@ setup.kibana: # Configure what output to use when sending the data collected by the beat. -output.console: - pretty: true # ---------------------------- Elasticsearch Output ---------------------------- -# output.elasticsearch: -# # Array of hosts to connect to. -# hosts: ["localhost:9200"] +output.elasticsearch: + # Array of hosts to connect to. + hosts: ["localhost:9200"] # Protocol - either `http` (default) or `https`. #protocol: "https" @@ -297,12 +164,12 @@ output.console: #ssl.key: "/etc/pki/client/cert.key" # ================================= Processors ================================= -# processors: -# - add_host_metadata: -# when.not.contains.tags: forwarded -# - add_cloud_metadata: ~ -# - add_docker_metadata: ~ -# - add_kubernetes_metadata: ~ +processors: + - add_host_metadata: + when.not.contains.tags: forwarded + - add_cloud_metadata: ~ + - add_docker_metadata: ~ + - add_kubernetes_metadata: ~ # ================================== Logging =================================== diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 1dbd72f4851..52433a4f2fc 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -196,15 +196,14 @@ func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig, cursor m } func (s *salesforceInput) RunObject() error { - var cursor mapstr.M - if s.cursor.Object.LogDateTime != "" { - cursor = mapstr.M{ - "object": mapstr.M{ - "logdate": s.cursor.Object.LogDateTime, - }, - } + object := mapstr.M{} + if s.cursor.Object.FirstEventTime != "" { + object.Put("first_event_time", s.cursor.Object.FirstEventTime) + } + if s.cursor.Object.LastEventTime != "" { + object.Put("last_event_time", s.cursor.Object.LastEventTime) } - query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.Object.Query, cursor) + query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.Object.Query, mapstr.M{"object": object}) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } @@ -226,12 +225,15 @@ func (s *salesforceInput) RunObject() error { } if firstEvent { - s.cursor.Object.LogDateTime = timeNow().Format(formatRFC3339Like) if timstamp, ok := val[s.config.DataCollectionMethod.Object.Cursor.Field].(string); ok { - s.cursor.Object.LogDateTime = timstamp + s.cursor.Object.FirstEventTime = timstamp } } + if timstamp, ok := val[s.config.DataCollectionMethod.Object.Cursor.Field].(string); ok { + s.cursor.Object.LastEventTime = timstamp + } + err = publishEvent(s.publisher, s.cursor, jsonStrEvent) if err != nil { return err @@ -255,15 +257,14 @@ func (s *salesforceInput) RunObject() error { } func (s *salesforceInput) RunEventLogFile() error { - var cursor mapstr.M - if s.cursor.EventLogFile.LogDateTime != "" { - cursor = mapstr.M{ - "event_log_file": mapstr.M{ - "logdate": s.cursor.EventLogFile.LogDateTime, - }, - } + eventLogFile := mapstr.M{} + if s.cursor.EventLogFile.FirstEventTime != "" { + eventLogFile.Put("first_event_time", s.cursor.EventLogFile.FirstEventTime) + } + if s.cursor.EventLogFile.LastEventTime != "" { + eventLogFile.Put("last_event_time", s.cursor.EventLogFile.LastEventTime) } - query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.EventLogFile.Query, cursor) + query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.EventLogFile.Query, mapstr.M{"event_log_file": eventLogFile}) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } @@ -274,6 +275,7 @@ func (s *salesforceInput) RunEventLogFile() error { } totalEvents := 0 + firstEvent := true for res.Done() { for _, rec := range res.Records() { req, err := http.NewRequestWithContext(s.ctx, "GET", s.config.URL+rec.Record().Fields()["LogFile"].(string), nil) @@ -302,9 +304,14 @@ func (s *salesforceInput) RunEventLogFile() error { return err } - s.cursor.EventLogFile.LogDateTime = timeNow().Format(formatRFC3339Like) + if firstEvent { + if timstamp, ok := rec.Record().Fields()[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { + s.cursor.EventLogFile.FirstEventTime = timstamp + } + } + if timstamp, ok := rec.Record().Fields()[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { - s.cursor.EventLogFile.LogDateTime = timstamp + s.cursor.EventLogFile.LastEventTime = timstamp } for _, val := range recs { @@ -319,6 +326,7 @@ func (s *salesforceInput) RunEventLogFile() error { } totalEvents++ } + firstEvent = false } if res.MoreRecords() { diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 0bebd2bcaf4..1e98017cb7e 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -94,15 +94,12 @@ func TestInput(t *testing.T) { logp.TestingSetup() tests := []struct { - name string - setupServer func(testing.TB, http.HandlerFunc, map[string]interface{}) - baseConfig map[string]interface{} - handler http.HandlerFunc - expected []string - expectedFile string - wantErr bool - - skipReason string + name string + setupServer func(testing.TB, http.HandlerFunc, map[string]interface{}) + baseConfig map[string]interface{} + handler http.HandlerFunc + expected []string + wantErr bool }{ { name: "data_collection_method_object_with_default_query_only", @@ -184,7 +181,7 @@ func TestInput(t *testing.T) { client.published = client.published[:len(tc.expected)] for i, got := range client.published { - if !reflect.DeepEqual(got.Fields["event"].(map[string]interface{})["original"], tc.expected[i]) { + if !reflect.DeepEqual(got.Fields["message"], tc.expected[i]) { t.Errorf("unexpected result for event %d: got:- want:+\n%s", i, cmp.Diff(got.Fields, tc.expected[i])) } } diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index b70df3a407e..6559b7cc3a8 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -12,12 +12,13 @@ import ( ) type state struct { - Object dateCursor `json:"object,omitempty"` - EventLogFile dateCursor `json:"event_log_file,omitempty"` + Object dateTimeCursor `json:"object,omitempty"` + EventLogFile dateTimeCursor `json:"event_log_file,omitempty"` } -type dateCursor struct { - LogDateTime string `struct:"logdate,omitempty"` +type dateTimeCursor struct { + FirstEventTime string `struct:"first_event_time,omitempty"` + LastEventTime string `struct:"last_event_time,omitempty"` } func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor mapstr.M, log *logp.Logger) (qr string, err error) { From fb375db30d151d0e985b23b944dbbb6bcc9e2885 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 02:21:13 +0530 Subject: [PATCH 038/172] refactor --- .../filebeat/input/salesforce/config_auth.go | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index 5ed41487f39..b4d2ebfa690 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -43,12 +43,17 @@ func (o *oAuth2Config) Validate() error { return nil } - if o.TokenURL == "" || o.ClientID == "" || o.ClientSecret == "" { - return errors.New("both token_url and client credentials must be provided") - } - - if o.Password == "" || o.User == "" { - return errors.New("both user and password credentials must be provided") + switch { + case o.TokenURL == "": + return errors.New("token_url must be provided") + case o.ClientID == "": + return errors.New("client.id must be provided") + case o.ClientSecret == "": + return errors.New("client.secret must be provided") + case o.Password == "": + return errors.New("password must be provided") + case o.User == "": + return errors.New("user must be provided") } return nil @@ -64,5 +69,16 @@ func (o *jwtConfig) Validate() error { return nil } + switch { + case o.URL == "": + return errors.New("url must be provided") + case o.ClientId == "": + return errors.New("client.id must be provided") + case o.ClientUsername == "": + return errors.New("client.username must be provided") + case o.ClientKeyPath == "": + return errors.New("client.key_path must be provided") + } + return nil } From 4c0494b6e23fde2555d0083be8db28634b7cfe86 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 11:15:23 +0530 Subject: [PATCH 039/172] add ut and refactor --- .../filebeat/input/salesforce/config_auth.go | 9 +-- .../input/salesforce/config_auth_test.go | 55 +++++++++++++++++++ .../filebeat/input/salesforce/config_test.go | 4 -- .../input/salesforce/{time.go => helper.go} | 4 ++ x-pack/filebeat/input/salesforce/input.go | 2 +- 5 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 x-pack/filebeat/input/salesforce/config_auth_test.go rename x-pack/filebeat/input/salesforce/{time.go => helper.go} (91%) diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index b4d2ebfa690..2b6be5fb089 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -27,7 +27,7 @@ type jwtConfig struct { Enabled *bool `config:"enabled"` URL string `config:"url"` - ClientId string `config:"client.id"` + ClientID string `config:"client.id"` ClientUsername string `config:"client.username"` ClientKeyPath string `config:"client.key_path"` } @@ -50,10 +50,11 @@ func (o *oAuth2Config) Validate() error { return errors.New("client.id must be provided") case o.ClientSecret == "": return errors.New("client.secret must be provided") - case o.Password == "": - return errors.New("password must be provided") case o.User == "": return errors.New("user must be provided") + case o.Password == "": + return errors.New("password must be provided") + } return nil @@ -72,7 +73,7 @@ func (o *jwtConfig) Validate() error { switch { case o.URL == "": return errors.New("url must be provided") - case o.ClientId == "": + case o.ClientID == "": return errors.New("client.id must be provided") case o.ClientUsername == "": return errors.New("client.username must be provided") diff --git a/x-pack/filebeat/input/salesforce/config_auth_test.go b/x-pack/filebeat/input/salesforce/config_auth_test.go new file mode 100644 index 00000000000..816b4dcfdef --- /dev/null +++ b/x-pack/filebeat/input/salesforce/config_auth_test.go @@ -0,0 +1,55 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package salesforce + +import ( + "errors" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestOAuth2Config(t *testing.T) { + tests := map[string]struct { + config oAuth2Config + wantErr error + }{ + "auth disabled I": {config: oAuth2Config{}, wantErr: nil}, + "auth disabled II": {config: oAuth2Config{Enabled: pointer(false)}, wantErr: nil}, + "tokenURL missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: ""}, wantErr: errors.New("token_url must be provided")}, + "clientID missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, + "clientSecret missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: ""}, wantErr: errors.New("client.secret must be provided")}, + "user missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", User: ""}, wantErr: errors.New("user must be provided")}, + "password missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", User: "user", Password: ""}, wantErr: errors.New("password must be provided")}, + "all present": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", User: "user", Password: "pass"}, wantErr: nil}, + } + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + got := tc.config.Validate() + assert.Equal(t, tc.wantErr, got) + }) + } +} + +func TestJWTConfig(t *testing.T) { + tests := map[string]struct { + config jwtConfig + wantErr error + }{ + "auth disabled I": {config: jwtConfig{}, wantErr: nil}, + "auth disabled II": {config: jwtConfig{Enabled: pointer(false)}, wantErr: nil}, + "url missing": {config: jwtConfig{Enabled: pointer(true), URL: ""}, wantErr: errors.New("url must be provided")}, + "clientID missing": {config: jwtConfig{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, + "clientUsername missing": {config: jwtConfig{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: ""}, wantErr: errors.New("client.username must be provided")}, + "clientKeyPath missing": {config: jwtConfig{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: ""}, wantErr: errors.New("client.key_path must be provided")}, + "all present": {config: jwtConfig{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: "def"}, wantErr: nil}, + } + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + got := tc.config.Validate() + assert.Equal(t, tc.wantErr, got) + }) + } +} diff --git a/x-pack/filebeat/input/salesforce/config_test.go b/x-pack/filebeat/input/salesforce/config_test.go index 7bc372ce641..ccefae0e45a 100644 --- a/x-pack/filebeat/input/salesforce/config_test.go +++ b/x-pack/filebeat/input/salesforce/config_test.go @@ -13,10 +13,6 @@ import ( "github.com/stretchr/testify/assert" ) -func pointer[T any](d T) *T { - return &d -} - func TestValidate(t *testing.T) { tests := map[string]struct { inputCfg config diff --git a/x-pack/filebeat/input/salesforce/time.go b/x-pack/filebeat/input/salesforce/helper.go similarity index 91% rename from x-pack/filebeat/input/salesforce/time.go rename to x-pack/filebeat/input/salesforce/helper.go index 187a1accdba..e1be80bb6cf 100644 --- a/x-pack/filebeat/input/salesforce/time.go +++ b/x-pack/filebeat/input/salesforce/helper.go @@ -18,3 +18,7 @@ func mockTimeNow(t time.Time) { func resetTimeNow() { timeNow = time.Now } + +func pointer[T any](d T) *T { + return &d +} diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 52433a4f2fc..d4fd40503a0 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -363,7 +363,7 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { passCreds := credentials.JwtCredentials{ URL: cfg.Auth.JWT.URL, - ClientId: cfg.Auth.JWT.ClientId, + ClientId: cfg.Auth.JWT.ClientID, ClientUsername: cfg.Auth.JWT.ClientUsername, ClientKey: signKey, } From 790a99e1144e234eda13c6d57699a30615fdf6b2 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 21 Dec 2023 11:19:53 +0530 Subject: [PATCH 040/172] refactor code and add cursor with first & last event time options --- x-pack/filebeat/input/salesforce/config.go | 37 +++++------ .../filebeat/input/salesforce/config_test.go | 22 +++---- x-pack/filebeat/input/salesforce/input.go | 64 +++++++++++-------- 3 files changed, 64 insertions(+), 59 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 4f1bb8dfe15..75e7157b0e5 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -11,30 +11,27 @@ import ( ) type config struct { - Auth *authConfig `config:"auth"` - URL string `config:"url" validate:"required"` - Version int `config:"version" validate:"required"` - InitialInterval time.Duration `config:"initial_interval"` - DataCollectionMethod *DataCollectionMethod `config:"data_collection_method"` + Auth *authConfig `config:"auth"` + URL string `config:"url" validate:"required"` + Version int `config:"version" validate:"required"` + InitialInterval time.Duration `config:"initial_interval"` + EventMonitoringMethod *EventMonitoringMethod `config:"event_monitoring_method"` } -type DataCollectionMethod struct { - EventLogFile EventLogFileMethod `config:"event_log_file"` - Object ObjectMethod `config:"object"` +type EventMonitoringMethod struct { + EventLogFile EventMonitoringConfig `config:"event_log_file"` + Object EventMonitoringConfig `config:"object"` } -type EventLogFileMethod struct { - Enabled bool `config:"enabled"` +type EventMonitoringConfig struct { + Enabled *bool `config:"enabled"` Interval time.Duration `config:"interval"` Query *QueryConfig `config:"query"` Cursor *cursorConfig `config:"cursor"` } -type ObjectMethod struct { - Enabled bool `config:"enabled"` - Interval time.Duration `config:"interval"` - Query *QueryConfig `config:"query"` - Cursor *cursorConfig `config:"cursor"` +func (e *EventMonitoringConfig) isEnabled() bool { + return e != nil && (e.Enabled != nil && *e.Enabled) } type cursorConfig struct { @@ -49,12 +46,12 @@ func (c *config) Validate() error { return errors.New("only one auth provider must be enabled") case c.URL == "": return errors.New("no instance url is configured") - case !c.DataCollectionMethod.Object.Enabled && !c.DataCollectionMethod.EventLogFile.Enabled: + case !c.EventMonitoringMethod.Object.isEnabled() && !c.EventMonitoringMethod.EventLogFile.isEnabled(): return errors.New(`at least one of "data_collection_method.event_log_file.enabled" or "data_collection_method.object.enabled" must be set to true`) - case c.DataCollectionMethod.EventLogFile.Enabled && c.DataCollectionMethod.EventLogFile.Interval == 0: - return fmt.Errorf("not a valid interval %d", c.DataCollectionMethod.EventLogFile.Interval) - case c.DataCollectionMethod.Object.Enabled && c.DataCollectionMethod.Object.Interval == 0: - return fmt.Errorf("not a valid interval %d", c.DataCollectionMethod.Object.Interval) + case c.EventMonitoringMethod.EventLogFile.isEnabled() && c.EventMonitoringMethod.EventLogFile.Interval == 0: + return fmt.Errorf("not a valid interval %d", c.EventMonitoringMethod.EventLogFile.Interval) + case c.EventMonitoringMethod.Object.isEnabled() && c.EventMonitoringMethod.Object.Interval == 0: + return fmt.Errorf("not a valid interval %d", c.EventMonitoringMethod.Object.Interval) case c.Version < 46: // * EventLogFile object is available in API version 32.0 or later diff --git a/x-pack/filebeat/input/salesforce/config_test.go b/x-pack/filebeat/input/salesforce/config_test.go index ccefae0e45a..4dba272cd63 100644 --- a/x-pack/filebeat/input/salesforce/config_test.go +++ b/x-pack/filebeat/input/salesforce/config_test.go @@ -49,8 +49,8 @@ func TestValidate(t *testing.T) { }, "no data collection method configured": { inputCfg: config{ - DataCollectionMethod: &DataCollectionMethod{}, - URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", + EventMonitoringMethod: &EventMonitoringMethod{}, + URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ OAuth2: &oAuth2Config{ Enabled: pointer(true), @@ -61,9 +61,9 @@ func TestValidate(t *testing.T) { }, "invalid elf interval (1h)": { inputCfg: config{ - DataCollectionMethod: &DataCollectionMethod{ - EventLogFile: EventLogFileMethod{ - Enabled: true, + EventMonitoringMethod: &EventMonitoringMethod{ + EventLogFile: EventMonitoringConfig{ + Enabled: pointer(true), Interval: time.Duration(0), }, }, @@ -78,9 +78,9 @@ func TestValidate(t *testing.T) { }, "invalid object interval (1h)": { inputCfg: config{ - DataCollectionMethod: &DataCollectionMethod{ - Object: ObjectMethod{ - Enabled: true, + EventMonitoringMethod: &EventMonitoringMethod{ + Object: EventMonitoringConfig{ + Enabled: pointer(true), Interval: time.Duration(0), }, }, @@ -96,9 +96,9 @@ func TestValidate(t *testing.T) { "invalid api version (v45)": { inputCfg: config{ Version: 45, - DataCollectionMethod: &DataCollectionMethod{ - Object: ObjectMethod{ - Enabled: true, + EventMonitoringMethod: &EventMonitoringMethod{ + Object: EventMonitoringConfig{ + Enabled: pointer(true), Interval: time.Hour, }, }, diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index d4fd40503a0..f939bd002ce 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -110,16 +110,14 @@ func (s *salesforceInput) Setup(env v2.Context, src inputcursor.Source, cursor * } func (s *salesforceInput) run() error { - if s.srcConfig.DataCollectionMethod.EventLogFile.Enabled { - s.log.Debugf("Starting EventLogFile collection") + if s.srcConfig.EventMonitoringMethod.EventLogFile.isEnabled() { err := s.RunEventLogFile() if err != nil { s.log.Errorf("Problem running EventLogFile collection: %s", err) } } - if s.srcConfig.DataCollectionMethod.Object.Enabled { - s.log.Debugf("Starting Object collection") + if s.srcConfig.EventMonitoringMethod.Object.isEnabled() { err := s.RunObject() if err != nil { s.log.Errorf("Problem running Object collection: %s", err) @@ -129,13 +127,13 @@ func (s *salesforceInput) run() error { eventLogFileTicker, objectMethodTicker := &time.Ticker{}, &time.Ticker{} eventLogFileTicker.C, objectMethodTicker.C = nil, nil - if s.srcConfig.DataCollectionMethod.EventLogFile.Enabled { - eventLogFileTicker = time.NewTicker(s.srcConfig.DataCollectionMethod.EventLogFile.Interval) + if s.srcConfig.EventMonitoringMethod.EventLogFile.isEnabled() { + eventLogFileTicker = time.NewTicker(s.srcConfig.EventMonitoringMethod.EventLogFile.Interval) defer eventLogFileTicker.Stop() } - if s.srcConfig.DataCollectionMethod.Object.Enabled { - objectMethodTicker = time.NewTicker(s.srcConfig.DataCollectionMethod.Object.Interval) + if s.srcConfig.EventMonitoringMethod.Object.isEnabled() { + objectMethodTicker = time.NewTicker(s.srcConfig.EventMonitoringMethod.Object.Interval) defer objectMethodTicker.Stop() } @@ -153,12 +151,10 @@ func (s *salesforceInput) run() error { case <-s.ctx.Done(): return s.ctx.Err() case <-eventLogFileTicker.C: - s.log.Debugf("Starting EventLogFile collection") if err := s.RunEventLogFile(); err != nil { s.log.Errorf("Problem running EventLogFile collection: %s", err) } case <-objectMethodTicker.C: - s.log.Debugf("Starting Object collection") if err := s.RunObject(); err != nil { s.log.Errorf("Problem running Object collection: %s", err) } @@ -196,14 +192,20 @@ func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig, cursor m } func (s *salesforceInput) RunObject() error { - object := mapstr.M{} - if s.cursor.Object.FirstEventTime != "" { - object.Put("first_event_time", s.cursor.Object.FirstEventTime) - } - if s.cursor.Object.LastEventTime != "" { - object.Put("last_event_time", s.cursor.Object.LastEventTime) + s.log.Debugf("Scrape Objects every %s", s.srcConfig.EventMonitoringMethod.Object.Interval) + + var cursor mapstr.M + if !(s.cursor.Object.FirstEventTime == "" && s.cursor.Object.LastEventTime == "") { + object := make(mapstr.M) + if s.cursor.Object.FirstEventTime != "" { + object.Put("first_event_time", s.cursor.Object.FirstEventTime) + } + if s.cursor.Object.LastEventTime != "" { + object.Put("last_event_time", s.cursor.Object.LastEventTime) + } + cursor = mapstr.M{"object": object} } - query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.Object.Query, mapstr.M{"object": object}) + query, err := s.FormQueryWithCursor(s.config.EventMonitoringMethod.Object.Query, cursor) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } @@ -225,12 +227,12 @@ func (s *salesforceInput) RunObject() error { } if firstEvent { - if timstamp, ok := val[s.config.DataCollectionMethod.Object.Cursor.Field].(string); ok { + if timstamp, ok := val[s.config.EventMonitoringMethod.Object.Cursor.Field].(string); ok { s.cursor.Object.FirstEventTime = timstamp } } - if timstamp, ok := val[s.config.DataCollectionMethod.Object.Cursor.Field].(string); ok { + if timstamp, ok := val[s.config.EventMonitoringMethod.Object.Cursor.Field].(string); ok { s.cursor.Object.LastEventTime = timstamp } @@ -257,14 +259,20 @@ func (s *salesforceInput) RunObject() error { } func (s *salesforceInput) RunEventLogFile() error { - eventLogFile := mapstr.M{} - if s.cursor.EventLogFile.FirstEventTime != "" { - eventLogFile.Put("first_event_time", s.cursor.EventLogFile.FirstEventTime) - } - if s.cursor.EventLogFile.LastEventTime != "" { - eventLogFile.Put("last_event_time", s.cursor.EventLogFile.LastEventTime) + s.log.Debugf("Scrape EventLogFiles every %s", s.srcConfig.EventMonitoringMethod.EventLogFile.Interval) + + var cursor mapstr.M + if !(s.cursor.EventLogFile.FirstEventTime == "" && s.cursor.EventLogFile.LastEventTime == "") { + eventLogFile := make(mapstr.M) + if s.cursor.EventLogFile.FirstEventTime != "" { + eventLogFile.Put("first_event_time", s.cursor.EventLogFile.FirstEventTime) + } + if s.cursor.EventLogFile.LastEventTime != "" { + eventLogFile.Put("last_event_time", s.cursor.EventLogFile.LastEventTime) + } + cursor = mapstr.M{"event_log_file": eventLogFile} } - query, err := s.FormQueryWithCursor(s.config.DataCollectionMethod.EventLogFile.Query, mapstr.M{"event_log_file": eventLogFile}) + query, err := s.FormQueryWithCursor(s.config.EventMonitoringMethod.EventLogFile.Query, cursor) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) } @@ -305,12 +313,12 @@ func (s *salesforceInput) RunEventLogFile() error { } if firstEvent { - if timstamp, ok := rec.Record().Fields()[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { + if timstamp, ok := rec.Record().Fields()[s.config.EventMonitoringMethod.EventLogFile.Cursor.Field].(string); ok { s.cursor.EventLogFile.FirstEventTime = timstamp } } - if timstamp, ok := rec.Record().Fields()[s.config.DataCollectionMethod.EventLogFile.Cursor.Field].(string); ok { + if timstamp, ok := rec.Record().Fields()[s.config.EventMonitoringMethod.EventLogFile.Cursor.Field].(string); ok { s.cursor.EventLogFile.LastEventTime = timstamp } From 5a715604fe39543b2c6231525c68e809ea865446 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 11:43:12 +0530 Subject: [PATCH 041/172] add ut --- .../input/salesforce/input_manager_test.go | 71 ++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index 4686f4aa89e..361a974930a 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -4,7 +4,76 @@ package salesforce -import v2 "github.com/elastic/beats/v7/filebeat/input/v2" +import ( + "testing" + "time" + + v2 "github.com/elastic/beats/v7/filebeat/input/v2" + cursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" + "github.com/elastic/beats/v7/libbeat/statestore" + "github.com/elastic/beats/v7/libbeat/statestore/storetest" + conf "github.com/elastic/elastic-agent-libs/config" + "github.com/elastic/elastic-agent-libs/logp" + "github.com/elastic/go-concert/unison" + "github.com/stretchr/testify/assert" +) // compile-time check if querier implements InputManager var _ v2.InputManager = InputManager{} + +func makeTestStore(data map[string]interface{}) *statestore.Store { + memstore := &storetest.MapStore{Table: data} + reg := statestore.NewRegistry(&storetest.MemoryStore{ + Stores: map[string]*storetest.MapStore{ + "test": memstore, + }, + }) + store, err := reg.Get("test") + if err != nil { + panic("failed to create test store") + } + return store +} + +type stateStore struct{} + +func (stateStore) Access() (*statestore.Store, error) { + return makeTestStore(map[string]interface{}{"hello": "world"}), nil +} +func (stateStore) CleanupInterval() time.Duration { return time.Duration(0) } + +// compile-time check if stateStore implements cursor.StateStore +var _ cursor.StateStore = stateStore{} + +func TestInputManager(t *testing.T) { + inputManager := NewInputManager(logp.NewLogger("salesforce_test"), stateStore{}) + + var inputTaskGroup unison.TaskGroup + defer func() { + _ = inputTaskGroup.Stop() + }() + + err := inputManager.Init(&inputTaskGroup, v2.ModeRun) + assert.NoError(t, err) + + config, err := conf.NewConfigFrom(map[string]interface{}{ + "url": "https://salesforce.com", + "version": 46, + "auth": &authConfig{ + JWT: &jwtConfig{ + Enabled: pointer(true), + URL: "https://salesforce.com", + ClientID: "xyz", + ClientUsername: "xyz", + ClientKeyPath: "xyz", + }, + }, + "data_collection_method": &DataCollectionMethod{ + Object: ObjectMethod{Enabled: true, Interval: 4}, + }, + }) + assert.NoError(t, err) + + _, err = inputManager.Create(config) + assert.NoError(t, err) +} From d826140fac24e631cff8ca5cd9de35cf5e6d7d4e Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 11:45:34 +0530 Subject: [PATCH 042/172] add ut --- x-pack/filebeat/input/salesforce/input_manager_test.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index 361a974930a..749d6f191a5 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -77,3 +77,10 @@ func TestInputManager(t *testing.T) { _, err = inputManager.Create(config) assert.NoError(t, err) } + +func TestSource(t *testing.T) { + want := "https://salesforce.com" + src := source{cfg: config{URL: want}} + got := src.Name() + assert.Equal(t, want, got) +} From 77a629d2e548b8a5bfad209d1f6b38987df077a8 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 11:46:28 +0530 Subject: [PATCH 043/172] go mod tidy --- go.mod | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/go.mod b/go.mod index dd8e853c30a..66ad71415f8 100644 --- a/go.mod +++ b/go.mod @@ -225,8 +225,8 @@ require ( go.elastic.co/apm/module/apmhttp/v2 v2.4.7 go.elastic.co/apm/v2 v2.4.7 go.mongodb.org/mongo-driver v1.5.1 + golang.org/x/exp v0.0.0-20231127185646-65229373498e golang.org/x/tools/go/vcs v0.1.0-deprecated - golang.org/x/exp v0.0.0-20220921023135-46d9e7742f1e google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 gopkg.in/natefinch/lumberjack.v2 v2.0.0 ) @@ -371,7 +371,6 @@ require ( go.opentelemetry.io/otel v1.19.0 // indirect go.opentelemetry.io/otel/metric v1.19.0 // indirect go.opentelemetry.io/otel/trace v1.19.0 // indirect - golang.org/x/exp v0.0.0-20231127185646-65229373498e // indirect golang.org/x/term v0.15.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect From 8bc208e37c208722d35a0ad4174a53bd2f7f2b91 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 11:48:52 +0530 Subject: [PATCH 044/172] update ut --- x-pack/filebeat/input/salesforce/config.go | 2 +- x-pack/filebeat/input/salesforce/input_manager_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 75e7157b0e5..71bf6551456 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -47,7 +47,7 @@ func (c *config) Validate() error { case c.URL == "": return errors.New("no instance url is configured") case !c.EventMonitoringMethod.Object.isEnabled() && !c.EventMonitoringMethod.EventLogFile.isEnabled(): - return errors.New(`at least one of "data_collection_method.event_log_file.enabled" or "data_collection_method.object.enabled" must be set to true`) + return errors.New(`at least one of "event_monitoring_method.event_log_file.enabled" or "event_monitoring_method.object.enabled" must be set to true`) case c.EventMonitoringMethod.EventLogFile.isEnabled() && c.EventMonitoringMethod.EventLogFile.Interval == 0: return fmt.Errorf("not a valid interval %d", c.EventMonitoringMethod.EventLogFile.Interval) case c.EventMonitoringMethod.Object.isEnabled() && c.EventMonitoringMethod.Object.Interval == 0: diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index 749d6f191a5..1d16145eb94 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -68,8 +68,8 @@ func TestInputManager(t *testing.T) { ClientKeyPath: "xyz", }, }, - "data_collection_method": &DataCollectionMethod{ - Object: ObjectMethod{Enabled: true, Interval: 4}, + "event_monitoring_method": &EventMonitoringMethod{ + Object: EventMonitoringConfig{Enabled: pointer(true), Interval: 4}, }, }) assert.NoError(t, err) From de9432012fe5467e7949281c8c6e04bbb9e16ea2 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 12:59:28 +0530 Subject: [PATCH 045/172] update code --- x-pack/filebeat/input/salesforce/config.go | 4 +-- .../filebeat/input/salesforce/config_auth.go | 28 ++++++++------- .../input/salesforce/config_auth_test.go | 34 +++++++++---------- .../filebeat/input/salesforce/config_test.go | 34 +++++++++++-------- x-pack/filebeat/input/salesforce/input.go | 20 +++++------ .../input/salesforce/input_manager_test.go | 4 +-- .../filebeat/input/salesforce/input_test.go | 6 ++-- x-pack/filebeat/input/salesforce/value_tpl.go | 3 +- 8 files changed, 69 insertions(+), 64 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 71bf6551456..f85dcf8d348 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -40,9 +40,9 @@ type cursorConfig struct { func (c *config) Validate() error { switch { - case !c.Auth.JWT.isEnabled() && !c.Auth.OAuth2.isEnabled(): + case !c.Auth.OAuth2.JWTBearerFlow.isEnabled() && !c.Auth.OAuth2.UserPasswordFlow.isEnabled(): return errors.New("no auth provider enabled") - case c.Auth.JWT.isEnabled() && c.Auth.OAuth2.isEnabled(): + case c.Auth.OAuth2.JWTBearerFlow.isEnabled() && c.Auth.OAuth2.UserPasswordFlow.isEnabled(): return errors.New("only one auth provider must be enabled") case c.URL == "": return errors.New("no instance url is configured") diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index 2b6be5fb089..f6bb166204d 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -4,26 +4,28 @@ package salesforce -import ( - "errors" -) +import "errors" type authConfig struct { - OAuth2 *oAuth2Config `config:"oauth2"` - JWT *jwtConfig `config:"jwt"` + OAuth2 OAuth2 `config:"oauth2"` } -type oAuth2Config struct { +type OAuth2 struct { + UserPasswordFlow *userPasswordFlow `config:"user_password_flow"` + JWTBearerFlow *jwtBearerFlow `config:"jwt_bearer_flow"` +} + +type userPasswordFlow struct { Enabled *bool `config:"enabled"` ClientID string `config:"client.id"` ClientSecret string `config:"client.secret"` Password string `config:"password"` TokenURL string `config:"token_url"` - User string `config:"user"` + Username string `config:"username"` } -type jwtConfig struct { +type jwtBearerFlow struct { Enabled *bool `config:"enabled"` URL string `config:"url"` @@ -33,12 +35,12 @@ type jwtConfig struct { } // isEnabled returns true if the `enable` field is set to true in the yaml. -func (o *oAuth2Config) isEnabled() bool { +func (o *userPasswordFlow) isEnabled() bool { return o != nil && (o.Enabled != nil && *o.Enabled) } // Validate checks if oauth2 config is valid. -func (o *oAuth2Config) Validate() error { +func (o *userPasswordFlow) Validate() error { if !o.isEnabled() { return nil } @@ -50,7 +52,7 @@ func (o *oAuth2Config) Validate() error { return errors.New("client.id must be provided") case o.ClientSecret == "": return errors.New("client.secret must be provided") - case o.User == "": + case o.Username == "": return errors.New("user must be provided") case o.Password == "": return errors.New("password must be provided") @@ -61,11 +63,11 @@ func (o *oAuth2Config) Validate() error { } // isEnabled returns true if the `enable` field is set to true in the yaml. -func (o *jwtConfig) isEnabled() bool { +func (o *jwtBearerFlow) isEnabled() bool { return o != nil && (o.Enabled != nil && *o.Enabled) } -func (o *jwtConfig) Validate() error { +func (o *jwtBearerFlow) Validate() error { if !o.isEnabled() { return nil } diff --git a/x-pack/filebeat/input/salesforce/config_auth_test.go b/x-pack/filebeat/input/salesforce/config_auth_test.go index 816b4dcfdef..d36f95ca2f3 100644 --- a/x-pack/filebeat/input/salesforce/config_auth_test.go +++ b/x-pack/filebeat/input/salesforce/config_auth_test.go @@ -13,17 +13,17 @@ import ( func TestOAuth2Config(t *testing.T) { tests := map[string]struct { - config oAuth2Config + config userPasswordFlow wantErr error }{ - "auth disabled I": {config: oAuth2Config{}, wantErr: nil}, - "auth disabled II": {config: oAuth2Config{Enabled: pointer(false)}, wantErr: nil}, - "tokenURL missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: ""}, wantErr: errors.New("token_url must be provided")}, - "clientID missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, - "clientSecret missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: ""}, wantErr: errors.New("client.secret must be provided")}, - "user missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", User: ""}, wantErr: errors.New("user must be provided")}, - "password missing": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", User: "user", Password: ""}, wantErr: errors.New("password must be provided")}, - "all present": {config: oAuth2Config{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", User: "user", Password: "pass"}, wantErr: nil}, + "auth disabled I": {config: userPasswordFlow{}, wantErr: nil}, + "auth disabled II": {config: userPasswordFlow{Enabled: pointer(false)}, wantErr: nil}, + "tokenURL missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: ""}, wantErr: errors.New("token_url must be provided")}, + "clientID missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, + "clientSecret missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: ""}, wantErr: errors.New("client.secret must be provided")}, + "user missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: ""}, wantErr: errors.New("user must be provided")}, + "password missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: ""}, wantErr: errors.New("password must be provided")}, + "all present": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: "pass"}, wantErr: nil}, } for name, tc := range tests { t.Run(name, func(t *testing.T) { @@ -35,16 +35,16 @@ func TestOAuth2Config(t *testing.T) { func TestJWTConfig(t *testing.T) { tests := map[string]struct { - config jwtConfig + config jwtBearerFlow wantErr error }{ - "auth disabled I": {config: jwtConfig{}, wantErr: nil}, - "auth disabled II": {config: jwtConfig{Enabled: pointer(false)}, wantErr: nil}, - "url missing": {config: jwtConfig{Enabled: pointer(true), URL: ""}, wantErr: errors.New("url must be provided")}, - "clientID missing": {config: jwtConfig{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, - "clientUsername missing": {config: jwtConfig{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: ""}, wantErr: errors.New("client.username must be provided")}, - "clientKeyPath missing": {config: jwtConfig{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: ""}, wantErr: errors.New("client.key_path must be provided")}, - "all present": {config: jwtConfig{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: "def"}, wantErr: nil}, + "auth disabled I": {config: jwtBearerFlow{}, wantErr: nil}, + "auth disabled II": {config: jwtBearerFlow{Enabled: pointer(false)}, wantErr: nil}, + "url missing": {config: jwtBearerFlow{Enabled: pointer(true), URL: ""}, wantErr: errors.New("url must be provided")}, + "clientID missing": {config: jwtBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, + "clientUsername missing": {config: jwtBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: ""}, wantErr: errors.New("client.username must be provided")}, + "clientKeyPath missing": {config: jwtBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: ""}, wantErr: errors.New("client.key_path must be provided")}, + "all present": {config: jwtBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: "def"}, wantErr: nil}, } for name, tc := range tests { t.Run(name, func(t *testing.T) { diff --git a/x-pack/filebeat/input/salesforce/config_test.go b/x-pack/filebeat/input/salesforce/config_test.go index 4dba272cd63..0096ab3d6c8 100644 --- a/x-pack/filebeat/input/salesforce/config_test.go +++ b/x-pack/filebeat/input/salesforce/config_test.go @@ -21,8 +21,10 @@ func TestValidate(t *testing.T) { "no auth provider enabled (no password or jwt)": { inputCfg: config{ Auth: &authConfig{ - OAuth2: &oAuth2Config{}, - JWT: &jwtConfig{}, + OAuth2: OAuth2{ + UserPasswordFlow: &userPasswordFlow{}, + JWTBearerFlow: &jwtBearerFlow{}, + }, }, }, wantErr: errors.New("no auth provider enabled"), @@ -30,8 +32,10 @@ func TestValidate(t *testing.T) { "only one auth provider is allowed (either password or jwt)": { inputCfg: config{ Auth: &authConfig{ - OAuth2: &oAuth2Config{Enabled: pointer(true)}, - JWT: &jwtConfig{Enabled: pointer(true)}, + OAuth2: OAuth2{ + UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, + JWTBearerFlow: &jwtBearerFlow{Enabled: pointer(true)}, + }, }, }, wantErr: errors.New("only one auth provider must be enabled"), @@ -40,8 +44,8 @@ func TestValidate(t *testing.T) { inputCfg: config{ URL: "", Auth: &authConfig{ - OAuth2: &oAuth2Config{ - Enabled: pointer(true), + OAuth2: OAuth2{ + UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, }, }, }, @@ -52,12 +56,12 @@ func TestValidate(t *testing.T) { EventMonitoringMethod: &EventMonitoringMethod{}, URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ - OAuth2: &oAuth2Config{ - Enabled: pointer(true), + OAuth2: OAuth2{ + UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, }, }, }, - wantErr: errors.New(`at least one of "data_collection_method.event_log_file.enabled" or "data_collection_method.object.enabled" must be set to true`), + wantErr: errors.New(`at least one of "event_monitoring_method.event_log_file.enabled" or "event_monitoring_method.object.enabled" must be set to true`), }, "invalid elf interval (1h)": { inputCfg: config{ @@ -69,8 +73,8 @@ func TestValidate(t *testing.T) { }, URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ - OAuth2: &oAuth2Config{ - Enabled: pointer(true), + OAuth2: OAuth2{ + UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, }, }, }, @@ -86,8 +90,8 @@ func TestValidate(t *testing.T) { }, URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ - OAuth2: &oAuth2Config{ - Enabled: pointer(true), + OAuth2: OAuth2{ + UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, }, }, }, @@ -104,8 +108,8 @@ func TestValidate(t *testing.T) { }, URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ - OAuth2: &oAuth2Config{ - Enabled: pointer(true), + OAuth2: OAuth2{ + UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, }, }, }, diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index f939bd002ce..07db0840913 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -358,8 +358,8 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { ) switch { - case cfg.Auth.JWT.isEnabled(): - pemBytes, err := os.ReadFile(cfg.Auth.JWT.ClientKeyPath) + case cfg.Auth.OAuth2.JWTBearerFlow.isEnabled(): + pemBytes, err := os.ReadFile(cfg.Auth.OAuth2.JWTBearerFlow.ClientKeyPath) if err != nil { return nil, fmt.Errorf("problem with client key path for JWT auth: %w", err) } @@ -370,9 +370,9 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { } passCreds := credentials.JwtCredentials{ - URL: cfg.Auth.JWT.URL, - ClientId: cfg.Auth.JWT.ClientID, - ClientUsername: cfg.Auth.JWT.ClientUsername, + URL: cfg.Auth.OAuth2.JWTBearerFlow.URL, + ClientId: cfg.Auth.OAuth2.JWTBearerFlow.ClientID, + ClientUsername: cfg.Auth.OAuth2.JWTBearerFlow.ClientUsername, ClientKey: signKey, } @@ -380,13 +380,13 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { if err != nil { return nil, fmt.Errorf("problem with credentials: %w", err) } - case cfg.Auth.OAuth2.isEnabled(): + case cfg.Auth.OAuth2.UserPasswordFlow.isEnabled(): passCreds := credentials.PasswordCredentials{ URL: cfg.URL, - Username: cfg.Auth.OAuth2.User, - Password: cfg.Auth.OAuth2.Password, - ClientID: cfg.Auth.OAuth2.ClientID, - ClientSecret: cfg.Auth.OAuth2.ClientSecret, + Username: cfg.Auth.OAuth2.UserPasswordFlow.Username, + Password: cfg.Auth.OAuth2.UserPasswordFlow.Password, + ClientID: cfg.Auth.OAuth2.UserPasswordFlow.ClientID, + ClientSecret: cfg.Auth.OAuth2.UserPasswordFlow.ClientSecret, } creds, err = credentials.NewPasswordCredentials(passCreds) diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index 1d16145eb94..d0ac0a1edad 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -60,13 +60,13 @@ func TestInputManager(t *testing.T) { "url": "https://salesforce.com", "version": 46, "auth": &authConfig{ - JWT: &jwtConfig{ + OAuth2: OAuth2{JWTBearerFlow: &jwtBearerFlow{ Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "xyz", ClientKeyPath: "xyz", - }, + }}, }, "event_monitoring_method": &EventMonitoringMethod{ Object: EventMonitoringConfig{Enabled: pointer(true), Interval: 4}, diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 1e98017cb7e..1f309083471 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -102,11 +102,11 @@ func TestInput(t *testing.T) { wantErr bool }{ { - name: "data_collection_method_object_with_default_query_only", + name: "event_monitoring_method_object_with_default_query_only", setupServer: newTestServer(httptest.NewServer), baseConfig: map[string]interface{}{ "auth.oauth2": map[string]interface{}{ - "enabled": true, + "enabled": pointer(true), "client.id": "clientid", "client.secret": "clientsecret", "token_url": "https://instance_id.develop.my.salesforce.com/services/oauth2/token", @@ -114,7 +114,7 @@ func TestInput(t *testing.T) { "password": "password", }, "version": 56, - "data_collection_method": map[string]interface{}{ + "event_monitoring_method": map[string]interface{}{ "object": map[string]interface{}{ "interval": "5m", "enabled": true, diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index 872c8d14121..bdd1da02810 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -87,10 +87,9 @@ func (t *valueTpl) Unpack(in string) error { } func parseRFC3339Timestamp(s string) string { - now := timeNow().UTC() _, err := time.Parse(time.RFC3339, s) if err != nil { - return now.Format(time.RFC3339) + return "" } return s } From 6f4e7a71bf766c03e5ca7c184265f453c901b48d Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 16:46:50 +0530 Subject: [PATCH 046/172] template funcs --- .../filebeat/input/salesforce/input_test.go | 15 ++-- x-pack/filebeat/input/salesforce/state.go | 17 +---- x-pack/filebeat/input/salesforce/value_tpl.go | 76 ++++++++----------- 3 files changed, 42 insertions(+), 66 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 1f309083471..2f0fc2b4c60 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -20,7 +20,6 @@ import ( inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" - conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" "github.com/elastic/elastic-agent-libs/mapstr" ) @@ -40,22 +39,22 @@ func TestFormQueryWithCursor(t *testing.T) { wantErr error }{ "valid soql templates with nil cursor": { // expect default query with LogDate > initialInterval - initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 60 days (2 months) - defaultSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > [[ .var.initial_interval ]] ORDER BY CreatedDate ASC NULLS FIRST", + initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 1440h = 60 days = 2 months + defaultSOQLTemplate: `SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > [[ (formatTime (now.Add (parseDuration "-1440h")) "RFC3339") ]] ORDER BY CreatedDate ASC NULLS FIRST`, valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST", wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > 2023-03-19T12:00:00Z ORDER BY CreatedDate ASC NULLS FIRST", cursor: nil, }, "valid soql templates with non-empty .cursor.object.logdate": { // expect value SOQL query with .cursor.object.logdate set - initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 60 days (2 months) - defaultSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM LoginEvent WHERE EventDate > [[ .var.initial_interval ]]", + initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 1440h = 60 days = 2 months + defaultSOQLTemplate: `SELECT Id,CreatedDate,LogDate,LogFile FROM LoginEvent WHERE EventDate > [[ (formatTime (now.Add (parseDuration "-1440h")) "RFC3339") ]]`, valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM LoginEvent WHERE CreatedDate > [[ .cursor.object.logdate ]]", wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM LoginEvent WHERE CreatedDate > 2023-05-18T12:00:00Z", cursor: mapstr.M{"object": mapstr.M{"logdate": timeNow().Format(formatRFC3339Like)}}, }, "valid soql templates with non-empty .cursor.event_log_file.logdate": { // expect value SOQL query with .cursor.event_log_file.logdate set - initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 60 days (2 months) - defaultSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > [[ .var.initial_interval ]] ORDER BY CreatedDate ASC NULLS FIRST", + initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 1440h = 60 days = 2 months + defaultSOQLTemplate: `SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > [[ (formatTime (now.Add (parseDuration "-1440h")) "RFC3339") ]] ORDER BY CreatedDate ASC NULLS FIRST`, valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.logdate ]] ORDER BY CreatedDate ASC NULLS FIRST", wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > 2023-05-18T12:00:00Z ORDER BY CreatedDate ASC NULLS FIRST", cursor: mapstr.M{"event_log_file": mapstr.M{"logdate": timeNow().Format(formatRFC3339Like)}}, @@ -79,7 +78,7 @@ func TestFormQueryWithCursor(t *testing.T) { sfInput := &salesforceInput{ config: config{InitialInterval: tc.initialInterval}, - log: logp.L().With("hello", "world"), + log: logp.NewLogger("salesforce_test"), } querier, err := sfInput.FormQueryWithCursor(queryConfig, tc.cursor) diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index 6559b7cc3a8..8e51284bab7 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -21,26 +21,17 @@ type dateTimeCursor struct { LastEventTime string `struct:"last_event_time,omitempty"` } -func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor mapstr.M, log *logp.Logger) (qr string, err error) { - ctxTmpl := mapstr.M{ - "var": nil, - "cursor": nil, - } +func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor mapstr.M, log *logp.Logger) (string, error) { + ctxTmpl := mapstr.M{"cursor": nil} if cursor != nil { ctxTmpl["cursor"] = cursor - qr, err = cfg.Value.Execute(ctxTmpl, nil, log) + qr, err := cfg.Value.Execute(ctxTmpl, nil, log) if err != nil { return "", err } return qr, nil } - ctxTmpl["var"] = mapstr.M{"initial_interval": timeNow().Add(-*initialInterval).Format(formatRFC3339Like)} - qr, err = cfg.Default.Execute(ctxTmpl, cfg.Default, log) - if err != nil { - return "", err - } - - return qr, nil + return cfg.Default.Execute(ctxTmpl, nil, log) } diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index bdd1da02810..62bda665b6f 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -6,7 +6,6 @@ package salesforce import ( "errors" - "fmt" "strings" "text/template" "time" @@ -54,6 +53,7 @@ func (t *valueTpl) Execute(data any, defaultVal *valueTpl, log *logp.Logger) (va if val == "" { return fallback(errEmptyTemplateResult) } + return val, nil } @@ -68,12 +68,10 @@ func (t *valueTpl) Unpack(in string) error { tpl, err := template.New(""). Option("missingkey=error"). Funcs(template.FuncMap{ - "sprintf": fmt.Sprintf, - "formatCurrentTimeWithDurationOffset": formatCurrentTimeWithDurationOffset, - "formatUnixTimeAsRFC3339": formatUnixTimeAsRFC3339, - "formatUnixTimeMilliAsRFC3339": formatUnixTimeMilliAsRFC3339, - "formatUnixTimeNanoAsRFC3339": formatUnixTimeNanoAsRFC3339, - "parseRFC3339Timestamp": parseRFC3339Timestamp, + "now": timeNow, + "parseDuration": parseDuration, + "parseTime": parseTime, + "formatTime": formatTime, }). Delims(leftDelim, rightDelim). Parse(in) @@ -86,51 +84,39 @@ func (t *valueTpl) Unpack(in string) error { return nil } -func parseRFC3339Timestamp(s string) string { - _, err := time.Parse(time.RFC3339, s) - if err != nil { - return "" - } - return s -} - -func formatUnixTimeAsRFC3339(sec int64) string { - return time.Unix(sec, 0).Format(time.RFC3339) -} - -func formatUnixTimeMilliAsRFC3339(ms int64) string { - return time.Unix(0, ms*1e6).Format(time.RFC3339) +func parseDuration(s string) time.Duration { + d, _ := time.ParseDuration(s) + return d } -func formatUnixTimeNanoAsRFC3339(ns int64) string { - return time.Unix(0, ns).Format(time.RFC3339) +var predefinedLayouts = map[string]string{ + "ANSIC": time.ANSIC, + "UnixDate": time.UnixDate, + "RubyDate": time.RubyDate, + "RFC822": time.RFC822, + "RFC822Z": time.RFC822Z, + "RFC850": time.RFC850, + "RFC1123": time.RFC1123, + "RFC1123Z": time.RFC1123Z, + "RFC3339": time.RFC3339, // 2006-01-02T15:04:05Z07:00 + "CustomRFC3339Like": formatRFC3339Like, // 2006-01-02T15:04:05.999Z + "RFC3339Nano": time.RFC3339Nano, + "Kitchen": time.Kitchen, } -func formatCurrentTimeWithDurationOffset(duration string) string { - now := timeNow().UTC() - - if duration == "" { - return now.Format(time.RFC3339) - } - - d, err := time.ParseDuration(duration) - if err != nil { - return now.Format(time.RFC3339) +func parseTime(ts string, layout string) time.Time { + if found := predefinedLayouts[layout]; found != "" { + layout = found } - // Consume [-+]? - var neg bool + t, _ := time.Parse(layout, ts) + return t +} - c := duration[0] - if c == '-' || c == '+' { - neg = c == '-' +func formatTime(t time.Time, layout string) string { + if found := predefinedLayouts[layout]; found != "" { + layout = found } - // Example: - // * If duration d is -1h, then now()-1h - // * If duration d is 1h, then now()+1h - if neg { - return now.Add(-d).Format(time.RFC3339) - } - return now.Add(d).Format(time.RFC3339) + return t.Format(layout) } From 4fbf2f50e67cd7a1dc57930910d2e3aff11f946b Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 16:50:01 +0530 Subject: [PATCH 047/172] fix imports --- x-pack/filebeat/input/salesforce/input_manager_test.go | 3 ++- x-pack/filebeat/input/salesforce/input_test.go | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index d0ac0a1edad..a1ac603126c 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -8,6 +8,8 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" + v2 "github.com/elastic/beats/v7/filebeat/input/v2" cursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/statestore" @@ -15,7 +17,6 @@ import ( conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" "github.com/elastic/go-concert/unison" - "github.com/stretchr/testify/assert" ) // compile-time check if querier implements InputManager diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 2f0fc2b4c60..77dec269364 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -18,6 +18,8 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" + conf "github.com/elastic/elastic-agent-libs/config" + inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" "github.com/elastic/elastic-agent-libs/logp" From 6276fb52e92aa363595ffafc4dfe39dad5f31fd7 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 21 Dec 2023 17:08:17 +0530 Subject: [PATCH 048/172] InputTest update fix and add new testcase --- .../filebeat/input/salesforce/config_auth.go | 2 +- x-pack/filebeat/input/salesforce/input.go | 14 +- .../filebeat/input/salesforce/input_test.go | 131 +++++++++++++----- 3 files changed, 107 insertions(+), 40 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index f6bb166204d..303f8482e06 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -53,7 +53,7 @@ func (o *userPasswordFlow) Validate() error { case o.ClientSecret == "": return errors.New("client.secret must be provided") case o.Username == "": - return errors.New("user must be provided") + return errors.New("username must be provided") case o.Password == "": return errors.New("password must be provided") diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 07db0840913..30b978d0a0f 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -9,6 +9,7 @@ import ( "context" "encoding/csv" "encoding/json" + "errors" "fmt" "io" "net/http" @@ -143,13 +144,13 @@ func (s *salesforceInput) run() error { // another ticker making the channel ready. select { case <-s.ctx.Done(): - return s.ctx.Err() + return s.isError(s.ctx.Err()) default: } select { case <-s.ctx.Done(): - return s.ctx.Err() + return s.isError(s.ctx.Err()) case <-eventLogFileTicker.C: if err := s.RunEventLogFile(); err != nil { s.log.Errorf("Problem running EventLogFile collection: %s", err) @@ -162,6 +163,15 @@ func (s *salesforceInput) run() error { } } +func (s *salesforceInput) isError(err error) error { + if errors.Is(err, context.Canceled) || errors.Is(err, context.DeadlineExceeded) { + s.log.Infof("input stopped because context was cancelled with: %v", err) + return nil + } + + return err +} + func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { // Open creates a session using the configuration. session, err := session.Open(*s.sfdcConfig) diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 77dec269364..77561db9a08 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -7,6 +7,7 @@ package salesforce import ( "context" "fmt" + "github.com/elastic/beats/v7/libbeat/common/transform/typeconv" "io" "net/http" "net/http/httptest" @@ -18,14 +19,35 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" - conf "github.com/elastic/elastic-agent-libs/config" - inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" + conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" "github.com/elastic/elastic-agent-libs/mapstr" ) +const ( + defaultLoginEventObjectQuery = "SELECT FIELDS(STANDARD) FROM LoginEvent" + valueLoginEventObjectQuery = "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" + + defaultLoginEventLogFileQuery = "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" + valueLoginEventLogFileQuery = "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST" + + oneEventLogfileFirstResponseJSON = `{ "totalSize": 1, "done": true, "records": [ { "attributes": { "type": "EventLogFile", "url": "/services/data/v58.0/sobjects/EventLogFile/0AT5j00002LqQTxGAN" }, "Id": "0AT5j00002LqQTxGAN", "CreatedDate": "2023-12-19T21:04:35.000+0000", "LogDate": "2023-12-18T00:00:00.000+0000", "LogFile": "/services/data/v58.0/sobjects/EventLogFile/0AT5j00002LqQTxGAN/LogFile" } ] }` + oneEventLogfileSecondResponseCSV = `"EVENT_TYPE","TIMESTAMP","REQUEST_ID","ORGANIZATION_ID","USER_ID","RUN_TIME","CPU_TIME","URI","SESSION_KEY","LOGIN_KEY","USER_TYPE","REQUEST_STATUS","DB_TOTAL_TIME","LOGIN_TYPE","BROWSER_TYPE","API_TYPE","API_VERSION","USER_NAME","TLS_PROTOCOL","CIPHER_SUITE","AUTHENTICATION_METHOD_REFERENCE","LOGIN_SUB_TYPE","TIMESTAMP_DERIVED","USER_ID_DERIVED","CLIENT_IP","URI_ID_DERIVED","LOGIN_STATUS","SOURCE_IP" +"Login","20231218054831.655","4u6LyuMrDvb_G-l1cJIQk-","00D5j00000DgAYG","0055j00000AT6I1","1219","127","/services/oauth2/token","","bY5Wfv8t/Ith7WVE","Standard","","1051271151","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T05:48:31.655Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" +"Login","20231218054832.003","4u6LyuHSDv8LLVl1cJOqGV","00D5j00000DgAYG","0055j00000AT6I1","1277","104","/services/oauth2/token","","u60el7VqW8CSSKcW","Standard","","674857427","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T05:48:32.003Z","0055j00000AT6I1AAL","103.108.207.58","","LOGIN_NO_ERROR","103.108.207.58" +"Login","20231218060656.232","4u6MzGRQmHeuAVl1cJNqIV","00D5j00000DgAYG","0055j00000AT6I1","90","37","/services/oauth2/token","","RhVHOa6prs/tRDZr","Standard","","52463859","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:06:56.232Z","0055j00000AT6I1AAL","103.108.207.58","","LOGIN_NO_ERROR","103.108.207.58" +"Login","20231218060656.247","4u6MzGUl-6XJDVl1cJIHX-","00D5j00000DgAYG","0055j00000AT6I1","93","34","/services/oauth2/token","","gwwwflcWcytNc28j","Standard","","29208661","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:06:56.247Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" +"Login","20231218060707.127","4u6Mzu2WdsiJ4-l1cJ10hV","00D5j00000DgAYG","0055j00000AT6I1","85","35","/services/oauth2/token","","/6xZonK38rL95woZ","Standard","","47752553","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:07:07.127Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" +"Login","20231218060707.336","4u6MzuqusFJ0wFl1cJOrUV","00D5j00000DgAYG","0055j00000AT6I1","79","37","/services/oauth2/token","","U6CLGZunsCexuVaT","Standard","","42803201","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:07:07.336Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" +"Login","20231218061215.381","4u6NGqOvVq3PAVl1cIPeN-","00D5j00000DgAYG","0055j00000AT6I1","81","35","/services/oauth2/token","","r9Z9CeDgcqvuiAE2","Standard","","41447870","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:12:15.381Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" +"Login","20231218061215.388","4u6NGqPumIr5IFl1cJI3i-","00D5j00000DgAYG","0055j00000AT6I1","85","38","/services/oauth2/token","","nj1BE27iK9SO3PLI","Standard","","48346017","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:12:15.388Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" +"Login","20231218090817.044","4u6WsbPmV2hRy-l1cJ1-SV","00D5j00000DgAYG","0055j00000AT6I1","148","41","/services/oauth2/token","","6ubxOot7STy+7IrM","Standard","","73688965","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T09:08:17.044Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","134.238.252.19" +"Login","20231218090817.878","4u6WsekpMMbFsFl1cJIGT-","00D5j00000DgAYG","0055j00000AT6I1","84","37","/services/oauth2/token","","ODeZG/Py69Bxtb4o","Standard","","46097736","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T09:08:17.878Z","0055j00000AT6I1AAL","134.238.252.19","","LOGIN_NO_ERROR","134.238.252.19" +` +) + func TestFormQueryWithCursor(t *testing.T) { logp.TestingSetup() @@ -91,6 +113,42 @@ func TestFormQueryWithCursor(t *testing.T) { } } +var defaultUserPasswordFlowMap = map[string]interface{}{ + "user_password_flow": map[string]interface{}{ + "enabled": true, + "client.id": "clientid", + "client.secret": "clientsecret", + "token_url": "https://instance_id.develop.my.salesforce.com/services/oauth2/token", + "username": "username", + "password": "password", + }, +} + +var ( + defaultObjectMonitoringMethodConfigMap = map[string]interface{}{ + "interval": "5m", + "enabled": true, + "query": map[string]interface{}{ + "default": defaultLoginEventObjectQuery, + "value": valueLoginEventObjectQuery, + }, + "cursor": map[string]interface{}{ + "field": "EventDate", + }, + } + defaultEventLogFileMonitoringMethodMap = map[string]interface{}{ + "interval": "5m", + "enabled": true, + "query": map[string]interface{}{ + "default": defaultLoginEventLogFileQuery, + "value": valueLoginEventLogFileQuery, + }, + "cursor": map[string]interface{}{ + "field": "CreatedDate", + }, + } +) + func TestInput(t *testing.T) { logp.TestingSetup() @@ -106,32 +164,28 @@ func TestInput(t *testing.T) { name: "event_monitoring_method_object_with_default_query_only", setupServer: newTestServer(httptest.NewServer), baseConfig: map[string]interface{}{ - "auth.oauth2": map[string]interface{}{ - "enabled": pointer(true), - "client.id": "clientid", - "client.secret": "clientsecret", - "token_url": "https://instance_id.develop.my.salesforce.com/services/oauth2/token", - "user": "username", - "password": "password", - }, - "version": 56, + "version": 56, + "auth.oauth2": defaultUserPasswordFlowMap, "event_monitoring_method": map[string]interface{}{ - "object": map[string]interface{}{ - "interval": "5m", - "enabled": true, - "query": map[string]interface{}{ - "default": "SELECT FIELDS(STANDARD) FROM LoginEvent", - "value": "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.logdate ]]", - }, - "cursor": map[string]interface{}{ - "field": "EventDate", - }, - }, + "object": defaultObjectMonitoringMethodConfigMap, }, }, - handler: defaultHandler("GET", "", `{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}`), + handler: defaultHandler("GET", "", "", `{ "totalSize": 60, "done": true, "records": [ { "attributes": { "type": "LoginEvent", "url": "/services/data/v58.0/sobjects/LoginEvent/000000000000000AAA" }, "AdditionalInfo": "{}", "ApiType": "N/A", "ApiVersion": "N/A", "Application": "salesforce_test", "Browser": "Unknown", "CipherSuite": "ECDHE-RSA-AES256-GCM-SHA384", "City": "Mumbai", "ClientVersion": "N/A", "Country": "India", "CountryIso": "IN", "CreatedDate": "2023-12-06T05:44:34.942+0000", "EvaluationTime": 0, "EventDate": "2023-12-06T05:44:24.973+0000", "EventIdentifier": "00044326-ed4a-421a-a0a8-e62ea626f3af", "HttpMethod": "POST", "Id": "000000000000000AAA", "LoginGeoId": "04F5j00003NvV1cEAF", "LoginHistoryId": "0Ya5j00003k2scQCAQ", "LoginKey": "pgOVoLbV96U9o08W", "LoginLatitude": 19.0748, "LoginLongitude": 72.8856, "LoginType": "Remote Access 2.0", "LoginUrl": "login.salesforce.com", "Platform": "Unknown", "PostalCode": "400070", "SessionLevel": "STANDARD", "SourceIp": "134.238.252.19", "Status": "Success", "Subdivision": "Maharashtra", "TlsProtocol": "TLS 1.2", "UserId": "0055j00000AT6I1AAL", "UserType": "Standard", "Username": "salesforceinstance@devtest.in" } ] }`), expected: []string{`{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}`}, }, + { + name: "event_monitoring_method_event_log_file_with_default_query_only", + setupServer: newTestServer(httptest.NewServer), + baseConfig: map[string]interface{}{ + "version": 56, + "auth.oauth2": defaultUserPasswordFlowMap, + "event_monitoring_method": map[string]interface{}{ + "event_log_file": defaultEventLogFileMonitoringMethodMap, + }, + }, + handler: defaultHandler("GET", "", oneEventLogfileFirstResponseJSON, oneEventLogfileSecondResponseCSV), + expected: []string{`{"API_TYPE":"","API_VERSION":"9998.0","AUTHENTICATION_METHOD_REFERENCE":"","BROWSER_TYPE":"Go-http-client/1.1","CIPHER_SUITE":"ECDHE-RSA-AES256-GCM-SHA384","CLIENT_IP":"Salesforce.com IP","CPU_TIME":"127","DB_TOTAL_TIME":"1051271151","EVENT_TYPE":"Login","LOGIN_KEY":"bY5Wfv8t/Ith7WVE","LOGIN_STATUS":"LOGIN_NO_ERROR","LOGIN_SUB_TYPE":"","LOGIN_TYPE":"i","ORGANIZATION_ID":"00D5j00000DgAYG","REQUEST_ID":"4u6LyuMrDvb_G-l1cJIQk-","REQUEST_STATUS":"","RUN_TIME":"1219","SESSION_KEY":"","SOURCE_IP":"103.108.207.58","TIMESTAMP":"20231218054831.655","TIMESTAMP_DERIVED":"2023-12-18T05:48:31.655Z","TLS_PROTOCOL":"TLSv1.2","URI":"/services/oauth2/token","URI_ID_DERIVED":"","USER_ID":"0055j00000AT6I1","USER_ID_DERIVED":"0055j00000AT6I1AAL","USER_NAME":"salesforceinstance@devtest.in","USER_TYPE":"Standard"}`}, + }, } for _, tc := range tests { @@ -190,27 +244,28 @@ func TestInput(t *testing.T) { } } -func defaultHandler(expectedMethod, expectedBody, msg string) http.HandlerFunc { +func defaultHandler(expectedMethod, expectedBody, msg1, msg2 string) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { w.Header().Set("content-type", "application/json") switch { case r.RequestURI == "/services/oauth2/token": - fmt.Println("in services/oauth2/token") w.WriteHeader(http.StatusOK) - msg = `{"access_token":"abcd","instance_url":"http://` + r.Host + `","token_type":"Bearer","id_token":"abcd","refresh_token":"abcd"}` - case r.Method != expectedMethod: - w.WriteHeader(http.StatusBadRequest) - msg = fmt.Sprintf(`{"error":"expected method was %q"}`, expectedMethod) + _, _ = w.Write([]byte(`{"access_token":"abcd","instance_url":"http://` + r.Host + `","token_type":"Bearer","id_token":"abcd","refresh_token":"abcd"}`)) + case r.FormValue("q") == "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST": + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte(msg1)) + case r.FormValue("q") == "SELECT FIELDS(STANDARD) FROM LoginEvent", r.RequestURI == "/services/data/v58.0/sobjects/EventLogFile/0AT5j00002LqQTxGAN/LogFile": + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte(msg2)) case expectedBody != "": body, _ := io.ReadAll(r.Body) r.Body.Close() if expectedBody != string(body) { w.WriteHeader(http.StatusBadRequest) - msg = fmt.Sprintf(`{"error":"expected body was %q"}`, expectedBody) + _, _ = w.Write([]byte(fmt.Sprintf(`{"error":"expected body was %q"}`, expectedBody))) } + _, _ = w.Write([]byte(msg1)) } - - _, _ = w.Write([]byte(msg)) } } @@ -219,7 +274,7 @@ func newTestServer(newServer func(http.Handler) *httptest.Server) func(testing.T server := newServer(h) fmt.Printf("server.URL: %v\n", server.URL) config["url"] = server.URL - config["auth.oauth2"].(map[string]interface{})["token_url"] = server.URL + "/services/oauth2/token" + config["auth.oauth2"].(map[string]interface{})["user_password_flow"].(map[string]interface{})["token_url"] = server.URL + "/services/oauth2/token" t.Cleanup(server.Close) } } @@ -239,11 +294,13 @@ func (p *publisher) Publish(e beat.Event, cursor interface{}) error { p.published = append(p.published, e) if cursor != nil { - c, ok := cursor.(map[string]interface{}) - if !ok { - return fmt.Errorf("invalid cursor type for testing: %T", cursor) + var cv map[string]interface{} + err := typeconv.Convert(&cv, cursor) + if err != nil { + return err } - p.cursors = append(p.cursors, c) + + p.cursors = append(p.cursors, cv) } p.done() From 263574ff7b4883a09676299ba7a0fed97e5a4bd1 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 17:22:51 +0530 Subject: [PATCH 049/172] add ut --- .../input/salesforce/config_auth_test.go | 2 +- x-pack/filebeat/input/salesforce/input.go | 4 +- .../filebeat/input/salesforce/input_test.go | 49 ++++++++++++++++++- 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config_auth_test.go b/x-pack/filebeat/input/salesforce/config_auth_test.go index d36f95ca2f3..83fd369e8df 100644 --- a/x-pack/filebeat/input/salesforce/config_auth_test.go +++ b/x-pack/filebeat/input/salesforce/config_auth_test.go @@ -21,7 +21,7 @@ func TestOAuth2Config(t *testing.T) { "tokenURL missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: ""}, wantErr: errors.New("token_url must be provided")}, "clientID missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, "clientSecret missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: ""}, wantErr: errors.New("client.secret must be provided")}, - "user missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: ""}, wantErr: errors.New("user must be provided")}, + "user missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: ""}, wantErr: errors.New("username must be provided")}, "password missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: ""}, wantErr: errors.New("password must be provided")}, "all present": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: "pass"}, wantErr: nil}, } diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 30b978d0a0f..beaa72c477a 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -432,7 +432,9 @@ type textContextError struct { // decodeAsCSV decodes p as a headed CSV document into dst. func decodeAsCSV(p []byte) ([]map[string]string, error) { r := csv.NewReader(bytes.NewReader(p)) - r.ReuseRecord = true // to control sharing of backing array for performance + + // To share the backing array for performance. + r.ReuseRecord = true // NOTE: // Read sets `r.FieldsPerRecord` to the number of fields in the first record, diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 77561db9a08..b5362b68f7f 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -7,7 +7,6 @@ package salesforce import ( "context" "fmt" - "github.com/elastic/beats/v7/libbeat/common/transform/typeconv" "io" "net/http" "net/http/httptest" @@ -16,6 +15,8 @@ import ( "testing" "time" + "github.com/elastic/beats/v7/libbeat/common/transform/typeconv" + "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -306,3 +307,49 @@ func (p *publisher) Publish(e beat.Event, cursor interface{}) error { return nil } + +func TestDecodeAsCSV(t *testing.T) { + sampleELF := `"EVENT_TYPE","TIMESTAMP","REQUEST_ID","ORGANIZATION_ID","USER_ID","RUN_TIME","CPU_TIME","URI","SESSION_KEY","LOGIN_KEY","USER_TYPE","REQUEST_STATUS","DB_TOTAL_TIME","LOGIN_TYPE","BROWSER_TYPE","API_TYPE","API_VERSION","USER_NAME","TLS_PROTOCOL","CIPHER_SUITE","AUTHENTICATION_METHOD_REFERENCE","LOGIN_SUB_TYPE","TIMESTAMP_DERIVED","USER_ID_DERIVED","CLIENT_IP","URI_ID_DERIVED","LOGIN_STATUS","SOURCE_IP" +"Login","20231218054831.655","4u6LyuMrDvb_G-l1cJIQk-","00D5j00000DgAYG","0055j00000AT6I1","1219","127","/services/oauth2/token","","bY5Wfv8t/Ith7WVE","Standard","","1051271151","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T05:48:31.655Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" +"Login","20231218054832.003","4u6LyuHSDv8LLVl1cJOqGV","00D5j00000DgAYG","0055j00000AT6I1","1277","104","/services/oauth2/token","","u60el7VqW8CSSKcW","Standard","","674857427","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T05:48:32.003Z","0055j00000AT6I1AAL","103.108.207.58","","LOGIN_NO_ERROR","103.108.207.58"` + + mp, err := decodeAsCSV([]byte(sampleELF)) + assert.NoError(t, err) + + wantNumOfEvents := 2 + gotNumOfEvents := len(mp) + assert.Equal(t, wantNumOfEvents, gotNumOfEvents) + + wantEventFields := map[string]string{ + "LOGIN_TYPE": "i", + "API_VERSION": "9998.0", + "TIMESTAMP_DERIVED": "2023-12-18T05:48:31.655Z", + "TIMESTAMP": "20231218054831.655", + "USER_NAME": "salesforceinstance@devtest.in", + "SOURCE_IP": "103.108.207.58", + "CPU_TIME": "127", + "REQUEST_STATUS": "", + "DB_TOTAL_TIME": "1051271151", + "TLS_PROTOCOL": "TLSv1.2", + "AUTHENTICATION_METHOD_REFERENCE": "", + "REQUEST_ID": "4u6LyuMrDvb_G-l1cJIQk-", + "USER_ID": "0055j00000AT6I1", + "RUN_TIME": "1219", + "CIPHER_SUITE": "ECDHE-RSA-AES256-GCM-SHA384", + "CLIENT_IP": "Salesforce.com IP", + "EVENT_TYPE": "Login", + "LOGIN_SUB_TYPE": "", + "USER_ID_DERIVED": "0055j00000AT6I1AAL", + "URI_ID_DERIVED": "", + "ORGANIZATION_ID": "00D5j00000DgAYG", + "URI": "/services/oauth2/token", + "LOGIN_KEY": "bY5Wfv8t/Ith7WVE", + "USER_TYPE": "Standard", + "API_TYPE": "", + "SESSION_KEY": "", + "BROWSER_TYPE": "Go-http-client/1.1", + "LOGIN_STATUS": "LOGIN_NO_ERROR", + } + + assert.Equal(t, wantEventFields, mp[0]) +} From 2e93da8de6ce01aee86499f9a4cde98b6197949f Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 17:30:09 +0530 Subject: [PATCH 050/172] filebeat.yml changes to make mage check happy --- x-pack/filebeat/filebeat.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x-pack/filebeat/filebeat.yml b/x-pack/filebeat/filebeat.yml index d4080e9cccb..aa50779b922 100644 --- a/x-pack/filebeat/filebeat.yml +++ b/x-pack/filebeat/filebeat.yml @@ -140,6 +140,10 @@ output.elasticsearch: # Array of hosts to connect to. hosts: ["localhost:9200"] + # Performance preset - one of "balanced", "throughput", "scale", + # "latency", or "custom". + preset: balanced + # Protocol - either `http` (default) or `https`. #protocol: "https" From 48e1cccde5e91cf31c38b7060a996828ef01087c Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 22:06:36 +0530 Subject: [PATCH 051/172] make ci green --- NOTICE.txt | 169 +++++++----------- .../filebeat/input/salesforce/input_test.go | 1 - 2 files changed, 66 insertions(+), 104 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 10e138f40d8..5f430510e78 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -24750,11 +24750,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : golang.org/x/exp -Version: v0.0.0-20220921023135-46d9e7742f1e +Version: v0.0.0-20231127185646-65229373498e Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/golang.org/x/exp@v0.0.0-20220921023135-46d9e7742f1e/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/exp@v0.0.0-20231127185646-65229373498e/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -29353,28 +29353,28 @@ Licence type (autodetected): MIT Contents of probable licence file $GOMODCACHE/github.com/!azure/go-amqp@v0.16.0/LICENSE: - MIT License - - Copyright (C) 2017 Kale Blankenship - Portions Copyright (C) Microsoft Corporation - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + MIT License + + Copyright (C) 2017 Kale Blankenship + Portions Copyright (C) Microsoft Corporation + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- @@ -31024,27 +31024,27 @@ Licence type (autodetected): MIT Contents of probable licence file $GOMODCACHE/github.com/!azure!a!d/microsoft-authentication-library-for-go@v0.9.0/LICENSE: - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- @@ -31352,27 +31352,27 @@ Licence type (autodetected): MIT Contents of probable licence file $GOMODCACHE/github.com/akavel/rsrc@v0.8.0/LICENSE.txt: -The MIT License (MIT) - -Copyright (c) 2013-2017 The rsrc Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +The MIT License (MIT) + +Copyright (c) 2013-2017 The rsrc Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- @@ -51390,43 +51390,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -Dependency : golang.org/x/exp -Version: v0.0.0-20231127185646-65229373498e -Licence type (autodetected): BSD-3-Clause --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/golang.org/x/exp@v0.0.0-20231127185646-65229373498e/LICENSE: - -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -------------------------------------------------------------------------------- Dependency : golang.org/x/term Version: v0.15.0 diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index b5362b68f7f..d85e30c07bb 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -273,7 +273,6 @@ func defaultHandler(expectedMethod, expectedBody, msg1, msg2 string) http.Handle func newTestServer(newServer func(http.Handler) *httptest.Server) func(testing.TB, http.HandlerFunc, map[string]interface{}) { return func(t testing.TB, h http.HandlerFunc, config map[string]interface{}) { server := newServer(h) - fmt.Printf("server.URL: %v\n", server.URL) config["url"] = server.URL config["auth.oauth2"].(map[string]interface{})["user_password_flow"].(map[string]interface{})["token_url"] = server.URL + "/services/oauth2/token" t.Cleanup(server.Close) From a32146e83539c05475e5d3b5c03e77a8d6399afb Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 21 Dec 2023 22:11:37 +0530 Subject: [PATCH 052/172] Apply suggestions from code review --- x-pack/filebeat/input/salesforce/input.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index beaa72c477a..0f3da2d1300 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -196,7 +196,7 @@ func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig, cursor m return nil, err } - s.log.Infof("salesforce query: %s", qr) + s.log.Infof("Salesforce query: %s", qr) return &querier{Query: qr}, err } @@ -263,7 +263,7 @@ func (s *salesforceInput) RunObject() error { break } } - s.log.Debugf("total events: %d", totalEvents) + s.log.Debugf("Total events: %d", totalEvents) return nil } @@ -356,7 +356,7 @@ func (s *salesforceInput) RunEventLogFile() error { break } } - s.log.Debugf("total events: %d", totalEvents) + s.log.Debugf("Total events: %d", totalEvents) return nil } From 31ab2af05f60aedd00ca57c222ec9774cce617de Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 26 Dec 2023 01:51:16 +0530 Subject: [PATCH 053/172] document functions and methods --- x-pack/filebeat/input/salesforce/config.go | 1 + x-pack/filebeat/input/salesforce/config_auth.go | 3 ++- x-pack/filebeat/input/salesforce/helper.go | 8 +++++++- x-pack/filebeat/input/salesforce/input.go | 17 ++++++++++++++--- .../filebeat/input/salesforce/input_manager.go | 2 ++ x-pack/filebeat/input/salesforce/input_test.go | 4 ++++ x-pack/filebeat/input/salesforce/soql.go | 1 + x-pack/filebeat/input/salesforce/state.go | 6 ++++++ x-pack/filebeat/input/salesforce/value_tpl.go | 10 ++++++++++ 9 files changed, 47 insertions(+), 5 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index f85dcf8d348..d82a482388f 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -38,6 +38,7 @@ type cursorConfig struct { Field string `config:"field"` } +// Validate validates the configuration. func (c *config) Validate() error { switch { case !c.Auth.OAuth2.JWTBearerFlow.isEnabled() && !c.Auth.OAuth2.UserPasswordFlow.isEnabled(): diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index 303f8482e06..fa50ce13df8 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -39,7 +39,7 @@ func (o *userPasswordFlow) isEnabled() bool { return o != nil && (o.Enabled != nil && *o.Enabled) } -// Validate checks if oauth2 config is valid. +// Validate checks if User Passworld Flow config is valid. func (o *userPasswordFlow) Validate() error { if !o.isEnabled() { return nil @@ -67,6 +67,7 @@ func (o *jwtBearerFlow) isEnabled() bool { return o != nil && (o.Enabled != nil && *o.Enabled) } +// Validate checks if JWT Bearer Flow config is valid. func (o *jwtBearerFlow) Validate() error { if !o.isEnabled() { return nil diff --git a/x-pack/filebeat/input/salesforce/helper.go b/x-pack/filebeat/input/salesforce/helper.go index e1be80bb6cf..9b09926e910 100644 --- a/x-pack/filebeat/input/salesforce/helper.go +++ b/x-pack/filebeat/input/salesforce/helper.go @@ -6,19 +6,25 @@ package salesforce import "time" -// timeNow wraps time.Now to mock time for tests +// timeNow wraps time.Now to mock time for tests. var timeNow = time.Now +// mockTimeNow mocks timeNow for tests. func mockTimeNow(t time.Time) { timeNow = func() time.Time { return t } } +// resetTimeNow resets timeNow to time.Now. func resetTimeNow() { timeNow = time.Now } +// pointer returns a pointer to the given value. +// +// For example: Assigning &true to value of type *bool is not possible but +// pointer(true) is assignable to the same value of type *bool. func pointer[T any](d T) *T { return &d } diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 0f3da2d1300..69728b048c9 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -85,6 +85,8 @@ func (s *salesforceInput) Run(env v2.Context, src inputcursor.Source, cursor inp return s.run() } +// Setup sets up the input. It will create a new SOQL resource and all other +// necessary configurations. func (s *salesforceInput) Setup(env v2.Context, src inputcursor.Source, cursor *state, pub inputcursor.Publisher) (err error) { cfg := src.(*source).cfg @@ -110,6 +112,9 @@ func (s *salesforceInput) Setup(env v2.Context, src inputcursor.Source, cursor * return nil } +// run is the main loop of the input. It will run until the context is cancelled +// and based on the configuration, it will run the different methods -- EventLogFile +// or Object to collect events at defined intervals. func (s *salesforceInput) run() error { if s.srcConfig.EventMonitoringMethod.EventLogFile.isEnabled() { err := s.RunEventLogFile() @@ -190,6 +195,7 @@ func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { return soqlr, nil } +// FormQueryWithCursor takes a queryConfig and a cursor and returns a querier. func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig, cursor mapstr.M) (*querier, error) { qr, err := parseCursor(&s.config.InitialInterval, queryConfig, cursor, s.log) if err != nil { @@ -201,6 +207,7 @@ func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig, cursor m return &querier{Query: qr}, err } +// RunObject runs the Object method of the Event Monitoring API to collect events. func (s *salesforceInput) RunObject() error { s.log.Debugf("Scrape Objects every %s", s.srcConfig.EventMonitoringMethod.Object.Interval) @@ -254,7 +261,7 @@ func (s *salesforceInput) RunObject() error { totalEvents++ } - if res.MoreRecords() { + if res.MoreRecords() { // returns true if there are more records. res, err = res.Next() if err != nil { return err @@ -268,6 +275,8 @@ func (s *salesforceInput) RunObject() error { return nil } +// RunEventLogFile runs the EventLogFile method of the Event Monitoring API to +// collect events. func (s *salesforceInput) RunEventLogFile() error { s.log.Debugf("Scrape EventLogFiles every %s", s.srcConfig.EventMonitoringMethod.EventLogFile.Interval) @@ -282,6 +291,7 @@ func (s *salesforceInput) RunEventLogFile() error { } cursor = mapstr.M{"event_log_file": eventLogFile} } + query, err := s.FormQueryWithCursor(s.config.EventMonitoringMethod.EventLogFile.Query, cursor) if err != nil { return fmt.Errorf("error forming based on cursor: %w", err) @@ -292,8 +302,7 @@ func (s *salesforceInput) RunEventLogFile() error { return err } - totalEvents := 0 - firstEvent := true + totalEvents, firstEvent := 0, true for res.Done() { for _, rec := range res.Records() { req, err := http.NewRequestWithContext(s.ctx, "GET", s.config.URL+rec.Record().Fields()["LogFile"].(string), nil) @@ -361,6 +370,7 @@ func (s *salesforceInput) RunEventLogFile() error { return nil } +// getSFDCConfig returns a new Salesforce configuration based on the configuration. func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { var ( creds *credentials.Credentials @@ -413,6 +423,7 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { }, nil } +// publishEvent publishes an event using the configured publisher pub. func publishEvent(pub inputcursor.Publisher, cursor *state, jsonStrEvent []byte) error { event := beat.Event{ Timestamp: timeNow(), diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index 755a0c1c4c1..1d9f60aad52 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -22,6 +22,7 @@ type InputManager struct { cursor *inputcursor.InputManager } +// NewInputManager creates a new input manager. func NewInputManager(log *logp.Logger, store inputcursor.StateStore) InputManager { return InputManager{ cursor: &inputcursor.InputManager{ @@ -33,6 +34,7 @@ func NewInputManager(log *logp.Logger, store inputcursor.StateStore) InputManage } } +// cursorConfigure configures the cursor input manager. func cursorConfigure(cfg *conf.C) ([]inputcursor.Source, inputcursor.Input, error) { config := defaultConfig() if err := cfg.Unpack(&config); err != nil { diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index d85e30c07bb..8161d3e4a92 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -352,3 +352,7 @@ func TestDecodeAsCSV(t *testing.T) { assert.Equal(t, wantEventFields, mp[0]) } + +// func TestPlugin(t *testing.T) { +// Plugin(logp.NewLogger("salesforce_test")) +// } diff --git a/x-pack/filebeat/input/salesforce/soql.go b/x-pack/filebeat/input/salesforce/soql.go index b7ed2233aed..040ffd16c3f 100644 --- a/x-pack/filebeat/input/salesforce/soql.go +++ b/x-pack/filebeat/input/salesforce/soql.go @@ -13,6 +13,7 @@ type querier struct { Query string } +// Format returns the query string. func (q querier) Format() (string, error) { if strings.TrimSpace(q.Query) == "" { return "", errors.New("query is empty") diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index 8e51284bab7..bd0434e272f 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -11,6 +11,9 @@ import ( "github.com/elastic/elastic-agent-libs/mapstr" ) +// state is the state of the salesforce module. It is used to watermark the state +// to avoid pulling duplicate data from Salesforce. The state is persisted separately +// for EventLogFile and Object. type state struct { Object dateTimeCursor `json:"object,omitempty"` EventLogFile dateTimeCursor `json:"event_log_file,omitempty"` @@ -21,6 +24,9 @@ type dateTimeCursor struct { LastEventTime string `struct:"last_event_time,omitempty"` } +// parseCursor parses the cursor from the configuration and executes the +// template. If cursor is nil, the default templated query is used else +// the value templated query is used. See QueryConfig struct for more. func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor mapstr.M, log *logp.Logger) (string, error) { ctxTmpl := mapstr.M{"cursor": nil} diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index 62bda665b6f..902353e3848 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -23,6 +23,9 @@ var ( errExecuteTemplate = errors.New("template execution failed") ) +// Execute executes the template with the given data. If the template execution +// fails, then the defaultVal is used if it is not nil. Execute will return +// variable substituted query with nil error. func (t *valueTpl) Execute(data any, defaultVal *valueTpl, log *logp.Logger) (val string, err error) { fallback := func(err error) (string, error) { if defaultVal != nil { @@ -57,6 +60,7 @@ func (t *valueTpl) Execute(data any, defaultVal *valueTpl, log *logp.Logger) (va return val, nil } +// Unpack parses the given string as a template. func (t *valueTpl) Unpack(in string) error { // Custom delimiters to prevent issues when using template values as part of // other Go templates. @@ -84,11 +88,13 @@ func (t *valueTpl) Unpack(in string) error { return nil } +// parseDuration parses a duration string and returns the time.Duration value. func parseDuration(s string) time.Duration { d, _ := time.ParseDuration(s) return d } +// predefinedLayouts contains some predefined layouts that are commonly used. var predefinedLayouts = map[string]string{ "ANSIC": time.ANSIC, "UnixDate": time.UnixDate, @@ -104,6 +110,8 @@ var predefinedLayouts = map[string]string{ "Kitchen": time.Kitchen, } +// parseTime parses a time string using the given layout. There are also some +// predefined layouts that can be used; see predefinedLayouts for more. func parseTime(ts string, layout string) time.Time { if found := predefinedLayouts[layout]; found != "" { layout = found @@ -113,6 +121,8 @@ func parseTime(ts string, layout string) time.Time { return t } +// formatTime formats a time using the given layout. There are also some +// predefined layouts that can be used; see predefinedLayouts for more. func formatTime(t time.Time, layout string) string { if found := predefinedLayouts[layout]; found != "" { layout = found From bfaaa728d346a08888a26f36857a3619969b8618 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 26 Dec 2023 01:51:42 +0530 Subject: [PATCH 054/172] gofumpt --- x-pack/filebeat/input/salesforce/value_tpl.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/value_tpl.go b/x-pack/filebeat/input/salesforce/value_tpl.go index 902353e3848..8a05ecc0686 100644 --- a/x-pack/filebeat/input/salesforce/value_tpl.go +++ b/x-pack/filebeat/input/salesforce/value_tpl.go @@ -112,7 +112,7 @@ var predefinedLayouts = map[string]string{ // parseTime parses a time string using the given layout. There are also some // predefined layouts that can be used; see predefinedLayouts for more. -func parseTime(ts string, layout string) time.Time { +func parseTime(ts, layout string) time.Time { if found := predefinedLayouts[layout]; found != "" { layout = found } From c54014b0f5df18193c19bfee11037018baba8991 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 26 Dec 2023 02:08:03 +0530 Subject: [PATCH 055/172] document functions and methods --- x-pack/filebeat/input/salesforce/config_auth.go | 6 +++++- x-pack/filebeat/input/salesforce/helper.go | 5 ++++- x-pack/filebeat/input/salesforce/input.go | 1 + x-pack/filebeat/input/salesforce/input_manager.go | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index fa50ce13df8..ee1fc659df4 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -7,12 +7,16 @@ package salesforce import "errors" type authConfig struct { + // See: https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_flows.htm&type=5 + // for more information about OAuth2 flows. OAuth2 OAuth2 `config:"oauth2"` } type OAuth2 struct { + // See: https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_username_password_flow.htm&type=5 UserPasswordFlow *userPasswordFlow `config:"user_password_flow"` - JWTBearerFlow *jwtBearerFlow `config:"jwt_bearer_flow"` + // See: https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_jwt_flow.htm&type=5 + JWTBearerFlow *jwtBearerFlow `config:"jwt_bearer_flow"` } type userPasswordFlow struct { diff --git a/x-pack/filebeat/input/salesforce/helper.go b/x-pack/filebeat/input/salesforce/helper.go index 9b09926e910..8869ca9aa3f 100644 --- a/x-pack/filebeat/input/salesforce/helper.go +++ b/x-pack/filebeat/input/salesforce/helper.go @@ -24,7 +24,10 @@ func resetTimeNow() { // pointer returns a pointer to the given value. // // For example: Assigning &true to value of type *bool is not possible but -// pointer(true) is assignable to the same value of type *bool. +// pointer(true) is assignable to the same value of type *bool as address operator +// can be applied to pointer(true) as the returned value is an addressable value. +// +// See: https://go.dev/ref/spec#Address_operators func pointer[T any](d T) *T { return &d } diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 69728b048c9..de0bb54d7c7 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -54,6 +54,7 @@ type salesforceInput struct { // // The Filebeat user-agent is provided to the program as useragent. // var userAgent = useragent.UserAgent("Filebeat", version.GetDefaultVersion(), version.Commit(), version.BuildTime().String()) +// Plugin returns the input plugin. func Plugin(log *logp.Logger, store inputcursor.StateStore) v2.Plugin { return v2.Plugin{ Name: inputName, diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index 1d9f60aad52..31bd40a423a 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -62,4 +62,5 @@ func (m InputManager) Create(cfg *conf.C) (v2.Input, error) { return m.cursor.Create(cfg) } +// defaultConfig returns the default configuration. func defaultConfig() config { return config{} } From 8a26a7d411a42eccd808c7641fc0e3589c72cac1 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 26 Dec 2023 02:56:43 +0530 Subject: [PATCH 056/172] refactor --- .../filebeat/input/salesforce/config_auth.go | 18 +++++----- .../input/salesforce/config_auth_test.go | 34 +++++++++---------- .../filebeat/input/salesforce/config_test.go | 32 ++++++++--------- x-pack/filebeat/input/salesforce/input.go | 10 ++++-- .../input/salesforce/input_manager_test.go | 2 +- .../filebeat/input/salesforce/input_test.go | 6 ++-- 6 files changed, 53 insertions(+), 49 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config_auth.go b/x-pack/filebeat/input/salesforce/config_auth.go index ee1fc659df4..6e0f9361def 100644 --- a/x-pack/filebeat/input/salesforce/config_auth.go +++ b/x-pack/filebeat/input/salesforce/config_auth.go @@ -9,17 +9,17 @@ import "errors" type authConfig struct { // See: https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_flows.htm&type=5 // for more information about OAuth2 flows. - OAuth2 OAuth2 `config:"oauth2"` + OAuth2 *OAuth2 `config:"oauth2"` } type OAuth2 struct { // See: https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_username_password_flow.htm&type=5 - UserPasswordFlow *userPasswordFlow `config:"user_password_flow"` + UserPasswordFlow *UserPasswordFlow `config:"user_password_flow"` // See: https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_jwt_flow.htm&type=5 - JWTBearerFlow *jwtBearerFlow `config:"jwt_bearer_flow"` + JWTBearerFlow *JWTBearerFlow `config:"jwt_bearer_flow"` } -type userPasswordFlow struct { +type UserPasswordFlow struct { Enabled *bool `config:"enabled"` ClientID string `config:"client.id"` @@ -29,7 +29,7 @@ type userPasswordFlow struct { Username string `config:"username"` } -type jwtBearerFlow struct { +type JWTBearerFlow struct { Enabled *bool `config:"enabled"` URL string `config:"url"` @@ -39,12 +39,12 @@ type jwtBearerFlow struct { } // isEnabled returns true if the `enable` field is set to true in the yaml. -func (o *userPasswordFlow) isEnabled() bool { +func (o *UserPasswordFlow) isEnabled() bool { return o != nil && (o.Enabled != nil && *o.Enabled) } // Validate checks if User Passworld Flow config is valid. -func (o *userPasswordFlow) Validate() error { +func (o *UserPasswordFlow) Validate() error { if !o.isEnabled() { return nil } @@ -67,12 +67,12 @@ func (o *userPasswordFlow) Validate() error { } // isEnabled returns true if the `enable` field is set to true in the yaml. -func (o *jwtBearerFlow) isEnabled() bool { +func (o *JWTBearerFlow) isEnabled() bool { return o != nil && (o.Enabled != nil && *o.Enabled) } // Validate checks if JWT Bearer Flow config is valid. -func (o *jwtBearerFlow) Validate() error { +func (o *JWTBearerFlow) Validate() error { if !o.isEnabled() { return nil } diff --git a/x-pack/filebeat/input/salesforce/config_auth_test.go b/x-pack/filebeat/input/salesforce/config_auth_test.go index 83fd369e8df..0ee2f4b0d8e 100644 --- a/x-pack/filebeat/input/salesforce/config_auth_test.go +++ b/x-pack/filebeat/input/salesforce/config_auth_test.go @@ -13,17 +13,17 @@ import ( func TestOAuth2Config(t *testing.T) { tests := map[string]struct { - config userPasswordFlow + config UserPasswordFlow wantErr error }{ - "auth disabled I": {config: userPasswordFlow{}, wantErr: nil}, - "auth disabled II": {config: userPasswordFlow{Enabled: pointer(false)}, wantErr: nil}, - "tokenURL missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: ""}, wantErr: errors.New("token_url must be provided")}, - "clientID missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, - "clientSecret missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: ""}, wantErr: errors.New("client.secret must be provided")}, - "user missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: ""}, wantErr: errors.New("username must be provided")}, - "password missing": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: ""}, wantErr: errors.New("password must be provided")}, - "all present": {config: userPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: "pass"}, wantErr: nil}, + "auth disabled I": {config: UserPasswordFlow{}, wantErr: nil}, + "auth disabled II": {config: UserPasswordFlow{Enabled: pointer(false)}, wantErr: nil}, + "tokenURL missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: ""}, wantErr: errors.New("token_url must be provided")}, + "clientID missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, + "clientSecret missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: ""}, wantErr: errors.New("client.secret must be provided")}, + "user missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: ""}, wantErr: errors.New("username must be provided")}, + "password missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: ""}, wantErr: errors.New("password must be provided")}, + "all present": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: "pass"}, wantErr: nil}, } for name, tc := range tests { t.Run(name, func(t *testing.T) { @@ -35,16 +35,16 @@ func TestOAuth2Config(t *testing.T) { func TestJWTConfig(t *testing.T) { tests := map[string]struct { - config jwtBearerFlow + config JWTBearerFlow wantErr error }{ - "auth disabled I": {config: jwtBearerFlow{}, wantErr: nil}, - "auth disabled II": {config: jwtBearerFlow{Enabled: pointer(false)}, wantErr: nil}, - "url missing": {config: jwtBearerFlow{Enabled: pointer(true), URL: ""}, wantErr: errors.New("url must be provided")}, - "clientID missing": {config: jwtBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, - "clientUsername missing": {config: jwtBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: ""}, wantErr: errors.New("client.username must be provided")}, - "clientKeyPath missing": {config: jwtBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: ""}, wantErr: errors.New("client.key_path must be provided")}, - "all present": {config: jwtBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: "def"}, wantErr: nil}, + "auth disabled I": {config: JWTBearerFlow{}, wantErr: nil}, + "auth disabled II": {config: JWTBearerFlow{Enabled: pointer(false)}, wantErr: nil}, + "url missing": {config: JWTBearerFlow{Enabled: pointer(true), URL: ""}, wantErr: errors.New("url must be provided")}, + "clientID missing": {config: JWTBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, + "clientUsername missing": {config: JWTBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: ""}, wantErr: errors.New("client.username must be provided")}, + "clientKeyPath missing": {config: JWTBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: ""}, wantErr: errors.New("client.key_path must be provided")}, + "all present": {config: JWTBearerFlow{Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", ClientUsername: "abc", ClientKeyPath: "def"}, wantErr: nil}, } for name, tc := range tests { t.Run(name, func(t *testing.T) { diff --git a/x-pack/filebeat/input/salesforce/config_test.go b/x-pack/filebeat/input/salesforce/config_test.go index 0096ab3d6c8..ff66d891743 100644 --- a/x-pack/filebeat/input/salesforce/config_test.go +++ b/x-pack/filebeat/input/salesforce/config_test.go @@ -21,9 +21,9 @@ func TestValidate(t *testing.T) { "no auth provider enabled (no password or jwt)": { inputCfg: config{ Auth: &authConfig{ - OAuth2: OAuth2{ - UserPasswordFlow: &userPasswordFlow{}, - JWTBearerFlow: &jwtBearerFlow{}, + OAuth2: &OAuth2{ + UserPasswordFlow: &UserPasswordFlow{}, + JWTBearerFlow: &JWTBearerFlow{}, }, }, }, @@ -32,9 +32,9 @@ func TestValidate(t *testing.T) { "only one auth provider is allowed (either password or jwt)": { inputCfg: config{ Auth: &authConfig{ - OAuth2: OAuth2{ - UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, - JWTBearerFlow: &jwtBearerFlow{Enabled: pointer(true)}, + OAuth2: &OAuth2{ + UserPasswordFlow: &UserPasswordFlow{Enabled: pointer(true)}, + JWTBearerFlow: &JWTBearerFlow{Enabled: pointer(true)}, }, }, }, @@ -44,8 +44,8 @@ func TestValidate(t *testing.T) { inputCfg: config{ URL: "", Auth: &authConfig{ - OAuth2: OAuth2{ - UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, + OAuth2: &OAuth2{ + UserPasswordFlow: &UserPasswordFlow{Enabled: pointer(true)}, }, }, }, @@ -56,8 +56,8 @@ func TestValidate(t *testing.T) { EventMonitoringMethod: &EventMonitoringMethod{}, URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ - OAuth2: OAuth2{ - UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, + OAuth2: &OAuth2{ + UserPasswordFlow: &UserPasswordFlow{Enabled: pointer(true)}, }, }, }, @@ -73,8 +73,8 @@ func TestValidate(t *testing.T) { }, URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ - OAuth2: OAuth2{ - UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, + OAuth2: &OAuth2{ + UserPasswordFlow: &UserPasswordFlow{Enabled: pointer(true)}, }, }, }, @@ -90,8 +90,8 @@ func TestValidate(t *testing.T) { }, URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ - OAuth2: OAuth2{ - UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, + OAuth2: &OAuth2{ + UserPasswordFlow: &UserPasswordFlow{Enabled: pointer(true)}, }, }, }, @@ -108,8 +108,8 @@ func TestValidate(t *testing.T) { }, URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ - OAuth2: OAuth2{ - UserPasswordFlow: &userPasswordFlow{Enabled: pointer(true)}, + OAuth2: &OAuth2{ + UserPasswordFlow: &UserPasswordFlow{Enabled: pointer(true)}, }, }, }, diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index de0bb54d7c7..8a8df2b61ff 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -378,8 +378,12 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { err error ) + if cfg.Auth == nil { + return nil, errors.New("no auth provider enabled") + } + switch { - case cfg.Auth.OAuth2.JWTBearerFlow.isEnabled(): + case cfg.Auth.OAuth2.JWTBearerFlow != nil && cfg.Auth.OAuth2.JWTBearerFlow.isEnabled(): pemBytes, err := os.ReadFile(cfg.Auth.OAuth2.JWTBearerFlow.ClientKeyPath) if err != nil { return nil, fmt.Errorf("problem with client key path for JWT auth: %w", err) @@ -401,9 +405,9 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { if err != nil { return nil, fmt.Errorf("problem with credentials: %w", err) } - case cfg.Auth.OAuth2.UserPasswordFlow.isEnabled(): + case cfg.Auth.OAuth2.UserPasswordFlow != nil && cfg.Auth.OAuth2.UserPasswordFlow.isEnabled(): passCreds := credentials.PasswordCredentials{ - URL: cfg.URL, + URL: cfg.URL, // TODO(SS): is this correct? Username: cfg.Auth.OAuth2.UserPasswordFlow.Username, Password: cfg.Auth.OAuth2.UserPasswordFlow.Password, ClientID: cfg.Auth.OAuth2.UserPasswordFlow.ClientID, diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index a1ac603126c..43d69c84d53 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -61,7 +61,7 @@ func TestInputManager(t *testing.T) { "url": "https://salesforce.com", "version": 46, "auth": &authConfig{ - OAuth2: OAuth2{JWTBearerFlow: &jwtBearerFlow{ + OAuth2: &OAuth2{JWTBearerFlow: &JWTBearerFlow{ Enabled: pointer(true), URL: "https://salesforce.com", ClientID: "xyz", diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 8161d3e4a92..fcb4bd8004e 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -353,6 +353,6 @@ func TestDecodeAsCSV(t *testing.T) { assert.Equal(t, wantEventFields, mp[0]) } -// func TestPlugin(t *testing.T) { -// Plugin(logp.NewLogger("salesforce_test")) -// } +func TestPlugin(t *testing.T) { + _ = Plugin(logp.NewLogger("salesforce_test"), stateStore{}) +} From 16d8c31fa4691445b52713d94f6bd9ce5606de06 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 26 Dec 2023 10:57:27 +0530 Subject: [PATCH 057/172] struct ordering for efficient alignment of fields --- x-pack/filebeat/input/salesforce/config.go | 4 ++-- x-pack/filebeat/input/salesforce/config_auth_test.go | 4 ++-- x-pack/filebeat/input/salesforce/input_test.go | 8 ++++---- x-pack/filebeat/input/salesforce/soql_test.go | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index d82a482388f..457ad5f6c63 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -12,10 +12,10 @@ import ( type config struct { Auth *authConfig `config:"auth"` + EventMonitoringMethod *EventMonitoringMethod `config:"event_monitoring_method"` URL string `config:"url" validate:"required"` Version int `config:"version" validate:"required"` InitialInterval time.Duration `config:"initial_interval"` - EventMonitoringMethod *EventMonitoringMethod `config:"event_monitoring_method"` } type EventMonitoringMethod struct { @@ -25,9 +25,9 @@ type EventMonitoringMethod struct { type EventMonitoringConfig struct { Enabled *bool `config:"enabled"` - Interval time.Duration `config:"interval"` Query *QueryConfig `config:"query"` Cursor *cursorConfig `config:"cursor"` + Interval time.Duration `config:"interval"` } func (e *EventMonitoringConfig) isEnabled() bool { diff --git a/x-pack/filebeat/input/salesforce/config_auth_test.go b/x-pack/filebeat/input/salesforce/config_auth_test.go index 0ee2f4b0d8e..9e2ad10334f 100644 --- a/x-pack/filebeat/input/salesforce/config_auth_test.go +++ b/x-pack/filebeat/input/salesforce/config_auth_test.go @@ -13,8 +13,8 @@ import ( func TestOAuth2Config(t *testing.T) { tests := map[string]struct { - config UserPasswordFlow wantErr error + config UserPasswordFlow }{ "auth disabled I": {config: UserPasswordFlow{}, wantErr: nil}, "auth disabled II": {config: UserPasswordFlow{Enabled: pointer(false)}, wantErr: nil}, @@ -35,8 +35,8 @@ func TestOAuth2Config(t *testing.T) { func TestJWTConfig(t *testing.T) { tests := map[string]struct { - config JWTBearerFlow wantErr error + config JWTBearerFlow }{ "auth disabled I": {config: JWTBearerFlow{}, wantErr: nil}, "auth disabled II": {config: JWTBearerFlow{Enabled: pointer(false)}, wantErr: nil}, diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index fcb4bd8004e..118dd2b505e 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -56,12 +56,12 @@ func TestFormQueryWithCursor(t *testing.T) { t.Cleanup(resetTimeNow) tests := map[string]struct { - initialInterval time.Duration + wantErr error + cursor mapstr.M defaultSOQLTemplate string valueSOQLTemplate string wantQuery string - cursor mapstr.M - wantErr error + initialInterval time.Duration }{ "valid soql templates with nil cursor": { // expect default query with LogDate > initialInterval initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 1440h = 60 days = 2 months @@ -283,9 +283,9 @@ var _ inputcursor.Publisher = (*publisher)(nil) type publisher struct { done func() - mu sync.Mutex published []beat.Event cursors []map[string]interface{} + mu sync.Mutex } func (p *publisher) Publish(e beat.Event, cursor interface{}) error { diff --git a/x-pack/filebeat/input/salesforce/soql_test.go b/x-pack/filebeat/input/salesforce/soql_test.go index 4c5add86ff5..68945de94b5 100644 --- a/x-pack/filebeat/input/salesforce/soql_test.go +++ b/x-pack/filebeat/input/salesforce/soql_test.go @@ -17,9 +17,9 @@ var _ soql.QueryFormatter = (*querier)(nil) func TestFormat(t *testing.T) { tests := map[string]struct { + wantErr error input string wantStr string - wantErr error }{ "empty query": {input: "", wantStr: "", wantErr: errors.New("query is empty")}, "valid query": {input: "SELECT FIELDS(STANDARD) FROM LoginEvent", wantStr: "SELECT FIELDS(STANDARD) FROM LoginEvent", wantErr: nil}, From e19ee200489d955ab8f3e64c431607525544430d Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 26 Dec 2023 11:46:08 +0530 Subject: [PATCH 058/172] add and update unit tests --- x-pack/filebeat/input/salesforce/config.go | 1 - .../input/salesforce/config_auth_test.go | 2 +- x-pack/filebeat/input/salesforce/input.go | 4 +- .../filebeat/input/salesforce/input_test.go | 549 ++++++++++++++++-- x-pack/filebeat/input/salesforce/state.go | 4 +- 5 files changed, 491 insertions(+), 69 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 457ad5f6c63..a3801f4897d 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -15,7 +15,6 @@ type config struct { EventMonitoringMethod *EventMonitoringMethod `config:"event_monitoring_method"` URL string `config:"url" validate:"required"` Version int `config:"version" validate:"required"` - InitialInterval time.Duration `config:"initial_interval"` } type EventMonitoringMethod struct { diff --git a/x-pack/filebeat/input/salesforce/config_auth_test.go b/x-pack/filebeat/input/salesforce/config_auth_test.go index 9e2ad10334f..0b378f7b47f 100644 --- a/x-pack/filebeat/input/salesforce/config_auth_test.go +++ b/x-pack/filebeat/input/salesforce/config_auth_test.go @@ -21,7 +21,7 @@ func TestOAuth2Config(t *testing.T) { "tokenURL missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: ""}, wantErr: errors.New("token_url must be provided")}, "clientID missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: ""}, wantErr: errors.New("client.id must be provided")}, "clientSecret missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: ""}, wantErr: errors.New("client.secret must be provided")}, - "user missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: ""}, wantErr: errors.New("username must be provided")}, + "username missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: ""}, wantErr: errors.New("username must be provided")}, "password missing": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: ""}, wantErr: errors.New("password must be provided")}, "all present": {config: UserPasswordFlow{Enabled: pointer(true), TokenURL: "https://salesforce.com", ClientID: "xyz", ClientSecret: "abc", Username: "user", Password: "pass"}, wantErr: nil}, } diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 8a8df2b61ff..e608cf3f4ed 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -198,7 +198,7 @@ func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { // FormQueryWithCursor takes a queryConfig and a cursor and returns a querier. func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig, cursor mapstr.M) (*querier, error) { - qr, err := parseCursor(&s.config.InitialInterval, queryConfig, cursor, s.log) + qr, err := parseCursor(queryConfig, cursor, s.log) if err != nil { return nil, err } @@ -306,7 +306,7 @@ func (s *salesforceInput) RunEventLogFile() error { totalEvents, firstEvent := 0, true for res.Done() { for _, rec := range res.Records() { - req, err := http.NewRequestWithContext(s.ctx, "GET", s.config.URL+rec.Record().Fields()["LogFile"].(string), nil) + req, err := http.NewRequestWithContext(s.ctx, http.MethodGet, s.config.URL+rec.Record().Fields()["LogFile"].(string), nil) if err != nil { return err } diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 118dd2b505e..334186595f1 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -6,8 +6,8 @@ package salesforce import ( "context" + "errors" "fmt" - "io" "net/http" "net/http/httptest" "reflect" @@ -15,38 +15,49 @@ import ( "testing" "time" - "github.com/elastic/beats/v7/libbeat/common/transform/typeconv" - - "github.com/google/go-cmp/cmp" - "github.com/stretchr/testify/assert" - inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" + "github.com/elastic/beats/v7/libbeat/common/transform/typeconv" conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" "github.com/elastic/elastic-agent-libs/mapstr" + "github.com/g8rswimmer/go-sfdc" + "github.com/g8rswimmer/go-sfdc/soql" + "github.com/google/go-cmp/cmp" + "github.com/stretchr/testify/assert" ) const ( - defaultLoginEventObjectQuery = "SELECT FIELDS(STANDARD) FROM LoginEvent" - valueLoginEventObjectQuery = "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" + PaginationFlow = "PaginationFlow" + NoPaginationFlow = "NoPaginationFlow" + IntervalFlow = "IntervalFlow" + BadReponseFlow = "BadReponseFlow" + + defaultLoginObjectQuery = "SELECT FIELDS(STANDARD) FROM LoginEvent" + valueLoginObjectQuery = "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" + defaultLoginObjectQueryWithCursor = "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > 2023-12-06T05:44:24.973+0000" defaultLoginEventLogFileQuery = "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" valueLoginEventLogFileQuery = "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST" + invalidDefaultLoginEventObjectQuery = "SELECT FIELDS(STANDARD) FROM LoginEvnt" + invalidDefaultLoginEventLogFileQuery = "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY ASC NULLS FIRST" + + invalidValueLoginObjectQuery = "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event ]]" + invalidValueLoginEventLogFileQuery = "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event ]] ORDER BY CreatedDate ASC NULLS FIRST" + oneEventLogfileFirstResponseJSON = `{ "totalSize": 1, "done": true, "records": [ { "attributes": { "type": "EventLogFile", "url": "/services/data/v58.0/sobjects/EventLogFile/0AT5j00002LqQTxGAN" }, "Id": "0AT5j00002LqQTxGAN", "CreatedDate": "2023-12-19T21:04:35.000+0000", "LogDate": "2023-12-18T00:00:00.000+0000", "LogFile": "/services/data/v58.0/sobjects/EventLogFile/0AT5j00002LqQTxGAN/LogFile" } ] }` oneEventLogfileSecondResponseCSV = `"EVENT_TYPE","TIMESTAMP","REQUEST_ID","ORGANIZATION_ID","USER_ID","RUN_TIME","CPU_TIME","URI","SESSION_KEY","LOGIN_KEY","USER_TYPE","REQUEST_STATUS","DB_TOTAL_TIME","LOGIN_TYPE","BROWSER_TYPE","API_TYPE","API_VERSION","USER_NAME","TLS_PROTOCOL","CIPHER_SUITE","AUTHENTICATION_METHOD_REFERENCE","LOGIN_SUB_TYPE","TIMESTAMP_DERIVED","USER_ID_DERIVED","CLIENT_IP","URI_ID_DERIVED","LOGIN_STATUS","SOURCE_IP" "Login","20231218054831.655","4u6LyuMrDvb_G-l1cJIQk-","00D5j00000DgAYG","0055j00000AT6I1","1219","127","/services/oauth2/token","","bY5Wfv8t/Ith7WVE","Standard","","1051271151","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T05:48:31.655Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" -"Login","20231218054832.003","4u6LyuHSDv8LLVl1cJOqGV","00D5j00000DgAYG","0055j00000AT6I1","1277","104","/services/oauth2/token","","u60el7VqW8CSSKcW","Standard","","674857427","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T05:48:32.003Z","0055j00000AT6I1AAL","103.108.207.58","","LOGIN_NO_ERROR","103.108.207.58" -"Login","20231218060656.232","4u6MzGRQmHeuAVl1cJNqIV","00D5j00000DgAYG","0055j00000AT6I1","90","37","/services/oauth2/token","","RhVHOa6prs/tRDZr","Standard","","52463859","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:06:56.232Z","0055j00000AT6I1AAL","103.108.207.58","","LOGIN_NO_ERROR","103.108.207.58" -"Login","20231218060656.247","4u6MzGUl-6XJDVl1cJIHX-","00D5j00000DgAYG","0055j00000AT6I1","93","34","/services/oauth2/token","","gwwwflcWcytNc28j","Standard","","29208661","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:06:56.247Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" -"Login","20231218060707.127","4u6Mzu2WdsiJ4-l1cJ10hV","00D5j00000DgAYG","0055j00000AT6I1","85","35","/services/oauth2/token","","/6xZonK38rL95woZ","Standard","","47752553","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:07:07.127Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" -"Login","20231218060707.336","4u6MzuqusFJ0wFl1cJOrUV","00D5j00000DgAYG","0055j00000AT6I1","79","37","/services/oauth2/token","","U6CLGZunsCexuVaT","Standard","","42803201","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:07:07.336Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" -"Login","20231218061215.381","4u6NGqOvVq3PAVl1cIPeN-","00D5j00000DgAYG","0055j00000AT6I1","81","35","/services/oauth2/token","","r9Z9CeDgcqvuiAE2","Standard","","41447870","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:12:15.381Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" -"Login","20231218061215.388","4u6NGqPumIr5IFl1cJI3i-","00D5j00000DgAYG","0055j00000AT6I1","85","38","/services/oauth2/token","","nj1BE27iK9SO3PLI","Standard","","48346017","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T06:12:15.388Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","103.108.207.58" -"Login","20231218090817.044","4u6WsbPmV2hRy-l1cJ1-SV","00D5j00000DgAYG","0055j00000AT6I1","148","41","/services/oauth2/token","","6ubxOot7STy+7IrM","Standard","","73688965","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T09:08:17.044Z","0055j00000AT6I1AAL","Salesforce.com IP","","LOGIN_NO_ERROR","134.238.252.19" -"Login","20231218090817.878","4u6WsekpMMbFsFl1cJIGT-","00D5j00000DgAYG","0055j00000AT6I1","84","37","/services/oauth2/token","","ODeZG/Py69Bxtb4o","Standard","","46097736","i","Go-http-client/1.1","","9998.0","salesforceinstance@devtest.in","TLSv1.2","ECDHE-RSA-AES256-GCM-SHA384","","","2023-12-18T09:08:17.878Z","0055j00000AT6I1AAL","134.238.252.19","","LOGIN_NO_ERROR","134.238.252.19" ` + + expectedELFEvent = `{"API_TYPE":"","API_VERSION":"9998.0","AUTHENTICATION_METHOD_REFERENCE":"","BROWSER_TYPE":"Go-http-client/1.1","CIPHER_SUITE":"ECDHE-RSA-AES256-GCM-SHA384","CLIENT_IP":"Salesforce.com IP","CPU_TIME":"127","DB_TOTAL_TIME":"1051271151","EVENT_TYPE":"Login","LOGIN_KEY":"bY5Wfv8t/Ith7WVE","LOGIN_STATUS":"LOGIN_NO_ERROR","LOGIN_SUB_TYPE":"","LOGIN_TYPE":"i","ORGANIZATION_ID":"00D5j00000DgAYG","REQUEST_ID":"4u6LyuMrDvb_G-l1cJIQk-","REQUEST_STATUS":"","RUN_TIME":"1219","SESSION_KEY":"","SOURCE_IP":"103.108.207.58","TIMESTAMP":"20231218054831.655","TIMESTAMP_DERIVED":"2023-12-18T05:48:31.655Z","TLS_PROTOCOL":"TLSv1.2","URI":"/services/oauth2/token","URI_ID_DERIVED":"","USER_ID":"0055j00000AT6I1","USER_ID_DERIVED":"0055j00000AT6I1AAL","USER_NAME":"salesforceinstance@devtest.in","USER_TYPE":"Standard"}` + + oneObjectEvents = `{ "totalSize": 1, "done": true, "records": [ { "attributes": { "type": "LoginEvent", "url": "/services/data/v58.0/sobjects/LoginEvent/000000000000000AAA" }, "AdditionalInfo": "{}", "ApiType": "N/A", "ApiVersion": "N/A", "Application": "salesforce_test", "Browser": "Unknown", "CipherSuite": "ECDHE-RSA-AES256-GCM-SHA384", "City": "Mumbai", "ClientVersion": "N/A", "Country": "India", "CountryIso": "IN", "CreatedDate": "2023-12-06T05:44:34.942+0000", "EvaluationTime": 0, "EventDate": "2023-12-06T05:44:24.973+0000", "EventIdentifier": "00044326-ed4a-421a-a0a8-e62ea626f3af", "HttpMethod": "POST", "Id": "000000000000000AAA", "LoginGeoId": "04F5j00003NvV1cEAF", "LoginHistoryId": "0Ya5j00003k2scQCAQ", "LoginKey": "pgOVoLbV96U9o08W", "LoginLatitude": 19.0748, "LoginLongitude": 72.8856, "LoginType": "Remote Access 2.0", "LoginUrl": "login.salesforce.com", "Platform": "Unknown", "PostalCode": "400070", "SessionLevel": "STANDARD", "SourceIp": "134.238.252.19", "Status": "Success", "Subdivision": "Maharashtra", "TlsProtocol": "TLS 1.2", "UserId": "0055j00000AT6I1AAL", "UserType": "Standard", "Username": "salesforceinstance@devtest.in" } ] }` + oneObjectEventsPageOne = `{ "totalSize": 1, "done": true, "nextRecordsUrl": "/nextRecords/LoginEvents/ABCABCDABCDE", "records": [ { "attributes": { "type": "LoginEvent", "url": "/services/data/v58.0/sobjects/LoginEvent/000000000000000AAA" }, "AdditionalInfo": "{}", "ApiType": "N/A", "ApiVersion": "N/A", "Application": "salesforce_test", "Browser": "Unknown", "CipherSuite": "ECDHE-RSA-AES256-GCM-SHA384", "City": "Mumbai", "ClientVersion": "N/A", "Country": "India", "CountryIso": "IN", "CreatedDate": "2023-12-06T05:44:34.942+0000", "EvaluationTime": 0, "EventDate": "2023-12-06T05:44:24.973+0000", "EventIdentifier": "00044326-ed4a-421a-a0a8-e62ea626f3af", "HttpMethod": "POST", "Id": "000000000000000AAA", "LoginGeoId": "04F5j00003NvV1cEAF", "LoginHistoryId": "0Ya5j00003k2scQCAQ", "LoginKey": "pgOVoLbV96U9o08W", "LoginLatitude": 19.0748, "LoginLongitude": 72.8856, "LoginType": "Remote Access 2.0", "LoginUrl": "login.salesforce.com", "Platform": "Unknown", "PostalCode": "400070", "SessionLevel": "STANDARD", "SourceIp": "134.238.252.19", "Status": "Success", "Subdivision": "Maharashtra", "TlsProtocol": "TLS 1.2", "UserId": "0055j00000AT6I1AAL", "UserType": "Standard", "Username": "salesforceinstance@devtest.in" } ] }` + oneObjectEventsPageTwo = `{ "totalSize": 1, "done": true, "records": [ { "attributes": { "type": "LoginEvent", "url": "/services/data/v58.0/sobjects/LoginEvent/000000000000000AAA" }, "AdditionalInfo": "{}", "ApiType": "N/A", "ApiVersion": "N/A", "Application": "salesforce_test", "Browser": "Unknown", "CipherSuite": "ECDHE-RSA-AES256-GCM-SHA384", "City": "Mumbai", "ClientVersion": "N/A", "Country": "India", "CountryIso": "IN", "CreatedDate": "2023-12-06T05:44:34.942+0000", "EvaluationTime": 0, "EventDate": "2023-12-06T05:44:24.973+0000", "EventIdentifier": "00044326-ed4a-421a-a0a8-e62ea626f3af", "HttpMethod": "POST", "Id": "000000000000000AAA", "LoginGeoId": "04F5j00003NvV1cEAF", "LoginHistoryId": "0Ya5j00003k2scQCAQ", "LoginKey": "pgOVoLbV96U9o08W", "LoginLatitude": 19.0748, "LoginLongitude": 72.8856, "LoginType": "Remote Access 2.0", "LoginUrl": "login.salesforce.com", "Platform": "Unknown", "PostalCode": "400070", "SessionLevel": "STANDARD", "SourceIp": "134.238.252.19", "Status": "Success", "Subdivision": "Maharashtra", "TlsProtocol": "TLS 1.2", "UserId": "0055j00000AT6I1AAL", "UserType": "Standard", "Username": "salesforceinstance@devtest.in" } ] }` + + expectedObjectEvent = `{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}` ) func TestFormQueryWithCursor(t *testing.T) { @@ -84,6 +95,14 @@ func TestFormQueryWithCursor(t *testing.T) { wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > 2023-05-18T12:00:00Z ORDER BY CreatedDate ASC NULLS FIRST", cursor: mapstr.M{"event_log_file": mapstr.M{"logdate": timeNow().Format(formatRFC3339Like)}}, }, + "invalid soql templates wrong cursor name .cursor.event_log_file.logdate1": { // expect value SOQL query with .cursor.event_log_file.logdate set + initialInterval: 60 * 24 * time.Hour, // 60 * 24h = 1440h = 60 days = 2 months + defaultSOQLTemplate: `SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND Logdate > [[ (formatTime (now.Add (parseDuration "-1440h")) "RFC3339") ]] ORDER BY CreatedDate ASC NULLS FIRST`, + valueSOQLTemplate: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.logdate1 ]] ORDER BY CreatedDate ASC NULLS FIRST", + wantQuery: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > 2023-05-18T12:00:00Z ORDER BY CreatedDate ASC NULLS FIRST", + cursor: mapstr.M{"event_log_file": mapstr.M{"logdate": timeNow().Format(formatRFC3339Like)}}, + wantErr: errors.New(`template: :1:110: executing "" at <.cursor.event_log_file.logdate1>: map has no entry for key "logdate1"`), + }, } for name, tc := range tests { @@ -102,43 +121,58 @@ func TestFormQueryWithCursor(t *testing.T) { } sfInput := &salesforceInput{ - config: config{InitialInterval: tc.initialInterval}, + config: config{}, log: logp.NewLogger("salesforce_test"), } querier, err := sfInput.FormQueryWithCursor(queryConfig, tc.cursor) - assert.NoError(t, err) + if fmt.Sprint(tc.wantErr) != fmt.Sprint(err) { + t.Errorf("got error %v, want error %v", err, tc.wantErr) + } + if tc.wantErr != nil { + return + } assert.EqualValues(t, tc.wantQuery, querier.Query) }) } } -var defaultUserPasswordFlowMap = map[string]interface{}{ - "user_password_flow": map[string]interface{}{ - "enabled": true, - "client.id": "clientid", - "client.secret": "clientsecret", - "token_url": "https://instance_id.develop.my.salesforce.com/services/oauth2/token", - "username": "username", - "password": "password", - }, -} - var ( + defaultUserPasswordFlowMap = map[string]interface{}{ + "user_password_flow": map[string]interface{}{ + "enabled": true, + "client.id": "clientid", + "client.secret": "clientsecret", + "token_url": "https://instance_id.develop.my.salesforce.com/services/oauth2/token", + "username": "username", + "password": "password", + }, + } + wrongUserPasswordFlowMap = map[string]interface{}{ + "user_password_flow": map[string]interface{}{ + "enabled": true, + "client.id": "clientid-wrong", + "client.secret": "clientsecret-wrong", + "token_url": "https://instance_id.develop.my.salesforce.com/services/oauth2/token", + "username": "username-wrong", + "password": "password-wrong", + }, + } + defaultObjectMonitoringMethodConfigMap = map[string]interface{}{ - "interval": "5m", + "interval": "5s", "enabled": true, "query": map[string]interface{}{ - "default": defaultLoginEventObjectQuery, - "value": valueLoginEventObjectQuery, + "default": defaultLoginObjectQuery, + "value": valueLoginObjectQuery, }, "cursor": map[string]interface{}{ "field": "EventDate", }, } defaultEventLogFileMonitoringMethodMap = map[string]interface{}{ - "interval": "5m", + "interval": "5s", "enabled": true, "query": map[string]interface{}{ "default": defaultLoginEventLogFileQuery, @@ -148,21 +182,48 @@ var ( "field": "CreatedDate", }, } + + invalidObjectMonitoringMethodMap = map[string]interface{}{ + "interval": "5m", + "enabled": true, + "query": map[string]interface{}{ + "default": invalidDefaultLoginEventObjectQuery, + "value": valueLoginEventLogFileQuery, + }, + "cursor": map[string]interface{}{ + "field": "CreatedDate", + }, + } + invalidEventLogFileMonitoringMethodMap = map[string]interface{}{ + "interval": "5m", + "enabled": true, + "query": map[string]interface{}{ + "default": invalidDefaultLoginEventLogFileQuery, + "value": invalidValueLoginEventLogFileQuery, + }, + "cursor": map[string]interface{}{ + "field": "CreatedDate", + }, + } ) func TestInput(t *testing.T) { logp.TestingSetup() tests := []struct { - name string - setupServer func(testing.TB, http.HandlerFunc, map[string]interface{}) - baseConfig map[string]interface{} - handler http.HandlerFunc - expected []string - wantErr bool + name string + setupServer func(testing.TB, http.HandlerFunc, map[string]interface{}) + baseConfig map[string]interface{} + handler http.HandlerFunc + expected []string + wantErr bool + persistentCursor *state + AuthFail bool + timeout time.Duration }{ + // Object { - name: "event_monitoring_method_object_with_default_query_only", + name: "Positive/event_monitoring_method_object_with_default_query_only", setupServer: newTestServer(httptest.NewServer), baseConfig: map[string]interface{}{ "version": 56, @@ -171,21 +232,90 @@ func TestInput(t *testing.T) { "object": defaultObjectMonitoringMethodConfigMap, }, }, - handler: defaultHandler("GET", "", "", `{ "totalSize": 60, "done": true, "records": [ { "attributes": { "type": "LoginEvent", "url": "/services/data/v58.0/sobjects/LoginEvent/000000000000000AAA" }, "AdditionalInfo": "{}", "ApiType": "N/A", "ApiVersion": "N/A", "Application": "salesforce_test", "Browser": "Unknown", "CipherSuite": "ECDHE-RSA-AES256-GCM-SHA384", "City": "Mumbai", "ClientVersion": "N/A", "Country": "India", "CountryIso": "IN", "CreatedDate": "2023-12-06T05:44:34.942+0000", "EvaluationTime": 0, "EventDate": "2023-12-06T05:44:24.973+0000", "EventIdentifier": "00044326-ed4a-421a-a0a8-e62ea626f3af", "HttpMethod": "POST", "Id": "000000000000000AAA", "LoginGeoId": "04F5j00003NvV1cEAF", "LoginHistoryId": "0Ya5j00003k2scQCAQ", "LoginKey": "pgOVoLbV96U9o08W", "LoginLatitude": 19.0748, "LoginLongitude": 72.8856, "LoginType": "Remote Access 2.0", "LoginUrl": "login.salesforce.com", "Platform": "Unknown", "PostalCode": "400070", "SessionLevel": "STANDARD", "SourceIp": "134.238.252.19", "Status": "Success", "Subdivision": "Maharashtra", "TlsProtocol": "TLS 1.2", "UserId": "0055j00000AT6I1AAL", "UserType": "Standard", "Username": "salesforceinstance@devtest.in" } ] }`), - expected: []string{`{"AdditionalInfo":"{}","ApiType":"N/A","ApiVersion":"N/A","Application":"salesforce_test","Browser":"Unknown","CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","City":"Mumbai","ClientVersion":"N/A","Country":"India","CountryIso":"IN","CreatedDate":"2023-12-06T05:44:34.942+0000","EvaluationTime":0,"EventDate":"2023-12-06T05:44:24.973+0000","EventIdentifier":"00044326-ed4a-421a-a0a8-e62ea626f3af","HttpMethod":"POST","Id":"000000000000000AAA","LoginGeoId":"04F5j00003NvV1cEAF","LoginHistoryId":"0Ya5j00003k2scQCAQ","LoginKey":"pgOVoLbV96U9o08W","LoginLatitude":19.0748,"LoginLongitude":72.8856,"LoginType":"Remote Access 2.0","LoginUrl":"login.salesforce.com","Platform":"Unknown","PostalCode":"400070","SessionLevel":"STANDARD","SourceIp":"134.238.252.19","Status":"Success","Subdivision":"Maharashtra","TlsProtocol":"TLS 1.2","UserId":"0055j00000AT6I1AAL","UserType":"Standard","Username":"salesforceinstance@devtest.in"}`}, + handler: defaultHandler(NoPaginationFlow, false, "", oneObjectEvents), + expected: []string{expectedObjectEvent}, }, { - name: "event_monitoring_method_event_log_file_with_default_query_only", + name: "Negative/event_monitoring_method_object_with_error_in_data_collection", setupServer: newTestServer(httptest.NewServer), baseConfig: map[string]interface{}{ "version": 56, "auth.oauth2": defaultUserPasswordFlowMap, + "event_monitoring_method": map[string]interface{}{ + "object": invalidObjectMonitoringMethodMap, + }, + }, + handler: defaultHandler(NoPaginationFlow, false, "", `{"error": "invalid_query"}`), + wantErr: true, + }, + { + name: "Positive/event_monitoring_method_object_with_interval_5s", + setupServer: newTestServer(httptest.NewServer), + baseConfig: map[string]interface{}{ + "version": 56, + "auth.oauth2": defaultUserPasswordFlowMap, + "event_monitoring_method": map[string]interface{}{ + "object": defaultObjectMonitoringMethodConfigMap, + }, + }, + handler: defaultHandler(IntervalFlow, false, "", oneObjectEventsPageTwo), + expected: []string{expectedObjectEvent, expectedObjectEvent}, + timeout: 20 * time.Second, + }, + { + name: "Positive/event_monitoring_method_object_with_Pagination", + setupServer: newTestServer(httptest.NewServer), + baseConfig: map[string]interface{}{ + "version": 56, + "auth.oauth2": defaultUserPasswordFlowMap, + "event_monitoring_method": map[string]interface{}{ + "object": defaultObjectMonitoringMethodConfigMap, + }, + }, + handler: defaultHandler(PaginationFlow, false, oneObjectEventsPageOne, oneObjectEventsPageTwo), + expected: []string{expectedObjectEvent, expectedObjectEvent}, + }, + + // EventLogFile + { + name: "Positive/event_monitoring_method_elf_with_default_query_only", + setupServer: newTestServer(httptest.NewServer), + baseConfig: map[string]interface{}{ + "version": 56, + "auth.oauth2": defaultUserPasswordFlowMap, + "event_monitoring_method": map[string]interface{}{ + "event_log_file": defaultEventLogFileMonitoringMethodMap, + }, + }, + handler: defaultHandler(NoPaginationFlow, false, oneEventLogfileFirstResponseJSON, oneEventLogfileSecondResponseCSV), + expected: []string{expectedELFEvent}, + }, + { + name: "Negative/event_monitoring_method_elf_with_error_in_auth", + setupServer: newTestServer(httptest.NewServer), + baseConfig: map[string]interface{}{ + "version": 56, + "auth.oauth2": wrongUserPasswordFlowMap, "event_monitoring_method": map[string]interface{}{ "event_log_file": defaultEventLogFileMonitoringMethodMap, }, }, - handler: defaultHandler("GET", "", oneEventLogfileFirstResponseJSON, oneEventLogfileSecondResponseCSV), - expected: []string{`{"API_TYPE":"","API_VERSION":"9998.0","AUTHENTICATION_METHOD_REFERENCE":"","BROWSER_TYPE":"Go-http-client/1.1","CIPHER_SUITE":"ECDHE-RSA-AES256-GCM-SHA384","CLIENT_IP":"Salesforce.com IP","CPU_TIME":"127","DB_TOTAL_TIME":"1051271151","EVENT_TYPE":"Login","LOGIN_KEY":"bY5Wfv8t/Ith7WVE","LOGIN_STATUS":"LOGIN_NO_ERROR","LOGIN_SUB_TYPE":"","LOGIN_TYPE":"i","ORGANIZATION_ID":"00D5j00000DgAYG","REQUEST_ID":"4u6LyuMrDvb_G-l1cJIQk-","REQUEST_STATUS":"","RUN_TIME":"1219","SESSION_KEY":"","SOURCE_IP":"103.108.207.58","TIMESTAMP":"20231218054831.655","TIMESTAMP_DERIVED":"2023-12-18T05:48:31.655Z","TLS_PROTOCOL":"TLSv1.2","URI":"/services/oauth2/token","URI_ID_DERIVED":"","USER_ID":"0055j00000AT6I1","USER_ID_DERIVED":"0055j00000AT6I1AAL","USER_NAME":"salesforceinstance@devtest.in","USER_TYPE":"Standard"}`}, + handler: defaultHandler(NoPaginationFlow, false, "", `{"error": "invalid_client_id"}`), + wantErr: true, + AuthFail: true, + }, + { + name: "Negative/event_monitoring_method_elf_with_error_in_data_collection", + setupServer: newTestServer(httptest.NewServer), + baseConfig: map[string]interface{}{ + "version": 56, + "auth.oauth2": defaultUserPasswordFlowMap, + "event_monitoring_method": map[string]interface{}{ + "event_log_file": invalidEventLogFileMonitoringMethodMap, + }, + }, + handler: defaultHandler(NoPaginationFlow, false, "", `{"error": "invalid_query"}`), + wantErr: true, }, } @@ -196,8 +326,12 @@ func TestInput(t *testing.T) { cfg := defaultConfig() err := conf.MustNewConfigFrom(tc.baseConfig).Unpack(&cfg) assert.NoError(t, err) + timeout := 5 * time.Second + if tc.timeout != 0 { + timeout = tc.timeout + } - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + ctx, cancel := context.WithTimeout(context.Background(), timeout) defer cancel() var client publisher @@ -213,6 +347,9 @@ func TestInput(t *testing.T) { ctx, cancelClause := context.WithCancelCause(ctx) salesforceInput.cursor = &state{} + if tc.persistentCursor != nil { + salesforceInput.cursor = tc.persistentCursor + } salesforceInput.ctx = ctx salesforceInput.cancel = cancelClause salesforceInput.srcConfig = &cfg @@ -223,11 +360,19 @@ func TestInput(t *testing.T) { assert.NoError(t, err) salesforceInput.soqlr, err = salesforceInput.SetupSFClientConnection() - assert.NoError(t, err) + if err != nil && !tc.wantErr { + t.Errorf("unexpected error from running input: %v", err) + } + if tc.wantErr && tc.AuthFail { + return + } err = salesforceInput.run() - if tc.wantErr != (err != nil) { - t.Errorf("unexpected error from running input: got:%v want:%v", err, tc.wantErr) + if err != nil && !tc.wantErr { + t.Errorf("unexpected error from running input: %v", err) + } + if tc.wantErr { + return } if len(client.published) < len(tc.expected) { @@ -245,27 +390,34 @@ func TestInput(t *testing.T) { } } -func defaultHandler(expectedMethod, expectedBody, msg1, msg2 string) http.HandlerFunc { +func defaultHandler(flow string, withoutQuery bool, msg1, msg2 string) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { w.Header().Set("content-type", "application/json") switch { - case r.RequestURI == "/services/oauth2/token": + case flow == PaginationFlow && r.FormValue("q") == defaultLoginObjectQuery: + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte(msg1)) + case r.RequestURI == "/nextRecords/LoginEvents/ABCABCDABCDE": + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte(msg2)) + case r.RequestURI == "/services/oauth2/token" && r.Method == http.MethodPost && r.FormValue("client_id") == "clientid": w.WriteHeader(http.StatusOK) _, _ = w.Write([]byte(`{"access_token":"abcd","instance_url":"http://` + r.Host + `","token_type":"Bearer","id_token":"abcd","refresh_token":"abcd"}`)) - case r.FormValue("q") == "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST": + case r.FormValue("client_id") == "clientid-wrong": + w.WriteHeader(http.StatusBadRequest) + _, _ = w.Write([]byte(msg2)) + case r.FormValue("q") == defaultLoginEventLogFileQuery: w.WriteHeader(http.StatusOK) _, _ = w.Write([]byte(msg1)) - case r.FormValue("q") == "SELECT FIELDS(STANDARD) FROM LoginEvent", r.RequestURI == "/services/data/v58.0/sobjects/EventLogFile/0AT5j00002LqQTxGAN/LogFile": + case r.FormValue("q") == defaultLoginObjectQuery, r.FormValue("q") == defaultLoginObjectQueryWithCursor, r.RequestURI == "/services/data/v58.0/sobjects/EventLogFile/0AT5j00002LqQTxGAN/LogFile": w.WriteHeader(http.StatusOK) _, _ = w.Write([]byte(msg2)) - case expectedBody != "": - body, _ := io.ReadAll(r.Body) - r.Body.Close() - if expectedBody != string(body) { - w.WriteHeader(http.StatusBadRequest) - _, _ = w.Write([]byte(fmt.Sprintf(`{"error":"expected body was %q"}`, expectedBody))) - } - _, _ = w.Write([]byte(msg1)) + case r.FormValue("q") == invalidDefaultLoginEventLogFileQuery, r.FormValue("q") == invalidDefaultLoginEventObjectQuery: + w.WriteHeader(http.StatusBadRequest) + _, _ = w.Write([]byte(msg2)) + case flow == BadReponseFlow && (withoutQuery && r.FormValue("q") == ""): + w.WriteHeader(http.StatusBadRequest) + _, _ = w.Write([]byte(`{"error":"internal server error"}`)) } } } @@ -353,6 +505,279 @@ func TestDecodeAsCSV(t *testing.T) { assert.Equal(t, wantEventFields, mp[0]) } +func TestSalesforceInputRunWithMethod(t *testing.T) { + var ( + defaultUserPassAuthConfig = authConfig{ + OAuth2: &OAuth2{ + UserPasswordFlow: &UserPasswordFlow{ + Enabled: pointer(true), + TokenURL: "https://instance_id.develop.my.salesforce.com/services/oauth2/token", + ClientID: "clientid", + ClientSecret: "clientsecret", + Username: "username", + Password: "password", + }, + }, + } + objectEventMonitotingConfig = EventMonitoringMethod{ + Object: EventMonitoringConfig{ + Enabled: pointer(true), + Interval: time.Second * 5, + Query: &QueryConfig{ + Default: getValueTpl(defaultLoginObjectQuery), + Value: getValueTpl(valueLoginObjectQuery), + }, + Cursor: &cursorConfig{Field: "EventDate"}, + }, + } + objectEventMonitoringWithWrongQuery = EventMonitoringMethod{ + Object: EventMonitoringConfig{ + Enabled: pointer(true), + Interval: time.Second * 5, + Query: &QueryConfig{ + Default: getValueTpl(invalidDefaultLoginEventObjectQuery), + Value: getValueTpl(invalidValueLoginObjectQuery), + }, + Cursor: &cursorConfig{Field: "EventDate"}, + }, + } + + elfEventMonitotingConfig = EventMonitoringMethod{ + EventLogFile: EventMonitoringConfig{ + Enabled: pointer(true), + Interval: time.Second * 5, + Query: &QueryConfig{ + Default: getValueTpl(defaultLoginEventLogFileQuery), + Value: getValueTpl(valueLoginEventLogFileQuery), + }, + Cursor: &cursorConfig{Field: "EventDate"}, + }, + } + elfEventMonitotingWithWrongQuery = EventMonitoringMethod{ + EventLogFile: EventMonitoringConfig{ + Enabled: pointer(true), + Interval: time.Second * 5, + Query: &QueryConfig{ + Default: getValueTpl(invalidDefaultLoginEventLogFileQuery), + Value: getValueTpl(invalidValueLoginEventLogFileQuery), + }, + Cursor: &cursorConfig{Field: "EventDate"}, + }, + } + ) + + type fields struct { + config config + ctx context.Context + cancel context.CancelCauseFunc + publisher inputcursor.Publisher + cursor *state + srcConfig *config + sfdcConfig *sfdc.Configuration + soqlr *soql.Resource + } + tests := []struct { + method string + name string + fields fields + expected []string + wantErr bool + AuthFail bool + ClientConnectionFail bool + setupServer func(testing.TB, http.HandlerFunc, *config) + handler http.HandlerFunc + }{ + // Object + { + name: "Positive/object_get_one_event", + method: "Object", + setupServer: newTestServerBasedOnConfig(httptest.NewServer), + handler: defaultHandler(NoPaginationFlow, false, "", oneObjectEvents), + fields: fields{ + config: config{ + Version: 56, + Auth: &defaultUserPassAuthConfig, + EventMonitoringMethod: &objectEventMonitotingConfig, + }, + cursor: &state{}, + }, + expected: []string{expectedObjectEvent}, + }, + { + name: "Negative/object_error_from_wrong_default_query", + method: "Object", + setupServer: newTestServerBasedOnConfig(httptest.NewServer), + handler: defaultHandler(NoPaginationFlow, false, "", oneObjectEvents), + fields: fields{ + config: config{ + Version: 56, + Auth: &defaultUserPassAuthConfig, + EventMonitoringMethod: &objectEventMonitoringWithWrongQuery, + }, + cursor: &state{}, + }, + wantErr: true, + }, + { + name: "Negative/object_error_from_wrong_value_query", + method: "Object", + setupServer: newTestServerBasedOnConfig(httptest.NewServer), + handler: defaultHandler(NoPaginationFlow, false, "", oneObjectEvents), + fields: fields{ + config: config{ + Version: 56, + Auth: &defaultUserPassAuthConfig, + EventMonitoringMethod: &objectEventMonitoringWithWrongQuery, + }, + cursor: &state{ + Object: dateTimeCursor{ + FirstEventTime: "2020-01-01T00:00:00Z", + LastEventTime: "2020-01-01T00:00:00Z", + }, + }, + }, + wantErr: true, + }, + + // EventLogFile + { + name: "Positive/elf_get_one_event", + method: "ELF", + setupServer: newTestServerBasedOnConfig(httptest.NewServer), + handler: defaultHandler(NoPaginationFlow, false, oneEventLogfileFirstResponseJSON, oneEventLogfileSecondResponseCSV), + fields: fields{ + config: config{ + Version: 56, + Auth: &defaultUserPassAuthConfig, + EventMonitoringMethod: &elfEventMonitotingConfig, + }, + cursor: &state{}, + }, + expected: []string{expectedELFEvent}, + }, + { + name: "Negative/elf_error_from_wrong_default_query", + method: "ELF", + setupServer: newTestServerBasedOnConfig(httptest.NewServer), + handler: defaultHandler(NoPaginationFlow, false, oneEventLogfileFirstResponseJSON, oneEventLogfileSecondResponseCSV), + fields: fields{ + config: config{ + Version: 56, + Auth: &defaultUserPassAuthConfig, + EventMonitoringMethod: &elfEventMonitotingWithWrongQuery, + }, + cursor: &state{}, + }, + wantErr: true, + }, + { + name: "Negative/elf_error_from_wrong_value_query", + method: "ELF", + setupServer: newTestServerBasedOnConfig(httptest.NewServer), + handler: defaultHandler(NoPaginationFlow, false, oneEventLogfileFirstResponseJSON, oneEventLogfileSecondResponseCSV), + fields: fields{ + config: config{ + Version: 56, + Auth: &defaultUserPassAuthConfig, + EventMonitoringMethod: &elfEventMonitotingWithWrongQuery, + }, + cursor: &state{ + EventLogFile: dateTimeCursor{ + FirstEventTime: "2020-01-01T00:00:00Z", + LastEventTime: "2020-01-01T00:00:00Z", + }, + }, + }, + wantErr: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + var err error + tt.setupServer(t, tt.handler, &tt.fields.config) + + s := &salesforceInput{ + config: tt.fields.config, + ctx: tt.fields.ctx, + cancel: tt.fields.cancel, + publisher: tt.fields.publisher, + cursor: tt.fields.cursor, + srcConfig: tt.fields.srcConfig, + sfdcConfig: tt.fields.sfdcConfig, + log: logp.NewLogger("salesforceInput"), + soqlr: tt.fields.soqlr, + } + + ctx, cancel := context.WithCancelCause(context.Background()) + s.ctx = ctx + s.cancel = cancel + + var client publisher + client.done = func() { + if len(client.published) >= len(tt.expected) { + cancel(nil) + } + } + s.publisher = &client + s.srcConfig = &s.config + + s.sfdcConfig, err = getSFDCConfig(&s.config) + if err != nil && !tt.wantErr { + t.Errorf("unexpected error from running input: %v", err) + } + if tt.wantErr && tt.AuthFail { + return + } + + s.soqlr, err = s.SetupSFClientConnection() + if err != nil && !tt.wantErr { + t.Errorf("unexpected error from running input: %v", err) + } + if tt.wantErr && tt.ClientConnectionFail { + return + } + + if tt.method == "Object" { + if err := s.RunObject(); (err != nil) != tt.wantErr { + t.Errorf("salesforceInput.RunObject() error = %v, wantErr %v", err, tt.wantErr) + } + } else { + if err := s.RunEventLogFile(); (err != nil) != tt.wantErr { + t.Errorf("salesforceInput.RunEventLogFile() error = %v, wantErr %v", err, tt.wantErr) + } + } + + if len(client.published) < len(tt.expected) { + t.Errorf("unexpected number of published events: got:%d want at least:%d", len(client.published), len(tt.expected)) + tt.expected = tt.expected[:len(client.published)] + } + + client.published = client.published[:len(tt.expected)] + for i, got := range client.published { + if !reflect.DeepEqual(got.Fields["message"], tt.expected[i]) { + t.Errorf("unexpected result for event %d: got:- want:+\n%s", i, cmp.Diff(got.Fields, tt.expected[i])) + } + } + }) + } +} + +func getValueTpl(in string) *valueTpl { + vp := &valueTpl{} + vp.Unpack(in) + + return vp +} + +func newTestServerBasedOnConfig(newServer func(http.Handler) *httptest.Server) func(testing.TB, http.HandlerFunc, *config) { + return func(t testing.TB, h http.HandlerFunc, config *config) { + server := newServer(h) + config.URL = server.URL + config.Auth.OAuth2.UserPasswordFlow.TokenURL = server.URL + "/services/oauth2/token" + t.Cleanup(server.Close) + } +} + func TestPlugin(t *testing.T) { _ = Plugin(logp.NewLogger("salesforce_test"), stateStore{}) } diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index bd0434e272f..d5b9e51ab79 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -5,8 +5,6 @@ package salesforce import ( - "time" - "github.com/elastic/elastic-agent-libs/logp" "github.com/elastic/elastic-agent-libs/mapstr" ) @@ -27,7 +25,7 @@ type dateTimeCursor struct { // parseCursor parses the cursor from the configuration and executes the // template. If cursor is nil, the default templated query is used else // the value templated query is used. See QueryConfig struct for more. -func parseCursor(initialInterval *time.Duration, cfg *QueryConfig, cursor mapstr.M, log *logp.Logger) (string, error) { +func parseCursor(cfg *QueryConfig, cursor mapstr.M, log *logp.Logger) (string, error) { ctxTmpl := mapstr.M{"cursor": nil} if cursor != nil { From 7646bf0acc2a28b0c12684f87a1fa481260621ce Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 26 Dec 2023 11:51:53 +0530 Subject: [PATCH 059/172] update usage of token url --- x-pack/filebeat/input/salesforce/input.go | 2 +- x-pack/filebeat/input/salesforce/input_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index e608cf3f4ed..e0d4f2865b5 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -407,7 +407,7 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { } case cfg.Auth.OAuth2.UserPasswordFlow != nil && cfg.Auth.OAuth2.UserPasswordFlow.isEnabled(): passCreds := credentials.PasswordCredentials{ - URL: cfg.URL, // TODO(SS): is this correct? + URL: cfg.Auth.OAuth2.UserPasswordFlow.TokenURL, Username: cfg.Auth.OAuth2.UserPasswordFlow.Username, Password: cfg.Auth.OAuth2.UserPasswordFlow.Password, ClientID: cfg.Auth.OAuth2.UserPasswordFlow.ClientID, diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 334186595f1..bcf8b2b0c4e 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -426,7 +426,7 @@ func newTestServer(newServer func(http.Handler) *httptest.Server) func(testing.T return func(t testing.TB, h http.HandlerFunc, config map[string]interface{}) { server := newServer(h) config["url"] = server.URL - config["auth.oauth2"].(map[string]interface{})["user_password_flow"].(map[string]interface{})["token_url"] = server.URL + "/services/oauth2/token" + config["auth.oauth2"].(map[string]interface{})["user_password_flow"].(map[string]interface{})["token_url"] = server.URL t.Cleanup(server.Close) } } @@ -773,7 +773,7 @@ func newTestServerBasedOnConfig(newServer func(http.Handler) *httptest.Server) f return func(t testing.TB, h http.HandlerFunc, config *config) { server := newServer(h) config.URL = server.URL - config.Auth.OAuth2.UserPasswordFlow.TokenURL = server.URL + "/services/oauth2/token" + config.Auth.OAuth2.UserPasswordFlow.TokenURL = server.URL t.Cleanup(server.Close) } } From 001597c0b057fc0afd6d877e416595d9594cec0c Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 26 Dec 2023 12:50:13 +0530 Subject: [PATCH 060/172] struct ordering and goimports --- .../filebeat/input/salesforce/config_test.go | 2 +- x-pack/filebeat/input/salesforce/input.go | 17 ++++++------- .../filebeat/input/salesforce/input_test.go | 25 ++++++++++--------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config_test.go b/x-pack/filebeat/input/salesforce/config_test.go index ff66d891743..0402f776bbe 100644 --- a/x-pack/filebeat/input/salesforce/config_test.go +++ b/x-pack/filebeat/input/salesforce/config_test.go @@ -15,8 +15,8 @@ import ( func TestValidate(t *testing.T) { tests := map[string]struct { - inputCfg config wantErr error + inputCfg config }{ "no auth provider enabled (no password or jwt)": { inputCfg: config{ diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index e0d4f2865b5..5860980a898 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -38,17 +38,16 @@ const ( ) type salesforceInput struct { - config - ctx context.Context - cancel context.CancelCauseFunc - publisher inputcursor.Publisher - cursor *state - srcConfig *config - sfdcConfig *sfdc.Configuration - log *logp.Logger - + ctx context.Context + publisher inputcursor.Publisher + cancel context.CancelCauseFunc + cursor *state + srcConfig *config + sfdcConfig *sfdc.Configuration + log *logp.Logger clientSession *session.Session soqlr *soql.Resource + config } // // The Filebeat user-agent is provided to the program as useragent. diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index bcf8b2b0c4e..f9937aa8fc3 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -15,16 +15,17 @@ import ( "testing" "time" + "github.com/g8rswimmer/go-sfdc" + "github.com/g8rswimmer/go-sfdc/soql" + "github.com/google/go-cmp/cmp" + "github.com/stretchr/testify/assert" + inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" "github.com/elastic/beats/v7/libbeat/beat" "github.com/elastic/beats/v7/libbeat/common/transform/typeconv" conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" "github.com/elastic/elastic-agent-libs/mapstr" - "github.com/g8rswimmer/go-sfdc" - "github.com/g8rswimmer/go-sfdc/soql" - "github.com/google/go-cmp/cmp" - "github.com/stretchr/testify/assert" ) const ( @@ -211,15 +212,15 @@ func TestInput(t *testing.T) { logp.TestingSetup() tests := []struct { - name string setupServer func(testing.TB, http.HandlerFunc, map[string]interface{}) baseConfig map[string]interface{} handler http.HandlerFunc + persistentCursor *state + name string expected []string + timeout time.Duration wantErr bool - persistentCursor *state AuthFail bool - timeout time.Duration }{ // Object { @@ -567,25 +568,25 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { ) type fields struct { - config config ctx context.Context - cancel context.CancelCauseFunc publisher inputcursor.Publisher + cancel context.CancelCauseFunc cursor *state srcConfig *config sfdcConfig *sfdc.Configuration soqlr *soql.Resource + config config } tests := []struct { + fields fields + setupServer func(testing.TB, http.HandlerFunc, *config) + handler http.HandlerFunc method string name string - fields fields expected []string wantErr bool AuthFail bool ClientConnectionFail bool - setupServer func(testing.TB, http.HandlerFunc, *config) - handler http.HandlerFunc }{ // Object { From ca6ba575fbfe0ebe2a9dcb877d40737570f38e83 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 26 Dec 2023 17:58:31 +0530 Subject: [PATCH 061/172] initial changes to salesforce module filesets --- .../module/salesforce/_meta/config.yml | 161 ++++------ .../salesforce/apex-rest/config/apex-rest.yml | 71 ----- .../module/salesforce/apex-rest/manifest.yml | 20 -- .../{apex-rest => apex}/_meta/fields.yml | 0 .../module/salesforce/apex/config/apex.yml | 79 +++++ .../{apex-rest => apex}/ingest/pipeline.yml | 0 .../module/salesforce/apex/manifest.yml | 24 ++ .../test/salesforce_apex_callout.ndjson.log | 0 ...orce_apex_callout.ndjson.log-expected.json | 0 .../test/salesforce_apex_execution.ndjson.log | 0 ...ce_apex_execution.ndjson.log-expected.json | 0 ...alesforce_apex_external_callout.ndjson.log | 0 ..._external_callout.ndjson.log-expected.json | 0 .../test/salesforce_apex_rest.ndjson.log | 0 ...esforce_apex_rest.ndjson.log-expected.json | 0 .../test/salesforce_apex_soap.ndjson.log | 0 ...esforce_apex_soap.ndjson.log-expected.json | 0 .../test/salesforce_apex_trigger.ndjson.log | 0 ...orce_apex_trigger.ndjson.log-expected.json | 0 .../login-rest/config/login-rest.yml | 71 ----- .../module/salesforce/login-rest/manifest.yml | 20 -- .../salesforce/login-stream/_meta/fields.yml | 58 ---- .../login-stream/config/login-stream.yml | 44 --- .../login-stream/ingest/pipeline.yml | 278 ------------------ .../salesforce/login-stream/manifest.yml | 16 - .../test/salesforce_login.ndjson.log | 1 - .../salesforce_login.ndjson.log-expected.json | 55 ---- .../{login-rest => login}/_meta/fields.yml | 0 .../module/salesforce/login/config/login.yml | 95 ++++++ .../{login-rest => login}/ingest/pipeline.yml | 0 .../module/salesforce/login/manifest.yml | 28 ++ .../test/salesforce_login.ndjson.log | 0 .../salesforce_login.ndjson.log-expected.json | 0 .../logout-rest/config/logout-rest.yml | 70 ----- .../salesforce/logout-rest/manifest.yml | 19 -- .../salesforce/logout-stream/_meta/fields.yml | 22 -- .../logout-stream/config/logout-stream.yml | 44 --- .../logout-stream/ingest/pipeline.yml | 147 --------- .../salesforce/logout-stream/manifest.yml | 15 - .../test/salesforce_logout.ndjson.log | 1 - ...salesforce_logout.ndjson.log-expected.json | 30 -- .../{logout-rest => logout}/_meta/fields.yml | 0 .../salesforce/logout/config/logout.yml | 95 ++++++ .../ingest/pipeline.yml | 0 .../module/salesforce/logout/manifest.yml | 27 ++ .../test/salesforce_logout.ndjson.log | 0 ...salesforce_logout.ndjson.log-expected.json | 0 .../config/setupaudittrail-rest.yml | 68 ----- .../setupaudittrail-rest/manifest.yml | 19 -- .../_meta/fields.yml | 0 .../config/setupaudittrail.yml | 83 ++++++ .../ingest/pipeline.yml | 0 .../salesforce/setupaudittrail/manifest.yml | 24 ++ .../salesforce_setupaudittrail.ndjson.log | 0 ...e_setupaudittrail.ndjson.log-expected.json | 0 55 files changed, 514 insertions(+), 1171 deletions(-) delete mode 100644 x-pack/filebeat/module/salesforce/apex-rest/config/apex-rest.yml delete mode 100644 x-pack/filebeat/module/salesforce/apex-rest/manifest.yml rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/_meta/fields.yml (100%) create mode 100644 x-pack/filebeat/module/salesforce/apex/config/apex.yml rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/ingest/pipeline.yml (100%) create mode 100644 x-pack/filebeat/module/salesforce/apex/manifest.yml rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_callout.ndjson.log (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_callout.ndjson.log-expected.json (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_execution.ndjson.log (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_execution.ndjson.log-expected.json (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_external_callout.ndjson.log (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_external_callout.ndjson.log-expected.json (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_rest.ndjson.log (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_rest.ndjson.log-expected.json (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_soap.ndjson.log (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_soap.ndjson.log-expected.json (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_trigger.ndjson.log (100%) rename x-pack/filebeat/module/salesforce/{apex-rest => apex}/test/salesforce_apex_trigger.ndjson.log-expected.json (100%) delete mode 100644 x-pack/filebeat/module/salesforce/login-rest/config/login-rest.yml delete mode 100644 x-pack/filebeat/module/salesforce/login-rest/manifest.yml delete mode 100644 x-pack/filebeat/module/salesforce/login-stream/_meta/fields.yml delete mode 100644 x-pack/filebeat/module/salesforce/login-stream/config/login-stream.yml delete mode 100644 x-pack/filebeat/module/salesforce/login-stream/ingest/pipeline.yml delete mode 100644 x-pack/filebeat/module/salesforce/login-stream/manifest.yml delete mode 100644 x-pack/filebeat/module/salesforce/login-stream/test/salesforce_login.ndjson.log delete mode 100644 x-pack/filebeat/module/salesforce/login-stream/test/salesforce_login.ndjson.log-expected.json rename x-pack/filebeat/module/salesforce/{login-rest => login}/_meta/fields.yml (100%) create mode 100644 x-pack/filebeat/module/salesforce/login/config/login.yml rename x-pack/filebeat/module/salesforce/{login-rest => login}/ingest/pipeline.yml (100%) create mode 100644 x-pack/filebeat/module/salesforce/login/manifest.yml rename x-pack/filebeat/module/salesforce/{login-rest => login}/test/salesforce_login.ndjson.log (100%) rename x-pack/filebeat/module/salesforce/{login-rest => login}/test/salesforce_login.ndjson.log-expected.json (100%) delete mode 100644 x-pack/filebeat/module/salesforce/logout-rest/config/logout-rest.yml delete mode 100644 x-pack/filebeat/module/salesforce/logout-rest/manifest.yml delete mode 100644 x-pack/filebeat/module/salesforce/logout-stream/_meta/fields.yml delete mode 100644 x-pack/filebeat/module/salesforce/logout-stream/config/logout-stream.yml delete mode 100644 x-pack/filebeat/module/salesforce/logout-stream/ingest/pipeline.yml delete mode 100644 x-pack/filebeat/module/salesforce/logout-stream/manifest.yml delete mode 100644 x-pack/filebeat/module/salesforce/logout-stream/test/salesforce_logout.ndjson.log delete mode 100644 x-pack/filebeat/module/salesforce/logout-stream/test/salesforce_logout.ndjson.log-expected.json rename x-pack/filebeat/module/salesforce/{logout-rest => logout}/_meta/fields.yml (100%) create mode 100644 x-pack/filebeat/module/salesforce/logout/config/logout.yml rename x-pack/filebeat/module/salesforce/{logout-rest => logout}/ingest/pipeline.yml (100%) create mode 100644 x-pack/filebeat/module/salesforce/logout/manifest.yml rename x-pack/filebeat/module/salesforce/{logout-rest => logout}/test/salesforce_logout.ndjson.log (100%) rename x-pack/filebeat/module/salesforce/{logout-rest => logout}/test/salesforce_logout.ndjson.log-expected.json (100%) delete mode 100644 x-pack/filebeat/module/salesforce/setupaudittrail-rest/config/setupaudittrail-rest.yml delete mode 100644 x-pack/filebeat/module/salesforce/setupaudittrail-rest/manifest.yml rename x-pack/filebeat/module/salesforce/{setupaudittrail-rest => setupaudittrail}/_meta/fields.yml (100%) create mode 100644 x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml rename x-pack/filebeat/module/salesforce/{setupaudittrail-rest => setupaudittrail}/ingest/pipeline.yml (100%) create mode 100644 x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml rename x-pack/filebeat/module/salesforce/{setupaudittrail-rest => setupaudittrail}/test/salesforce_setupaudittrail.ndjson.log (100%) rename x-pack/filebeat/module/salesforce/{setupaudittrail-rest => setupaudittrail}/test/salesforce_setupaudittrail.ndjson.log-expected.json (100%) diff --git a/x-pack/filebeat/module/salesforce/_meta/config.yml b/x-pack/filebeat/module/salesforce/_meta/config.yml index f5c6c9c7f06..3dc40f902ae 100644 --- a/x-pack/filebeat/module/salesforce/_meta/config.yml +++ b/x-pack/filebeat/module/salesforce/_meta/config.yml @@ -1,130 +1,87 @@ - module: salesforce - apex-rest: + apex: enabled: false + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.jwt_enabled: true - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" - - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" - - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" + var.url: "https://instance_id.my.salesforce.com" + var.elf_interval: 1h - login-rest: - enabled: false - - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" - - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" - - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" - - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" - - login-stream: - enabled: false - - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" - - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" - - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" - - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" - - logout-rest: + login: enabled: false + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.jwt_enabled: true - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.url: "https://instance_id.my.salesforce.com" - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" + var.event_log_file: true + var.elf_interval: 1h + var.real_time: true + var.real_time_interval: 5m - logout-stream: + logout: enabled: false + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.jwt_enabled: true - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.url: "https://instance_id.my.salesforce.com" - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" + var.event_log_file: true + var.elf_interval: 1h + var.real_time: true + var.real_time_interval: 5m - setupaudittrail-rest: + setupaudittrail: enabled: false + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.jwt_enabled: true - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" + var.url: "https://instance_id.my.salesforce.com" - # Interval, should include the time interval - #var.interval: 1h \ No newline at end of file + var.real_time: true + var.real_time_interval: 5m diff --git a/x-pack/filebeat/module/salesforce/apex-rest/config/apex-rest.yml b/x-pack/filebeat/module/salesforce/apex-rest/config/apex-rest.yml deleted file mode 100644 index 5a5af4ab5d3..00000000000 --- a/x-pack/filebeat/module/salesforce/apex-rest/config/apex-rest.yml +++ /dev/null @@ -1,71 +0,0 @@ -{{ if eq .input "httpjson" }} - -type: httpjson -interval: {{ .interval }} -request.method: GET -auth.oauth2: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .user }} - user: {{ .user }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} -# Query params will be overwritten by request.transforms from start of the input and -# it is to indicate that this url is for Apex type of events as cursor stores the url as source. -# Each filebeat input cursor source needs to be uniquely identified with a name. -request.url: {{ .url }}/services/data/v52.0/query?q=apex+rest -{{ if .proxy_url }} -request.proxy_url: {{ .proxy_url }} -{{ end }} -request.transforms: - - set: - target: url.params.q - value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND LogDate > [[.cursor.last_published_apex]] AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" -response.pagination: - - set: - target: url.value - value: '[[if (ne .last_response.body.done true)]]{{ .url }}[[.last_response.body.nextRecordsUrl]][[end]]' - fail_on_template_error: true -chain: - - step: - request.url: {{ .url }}/services/data/v52.0/sobjects/EventLogFile/$.records[:].Id/LogFile - request.method: GET - replace: $.records[:].Id -cursor: - last_published_apex: - value: '[[(formatDate ((parseDate .last_event.TIMESTAMP_DERIVED "RFC3339").Add (parseDuration "-1h")))]]' - -{{ else if eq .input "file" }} - -type: log -paths: -{{ range $i, $path := .paths }} - - {{$path}} -{{ end }} -exclude_files: [".gz$"] - -{{ end }} - -tags: {{.tags | tojson}} -publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} - -processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/apex-rest/manifest.yml b/x-pack/filebeat/module/salesforce/apex-rest/manifest.yml deleted file mode 100644 index 54b0495bb70..00000000000 --- a/x-pack/filebeat/module/salesforce/apex-rest/manifest.yml +++ /dev/null @@ -1,20 +0,0 @@ -module_version: 1.0 - -var: - - name: input - default: httpjson - - name: interval - default: 1h - - name: tags - default: [salesforce-apex-rest,forwarded] - - name: proxy_url - - name: client_id - - name: client_secret - - name: token_url - - name: user - - name: password - - name: url - -ingest_pipeline: - - ingest/pipeline.yml -input: config/apex-rest.yml diff --git a/x-pack/filebeat/module/salesforce/apex-rest/_meta/fields.yml b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/_meta/fields.yml rename to x-pack/filebeat/module/salesforce/apex/_meta/fields.yml diff --git a/x-pack/filebeat/module/salesforce/apex/config/apex.yml b/x-pack/filebeat/module/salesforce/apex/config/apex.yml new file mode 100644 index 00000000000..4e8854e5e26 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/apex/config/apex.yml @@ -0,0 +1,79 @@ +{{ if eq .input "salesforce" }} + +type: salesforce +enabled: true +{{ if .api_version }} +version: {{ .api_version }} +{{ end }} +auth.oauth2: +{{ if .jwt_enabled }} + jwt_bearer_flow: + enabled: true + {{ if .client_id }} + client.id: {{ .client_id }} + {{ end }} + {{ if .client_username }} + client.username: {{ .client_username }} + {{ end }} + {{ if .client_key_path }} + client.key_path: {{ .client_key_path }} + {{ end }} + {{ if .jwt_url }} + url: {{ .jwt_url }} + {{ end }} +{{ else }} + user_password_flow: + enabled: true + {{ if .client_id }} + client.id: {{ .client_id }} + {{ end }} + {{ if .client_secret }} + client.secret: {{ .client_secret }} + {{ end }} + {{ if .token_url }} + token_url: {{ .token_url }} + {{ end }} + {{ if .username }} + username: {{ .username }} + {{ end }} + {{ if .password }} + password: {{ .password }} + {{ end }} +{{ end }} +# Query params will be overwritten by request.transforms from start of the input and +# it is to indicate that this url is for Apex type of events as cursor stores the url as source. +# Each filebeat input cursor source needs to be uniquely identified with a name. +url: {{ .url }} +event_monitoring_method: + event_log_file: + enabled: true + interval: {{ .elf_interval }} + query: + default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" + value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" + cursor: + field: "CreatedDate" + +{{ else if eq .input "file" }} + +type: log +paths: +{{ range $i, $path := .paths }} + - {{$path}} +{{ end }} +exclude_files: [".gz$"] + +{{ end }} + +tags: {{.tags | tojson}} +publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} + +processors: + - decode_json_fields: + fields: [message] + target: "json" + - add_fields: + target: '' + fields: + ecs.version: 1.12.0 + - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/apex-rest/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/ingest/pipeline.yml rename to x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml diff --git a/x-pack/filebeat/module/salesforce/apex/manifest.yml b/x-pack/filebeat/module/salesforce/apex/manifest.yml new file mode 100644 index 00000000000..97211b436d7 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/apex/manifest.yml @@ -0,0 +1,24 @@ +module_version: 1.0 + +var: + - name: input + default: salesforce + - name: tags + default: [salesforce-apex,forwarded] + - name: api_version + - name: jwt_enabled + - name: client_id + - name: client_username + - name: client_key_path + - name: jwt_url + - name: client_secret + - name: token_url + - name: user + - name: password + - name: url + - name: elf_interval + default: 1h + +ingest_pipeline: + - ingest/pipeline.yml +input: config/apex.yml diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_callout.ndjson.log b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_callout.ndjson.log rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_callout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_callout.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_execution.ndjson.log b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_execution.ndjson.log rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_execution.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_execution.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_external_callout.ndjson.log b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_external_callout.ndjson.log rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_external_callout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_external_callout.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_rest.ndjson.log b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_rest.ndjson.log rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_rest.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_rest.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_soap.ndjson.log b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_soap.ndjson.log rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_soap.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_soap.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_trigger.ndjson.log b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_trigger.ndjson.log rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_trigger.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json similarity index 100% rename from x-pack/filebeat/module/salesforce/apex-rest/test/salesforce_apex_trigger.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json diff --git a/x-pack/filebeat/module/salesforce/login-rest/config/login-rest.yml b/x-pack/filebeat/module/salesforce/login-rest/config/login-rest.yml deleted file mode 100644 index 380c746d739..00000000000 --- a/x-pack/filebeat/module/salesforce/login-rest/config/login-rest.yml +++ /dev/null @@ -1,71 +0,0 @@ -{{ if eq .input "httpjson" }} - -type: httpjson -interval: {{ .interval }} -request.method: GET -auth.oauth2: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .user }} - user: {{ .user }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} -# Query params will be overwritten by request.transforms from start of the input and -# it is to indicate that this url is for Login type of events as cursor stores the url as source. -# Each filebeat input cursor source needs to be uniquely identified with a name. -request.url: {{ .url }}/services/data/v52.0/query?q=login+rest -{{ if .proxy_url }} -request.proxy_url: {{ .proxy_url }} -{{ end }} -request.transforms: - - set: - target: url.params.q - value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND LogDate > [[.cursor.last_published_login]] ORDER BY LogDate ASC NULLS FIRST" - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" -response.pagination: - - set: - target: url.value - value: '[[if (ne .last_response.body.done true)]]{{ .url }}[[.last_response.body.nextRecordsUrl]][[end]]' - fail_on_template_error: true -chain: - - step: - request.url: {{ .url }}/services/data/v52.0/sobjects/EventLogFile/$.records[:].Id/LogFile - request.method: GET - replace: $.records[:].Id -cursor: - last_published_login: - value: '[[(formatDate ((parseDate .last_event.TIMESTAMP_DERIVED "RFC3339").Add (parseDuration "-1h")))]]' - -{{ else if eq .input "file" }} - -type: log -paths: -{{ range $i, $path := .paths }} - - {{$path}} -{{ end }} -exclude_files: [".gz$"] - -{{ end }} - -tags: {{.tags | tojson}} -publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} - -processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/login-rest/manifest.yml b/x-pack/filebeat/module/salesforce/login-rest/manifest.yml deleted file mode 100644 index 15450bab7f2..00000000000 --- a/x-pack/filebeat/module/salesforce/login-rest/manifest.yml +++ /dev/null @@ -1,20 +0,0 @@ -module_version: 1.0 - -var: - - name: input - default: httpjson - - name: interval - default: 1h - - name: tags - default: [salesforce-login-rest, forwarded] - - name: proxy_url - - name: client_id - - name: client_secret - - name: token_url - - name: user - - name: password - - name: url - -ingest_pipeline: - - ingest/pipeline.yml -input: config/login-rest.yml diff --git a/x-pack/filebeat/module/salesforce/login-stream/_meta/fields.yml b/x-pack/filebeat/module/salesforce/login-stream/_meta/fields.yml deleted file mode 100644 index 9d807a7bf77..00000000000 --- a/x-pack/filebeat/module/salesforce/login-stream/_meta/fields.yml +++ /dev/null @@ -1,58 +0,0 @@ -- name: salesforce.login - type: group - release: beta - description: > - Fileset for ingesting Salesforce Login (Streaming) logs. - fields: - - name: application - type: keyword - description: > - The application used to access the org. Possible values include: AppExchange, Browser, Salesforce for iOS, Salesforce Developers API Explorer, N/A - - name: auth_method_reference - type: keyword - description: > - The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. - - name: auth_service_id - type: keyword - description: > - The 18-character ID for an authentication service for a login event. - - name: client_version - type: keyword - description: > - The version number of the login client. If no version number is available, “Unknown” is returned. - - name: created_by_id - type: keyword - description: > - Unavailable - - name: evaluation_time - type: keyword - description: > - The amount of time it took to evaluate the transaction security policy, in milliseconds. - - name: login_geo_id - type: keyword - description: > - The Salesforce ID of the LoginGeo object associated with the login user’s IP address. - - name: login_history_id - type: keyword - description: > - Tracks a user session so you can correlate user activity with a particular login instance. This field is also available on the LoginHistory, AuthSession, and LoginHistory objects, making it easier to trace events back to a user’s original authentication. - - name: login_type - type: keyword - description: > - The type of login used to access the session. - - name: policy_id - type: keyword - description: > - The ID of the transaction security policy associated with this event. - - name: policy_outcome - type: keyword - description: > - The result of the transaction policy. - - name: related_event_identifier - type: keyword - description: > - This field is populated only when the activity that this event monitors requires extra authentication, such as multi-factor authentication. In this case, Salesforce generates more events and sets the RelatedEventIdentifier field of the new events to the value of the EventIdentifier field of the original event. Use this field with the EventIdentifier field to correlate all the related events. If no extra authentication is required, this field is blank. - - name: session_level - type: keyword - description: > - Session-level security controls user access to features that support it, such as connected apps and reporting. Possible values are: HIGH_ASSURANCE, LOW, STANDARD \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/login-stream/config/login-stream.yml b/x-pack/filebeat/module/salesforce/login-stream/config/login-stream.yml deleted file mode 100644 index 3db5b0dd49e..00000000000 --- a/x-pack/filebeat/module/salesforce/login-stream/config/login-stream.yml +++ /dev/null @@ -1,44 +0,0 @@ -{{ if eq .input "cometd" }} - -type: cometd -channel_name: /event/LoginEventStream -auth.oauth2: - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .user }} - user: {{ .user }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} - -{{ else if eq .input "file" }} - -type: log -paths: -{{ range $i, $path := .paths }} - - {{$path}} -{{ end }} -exclude_files: [".gz$"] - -{{ end }} - -tags: {{.tags | tojson}} -publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} - -processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/login-stream/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/login-stream/ingest/pipeline.yml deleted file mode 100644 index a24e65d1a21..00000000000 --- a/x-pack/filebeat/module/salesforce/login-stream/ingest/pipeline.yml +++ /dev/null @@ -1,278 +0,0 @@ ---- -description: Pipeline for parsing Salesforce Login (Streaming) logs -processors: -- set: - field: event.ingested - value: '{{_ingest.timestamp}}' -- remove: - field: - - message - ignore_missing: true - -- set: - field: salesforce.access_mode - value: stream - ignore_failure: true - -- date: - field: json.EventDate - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true -- rename: - field: json.schema - target_field: salesforce.login.schema - ignore_missing: true -- rename: - field: json.ApiType - target_field: salesforce.login.api_type - ignore_missing: true -- rename: - field: json.AuthMethodReference - target_field: salesforce.login.auth_method_reference - ignore_missing: true -- rename: - field: json.LoginType - target_field: salesforce.login.login_type - ignore_missing: true -- rename: - field: json.PolicyOutcome - target_field: salesforce.login.policy_outcome - ignore_missing: true -- rename: - field: json.AuthServiceId - target_field: salesforce.login.auth_service_id - ignore_missing: true -- rename: - field: json.EvaluationTime - target_field: salesforce.login.evaluation_time - ignore_missing: true -- rename: - field: json.ClientVersion - target_field: salesforce.login.client_version - ignore_missing: true -- rename: - field: json.LoginGeoId - target_field: salesforce.login.login_geo_id - ignore_missing: true -- rename: - field: json.LoginHistoryId - target_field: salesforce.login.login_history_id - ignore_missing: true -- rename: - field: json.CreatedById - target_field: salesforce.login.created_by_id - ignore_missing: true -- rename: - field: json.ApiVersion - target_field: salesforce.login.api_version - ignore_missing: true -- rename: - field: json.RelatedEventIdentifier - target_field: salesforce.login.related_event_identifier - ignore_missing: true -- rename: - field: json.LoginKey - target_field: salesforce.login.login_key - ignore_missing: true -- rename: - field: json.Application - target_field: salesforce.login.application - ignore_missing: true -- rename: - field: json.PolicyId - target_field: salesforce.login.policy_id - ignore_missing: true -- rename: - field: json.SessionLevel - target_field: salesforce.login.session_level - ignore_missing: true -- rename: - field: json.replayId - target_field: salesforce.login.replay_id - ignore_missing: true - -####################### -## ECS Event Mapping ## -####################### - -- set: - field: event.outcome - value: success - if: 'ctx?.json?.Status == "Success" && ctx?.json?.Status != null' - ignore_failure: true -- set: - field: event.outcome - value: failure - if: 'ctx?.json?.Status != "Success" && ctx?.json?.Status != null' - ignore_failure: true -- date: - field: json.CreatedDate - target_field: event.created - formats: - - ISO8601 - ignore_failure: true -- rename: - field: json.LoginUrl - target_field: event.url - ignore_missing: true -- set: - field: event.type - value: "info" -- set: - field: event.kind - value: "event" -- set: - field: event.action - value: "login-attempt" -- set: - field: event.category - value: "authentication" -- set: - field: event.dataset - value: "salesforce.login" -- set: - field: event.module - value: "salesforce" - -###################### -## ECS User Mapping ## -###################### - -# As per the following article, the username must be in the format of an email address. -# Reference: https://help.salesforce.com/s/articleView?language=en_US&type=5&id=sf.basics_intro_usernames_passwords.htm -- rename: - field: json.Username - target_field: user.email - ignore_missing: true -- rename: - field: json.UserId - target_field: user.id - ignore_missing: true -- rename: - field: json.UserType - target_field: user.roles - ignore_missing: true - -######################## -## ECS Source Mapping ## -######################## - -- rename: - field: json.SourceIp - target_field: source.ip - ignore_missing: true - -############################ -## ECS Related.ip Mapping ## -############################ - -- append: - field: related.ip - value: "{{{source.ip}}}" - if: ctx?.source?.ip != null - allow_duplicates: false - ignore_failure: true - -############################ -## ECS Source.Geo Mapping ## -############################ - -- rename: - field: json.LoginLatitude - target_field: source.geo.location.lat - ignore_missing: true -- rename: - field: json.LoginLongitude - target_field: source.geo.location.lon - ignore_missing: true -- rename: - field: json.CountryIso - target_field: source.geo.country_iso_code - ignore_missing: true -- rename: - field: json.PostalCode - target_field: source.geo.postal_code - ignore_missing: true -- rename: - field: json.City - target_field: source.geo.city_name - ignore_missing: true -- rename: - field: json.Subdivision - target_field: source.geo.region_name - ignore_missing: true -- rename: - field: json.Country - target_field: source.geo.country_name - ignore_missing: true - -############################ -## ECS User Agent Mapping ## -############################ - -- rename: - field: json.Browser - target_field: user_agent.name - ignore_missing: true -- rename: - field: json.Platform - target_field: user_agent.os.platform - ignore_missing: true - -###################### -## ECS HTTP Mapping ## -###################### - -- rename: - field: json.HttpMethod - target_field: http.request.method - ignore_missing: true -- rename: - field: json.AdditionalInfo - target_field: http.request.body.content - ignore_missing: true - -##################### -## ECS TLS Mapping ## -##################### - -- rename: - field: json.CipherSuite - target_field: tls.cipher - ignore_missing: true -- dissect: - pattern: "%{tls.version_protocol} %{tls.version}" - field: "json.TlsProtocol" - ignore_failure: true - -############# -## Cleanup ## -############# - -- script: - description: Drops null/empty values recursively - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return (((Map) object).size() == 0); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return (((List) object).length == 0); - } - return false; - } - dropEmptyFields(ctx); -- remove: - field: - - json - ignore_missing: true -on_failure: -- set: - field: error.message - value: '{{_ingest.on_failure_message}}' diff --git a/x-pack/filebeat/module/salesforce/login-stream/manifest.yml b/x-pack/filebeat/module/salesforce/login-stream/manifest.yml deleted file mode 100644 index 92411aa750e..00000000000 --- a/x-pack/filebeat/module/salesforce/login-stream/manifest.yml +++ /dev/null @@ -1,16 +0,0 @@ -module_version: 1.0 - -var: - - name: input - default: cometd - - name: tags - default: [salesforce-login-stream, forwarded] - - name: client_id - - name: client_secret - - name: token_url - - name: user - - name: password - -ingest_pipeline: - - ingest/pipeline.yml -input: config/login-stream.yml diff --git a/x-pack/filebeat/module/salesforce/login-stream/test/salesforce_login.ndjson.log b/x-pack/filebeat/module/salesforce/login-stream/test/salesforce_login.ndjson.log deleted file mode 100644 index 53d856e9d36..00000000000 --- a/x-pack/filebeat/module/salesforce/login-stream/test/salesforce_login.ndjson.log +++ /dev/null @@ -1 +0,0 @@ -{"EventDate":"2021-10-19T11:47:22Z","AuthServiceId":null,"CountryIso":"IN","Platform":"Unknown","EvaluationTime":0,"CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","PostalCode":"395007","ClientVersion":"N/A","LoginGeoId":"04F5j00000FadrI","LoginUrl":"login.salesforce.com","LoginHistoryId":"0Ya5j00000GLxCdCAL","CreatedById":"0055j000000q9s7AAA","SessionKey":null,"ApiType":"N/A","AuthMethodReference":null,"LoginType":"Remote Access 2.0","PolicyOutcome":null,"Status":"Success","AdditionalInfo":"{}","ApiVersion":"N/A","EventIdentifier":"06af6d92-1167-467d-a826-ee8583f7134d","RelatedEventIdentifier":null,"LoginLatitude":21.1888,"City":"Surat","Subdivision":"Gujarat","SourceIp":"123.201.231.106","Username":"kush.rana@elastic.co","UserId":"0055j000000utlPAAQ","CreatedDate":"2021-10-19T11:47:30Z","Country":"India","LoginLongitude":72.8293,"TlsProtocol":"TLS 1.2","LoginKey":"o3vhFaSRBb0OzpCl","Application":"elastic integration","UserType":"Standard","PolicyId":null,"HttpMethod":"POST","SessionLevel":"STANDARD","Browser":"Unknown"} diff --git a/x-pack/filebeat/module/salesforce/login-stream/test/salesforce_login.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/login-stream/test/salesforce_login.ndjson.log-expected.json deleted file mode 100644 index 564108c2357..00000000000 --- a/x-pack/filebeat/module/salesforce/login-stream/test/salesforce_login.ndjson.log-expected.json +++ /dev/null @@ -1,55 +0,0 @@ -[ - { - "@timestamp": "2021-10-19T11:47:22.000Z", - "event.action": "login-attempt", - "event.category": "authentication", - "event.dataset": "salesforce.login", - "event.kind": "event", - "event.module": "salesforce", - "event.outcome": "success", - "event.timezone": "-02:00", - "event.type": "info", - "event.url": "login.salesforce.com", - "fileset.name": "login-stream", - "http.request.body.content": "{}", - "http.request.method": "POST", - "input.type": "log", - "log.offset": 0, - "related.ip": [ - "123.201.231.106" - ], - "salesforce.access_mode": "stream", - "salesforce.login.api_type": "N/A", - "salesforce.login.api_version": "N/A", - "salesforce.login.application": "elastic integration", - "salesforce.login.client_version": "N/A", - "salesforce.login.created_by_id": "0055j000000q9s7AAA", - "salesforce.login.evaluation_time": 0, - "salesforce.login.login_geo_id": "04F5j00000FadrI", - "salesforce.login.login_history_id": "0Ya5j00000GLxCdCAL", - "salesforce.login.login_key": "o3vhFaSRBb0OzpCl", - "salesforce.login.login_type": "Remote Access 2.0", - "salesforce.login.session_level": "STANDARD", - "service.type": "salesforce", - "source.geo.city_name": "Surat", - "source.geo.country_iso_code": "IN", - "source.geo.country_name": "India", - "source.geo.location.lat": 21.1888, - "source.geo.location.lon": 72.8293, - "source.geo.postal_code": "395007", - "source.geo.region_name": "Gujarat", - "source.ip": "123.201.231.106", - "tags": [ - "forwarded", - "salesforce-login-stream" - ], - "tls.cipher": "ECDHE-RSA-AES256-GCM-SHA384", - "tls.version": "1.2", - "tls.version_protocol": "TLS", - "user.email": "kush.rana@elastic.co", - "user.id": "0055j000000utlPAAQ", - "user.roles": "Standard", - "user_agent.name": "Unknown", - "user_agent.os.platform": "Unknown" - } -] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/login-rest/_meta/fields.yml b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml similarity index 100% rename from x-pack/filebeat/module/salesforce/login-rest/_meta/fields.yml rename to x-pack/filebeat/module/salesforce/login/_meta/fields.yml diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml new file mode 100644 index 00000000000..b7b9a27b439 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -0,0 +1,95 @@ +{{ if eq .input "salesforce" }} + +type: salesforce +enabled: true +{{ if .api_version }} +version: {{ .api_version }} +{{ end }} +auth.oauth2: +{{ if .jwt_enabled }} + jwt_bearer_flow: + enabled: true + {{ if .client_id }} + client.id: {{ .client_id }} + {{ end }} + {{ if .client_username }} + client.username: {{ .client_username }} + {{ end }} + {{ if .client_key_path }} + client.key_path: {{ .client_key_path }} + {{ end }} + {{ if .jwt_url }} + url: {{ .jwt_url }} + {{ end }} +{{ else }} + user_password_flow: + enabled: true + {{ if .client_id }} + client.id: {{ .client_id }} + {{ end }} + {{ if .client_secret }} + client.secret: {{ .client_secret }} + {{ end }} + {{ if .token_url }} + token_url: {{ .token_url }} + {{ end }} + {{ if .username }} + username: {{ .username }} + {{ end }} + {{ if .password }} + password: {{ .password }} + {{ end }} +{{ end }} +# Query params will be overwritten by request.transforms from start of the input and +# it is to indicate that this url is for Apex type of events as cursor stores the url as source. +# Each filebeat input cursor source needs to be uniquely identified with a name. +url: {{ .url }} +event_monitoring_method: + event_log_file: + {{ if .event_log_file }} + enabled: true + {{ else }} + enabled: false + {{ end }} + interval: {{ .elf_interval }} + query: + default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" + value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" + cursor: + field: "CreatedDate" + object: + {{ if .object }} + enabled: true + {{ else }} + enabled: false + {{ end }} + interval: {{ .real_time_interval }} + query: + default: "SELECT FIELDS(STANDARD) FROM LoginEvent" + value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" + cursor: + field: "EventDate" + +{{ else if eq .input "file" }} + +type: log +paths: +{{ range $i, $path := .paths }} + - {{$path}} +{{ end }} +exclude_files: [".gz$"] + +{{ end }} + +tags: {{.tags | tojson}} +publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} + +processors: + - decode_json_fields: + fields: [message] + target: "json" + - add_fields: + target: '' + fields: + ecs.version: 1.12.0 + - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/login-rest/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml similarity index 100% rename from x-pack/filebeat/module/salesforce/login-rest/ingest/pipeline.yml rename to x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml diff --git a/x-pack/filebeat/module/salesforce/login/manifest.yml b/x-pack/filebeat/module/salesforce/login/manifest.yml new file mode 100644 index 00000000000..118a3bdd886 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/login/manifest.yml @@ -0,0 +1,28 @@ +module_version: 1.0 + +var: + - name: input + default: salesforce + - name: tags + default: [salesforce-login, forwarded] + - name: api_version + - name: jwt_enabled + - name: client_id + - name: client_username + - name: client_key_path + - name: jwt_url + - name: client_secret + - name: token_url + - name: user + - name: password + - name: url + - name: event_log_file + - name: elf_interval + default: 1h + - name: real_time + - name: real_time_interval + default: 5m + +ingest_pipeline: + - ingest/pipeline.yml +input: config/login.yml diff --git a/x-pack/filebeat/module/salesforce/login-rest/test/salesforce_login.ndjson.log b/x-pack/filebeat/module/salesforce/login/test/salesforce_login.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/login-rest/test/salesforce_login.ndjson.log rename to x-pack/filebeat/module/salesforce/login/test/salesforce_login.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/login-rest/test/salesforce_login.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/login/test/salesforce_login.ndjson.log-expected.json similarity index 100% rename from x-pack/filebeat/module/salesforce/login-rest/test/salesforce_login.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/login/test/salesforce_login.ndjson.log-expected.json diff --git a/x-pack/filebeat/module/salesforce/logout-rest/config/logout-rest.yml b/x-pack/filebeat/module/salesforce/logout-rest/config/logout-rest.yml deleted file mode 100644 index 29e8d8b1a79..00000000000 --- a/x-pack/filebeat/module/salesforce/logout-rest/config/logout-rest.yml +++ /dev/null @@ -1,70 +0,0 @@ -{{ if eq .input "httpjson" }} - -type: httpjson -interval: {{ .interval }} -request.method: GET -auth.oauth2: - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .user }} - user: {{ .user }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} -# Query params will be overwritten by request.transforms from start of the input and -# it is to indicate that this url is for Logout type of events as cursor stores the url as source. -# Each filebeat input cursor source needs to be uniquely identified with a name. -request.url: {{ .url }}/services/data/v52.0/query?q=logout+rest -{{ if .proxy_url }} -request.proxy_url: {{ .proxy_url }} -{{ end }} -request.transforms: - - set: - target: url.params.q - value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' AND LogDate > [[.cursor.last_published_logout]] ORDER BY LogDate ASC NULLS FIRST" - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' ORDER BY LogDate ASC NULLS FIRST" -response.pagination: - - set: - target: url.value - value: '[[if (ne .last_response.body.done true)]]{{ .url }}[[.last_response.body.nextRecordsUrl]][[end]]' - fail_on_template_error: true -chain: - - step: - request.url: {{ .url }}/services/data/v52.0/sobjects/EventLogFile/$.records[:].Id/LogFile - request.method: GET - replace: $.records[:].Id -cursor: - last_published_logout: - value: '[[(formatDate ((parseDate .last_event.TIMESTAMP_DERIVED "RFC3339").Add (parseDuration "-1h")))]]' - -{{ else if eq .input "file" }} - -type: log -paths: -{{ range $i, $path := .paths }} - - {{$path}} -{{ end }} -exclude_files: [".gz$"] - -{{ end }} - -tags: {{.tags | tojson}} -publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} - -processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/logout-rest/manifest.yml b/x-pack/filebeat/module/salesforce/logout-rest/manifest.yml deleted file mode 100644 index 775f5094a3d..00000000000 --- a/x-pack/filebeat/module/salesforce/logout-rest/manifest.yml +++ /dev/null @@ -1,19 +0,0 @@ -module_version: 1.0 - -var: - - name: input - default: httpjson - - name: interval - default: 1h - - name: tags - default: [salesforce-logout-rest, forwarded] - - name: proxy_url - - name: client_id - - name: client_secret - - name: token_url - - name: user - - name: password - - name: url - -ingest_pipeline: ingest/pipeline.yml -input: config/logout-rest.yml diff --git a/x-pack/filebeat/module/salesforce/logout-stream/_meta/fields.yml b/x-pack/filebeat/module/salesforce/logout-stream/_meta/fields.yml deleted file mode 100644 index fe1ade9745d..00000000000 --- a/x-pack/filebeat/module/salesforce/logout-stream/_meta/fields.yml +++ /dev/null @@ -1,22 +0,0 @@ -- name: salesforce.logout - type: group - release: beta - description: > - Fileset for parsing Salesforce Logout (Streaming) logs. - fields: - - name: created_by_id - type: keyword - description: > - Unavailable - - name: related_event_identifier - type: keyword - description: > - This field is populated only when the activity that this event monitors requires extra authentication, such as multi-factor authentication. In this case, Salesforce generates more events and sets the RelatedEventIdentifier field of the new events to the value of the EventIdentifier field of the original event. Use this field with the EventIdentifier field to correlate all the related events. If no extra authentication is required, this field is blank. - - name: replay_id - type: keyword - description: > - Represents an ID value that is populated by the system and refers to the position of the event in the event stream. Replay ID values aren’t guaranteed to be contiguous for consecutive events. A subscriber can store a replay ID value and use it on resubscription to retrieve missed events that are within the retention window. - - name: schema - type: keyword - description: > - Unavailable \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/logout-stream/config/logout-stream.yml b/x-pack/filebeat/module/salesforce/logout-stream/config/logout-stream.yml deleted file mode 100644 index d717f9bf4cb..00000000000 --- a/x-pack/filebeat/module/salesforce/logout-stream/config/logout-stream.yml +++ /dev/null @@ -1,44 +0,0 @@ -{{ if eq .input "cometd" }} - -type: cometd -channel_name: /event/LogoutEventStream -auth.oauth2: - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .user }} - user: {{ .user }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} - -{{ else if eq .input "file" }} - -type: log -paths: -{{ range $i, $path := .paths }} - - {{$path}} -{{ end }} -exclude_files: [".gz$"] - -{{ end }} - -tags: {{.tags | tojson}} -publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} - -processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/logout-stream/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/logout-stream/ingest/pipeline.yml deleted file mode 100644 index 3bc74b68e21..00000000000 --- a/x-pack/filebeat/module/salesforce/logout-stream/ingest/pipeline.yml +++ /dev/null @@ -1,147 +0,0 @@ ---- -description: Pipeline for parsing Salesforce Logout (Streaming) logs -processors: -- set: - field: event.ingested - value: '{{_ingest.timestamp}}' -- remove: - field: - - message - ignore_missing: true - -- set: - field: salesforce.access_mode - value: stream - ignore_failure: true - -- date: - field: json.EventDate - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true - -- rename: - field: json.schema - target_field: salesforce.logout.schema - ignore_missing: true -- rename: - field: json.CreatedById - target_field: salesforce.logout.created_by_id - ignore_missing: true -- rename: - field: json.RelatedEventIdentifier - target_field: salesforce.logout.related_event_identifier - ignore_missing: true -- rename: - field: json.LoginKey - target_field: salesforce.logout.login_key - ignore_missing: true -- rename: - field: json.SessionLevel - target_field: salesforce.logout.session_level - ignore_missing: true -- rename: - field: json.replayId - target_field: salesforce.logout.replay_id - ignore_missing: true - -####################### -## ECS Event Mapping ## -####################### - -- date: - field: json.CreatedDate - target_field: event.created - formats: ["yyyy-MM-ddTHH:mm:ssZ"] - ignore_failure: true -- set: - field: event.type - value: "info" -- set: - field: event.kind - value: "event" -- set: - field: event.action - value: "logout" -- set: - field: event.category - value: "authentication" -- set: - field: event.dataset - value: "salesforce.logout" -- set: - field: event.module - value: "salesforce" - -###################### -## ECS User Mapping ## -###################### - -- rename: - field: json.Username - target_field: user.email - ignore_missing: true -- rename: - field: json.UserId - target_field: user.id - ignore_missing: true - -######################## -## ECS Source Mapping ## -######################## - -- rename: - field: json.SourceIp - target_field: source.ip - ignore_missing: true - -############################ -## ECS Source.Geo Mapping ## -############################ - -- geoip: - field: source.ip - target_field: source.geo - ignore_missing: true - -############################ -## ECS Related.ip Mapping ## -############################ - -- append: - field: related.ip - value: "{{{source.ip}}}" - if: ctx?.source?.ip != null - allow_duplicates: false - ignore_failure: true - -############# -## Cleanup ## -############# - -- script: - description: Drops null/empty values recursively - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return (((Map) object).size() == 0); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return (((List) object).length == 0); - } - return false; - } - dropEmptyFields(ctx); -- remove: - field: - - json - ignore_missing: true -on_failure: -- set: - field: error.message - value: '{{_ingest.on_failure_message}}' diff --git a/x-pack/filebeat/module/salesforce/logout-stream/manifest.yml b/x-pack/filebeat/module/salesforce/logout-stream/manifest.yml deleted file mode 100644 index b8ffb130f56..00000000000 --- a/x-pack/filebeat/module/salesforce/logout-stream/manifest.yml +++ /dev/null @@ -1,15 +0,0 @@ -module_version: 1.0 - -var: - - name: input - default: cometd - - name: tags - default: [salesforce-logout-stream, forwarded] - - name: client_id - - name: client_secret - - name: token_url - - name: user - - name: password - -ingest_pipeline: ingest/pipeline.yml -input: config/logout-stream.yml diff --git a/x-pack/filebeat/module/salesforce/logout-stream/test/salesforce_logout.ndjson.log b/x-pack/filebeat/module/salesforce/logout-stream/test/salesforce_logout.ndjson.log deleted file mode 100644 index 1234e66a491..00000000000 --- a/x-pack/filebeat/module/salesforce/logout-stream/test/salesforce_logout.ndjson.log +++ /dev/null @@ -1 +0,0 @@ -{"EventDate":"2021-10-19T11:38:54Z","EventIdentifier":"06ce4a9d-8d6b-4a71-aad8-04d28c9a43df","SourceIp":"123.201.231.106","CreatedById":"0055j000000q9s7AAA","Username":"kush.rana@elastic.co","UserId":"0055j000000utlPAAQ","RelatedEventIdentifier":null,"SessionKey":"6/HAElgoPCwskqBU","CreatedDate":"2021-10-19T11:38:54Z","LoginKey":"CuRVtbMjat6xxbTH","SessionLevel":"STANDARD"} diff --git a/x-pack/filebeat/module/salesforce/logout-stream/test/salesforce_logout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout-stream/test/salesforce_logout.ndjson.log-expected.json deleted file mode 100644 index b4403515ffc..00000000000 --- a/x-pack/filebeat/module/salesforce/logout-stream/test/salesforce_logout.ndjson.log-expected.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - { - "@timestamp": "2021-10-19T11:38:54.000Z", - "event.action": "logout", - "event.category": "authentication", - "event.dataset": "salesforce.logout", - "event.kind": "event", - "event.module": "salesforce", - "event.timezone": "-02:00", - "event.type": "info", - "fileset.name": "logout-stream", - "input.type": "log", - "log.offset": 0, - "related.ip": [ - "123.201.231.106" - ], - "salesforce.access_mode": "stream", - "salesforce.logout.created_by_id": "0055j000000q9s7AAA", - "salesforce.logout.login_key": "CuRVtbMjat6xxbTH", - "salesforce.logout.session_level": "STANDARD", - "service.type": "salesforce", - "source.ip": "123.201.231.106", - "tags": [ - "forwarded", - "salesforce-logout-stream" - ], - "user.email": "kush.rana@elastic.co", - "user.id": "0055j000000utlPAAQ" - } -] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/logout-rest/_meta/fields.yml b/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml similarity index 100% rename from x-pack/filebeat/module/salesforce/logout-rest/_meta/fields.yml rename to x-pack/filebeat/module/salesforce/logout/_meta/fields.yml diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml new file mode 100644 index 00000000000..64bfee4da87 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -0,0 +1,95 @@ +{{ if eq .input "salesforce" }} + +type: salesforce +enabled: true +{{ if .api_version }} +version: {{ .api_version }} +{{ end }} +auth.oauth2: +{{ if .jwt_enabled }} + jwt_bearer_flow: + enabled: true + {{ if .client_id }} + client.id: {{ .client_id }} + {{ end }} + {{ if .client_username }} + client.username: {{ .client_username }} + {{ end }} + {{ if .client_key_path }} + client.key_path: {{ .client_key_path }} + {{ end }} + {{ if .jwt_url }} + url: {{ .jwt_url }} + {{ end }} +{{ else }} + user_password_flow: + enabled: true + {{ if .client_id }} + client.id: {{ .client_id }} + {{ end }} + {{ if .client_secret }} + client.secret: {{ .client_secret }} + {{ end }} + {{ if .token_url }} + token_url: {{ .token_url }} + {{ end }} + {{ if .username }} + username: {{ .username }} + {{ end }} + {{ if .password }} + password: {{ .password }} + {{ end }} +{{ end }} +# Query params will be overwritten by request.transforms from start of the input and +# it is to indicate that this url is for Apex type of events as cursor stores the url as source. +# Each filebeat input cursor source needs to be uniquely identified with a name. +url: {{ .url }} +event_monitoring_method: + event_log_file: + {{ if .event_log_file }} + enabled: true + {{ else }} + enabled: false + {{ end }} + interval: {{ .elf_interval }} + query: + default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' ORDER BY LogDate ASC NULLS FIRST" + value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" + cursor: + field: "CreatedDate" + object: + {{ if .object }} + enabled: true + {{ else }} + enabled: false + {{ end }} + interval: {{ .real_time_interval }} + query: + default: "SELECT FIELDS(STANDARD) FROM LogoutEvent" + value: "SELECT FIELDS(STANDARD) FROM LogoutEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" + cursor: + field: "EventDate" + +{{ else if eq .input "file" }} + +type: log +paths: +{{ range $i, $path := .paths }} + - {{$path}} +{{ end }} +exclude_files: [".gz$"] + +{{ end }} + +tags: {{.tags | tojson}} +publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} + +processors: + - decode_json_fields: + fields: [message] + target: "json" + - add_fields: + target: '' + fields: + ecs.version: 1.12.0 + - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/logout-rest/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml similarity index 100% rename from x-pack/filebeat/module/salesforce/logout-rest/ingest/pipeline.yml rename to x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml diff --git a/x-pack/filebeat/module/salesforce/logout/manifest.yml b/x-pack/filebeat/module/salesforce/logout/manifest.yml new file mode 100644 index 00000000000..e58449fbafd --- /dev/null +++ b/x-pack/filebeat/module/salesforce/logout/manifest.yml @@ -0,0 +1,27 @@ +module_version: 1.0 + +var: + - name: input + default: salesforce + - name: tags + default: [salesforce-logout, forwarded] + - name: api_version + - name: jwt_enabled + - name: client_id + - name: client_username + - name: client_key_path + - name: jwt_url + - name: client_secret + - name: token_url + - name: user + - name: password + - name: url + - name: event_log_file + - name: elf_interval + default: 1h + - name: real_time + - name: real_time_interval + default: 5m + +ingest_pipeline: ingest/pipeline.yml +input: config/logout.yml diff --git a/x-pack/filebeat/module/salesforce/logout-rest/test/salesforce_logout.ndjson.log b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/logout-rest/test/salesforce_logout.ndjson.log rename to x-pack/filebeat/module/salesforce/logout/test/salesforce_logout.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/logout-rest/test/salesforce_logout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout.ndjson.log-expected.json similarity index 100% rename from x-pack/filebeat/module/salesforce/logout-rest/test/salesforce_logout.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/logout/test/salesforce_logout.ndjson.log-expected.json diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail-rest/config/setupaudittrail-rest.yml b/x-pack/filebeat/module/salesforce/setupaudittrail-rest/config/setupaudittrail-rest.yml deleted file mode 100644 index 34f8f694944..00000000000 --- a/x-pack/filebeat/module/salesforce/setupaudittrail-rest/config/setupaudittrail-rest.yml +++ /dev/null @@ -1,68 +0,0 @@ -{{ if eq .input "httpjson" }} - -type: httpjson -interval: {{ .interval }} -request.method: GET -auth.oauth2: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .user }} - user: {{ .user }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} -# Query params will be overwritten by request.transforms from start of the input and -# it is to indicate that this url is for SetupAuditTratil type of events as cursor stores the url as source. -# Each filebeat input cursor source needs to be uniquely identified with a name. -request.url: {{ .url }}/services/data/v52.0/query?q=setupaudittrail+rest -{{ if .proxy_url }} -request.proxy_url: {{ .proxy_url }} -{{ end }} -request.transforms: - - set: - target: url.params.q - value: "SELECT Action,CreatedByContext,CreatedById,CreatedByIssuer,CreatedDate,DelegateUser,Display,Id,ResponsibleNamespacePrefix,Section FROM SetupAuditTrail WHERE CreatedDate > [[.cursor.last_published_setupaudittrail]] ORDER BY CreatedDate ASC NULLS FIRST" - default: "SELECT Action,CreatedByContext,CreatedById,CreatedByIssuer,CreatedDate,DelegateUser,Display,Id,ResponsibleNamespacePrefix,Section FROM SetupAuditTrail ORDER BY CreatedDate ASC NULLS FIRST" -response.split: - target: body.records -response.pagination: -- set: - target: url.value - value: '[[if (ne .last_response.body.done true)]]{{ .url }}[[.last_response.body.nextRecordsUrl]][[end]]' - fail_on_template_error: true -cursor: - last_published_setupaudittrail: - value: '[[.last_event.CreatedDate]]' - -{{ else if eq .input "file" }} - -type: log -paths: -{{ range $i, $path := .paths }} - - {{$path}} -{{ end }} -exclude_files: [".gz$"] - -{{ end }} - -tags: {{.tags | tojson}} -publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} - -processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail-rest/manifest.yml b/x-pack/filebeat/module/salesforce/setupaudittrail-rest/manifest.yml deleted file mode 100644 index 889bfe92569..00000000000 --- a/x-pack/filebeat/module/salesforce/setupaudittrail-rest/manifest.yml +++ /dev/null @@ -1,19 +0,0 @@ -module_version: 1.0 - -var: - - name: input - default: httpjson - - name: interval - default: 1h - - name: tags - default: [salesforce-setupaudittrail-rest, forwarded] - - name: proxy_url - - name: client_id - - name: client_secret - - name: token_url - - name: user - - name: password - - name: url - -ingest_pipeline: ingest/pipeline.yml -input: config/setupaudittrail-rest.yml diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail-rest/_meta/fields.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml similarity index 100% rename from x-pack/filebeat/module/salesforce/setupaudittrail-rest/_meta/fields.yml rename to x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml new file mode 100644 index 00000000000..e39ed083443 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -0,0 +1,83 @@ +{{ if eq .input "salesforce" }} + +type: salesforce +enabled: true +{{ if .api_version }} +version: {{ .api_version }} +{{ end }} +auth.oauth2: +{{ if .jwt_enabled }} + jwt_bearer_flow: + enabled: true + {{ if .client_id }} + client.id: {{ .client_id }} + {{ end }} + {{ if .client_username }} + client.username: {{ .client_username }} + {{ end }} + {{ if .client_key_path }} + client.key_path: {{ .client_key_path }} + {{ end }} + {{ if .jwt_url }} + url: {{ .jwt_url }} + {{ end }} +{{ else }} + user_password_flow: + enabled: true + {{ if .client_id }} + client.id: {{ .client_id }} + {{ end }} + {{ if .client_secret }} + client.secret: {{ .client_secret }} + {{ end }} + {{ if .token_url }} + token_url: {{ .token_url }} + {{ end }} + {{ if .username }} + username: {{ .username }} + {{ end }} + {{ if .password }} + password: {{ .password }} + {{ end }} +{{ end }} +# Query params will be overwritten by request.transforms from start of the input and +# it is to indicate that this url is for Apex type of events as cursor stores the url as source. +# Each filebeat input cursor source needs to be uniquely identified with a name. +url: {{ .url }} +event_monitoring_method: + object: + {{ if .object }} + enabled: true + {{ else }} + enabled: false + {{ end }} + interval: {{ .real_time_interval }} + query: + default: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail ORDER BY CreatedDate ASC NULLS FIRST" + value: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE CreatedDate > [[ .cursor.object.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST" + cursor: + field: "CreatedDate" + +{{ else if eq .input "file" }} + +type: log +paths: +{{ range $i, $path := .paths }} + - {{$path}} +{{ end }} +exclude_files: [".gz$"] + +{{ end }} + +tags: {{.tags | tojson}} +publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} + +processors: + - decode_json_fields: + fields: [message] + target: "json" + - add_fields: + target: '' + fields: + ecs.version: 1.12.0 + - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail-rest/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml similarity index 100% rename from x-pack/filebeat/module/salesforce/setupaudittrail-rest/ingest/pipeline.yml rename to x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml new file mode 100644 index 00000000000..39c2f16c2be --- /dev/null +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml @@ -0,0 +1,24 @@ +module_version: 1.0 + +var: + - name: input + default: salesforce + - name: tags + default: [salesforce-setupaudittrail, forwarded] + - name: api_version + - name: jwt_enabled + - name: client_id + - name: client_username + - name: client_key_path + - name: jwt_url + - name: client_secret + - name: token_url + - name: user + - name: password + - name: url + - name: real_time + - name: real_time_interval + default: 5m + +ingest_pipeline: ingest/pipeline.yml +input: config/setupaudittrail.yml diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail-rest/test/salesforce_setupaudittrail.ndjson.log b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/setupaudittrail-rest/test/salesforce_setupaudittrail.ndjson.log rename to x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail-rest/test/salesforce_setupaudittrail.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json similarity index 100% rename from x-pack/filebeat/module/salesforce/setupaudittrail-rest/test/salesforce_setupaudittrail.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json From 16fca019d4ff3b30b073616a49506527676e60bf Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 27 Dec 2023 11:14:49 +0530 Subject: [PATCH 062/172] fix linter issue --- x-pack/filebeat/input/salesforce/input_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index f9937aa8fc3..31f2d4d66d8 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -765,7 +765,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { func getValueTpl(in string) *valueTpl { vp := &valueTpl{} - vp.Unpack(in) + vp.Unpack(in) //nolint:errcheck // ignore error in test return vp } From 8ce4fa4bec4d1cb8353c0d4c928be8c3b9856242 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 27 Dec 2023 11:47:46 +0530 Subject: [PATCH 063/172] comments and changelog entry --- CHANGELOG.next.asciidoc | 1 + x-pack/filebeat/input/salesforce/state.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 172fbf334d2..4d5f1c6bc77 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -215,6 +215,7 @@ Setting environmental variable ELASTIC_NETINFO:false in Elastic Agent pod will d - Suppress and log max HTTP request retry errors in CEL input. {pull}37160[37160] - Prevent CEL input from re-entering the eval loop when an evaluation failed. {pull}37161[37161] - Update CEL extensions library to v1.7.0. {pull}37172[37172] +- Add Salesforce input. {pull}37331[37331] *Auditbeat* diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index d5b9e51ab79..ad2ac2f834e 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -17,6 +17,10 @@ type state struct { EventLogFile dateTimeCursor `json:"event_log_file,omitempty"` } +// dateTimeCursor maintains two distinct states for the event collection iteration. +// The initial state represents the time of the first event, while the subsequent state denotes the time of the last event. +// In certain SOQL queries for specific objects, sorting by all fields may not be feasible, and there may be no specific order. +// This design allows users to exert maximum control over the iteration process. type dateTimeCursor struct { FirstEventTime string `struct:"first_event_time,omitempty"` LastEventTime string `struct:"last_event_time,omitempty"` From 4c068d3a4cbb100562ef0e26b6f706ac789d2f40 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 27 Dec 2023 15:16:14 +0530 Subject: [PATCH 064/172] update cursor comments --- x-pack/filebeat/input/salesforce/state.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x-pack/filebeat/input/salesforce/state.go b/x-pack/filebeat/input/salesforce/state.go index ad2ac2f834e..2d8a96b68bd 100644 --- a/x-pack/filebeat/input/salesforce/state.go +++ b/x-pack/filebeat/input/salesforce/state.go @@ -21,6 +21,10 @@ type state struct { // The initial state represents the time of the first event, while the subsequent state denotes the time of the last event. // In certain SOQL queries for specific objects, sorting by all fields may not be feasible, and there may be no specific order. // This design allows users to exert maximum control over the iteration process. +// For instance, the LoginEvent object only supports sorting based on EventIdentifier and EventDate. +// Furthermore, if we desire to sort based on EventDate, it only supports descending order sorting. +// In this case by using first_event_time we can get latest event EventDate to query next set of events. +// Reference to LoginEvent: https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/sforce_api_objects_loginevent.htm type dateTimeCursor struct { FirstEventTime string `struct:"first_event_time,omitempty"` LastEventTime string `struct:"last_event_time,omitempty"` From 1f54a168f8b82463cf5ee206bb2891bc767d1c99 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 2 Jan 2024 17:10:56 +0530 Subject: [PATCH 065/172] first draft of doc for salesforce input --- .../docs/inputs/input-salesforce.asciidoc | 248 ++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 x-pack/filebeat/docs/inputs/input-salesforce.asciidoc diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc new file mode 100644 index 00000000000..2a07e378d60 --- /dev/null +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -0,0 +1,248 @@ +[role="xpack"] + +:type: salesforce + +[id="{beatname_lc}-input-{type}"] +=== Salesforce input + +++++ +Salesforce +++++ + +Use the `salesforce` input to monitor Salesforce events either via the Salesforce ELF API or the Salesforce Real-time event monitoring API. Both uses REST API (to fire SOQL queries) under the hood to query the relevant objects to fetch the events. + +Here the `input` may cursor state(s) that will be provided to the next execution of event monitoring to fetch the events from the last cursor state. The cursor states may be used to control the behaviour of the program. + +This input supports: + +* Auth +** OAuth2 +*** Password +*** JWT +* Event Monitoring +** EventLogFile (ELF) using REST API +** Real-time event monitoring using REST API (objects) + +Example configurations: + +["source","yaml",subs="attributes"] +---- +filebeat.inputs: + - type: salesforce + enabled: true + version: 56 + auth.oauth2: + user_password_flow: + enabled: true + client.id: client-id + client.secret: client-secret + token_url: https://instance-id.develop.my.salesforce.com + user: salesforce-instance@user.in + password: salesforce-instance-password + jwt_bearer_flow: + enabled: true + client.id: client-id + client.username: salesforce-instance@user.in + client.key_path: server_client.key + url: https://login.salesforce.com + url: https://instance-id.develop.my.salesforce.com + event_monitoring_method: + event_log_file: + enabled: true + interval: 1h + query: + default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' ORDER BY CreatedDate ASC NULLS FIRST" + value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST" + cursor: + field: "CreatedDate" + object: + enabled: true + interval: 5m + query: + default: "SELECT FIELDS(STANDARD) FROM LoginEvent" + value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" + cursor: + field: "EventDate" +---- + + +==== Execution + + +==== Input state + +==== Configuration options + +The `salesforce` input supports the following configuration options plus the +<<{beatname_lc}-input-{type}-common-options>> described later. + +[bool] +==== `enabled` + +Whether the input is enabled or not. Default: `false`. + +[integer] +==== `version` + +The version of the Salesforce API to use. Minimum supported version is 46. + +[object] +==== `auth` + +The authentication settings for the Salesforce instance. + +[object] +==== `auth.oauth2` + +The OAuth2 authentication options for the Salesforce instance. + +There are two OAuth2 authentication flows supported: + +* `user_password_flow`: User-Password flow +* `jwt_bearer_flow`: JWT Bearer flow + +[bool] +==== `auth.oauth2.user_password_flow.enabled` + +Whether to use the user-password flow for authentication. Default: `false`. + +NOTE: Only one authentication flow can be enabled at a time. + +[string] +==== `auth.oauth2.user_password_flow.client.id` + +The client ID for the user-password flow. + +[string] +==== `auth.oauth2.user_password_flow.client.secret` + +The client secret for the user-password flow. + +[string] +==== `auth.oauth2.user_password_flow.token_url` + +The token URL for the user-password flow. + +[string] +==== `auth.oauth2.user_password_flow.user` + +The username for the user-password flow. + +[string] +==== `auth.oauth2.user_password_flow.password` + +The password for the user-password flow. + +[bool] +==== `auth.oauth2.jwt_bearer_flow.enabled` + +Whether to use the JWT bearer flow for authentication. Default: `false`. + +NOTE: Only one authentication flow can be enabled at a time. + +[string] +==== `auth.oauth2.jwt_bearer_flow.client.id` + +The client ID for the JWT bearer flow. + +[string] +==== `auth.oauth2.jwt_bearer_flow.client.username` + +The username for the JWT bearer flow. + +[string] +==== `auth.oauth2.jwt_bearer_flow.client.key_path` + +The path to the private key file for the JWT bearer flow. The file must be PEM encoded PKCS1 or PKCS8 private key and must have the right permissions set to have read access for the user running the program. + +[string] +==== `auth.oauth2.jwt_bearer_flow.url` + +The URL for the JWT bearer flow. + +[string] +==== `url` + +The URL of the Salesforce instance. Required. + +[object] +==== `event_monitoring_method` + +The event monitoring method to use. There are two event monitoring methods supported: + +* `event_log_file`: EventLogFile (ELF) using REST API + +* `object`: Real-time event monitoring using REST API (objects) + +[object] +==== `event_monitoring_method.event_log_file` + +The event monitoring method to use — event_log_file. Uses the EventLogFile API to fetch the events from the Salesforce instance. + +[bool] +==== `event_monitoring_method.event_log_file.enabled` + +Whether to use the EventLogFile API for event monitoring. Default: `false`. + +[duration] +==== `event_monitoring_method.event_log_file.interval` + +The interval to collect the events from the Salesforce instance using the EventLogFile API. + +[string] +==== `event_monitoring_method.event_log_file.query.default` + +The default query to fetch the events from the Salesforce instance using the EventLogFile API. + +In case the cursor state is not available, the default query will be used to fetch the events from the Salesforce instance. The default query must be a valid SOQL query. If the SOQL query in `event_monitoring_method.event_log_file.query.value` is not valid, the default query will be used to fetch the events from the Salesforce instance. + +[string] +==== `event_monitoring_method.event_log_file.query.value` + +The SOQL query to fetch the events from the Salesforce instance using the EventLogFile API but it uses the cursor state to fetch the events from the Salesforce instance. The SOQL query must be a valid SOQL query. If the SOQL query is not valid, the default query will be used to fetch the events from the Salesforce instance. + +In case of restarts or subsequent executions, the cursor state will be used to fetch the events from the Salesforce instance. The cursor state is the last event time of the last event fetched from the Salesforce instance. The cursor state is taken from `event_monitoring_method.event_log_file.cursor.field` field for the last event fetched from the Salesforce instance. + +[string] +==== `event_monitoring_method.event_log_file.cursor.field` + +The field to use to fetch the cursor state from the last event fetched from the Salesforce instance. The field must be a valid field in the SOQL query specified in `event_monitoring_method.event_log_file.query.default` and `event_monitoring_method.event_log_file.query.value` i.e., part of the selected fields in the SOQL query. + +[object] +==== `event_monitoring_method.object` + +The event monitoring method to use — object. Uses REST API to fetch the events directly from the objects from the Salesforce instance. This method is used for Setup Audit Trail and for monitoring real-time events. + +[bool] +==== `event_monitoring_method.object.enabled` + +Whether to use the REST API for objects for event monitoring. Default: `false`. + +[duration] +==== `event_monitoring_method.object.interval` + +The interval to collect the events from the Salesforce instance using the REST API from objects. + +[string] +==== `event_monitoring_method.object.query.default` + +The default SOQL query to fetch the events from the Salesforce instance using the REST API from objects. + +In case the cursor state is not available, the default query will be used to fetch the events from the Salesforce instance. The default query must be a valid SOQL query. If the SOQL query in `event_monitoring_method.object.query.value` is not valid, the default query will be used to fetch the events from the Salesforce instance. + +[string] +==== `event_monitoring_method.object.query.value` + +The SOQL query to fetch the events from the Salesforce instance using the REST API from objects but it uses the cursor state to fetch the events from the Salesforce instance. The SOQL query must be a valid SOQL query. If the SOQL query is not valid, the default query will be used to fetch the events from the Salesforce instance. + +In case of restarts or subsequent executions, the cursor state will be used to fetch the events from the Salesforce instance. The cursor state is the last event time of the last event fetched from the Salesforce instance. The cursor state is taken from `event_monitoring_method.object.cursor.field` field for the last event fetched from the Salesforce instance. + +[string] +==== `event_monitoring_method.object.cursor.field` + +The field to use to fetch the cursor state from the last event fetched from the Salesforce instance. The field must be a valid field in the SOQL query specified in `event_monitoring_method.object.query.default` and `event_monitoring_method.object.query.value` i.e., part of the selected fields in the SOQL query. + +[id="{beatname_lc}-input-{type}-common-options"] +include::../../../../filebeat/docs/inputs/input-common-options.asciidoc[] + +:type!: From 941a52d3e88a22da41f8da48c8fb28de987e442b Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 2 Jan 2024 17:14:51 +0530 Subject: [PATCH 066/172] doc: add clarifications --- x-pack/filebeat/docs/inputs/input-salesforce.asciidoc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index 2a07e378d60..3540463f85a 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -17,11 +17,13 @@ This input supports: * Auth ** OAuth2 -*** Password -*** JWT +*** User-Password flow +*** JWT Bearer flow * Event Monitoring ** EventLogFile (ELF) using REST API -** Real-time event monitoring using REST API (objects) +** REST API for objects (Used for Setup Audit Trail and for monitoring real-time events) + +Event Monitoring methods are highly configurable and can be used to monitor any supported object or event log file. The input can be configured to monitor multiple objects or event log files at the same time. Example configurations: From 9cf0e7517d40ebd085a28e307913c057f4ef7a0c Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 3 Jan 2024 11:46:55 +0530 Subject: [PATCH 067/172] doc: update --- x-pack/filebeat/docs/inputs/input-salesforce.asciidoc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index 3540463f85a..851d4310aa1 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -9,7 +9,7 @@ Salesforce ++++ -Use the `salesforce` input to monitor Salesforce events either via the Salesforce ELF API or the Salesforce Real-time event monitoring API. Both uses REST API (to fire SOQL queries) under the hood to query the relevant objects to fetch the events. +Use the `salesforce` input to monitor Salesforce events either via the Salesforce ELF API or the Salesforce Real-time event monitoring API. Both uses REST API (to execute SOQL queries in the Salesforce instance) under the hood to query the relevant objects to fetch the events. Here the `input` may cursor state(s) that will be provided to the next execution of event monitoring to fetch the events from the last cursor state. The cursor states may be used to control the behaviour of the program. @@ -70,8 +70,13 @@ filebeat.inputs: ==== Execution +The `salesforce` input is a long-running program that retrieves events from a Salesforce instance and sends them to the specified output. The program executes in a loop, fetching events from the Salesforce instance at a preconfigured interval. Each event monitoring method can be configured to run separately and at different intervals. To prevent a sudden spike in memory usage, if multiple event monitoring methods are configured, they are scheduled to run one at a time. Even if the intervals overlap, only one method will be executed randomly, and the other will be executed after the first one completes. -==== Input state +There are two methods to fetch the events from the Salesforce instance: + +- event_log_file: https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm[EventLogFile] is a standard object in Salesforce and the event monitoring method uses the REST API under the hood to gather the Salesforce org's operational events from the object. There is a field EventType that helps distinguish between the types of operational events like — Login, Logout, etc. Uses Salesforce's query language SOQL to query the object. + +- object: This method is a general way of retrieving events from a Salesforce instance by using the REST API. It can be used for the SetupAuditTrail and for monitoring objects in real-time. In real-time event monitoring, subscribing to the events is a common practice, but the events are also stored in Salesforce org (if configured), specifically in big object tables that are preconfigured for each event type. To query the object, Salesforce's query language SOQL is used. ==== Configuration options From 8a342cac0cd954e52fe50acf2a072eff22bbcd33 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Jan 2024 12:08:46 +0530 Subject: [PATCH 068/172] Apply suggestions from code review Co-authored-by: Aman <38116245+devamanv@users.noreply.github.com> --- x-pack/filebeat/input/salesforce/input_manager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index 31bd40a423a..d2f51945e8e 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -15,7 +15,7 @@ import ( "github.com/elastic/elastic-agent-libs/logp" ) -// inputManager wraps one stateless input manager +// InputManager wraps one stateless input manager // and one cursor input manager. It will create one or the other // based on the config that is passed. type InputManager struct { From f12969511348ff644de9d50f8bebf6fcb6d20c3e Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Jan 2024 12:17:52 +0530 Subject: [PATCH 069/172] Apply suggestions from code review Co-authored-by: Aman <38116245+devamanv@users.noreply.github.com> --- x-pack/filebeat/input/salesforce/input_manager_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index 43d69c84d53..267495b6322 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -50,7 +50,7 @@ func TestInputManager(t *testing.T) { inputManager := NewInputManager(logp.NewLogger("salesforce_test"), stateStore{}) var inputTaskGroup unison.TaskGroup - defer func() { + defer inputTaskGroup.Stop() _ = inputTaskGroup.Stop() }() From f92918cc1bee703a3dcf64c0e3c8490f24bf8e0a Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Jan 2024 12:42:23 +0530 Subject: [PATCH 070/172] address review comments --- x-pack/filebeat/input/salesforce/config.go | 4 ++-- x-pack/filebeat/input/salesforce/config_test.go | 8 ++++---- x-pack/filebeat/input/salesforce/input_manager_test.go | 6 ++---- x-pack/filebeat/input/salesforce/input_test.go | 8 ++++---- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index a3801f4897d..10107f0123c 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -12,12 +12,12 @@ import ( type config struct { Auth *authConfig `config:"auth"` - EventMonitoringMethod *EventMonitoringMethod `config:"event_monitoring_method"` + EventMonitoringMethod *eventMonitoringMethod `config:"event_monitoring_method"` URL string `config:"url" validate:"required"` Version int `config:"version" validate:"required"` } -type EventMonitoringMethod struct { +type eventMonitoringMethod struct { EventLogFile EventMonitoringConfig `config:"event_log_file"` Object EventMonitoringConfig `config:"object"` } diff --git a/x-pack/filebeat/input/salesforce/config_test.go b/x-pack/filebeat/input/salesforce/config_test.go index 0402f776bbe..b620d9bf9a9 100644 --- a/x-pack/filebeat/input/salesforce/config_test.go +++ b/x-pack/filebeat/input/salesforce/config_test.go @@ -53,7 +53,7 @@ func TestValidate(t *testing.T) { }, "no data collection method configured": { inputCfg: config{ - EventMonitoringMethod: &EventMonitoringMethod{}, + EventMonitoringMethod: &eventMonitoringMethod{}, URL: "https://some-dummy-subdomain.salesforce.com/services/oauth2/token", Auth: &authConfig{ OAuth2: &OAuth2{ @@ -65,7 +65,7 @@ func TestValidate(t *testing.T) { }, "invalid elf interval (1h)": { inputCfg: config{ - EventMonitoringMethod: &EventMonitoringMethod{ + EventMonitoringMethod: &eventMonitoringMethod{ EventLogFile: EventMonitoringConfig{ Enabled: pointer(true), Interval: time.Duration(0), @@ -82,7 +82,7 @@ func TestValidate(t *testing.T) { }, "invalid object interval (1h)": { inputCfg: config{ - EventMonitoringMethod: &EventMonitoringMethod{ + EventMonitoringMethod: &eventMonitoringMethod{ Object: EventMonitoringConfig{ Enabled: pointer(true), Interval: time.Duration(0), @@ -100,7 +100,7 @@ func TestValidate(t *testing.T) { "invalid api version (v45)": { inputCfg: config{ Version: 45, - EventMonitoringMethod: &EventMonitoringMethod{ + EventMonitoringMethod: &eventMonitoringMethod{ Object: EventMonitoringConfig{ Enabled: pointer(true), Interval: time.Hour, diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index 267495b6322..ab9a88eb496 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -50,9 +50,7 @@ func TestInputManager(t *testing.T) { inputManager := NewInputManager(logp.NewLogger("salesforce_test"), stateStore{}) var inputTaskGroup unison.TaskGroup - defer inputTaskGroup.Stop() - _ = inputTaskGroup.Stop() - }() + defer inputTaskGroup.Stop() err := inputManager.Init(&inputTaskGroup, v2.ModeRun) assert.NoError(t, err) @@ -69,7 +67,7 @@ func TestInputManager(t *testing.T) { ClientKeyPath: "xyz", }}, }, - "event_monitoring_method": &EventMonitoringMethod{ + "event_monitoring_method": &eventMonitoringMethod{ Object: EventMonitoringConfig{Enabled: pointer(true), Interval: 4}, }, }) diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 31f2d4d66d8..6020a276d31 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -520,7 +520,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { }, }, } - objectEventMonitotingConfig = EventMonitoringMethod{ + objectEventMonitotingConfig = eventMonitoringMethod{ Object: EventMonitoringConfig{ Enabled: pointer(true), Interval: time.Second * 5, @@ -531,7 +531,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { Cursor: &cursorConfig{Field: "EventDate"}, }, } - objectEventMonitoringWithWrongQuery = EventMonitoringMethod{ + objectEventMonitoringWithWrongQuery = eventMonitoringMethod{ Object: EventMonitoringConfig{ Enabled: pointer(true), Interval: time.Second * 5, @@ -543,7 +543,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { }, } - elfEventMonitotingConfig = EventMonitoringMethod{ + elfEventMonitotingConfig = eventMonitoringMethod{ EventLogFile: EventMonitoringConfig{ Enabled: pointer(true), Interval: time.Second * 5, @@ -554,7 +554,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { Cursor: &cursorConfig{Field: "EventDate"}, }, } - elfEventMonitotingWithWrongQuery = EventMonitoringMethod{ + elfEventMonitotingWithWrongQuery = eventMonitoringMethod{ EventLogFile: EventMonitoringConfig{ Enabled: pointer(true), Interval: time.Second * 5, From 568f57f3ccc8ece570cadcc68d7ad39a72df717f Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Jan 2024 12:43:24 +0530 Subject: [PATCH 071/172] address review comments --- x-pack/filebeat/input/salesforce/config.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 10107f0123c..9b601febe53 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -54,9 +54,9 @@ func (c *config) Validate() error { return fmt.Errorf("not a valid interval %d", c.EventMonitoringMethod.Object.Interval) case c.Version < 46: - // * EventLogFile object is available in API version 32.0 or later - // * SetupAuditTrail object is available in API version 15.0 or later - // * Real-Time Event monitoring objects that were introduced as part of + // - EventLogFile object is available in API version 32.0 or later + // - SetupAuditTrail object is available in API version 15.0 or later + // - Real-Time Event monitoring objects that were introduced as part of // the beta release in API version 46.0 // // To keep things simple, only one version is entertained i.e., the From 58a53af89a79e695d95496db202005f0faa36dd0 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Jan 2024 13:24:37 +0530 Subject: [PATCH 072/172] make linter happy --- x-pack/filebeat/input/salesforce/input_manager_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index ab9a88eb496..667e030ad60 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -50,7 +50,7 @@ func TestInputManager(t *testing.T) { inputManager := NewInputManager(logp.NewLogger("salesforce_test"), stateStore{}) var inputTaskGroup unison.TaskGroup - defer inputTaskGroup.Stop() + defer inputTaskGroup.Stop() //nolint:errcheck // ignore error in test err := inputManager.Init(&inputTaskGroup, v2.ModeRun) assert.NoError(t, err) From 3589e3e1601d2d85e09e701057a778df2a7d1f33 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Jan 2024 14:57:34 +0530 Subject: [PATCH 073/172] update go.{mod,sum} to use forked lib --- go.mod | 1 + go.sum | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 988c1fa6586..21d77db7146 100644 --- a/go.mod +++ b/go.mod @@ -410,6 +410,7 @@ replace ( github.com/dop251/goja_nodejs => github.com/dop251/goja_nodejs v0.0.0-20171011081505-adff31b136e6 github.com/fsnotify/fsevents => github.com/elastic/fsevents v0.0.0-20181029231046-e1d381a4d270 github.com/fsnotify/fsnotify => github.com/adriansr/fsnotify v1.4.8-0.20211018144411-a81f2b630e7c + github.com/g8rswimmer/go-sfdc => github.com/elastic/go-sfdc v0.0.0-20201201191151-3190c381b3e1 github.com/godror/godror => github.com/godror/godror v0.33.2 // updating to v0.24.2 caused a breaking change github.com/golang/glog => github.com/elastic/glog v1.0.1-0.20210831205241-7d8b5c89dfc4 github.com/google/gopacket => github.com/elastic/gopacket v1.1.20-0.20211202005954-d412fca7f83a diff --git a/go.sum b/go.sum index 532f9cdca10..3a3d99f7db9 100644 --- a/go.sum +++ b/go.sum @@ -686,6 +686,8 @@ github.com/elastic/go-plugins-helpers v0.0.0-20200207104224-bdf17607b79f h1:Fvsq github.com/elastic/go-plugins-helpers v0.0.0-20200207104224-bdf17607b79f/go.mod h1:OPGqFNdTS34kMReS5hPFtBhD9J8itmSDurs1ix2wx7c= github.com/elastic/go-seccomp-bpf v1.4.0 h1:6y3lYrEHrLH9QzUgOiK8WDqmPaMnnB785WxibCNIOH4= github.com/elastic/go-seccomp-bpf v1.4.0/go.mod h1:wIMxjTbKpWGQk4CV9WltlG6haB4brjSH/dvAohBPM1I= +github.com/elastic/go-sfdc v0.0.0-20201201191151-3190c381b3e1 h1:KS+lvT/rUS8Z4++RoiM2pHOKmBv8mLERmgiX04VEgwk= +github.com/elastic/go-sfdc v0.0.0-20201201191151-3190c381b3e1/go.mod h1:/FB/tWFyF33vmdjwIwqAKu9QMVFVEjeoWi9V6eUcQEQ= github.com/elastic/go-structform v0.0.10 h1:oy08o/Ih2hHTkNcRY/1HhaYvIp5z6t8si8gnCJPDo1w= github.com/elastic/go-structform v0.0.10/go.mod h1:CZWf9aIRYY5SuKSmOhtXScE5uQiLZNqAFnwKR4OrIM4= github.com/elastic/go-sysinfo v1.11.2 h1:mcm4OSYVMyws6+n2HIVMGkln5HOpo5Ie1ZmbbNn0jg4= @@ -752,8 +754,6 @@ github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2 github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= -github.com/g8rswimmer/go-sfdc v2.0.2-0.20201201191151-3190c381b3e1+incompatible h1:gAIccXkY5stBInqFbv9vgelvvAmHHki1jtpjHpdrqf8= -github.com/g8rswimmer/go-sfdc v2.0.2-0.20201201191151-3190c381b3e1+incompatible/go.mod h1:Nn5s4odQdoeOBK87o+QfLtNXC1wSqMPfzo2CC9QnYI8= github.com/gabriel-vasile/mimetype v1.4.1/go.mod h1:05Vi0w3Y9c/lNvJOdmIwvrrAhX3rYhfQQCaf9VJcv7M= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= From 4188d70f2f8cffde799057df6dd6cdd0f93f82c3 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Jan 2024 15:26:23 +0530 Subject: [PATCH 074/172] make ci gren --- NOTICE.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 608c3ec9dd7..5d7c5e13a68 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -16191,12 +16191,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -Dependency : github.com/g8rswimmer/go-sfdc -Version: v2.0.2-0.20201201191151-3190c381b3e1+incompatible +Dependency : github.com/elastic/go-sfdc +Version: v0.0.0-20201201191151-3190c381b3e1 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/g8rswimmer/go-sfdc@v2.0.2-0.20201201191151-3190c381b3e1+incompatible/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/go-sfdc@v0.0.0-20201201191151-3190c381b3e1/LICENSE.txt: MIT License From a5d2c62c7c834bb9ce769a61a8df1a5d3ea51907 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 9 Jan 2024 17:24:03 +0530 Subject: [PATCH 075/172] change done condition in queries call --- x-pack/filebeat/input/salesforce/input.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 5860980a898..c9b2001988f 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -234,7 +234,7 @@ func (s *salesforceInput) RunObject() error { totalEvents := 0 firstEvent := true - for res.Done() { + for len(res.Records()) != 0 { for _, rec := range res.Records() { val := rec.Record().Fields() @@ -303,7 +303,7 @@ func (s *salesforceInput) RunEventLogFile() error { } totalEvents, firstEvent := 0, true - for res.Done() { + for len(res.Records()) != 0 { for _, rec := range res.Records() { req, err := http.NewRequestWithContext(s.ctx, http.MethodGet, s.config.URL+rec.Record().Fields()["LogFile"].(string), nil) if err != nil { From f8490cfb91b3caea60820538e1cd6621fa2fb636 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 9 Jan 2024 18:01:37 +0530 Subject: [PATCH 076/172] change a way to form events size --- x-pack/filebeat/input/salesforce/input.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index c9b2001988f..e545fb6f331 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -234,7 +234,8 @@ func (s *salesforceInput) RunObject() error { totalEvents := 0 firstEvent := true - for len(res.Records()) != 0 { + + for res.TotalSize() > 0 { for _, rec := range res.Records() { val := rec.Record().Fields() @@ -303,7 +304,7 @@ func (s *salesforceInput) RunEventLogFile() error { } totalEvents, firstEvent := 0, true - for len(res.Records()) != 0 { + for res.TotalSize() > 0 { for _, rec := range res.Records() { req, err := http.NewRequestWithContext(s.ctx, http.MethodGet, s.config.URL+rec.Record().Fields()["LogFile"].(string), nil) if err != nil { From 639490125428709656c57cb9098020b97205bde7 Mon Sep 17 00:00:00 2001 From: Kush Rana <89848966+kush-elastic@users.noreply.github.com> Date: Tue, 9 Jan 2024 18:02:37 +0530 Subject: [PATCH 077/172] Update x-pack/filebeat/docs/inputs/input-salesforce.asciidoc Co-authored-by: Aman <38116245+devamanv@users.noreply.github.com> --- x-pack/filebeat/docs/inputs/input-salesforce.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index 851d4310aa1..0f9ea7e0197 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -9,7 +9,7 @@ Salesforce ++++ -Use the `salesforce` input to monitor Salesforce events either via the Salesforce ELF API or the Salesforce Real-time event monitoring API. Both uses REST API (to execute SOQL queries in the Salesforce instance) under the hood to query the relevant objects to fetch the events. +Use the `salesforce` input to monitor Salesforce events either via the Salesforce ELF API or the Salesforce Real-time event monitoring API. Both use REST API (to execute SOQL queries in the Salesforce instance) under the hood to query the relevant objects to fetch the events. Here the `input` may cursor state(s) that will be provided to the next execution of event monitoring to fetch the events from the last cursor state. The cursor states may be used to control the behaviour of the program. From 3a67b0e249c84e8456e6c8afe61f68ee3d641612 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 16 Jan 2024 01:58:29 +0530 Subject: [PATCH 078/172] Address review comments and put some nil checks suggested by nilaway --- .../docs/inputs/input-salesforce.asciidoc | 2 +- x-pack/filebeat/input/salesforce/input.go | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index 0f9ea7e0197..3473e22750e 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -11,7 +11,7 @@ Use the `salesforce` input to monitor Salesforce events either via the Salesforce ELF API or the Salesforce Real-time event monitoring API. Both use REST API (to execute SOQL queries in the Salesforce instance) under the hood to query the relevant objects to fetch the events. -Here the `input` may cursor state(s) that will be provided to the next execution of event monitoring to fetch the events from the last cursor state. The cursor states may be used to control the behaviour of the program. +Here the `input` have cursor state(s) that will be provided to the next execution of event monitoring to fetch the events from the last cursor state. The cursor states can be used to control the behaviour of the program. This input supports: diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index e545fb6f331..0e83b985aad 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -178,6 +178,10 @@ func (s *salesforceInput) isError(err error) error { } func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { + if s.sfdcConfig == nil { + return nil, errors.New("internal error: salesforce configuration is not set properly") + } + // Open creates a session using the configuration. session, err := session.Open(*s.sfdcConfig) if err != nil { @@ -303,6 +307,10 @@ func (s *salesforceInput) RunEventLogFile() error { return err } + if s.sfdcConfig.Client == nil { + return errors.New("internal error: salesforce configuration is not set properly") + } + totalEvents, firstEvent := 0, true for res.TotalSize() > 0 { for _, rec := range res.Records() { @@ -452,10 +460,6 @@ func decodeAsCSV(p []byte) ([]map[string]string, error) { // To share the backing array for performance. r.ReuseRecord = true - // NOTE: - // Read sets `r.FieldsPerRecord` to the number of fields in the first record, - // so that future records must have the same field count. - // Header row is always expected, otherwise we can't map values to keys in // the event. header, err := r.Read() @@ -471,6 +475,12 @@ func decodeAsCSV(p []byte) ([]map[string]string, error) { var results []map[string]string //nolint:prealloc // not sure about the size to prealloc with + // NOTE: + // + // Read sets `r.FieldsPerRecord` to the number of fields in the first record, + // so that future records must have the same field count. + // So, if len(header) != len(event), the Read will return an error and hence + // we need not put an explicit check. event, err := r.Read() for ; err == nil; event, err = r.Read() { if err != nil { From f2692471355161d79629dc89a8029d6bc4fc5e13 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 16 Jan 2024 02:09:51 +0530 Subject: [PATCH 079/172] make linter happy --- x-pack/filebeat/input/salesforce/input_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 6020a276d31..acd1b13e27c 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -693,9 +693,9 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { }, } for _, tt := range tests { + config := tt.fields.config t.Run(tt.name, func(t *testing.T) { - var err error - tt.setupServer(t, tt.handler, &tt.fields.config) + tt.setupServer(t, tt.handler, &config) s := &salesforceInput{ config: tt.fields.config, @@ -722,6 +722,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { s.publisher = &client s.srcConfig = &s.config + var err error s.sfdcConfig, err = getSFDCConfig(&s.config) if err != nil && !tt.wantErr { t.Errorf("unexpected error from running input: %v", err) From e17de51a91c236063e19f64bd1e370b632eaaac3 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 16 Jan 2024 02:12:32 +0530 Subject: [PATCH 080/172] make linter happy --- x-pack/filebeat/input/salesforce/input_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index acd1b13e27c..984c7aee727 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -694,11 +694,12 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { } for _, tt := range tests { config := tt.fields.config + t.Run(tt.name, func(t *testing.T) { tt.setupServer(t, tt.handler, &config) s := &salesforceInput{ - config: tt.fields.config, + config: config, ctx: tt.fields.ctx, cancel: tt.fields.cancel, publisher: tt.fields.publisher, From 7761eae96fb06cf57bd0d563503f23f5f20a72a8 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 17 Jan 2024 09:44:31 +0530 Subject: [PATCH 081/172] add initial_interval --- x-pack/filebeat/module/salesforce/_meta/config.yml | 4 ++++ x-pack/filebeat/module/salesforce/apex/config/apex.yml | 4 ++++ x-pack/filebeat/module/salesforce/apex/manifest.yml | 1 + x-pack/filebeat/module/salesforce/login/config/login.yml | 8 ++++++++ x-pack/filebeat/module/salesforce/login/manifest.yml | 1 + .../filebeat/module/salesforce/logout/config/logout.yml | 8 ++++++++ x-pack/filebeat/module/salesforce/logout/manifest.yml | 1 + .../salesforce/setupaudittrail/config/setupaudittrail.yml | 4 ++++ .../module/salesforce/setupaudittrail/manifest.yml | 1 + 9 files changed, 32 insertions(+) diff --git a/x-pack/filebeat/module/salesforce/_meta/config.yml b/x-pack/filebeat/module/salesforce/_meta/config.yml index 3dc40f902ae..b5a1b0ad782 100644 --- a/x-pack/filebeat/module/salesforce/_meta/config.yml +++ b/x-pack/filebeat/module/salesforce/_meta/config.yml @@ -2,6 +2,7 @@ apex: enabled: false + var.initial_interval: 1d var.api_version: 56 var.jwt_enabled: true @@ -21,6 +22,7 @@ login: enabled: false + var.initial_interval: 1d var.api_version: 56 var.jwt_enabled: true @@ -44,6 +46,7 @@ logout: enabled: false + var.initial_interval: 1d var.api_version: 56 var.jwt_enabled: true @@ -67,6 +70,7 @@ setupaudittrail: enabled: false + var.initial_interval: 1d var.api_version: 56 var.jwt_enabled: true diff --git a/x-pack/filebeat/module/salesforce/apex/config/apex.yml b/x-pack/filebeat/module/salesforce/apex/config/apex.yml index 4e8854e5e26..57380f49e11 100644 --- a/x-pack/filebeat/module/salesforce/apex/config/apex.yml +++ b/x-pack/filebeat/module/salesforce/apex/config/apex.yml @@ -49,7 +49,11 @@ event_monitoring_method: enabled: true interval: {{ .elf_interval }} query: + {{ if .initial_interval }} + default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') AND LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] ORDER BY LogDate ASC NULLS FIRST" + {{ else }} default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" + {{ end }} value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" cursor: field: "CreatedDate" diff --git a/x-pack/filebeat/module/salesforce/apex/manifest.yml b/x-pack/filebeat/module/salesforce/apex/manifest.yml index 97211b436d7..4d2043adab1 100644 --- a/x-pack/filebeat/module/salesforce/apex/manifest.yml +++ b/x-pack/filebeat/module/salesforce/apex/manifest.yml @@ -18,6 +18,7 @@ var: - name: url - name: elf_interval default: 1h + - name: initial_interval ingest_pipeline: - ingest/pipeline.yml diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml index b7b9a27b439..cab2b4bdf44 100644 --- a/x-pack/filebeat/module/salesforce/login/config/login.yml +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -53,7 +53,11 @@ event_monitoring_method: {{ end }} interval: {{ .elf_interval }} query: + {{ if .initial_interval }} + default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] ORDER BY LogDate ASC NULLS FIRST" + {{ else }} default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" + {{ end }} value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" cursor: field: "CreatedDate" @@ -65,7 +69,11 @@ event_monitoring_method: {{ end }} interval: {{ .real_time_interval }} query: + {{ if .initial_interval }} + default: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]]" + {{ else }} default: "SELECT FIELDS(STANDARD) FROM LoginEvent" + {{ end }} value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" cursor: field: "EventDate" diff --git a/x-pack/filebeat/module/salesforce/login/manifest.yml b/x-pack/filebeat/module/salesforce/login/manifest.yml index 118a3bdd886..b9a71f3db1b 100644 --- a/x-pack/filebeat/module/salesforce/login/manifest.yml +++ b/x-pack/filebeat/module/salesforce/login/manifest.yml @@ -22,6 +22,7 @@ var: - name: real_time - name: real_time_interval default: 5m + - name: initial_interval ingest_pipeline: - ingest/pipeline.yml diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml index 64bfee4da87..6e3d08393b8 100644 --- a/x-pack/filebeat/module/salesforce/logout/config/logout.yml +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -53,7 +53,11 @@ event_monitoring_method: {{ end }} interval: {{ .elf_interval }} query: + {{ if .initial_interval }} + default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' AND LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] ORDER BY LogDate ASC NULLS FIRST" + {{ else }} default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' ORDER BY LogDate ASC NULLS FIRST" + {{ end }} value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" cursor: field: "CreatedDate" @@ -65,7 +69,11 @@ event_monitoring_method: {{ end }} interval: {{ .real_time_interval }} query: + {{ if .initial_interval }} + default: "SELECT FIELDS(STANDARD) FROM LogoutEvent WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]]" + {{ else }} default: "SELECT FIELDS(STANDARD) FROM LogoutEvent" + {{ end }} value: "SELECT FIELDS(STANDARD) FROM LogoutEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" cursor: field: "EventDate" diff --git a/x-pack/filebeat/module/salesforce/logout/manifest.yml b/x-pack/filebeat/module/salesforce/logout/manifest.yml index e58449fbafd..851fbfc0f32 100644 --- a/x-pack/filebeat/module/salesforce/logout/manifest.yml +++ b/x-pack/filebeat/module/salesforce/logout/manifest.yml @@ -22,6 +22,7 @@ var: - name: real_time - name: real_time_interval default: 5m + - name: initial_interval ingest_pipeline: ingest/pipeline.yml input: config/logout.yml diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml index e39ed083443..89985954bb6 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -53,7 +53,11 @@ event_monitoring_method: {{ end }} interval: {{ .real_time_interval }} query: + {{ if .initial_interval }} + default: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] ORDER BY CreatedDate ASC NULLS FIRST" + {{ else }} default: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail ORDER BY CreatedDate ASC NULLS FIRST" + {{ end }} value: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE CreatedDate > [[ .cursor.object.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST" cursor: field: "CreatedDate" diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml index 39c2f16c2be..e432c47e897 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml @@ -19,6 +19,7 @@ var: - name: real_time - name: real_time_interval default: 5m + - name: initial_interval ingest_pipeline: ingest/pipeline.yml input: config/setupaudittrail.yml From 3f717d266384760256bd1e7496a2fc70aacb5023 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 18 Jan 2024 12:16:55 +0530 Subject: [PATCH 082/172] add log file interval --- x-pack/filebeat/module/salesforce/_meta/config.yml | 3 +++ .../module/salesforce/apex/config/apex.yml | 8 ++------ .../filebeat/module/salesforce/apex/manifest.yml | 2 ++ .../module/salesforce/login/config/login.yml | 14 +++----------- .../filebeat/module/salesforce/login/manifest.yml | 2 ++ .../module/salesforce/logout/config/logout.yml | 14 +++----------- .../filebeat/module/salesforce/logout/manifest.yml | 2 ++ .../setupaudittrail/config/setupaudittrail.yml | 6 +----- .../module/salesforce/setupaudittrail/manifest.yml | 2 ++ 9 files changed, 20 insertions(+), 33 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/config.yml b/x-pack/filebeat/module/salesforce/_meta/config.yml index b5a1b0ad782..709332c9157 100644 --- a/x-pack/filebeat/module/salesforce/_meta/config.yml +++ b/x-pack/filebeat/module/salesforce/_meta/config.yml @@ -3,6 +3,7 @@ apex: enabled: false var.initial_interval: 1d + var.log_file_interval: Hourly var.api_version: 56 var.jwt_enabled: true @@ -23,6 +24,7 @@ login: enabled: false var.initial_interval: 1d + var.log_file_interval: Hourly var.api_version: 56 var.jwt_enabled: true @@ -47,6 +49,7 @@ logout: enabled: false var.initial_interval: 1d + var.log_file_interval: Hourly var.api_version: 56 var.jwt_enabled: true diff --git a/x-pack/filebeat/module/salesforce/apex/config/apex.yml b/x-pack/filebeat/module/salesforce/apex/config/apex.yml index 57380f49e11..7428ee2ed5a 100644 --- a/x-pack/filebeat/module/salesforce/apex/config/apex.yml +++ b/x-pack/filebeat/module/salesforce/apex/config/apex.yml @@ -49,12 +49,8 @@ event_monitoring_method: enabled: true interval: {{ .elf_interval }} query: - {{ if .initial_interval }} - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') AND LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] ORDER BY LogDate ASC NULLS FIRST" - {{ else }} - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" - {{ end }} - value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" + default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" + value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" cursor: field: "CreatedDate" diff --git a/x-pack/filebeat/module/salesforce/apex/manifest.yml b/x-pack/filebeat/module/salesforce/apex/manifest.yml index 4d2043adab1..b806a78b899 100644 --- a/x-pack/filebeat/module/salesforce/apex/manifest.yml +++ b/x-pack/filebeat/module/salesforce/apex/manifest.yml @@ -19,6 +19,8 @@ var: - name: elf_interval default: 1h - name: initial_interval + - name: log_file_interval + default: Hourly ingest_pipeline: - ingest/pipeline.yml diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml index cab2b4bdf44..e40d0f99bfb 100644 --- a/x-pack/filebeat/module/salesforce/login/config/login.yml +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -53,12 +53,8 @@ event_monitoring_method: {{ end }} interval: {{ .elf_interval }} query: - {{ if .initial_interval }} - default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] ORDER BY LogDate ASC NULLS FIRST" - {{ else }} - default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" - {{ end }} - value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" + default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" + value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" cursor: field: "CreatedDate" object: @@ -69,11 +65,7 @@ event_monitoring_method: {{ end }} interval: {{ .real_time_interval }} query: - {{ if .initial_interval }} - default: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]]" - {{ else }} - default: "SELECT FIELDS(STANDARD) FROM LoginEvent" - {{ end }} + default: "SELECT FIELDS(STANDARD) FROM LoginEvent{{ if .initial_interval }} WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]]{{ end }}" value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" cursor: field: "EventDate" diff --git a/x-pack/filebeat/module/salesforce/login/manifest.yml b/x-pack/filebeat/module/salesforce/login/manifest.yml index b9a71f3db1b..e67a156a685 100644 --- a/x-pack/filebeat/module/salesforce/login/manifest.yml +++ b/x-pack/filebeat/module/salesforce/login/manifest.yml @@ -23,6 +23,8 @@ var: - name: real_time_interval default: 5m - name: initial_interval + - name: log_file_interval + default: Hourly ingest_pipeline: - ingest/pipeline.yml diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml index 6e3d08393b8..ff03969b23d 100644 --- a/x-pack/filebeat/module/salesforce/logout/config/logout.yml +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -53,12 +53,8 @@ event_monitoring_method: {{ end }} interval: {{ .elf_interval }} query: - {{ if .initial_interval }} - default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' AND LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] ORDER BY LogDate ASC NULLS FIRST" - {{ else }} - default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' ORDER BY LogDate ASC NULLS FIRST" - {{ end }} - value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = 'Hourly' AND EventType = 'Logout' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" + default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Logout' ORDER BY LogDate ASC NULLS FIRST" + value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND EventType = 'Logout' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" cursor: field: "CreatedDate" object: @@ -69,11 +65,7 @@ event_monitoring_method: {{ end }} interval: {{ .real_time_interval }} query: - {{ if .initial_interval }} - default: "SELECT FIELDS(STANDARD) FROM LogoutEvent WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]]" - {{ else }} - default: "SELECT FIELDS(STANDARD) FROM LogoutEvent" - {{ end }} + default: "SELECT FIELDS(STANDARD) FROM LogoutEvent{{ if .initial_interval }} WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]]{{ end }}" value: "SELECT FIELDS(STANDARD) FROM LogoutEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" cursor: field: "EventDate" diff --git a/x-pack/filebeat/module/salesforce/logout/manifest.yml b/x-pack/filebeat/module/salesforce/logout/manifest.yml index 851fbfc0f32..7385aee69cf 100644 --- a/x-pack/filebeat/module/salesforce/logout/manifest.yml +++ b/x-pack/filebeat/module/salesforce/logout/manifest.yml @@ -23,6 +23,8 @@ var: - name: real_time_interval default: 5m - name: initial_interval + - name: log_file_interval + default: Hourly ingest_pipeline: ingest/pipeline.yml input: config/logout.yml diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml index 89985954bb6..35713bb1da1 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -53,11 +53,7 @@ event_monitoring_method: {{ end }} interval: {{ .real_time_interval }} query: - {{ if .initial_interval }} - default: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] ORDER BY CreatedDate ASC NULLS FIRST" - {{ else }} - default: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail ORDER BY CreatedDate ASC NULLS FIRST" - {{ end }} + default: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail {{ if .initial_interval }}WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] AND{{ end }} ORDER BY CreatedDate ASC NULLS FIRST" value: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE CreatedDate > [[ .cursor.object.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST" cursor: field: "CreatedDate" diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml index e432c47e897..9412a14ef6c 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml @@ -20,6 +20,8 @@ var: - name: real_time_interval default: 5m - name: initial_interval + - name: log_file_interval + default: Hourly ingest_pipeline: ingest/pipeline.yml input: config/setupaudittrail.yml From 3d608ff952469cb77b77f95d5f628772510d0d66 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 18 Jan 2024 12:40:21 +0530 Subject: [PATCH 083/172] Address review comments --- x-pack/filebeat/input/salesforce/input_manager.go | 3 +++ x-pack/filebeat/input/salesforce/input_manager_test.go | 3 --- x-pack/filebeat/input/salesforce/soql.go | 5 +++++ x-pack/filebeat/input/salesforce/soql_test.go | 4 ---- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index d2f51945e8e..c59074c820a 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -15,6 +15,9 @@ import ( "github.com/elastic/elastic-agent-libs/logp" ) +// compile-time check if querier implements InputManager +var _ v2.InputManager = InputManager{} + // InputManager wraps one stateless input manager // and one cursor input manager. It will create one or the other // based on the config that is passed. diff --git a/x-pack/filebeat/input/salesforce/input_manager_test.go b/x-pack/filebeat/input/salesforce/input_manager_test.go index 667e030ad60..90647e9d302 100644 --- a/x-pack/filebeat/input/salesforce/input_manager_test.go +++ b/x-pack/filebeat/input/salesforce/input_manager_test.go @@ -19,9 +19,6 @@ import ( "github.com/elastic/go-concert/unison" ) -// compile-time check if querier implements InputManager -var _ v2.InputManager = InputManager{} - func makeTestStore(data map[string]interface{}) *statestore.Store { memstore := &storetest.MapStore{Table: data} reg := statestore.NewRegistry(&storetest.MemoryStore{ diff --git a/x-pack/filebeat/input/salesforce/soql.go b/x-pack/filebeat/input/salesforce/soql.go index 040ffd16c3f..44987644bdc 100644 --- a/x-pack/filebeat/input/salesforce/soql.go +++ b/x-pack/filebeat/input/salesforce/soql.go @@ -7,8 +7,13 @@ package salesforce import ( "errors" "strings" + + "github.com/g8rswimmer/go-sfdc/soql" ) +// compile-time check if querier implements soql.QueryFormatter +var _ soql.QueryFormatter = (*querier)(nil) + type querier struct { Query string } diff --git a/x-pack/filebeat/input/salesforce/soql_test.go b/x-pack/filebeat/input/salesforce/soql_test.go index 68945de94b5..137a59a91bd 100644 --- a/x-pack/filebeat/input/salesforce/soql_test.go +++ b/x-pack/filebeat/input/salesforce/soql_test.go @@ -8,13 +8,9 @@ import ( "errors" "testing" - "github.com/g8rswimmer/go-sfdc/soql" "github.com/stretchr/testify/assert" ) -// compile-time check if querier implements soql.QueryFormatter -var _ soql.QueryFormatter = (*querier)(nil) - func TestFormat(t *testing.T) { tests := map[string]struct { wantErr error From f040429312f770d6c508edeec2afd79fc0bf7f58 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 18 Jan 2024 15:31:19 +0530 Subject: [PATCH 084/172] add default config for version --- x-pack/filebeat/input/salesforce/input_manager.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index c59074c820a..ce17549628e 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -66,4 +66,4 @@ func (m InputManager) Create(cfg *conf.C) (v2.Input, error) { } // defaultConfig returns the default configuration. -func defaultConfig() config { return config{} } +func defaultConfig() config { return config{Version: 58} } From f17c886a59ca5a0559953b30b39803f3e2cf8b5f Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 18 Jan 2024 17:19:25 +0530 Subject: [PATCH 085/172] remove defaultConfig --- x-pack/filebeat/input/salesforce/input_manager.go | 7 ++----- x-pack/filebeat/input/salesforce/input_test.go | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index ce17549628e..066d9d7b7f4 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -39,7 +39,7 @@ func NewInputManager(log *logp.Logger, store inputcursor.StateStore) InputManage // cursorConfigure configures the cursor input manager. func cursorConfigure(cfg *conf.C) ([]inputcursor.Source, inputcursor.Input, error) { - config := defaultConfig() + config := config{Version: 58} if err := cfg.Unpack(&config); err != nil { return nil, nil, fmt.Errorf("reading config: %w", err) } @@ -58,12 +58,9 @@ func (m InputManager) Init(grp unison.Group, mode v2.Mode) error { // Create creates a cursor input manager. func (m InputManager) Create(cfg *conf.C) (v2.Input, error) { - config := defaultConfig() + config := config{Version: 58} if err := cfg.Unpack(&config); err != nil { return nil, err } return m.cursor.Create(cfg) } - -// defaultConfig returns the default configuration. -func defaultConfig() config { return config{Version: 58} } diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 984c7aee727..4cb92b39a1e 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -324,7 +324,7 @@ func TestInput(t *testing.T) { t.Run(tc.name, func(t *testing.T) { tc.setupServer(t, tc.handler, tc.baseConfig) - cfg := defaultConfig() + cfg := config{Version: 58} err := conf.MustNewConfigFrom(tc.baseConfig).Unpack(&cfg) assert.NoError(t, err) timeout := 5 * time.Second From 699087735c96fc91cc396e385ee6ad9ec37d484a Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 30 Jan 2024 11:46:46 +0530 Subject: [PATCH 086/172] update configurations --- x-pack/filebeat/filebeat.reference.yml | 194 +++++++++-------- .../module/salesforce/_meta/config.yml | 33 +++ x-pack/filebeat/module/salesforce/fields.go | 2 +- .../modules.d/salesforce.yml.disabled | 201 +++++++++--------- 4 files changed, 229 insertions(+), 201 deletions(-) diff --git a/x-pack/filebeat/filebeat.reference.yml b/x-pack/filebeat/filebeat.reference.yml index 14308c2cce1..283ff79424d 100644 --- a/x-pack/filebeat/filebeat.reference.yml +++ b/x-pack/filebeat/filebeat.reference.yml @@ -1878,136 +1878,134 @@ filebeat.modules: #var.password: #------------------------------ Salesforce Module ------------------------------ -- module: salesforce - - apex-rest: - enabled: false - - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" - - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" - - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" - - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" - - login-rest: - enabled: false +# Configuration file for Salesforce module in Filebeat - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +# Common Configurations: +# - enabled: Set to true to enable ingestion of Salesforce module fileset +# - initial_interval: Initial interval for log collection. This setting determines the time period for which the logs will be initially collected when the ingestion process starts, i.e. 1d/h/m/s +# - log_file_interval: Interval type for log file collection, either Hourly or Daily +# - api_version: API version for Salesforce, version should be grater than 46.0 - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +# Authentication Configurations: +# JWT Authentication: +# - jwt_enabled: Set to true if JWT authentication is enabled, if false, user-password authentication will be used +# - client_id: Client ID for JWT and user-password authentication +# - client_username: Username for JWT authentication +# - client_key_path: Path to client key for JWT authentication +# - jwt_url: Audience URL for JWT authentication - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" +# User-Password Authentication: +# - jwt_enabled: Set to false if user-password authentication is enabled +# - client_id: Client ID for JWT and user-password authentication +# - client_secret: Client secret for user-password authentication +# - token_url: Token URL for user-password authentication +# - user: Username for user-password authentication +# - password: Password for user-password authentication +# - url: URL for user-password authentication - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" +# Real-time Logging: +# - real_time: Set to true to enable real-time logging +# - real_time_interval: Interval for real-time logging - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" +# Event Log File: +# - event_log_file: Set to true to enable event log file +# - elf_interval: Interval for event log file - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" +- module: salesforce - login-stream: + apex: enabled: false + var.initial_interval: 1d + var.log_file_interval: Hourly + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.jwt_enabled: true - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" - - logout-rest: + var.url: "https://instance_id.my.salesforce.com" + var.elf_interval: 1h + + login: enabled: false + var.initial_interval: 1d + var.log_file_interval: Hourly + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.jwt_enabled: true - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.url: "https://instance_id.my.salesforce.com" - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" + var.event_log_file: true + var.elf_interval: 1h + var.real_time: true + var.real_time_interval: 5m - logout-stream: + logout: enabled: false + var.initial_interval: 1d + var.log_file_interval: Hourly + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.jwt_enabled: true - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.url: "https://instance_id.my.salesforce.com" - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.event_log_file: true + var.elf_interval: 1h + var.real_time: true + var.real_time_interval: 5m - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" - - setupaudittrail-rest: + setupaudittrail: enabled: false + var.initial_interval: 1d + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.jwt_enabled: true - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" + var.url: "https://instance_id.my.salesforce.com" - # Interval, should include the time interval - #var.interval: 1h + var.real_time: true + var.real_time_interval: 5m + #----------------------------- Google Santa Module ----------------------------- - module: santa log: diff --git a/x-pack/filebeat/module/salesforce/_meta/config.yml b/x-pack/filebeat/module/salesforce/_meta/config.yml index 709332c9157..041bdd3d759 100644 --- a/x-pack/filebeat/module/salesforce/_meta/config.yml +++ b/x-pack/filebeat/module/salesforce/_meta/config.yml @@ -1,3 +1,36 @@ +# Configuration file for Salesforce module in Filebeat + +# Common Configurations: +# - enabled: Set to true to enable ingestion of Salesforce module fileset +# - initial_interval: Initial interval for log collection. This setting determines the time period for which the logs will be initially collected when the ingestion process starts, i.e. 1d/h/m/s +# - log_file_interval: Interval type for log file collection, either Hourly or Daily +# - api_version: API version for Salesforce, version should be grater than 46.0 + +# Authentication Configurations: +# JWT Authentication: +# - jwt_enabled: Set to true if JWT authentication is enabled, if false, user-password authentication will be used +# - client_id: Client ID for JWT and user-password authentication +# - client_username: Username for JWT authentication +# - client_key_path: Path to client key for JWT authentication +# - jwt_url: Audience URL for JWT authentication + +# User-Password Authentication: +# - jwt_enabled: Set to false if user-password authentication is enabled +# - client_id: Client ID for JWT and user-password authentication +# - client_secret: Client secret for user-password authentication +# - token_url: Token URL for user-password authentication +# - user: Username for user-password authentication +# - password: Password for user-password authentication +# - url: URL for user-password authentication + +# Real-time Logging: +# - real_time: Set to true to enable real-time logging +# - real_time_interval: Interval for real-time logging + +# Event Log File: +# - event_log_file: Set to true to enable event log file +# - elf_interval: Interval for event log file + - module: salesforce apex: diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index acb402db804..4c572df2ceb 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "eJzsXM1uG0mSvvspAr60DUjEeHcbWOiwAFui21z4R60fNGYvhWRWFJmrrMxy/ojinvwaA8y+nJ9kEJFVxWKJpGSLJfvQuoyHrMr8IjIy4osf9jHc4OoEvNDoC+skvgAIKmg8gZeX7YcvXwDk6KVTVVDWnMB/vQAAWD8AH2weNb1cKNS5P+Hv6e8YjCixt0PzF1YVnsDc2Vh1PnWoUXg8gRkG0fl8C4Lm763S6DFAYR0oM0cflJl38Y0rvANt537Uea+PtYtXSIneZ6XNceP7BvQNrpbW5b3v9kCkv6sFAq0ItgBptUbJOAkXFM6WXcTH8NKhDy/BOnjpg0NRvhxth1rh3VaMfcXuU+4j0H+fkncpelPZtOe9r/fr+hGI6W/Ma0OFrrCuxBxmKwgLBCm0tjH0oa5B1Q9kQZV9EzgQtCtVIvgKTYClUKxNa2CJM4/uVskWoz8CZaBUWiuP0pr8noI7qLXwPqN/D4R5UZ8zb8SbjmBaJJXyR8pDJVwgGxdQCiPmmEMl5I2Y4xGEhfLggyNhlZE65uj55foJXtFXQuI+GRWaMLCQtDrJkASjDSEsRPjFQ/Q9u6+Py4/giqRjayc1CAOW9xGaVCJKDOh4FZDCwIyE9h5zOt3x+ZSP27M2Z1qYm6PWTtFBrnITyFikKlYgGkjK8EOnQutPvJWHBYoc3R7tVXFImyY059dAO/StFiIJGyxIW1YaAzJ2h58j+j0XMZ9lM23ljR8G8dTkSoqAHhZ2CWWUC/ZHtyqs6BCtlNHV5sp4cxHETHgcwRgWar6AW6EjslcM6+P3cU4e0qfjFnmeVsjxDj259ELpgM7ThV/Z6OBzRKfQw9JGncMMDRYqNF5LmH3XIZ9lP/BMdx1nR6/0sShtNMkpNMoN4oaUUmkhsa9c0GJFVh9Z8481k2CD0EM77Fc9DbzuuXAyhFaMylniEbX5iPnc4VyEZC1Ca7AVOpHuba2BVn+ntqyEw65RBUvnkF1NP0zo3zn5k1IZhOUCwwJd115AeR/RAy2x04ZrNXNAT3ZolwakzfeYG5qgwmoYBX/sOF28C+jIddrZ/6IMMEMSIPEyzB/C94zRocYnigJlWBOM4NR8vs8RowlulVVWmTAcUN4EeJO1i+IAjncoI72+B+EtxVlCMhxAWoY0yXuN+KPkUCmA6qVYJbinD9G1JA5m5UBh4p1dgrZ0hQIEa2+2+AHSb4cWBAuVQ77DwuQNQLYN8varEYxvhdJiprFhALfoPLHV//i30d/4JS3CPhMqMMjFjxQ5WHAYnMLbjmDg0Ecd6pxm4y77lQ9YHkJyjp/DyP2WnS3eVY5cN/nmYOsNYblQcgHOLn0te3SGfLVz6KsmIP75bnIxIckuP/3xvgntu2VRPiM1Zy4ao+h/UwgYmu40QaMTdejSSQrUmIOYC2V8qMOCm/9CXxkKJBTtCPBxDTj5k2YJrUoV4FVwEV9TZDE2wKtCaI+vd6uAXxpG4A/iTpWxBBPLGcW6ond6KRY3V7J3ku+nH6ZXjz9JFiOLXswxq9BJHNK11xtQ0mSLdAaXn8bnKY1IvHOJDqEUObanyQHLzYVR/8e84xefQO+Ryc6VyW5woJBPktT5IEMOxIKDnSfbJI7EkYH5kYC5ukVDeYQj4IQMfLqkI5gG8EG44GGpwgJE/T2/njwwHSp/hyqtTo/YGOpnbLoLtHqzKnkBReB266fEXImBgyTv0YbKdGHJSP0enlaiJzscBtTEOcu8cSkcu4B6NxDeW6kEORDWNGEthNKYs13ugxsWNn/OpF5o3TqvtPtudMl5ZKmQNSC+1kelnUjD0upYGn9E/pqoRFVpJSl0PojW2886q33Wc2Du+siO/6mJT97N5hLb2ymALQqPA7nOj/figL9RFWnXQCXmCaGzcU4uJDEZ8BjuhYZPb99eTr4hNliXo5sN5EUTZWmthfBFn9JMbx3npRvU7IgdYssALD/VOBbmbuRuvUTDhYtXORYi6sABneDUn7NM9zVzcTa5gN/+/i26WUekTG3TwYGM9c2vx3IhnJDE5aZnbQrX2X83StbgcNhaVa2OQBVgKa8Xfl253gdM5flgSXk3S7ORFNemjlvcvfIPXe6mwjHkOUejPkesT1iAV2auKSUXxqdmwwjG3f/LBVlpTRDKsOatg9K62lH5EUyEXNQ0oUNEuissRKp0eYoxF5M/rieXV9n07GE9+CBCHNBBp/XXxCHR9MR6K4rZtwqXJDATH2UCukJIrLsye/DbpR9xyW0g7LR0l7ajtC7vFMrWrnlb1eD4Dd0ijvTRB1uCyEUVmDieiSAubXQSR+fO3qocXd28yC1680uAHKVOxTeEP64nF3/Prj5djd9nl9P/mYAUlZgprcLqAeVweo4DmXkvjtV79dtbT8+0WZK6jjmULJs8IsXllj+0e/dLpLshRzNgFfijDamT0dbTkl+gpUdw7ZPVcJG2bgUZH1Ds8d8eNcqB6M6pLUtx7LESjt20Vj50CGaqqqYAnd+L5JeT95PTb+A4Ps4G5ZsX6NHd1qovYoiO07XdgGomV8XhyWTtnZpyGFsrRZJUK9sDMdWJd+Lb1sWHPU317tpbQ+xjRH+k+LCfVtWi1XdZeCiU28ZjupB3JIAHBv2Wrm5C50Hakhs3zpb9hrU/gquL6e+/Ty6yj+MPk3XLWqwb1VA5LNQdrO9YXX8YQasU7uoae/8l5elfHk042lCZqqunwkA0DaidLYWuAndUIg6swC4pZB/4YLvjedoIaTbhoWZBdGo4KNcX0+YCML2qxwYcSlS3j25nRqcylWc5OnU7ZNh985+dqyuFx2MvCuxc4gOJ49FlYj5oQdTEEp2S3L+sg/PaMOqBiWYEoRQ3G/1qeEUv4J0oK43pKs6Ih6A7akoutP0R8eTx+XRPKZsl/SlOjvn8cmH3zay0tQ4+6mlTAx2fT9cS3p/hG3Fp9UVfpOeY5HvPRd1XF5PLq9ffNtFXqW1V2ieO87V+53y6/RJ0t6+p92ERNHy+PnQCQlf065d/NOwu3uuXP1TbfyKk76nnM94fV9FvjymGBZpQX/esrko7LNChkQc2ns3N6iJ0clGzFQgKrC4/roQLK1A5PVk0z1ZN3sp5vIFPFZrpGZxaY1CGpuDh1dwcp6eDlVbfm1DblRz++mZ3ctgbw1N9cvpEpUzPQeS5Q++3jN+xlewZwBt3P+ZShhGalnzlebDLt0bUn7f907qbGRq5YA9fVZM7uRBmjq9JT35hl4be/vrln+t3RtKWMD3/+uX/dyho+1TWE/XzfdN1Gwf/PZNZoqpYz+jS0NB2kfcNYT3V09YyG2FsI3IqYrXTTM5Gwyy5GsG0HS5dT9nWovz32W+nkFN0dkdgMCytuyHFdSejUoH87LesGbj6uQayHpzQOVBY2zOVw4F4O6r95fwnQvvmEn6v3npwQD9rrbkv99Y685Mj/eFqyw9U754aa1s3xw4hcZMOZh5w2jtm/6jM7KnG3ef0oIxH41VQtw8lZRwbH5GWPS5ReSZBmhxlf2D//izFblT+BklTKuH6uN8nEvodWUrNUjONt9jvqzzhSDaHsetNjnkT8Cijo7BfH0lDlNsrku4us3Nuj5NotuiVv0dwuX1V8nTOap+WSfO7PFCHIkTXTAr4WFXWBVDhCBqqJhOZxZzIh+eA7LBK7ewRnFvvFVFXDkwcV0/g3fT3d9n48vL6YvzxdHIE7z/9eQSXV+OPZ+OLs79SoMelQH8lyltAVQPopFNYSvppC+WKLQJiZU332m0HVxeqBgDYJJ1kO8mg08zkus9Y752SDxGSee7NF5/jbDsZ47er88dy6p2wNkj1bPXz8OpKi0BJzgAq26jk1ofabMctFcFsjrydFCn/XWDt/466iZryYGJ//HBNkL3VPM8ygAheOkTT2WPTRg8nRcMcBhChIQQbLoqB8tTcgzfqeZnmrjL40ynmfZmMCjz9lN2jmgeQrPUO7SRLm0WZ9LNSvWLlY95wsv6NJTcttZI3TUZQM9NZDIHpxXpdVk971KqsF80j/5JFmbY6xAVHy1xDlRTAVGgoR0rrUvukRf+3vRzdY4hVJmKuQhacUPqHdBUuCcWYQFwRhm+i7EPEi0k7UbI9lDpkq5utMqLXeHdgy6sXhWjy9jcvdKasJkiFUXYCpchxxN30tnWmCpjwxEsKuh6ktjE/DvaY/9G5cHUXTjQLKpM26NpP015uHWCz9g6OsVbMIePjtbkxdmke3NL7eG+S4wnbPmrcpS29oubflmZ0mQ9rDlzqOx771pWuZ7q5NJyKUs3x1SFt86Vc5ebrl3+0P2nuvNgPcfzj90d3Kv7914c7FbnylRYHzvCKqHX3OW4ysyGna9HRR/9+cGBJSksCLrgx0Vr8ObryEsMpW1a6DWdJhC3Pa3WD8PXLP9PTOSm4VMmLk8v7MD47Sfkhn4NWEo3Hju/byYkqazjBztqhlSwNrTzPvfK47b8K8mQq09rq2p+VaGL964qOOacaPea94/vAszhw7fnX+y51BcwKzp0tlMbRi38FAAD//6/RI0o=" } diff --git a/x-pack/filebeat/modules.d/salesforce.yml.disabled b/x-pack/filebeat/modules.d/salesforce.yml.disabled index 4931e8e006e..6ad39844ae5 100644 --- a/x-pack/filebeat/modules.d/salesforce.yml.disabled +++ b/x-pack/filebeat/modules.d/salesforce.yml.disabled @@ -1,133 +1,130 @@ # Module: salesforce # Docs: https://www.elastic.co/guide/en/beats/filebeat/main/filebeat-module-salesforce.html +# Configuration file for Salesforce module in Filebeat + +# Common Configurations: +# - enabled: Set to true to enable ingestion of Salesforce module fileset +# - initial_interval: Initial interval for log collection. This setting determines the time period for which the logs will be initially collected when the ingestion process starts, i.e. 1d/h/m/s +# - log_file_interval: Interval type for log file collection, either Hourly or Daily +# - api_version: API version for Salesforce, version should be grater than 46.0 + +# Authentication Configurations: +# JWT Authentication: +# - jwt_enabled: Set to true if JWT authentication is enabled, if false, user-password authentication will be used +# - client_id: Client ID for JWT and user-password authentication +# - client_username: Username for JWT authentication +# - client_key_path: Path to client key for JWT authentication +# - jwt_url: Audience URL for JWT authentication + +# User-Password Authentication: +# - jwt_enabled: Set to false if user-password authentication is enabled +# - client_id: Client ID for JWT and user-password authentication +# - client_secret: Client secret for user-password authentication +# - token_url: Token URL for user-password authentication +# - user: Username for user-password authentication +# - password: Password for user-password authentication +# - url: URL for user-password authentication + +# Real-time Logging: +# - real_time: Set to true to enable real-time logging +# - real_time_interval: Interval for real-time logging + +# Event Log File: +# - event_log_file: Set to true to enable event log file +# - elf_interval: Interval for event log file + - module: salesforce - apex-rest: + apex: enabled: false + var.initial_interval: 1d + var.log_file_interval: Hourly + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.jwt_enabled: true - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" + var.url: "https://instance_id.my.salesforce.com" + var.elf_interval: 1h - login-rest: + login: enabled: false + var.initial_interval: 1d + var.log_file_interval: Hourly + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.jwt_enabled: true - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.url: "https://instance_id.my.salesforce.com" - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.event_log_file: true + var.elf_interval: 1h + var.real_time: true + var.real_time_interval: 5m - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" - - login-stream: + logout: enabled: false + var.initial_interval: 1d + var.log_file_interval: Hourly + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.jwt_enabled: true - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.url: "https://instance_id.my.salesforce.com" - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" + var.event_log_file: true + var.elf_interval: 1h + var.real_time: true + var.real_time_interval: 5m - logout-rest: + setupaudittrail: enabled: false + var.initial_interval: 1d + var.api_version: 56 - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" - - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" - - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" - - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" - - logout-stream: - enabled: false - - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" - - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" - - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" - - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" - - setupaudittrail-rest: - enabled: false - - # Oauth Client ID - #var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Client Secret - #var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - # Oauth Token URL - #var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.jwt_enabled: true - # Oauth User, should include the User mail - #var.user: "abc.xyz@mail.com" + var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.client_username: "abc.xyz@mail.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com - # Oauth password, should include the User password - #var.password: "P@$$W0₹D" + var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + var.token_url: "https://login.salesforce.com" + var.user: "abc.xyz@mail.com" + var.password: "P@$$W0₹D" - # URL, should include the instance_url - #var.url: "https://instance_id.my.salesforce.com" + var.url: "https://instance_id.my.salesforce.com" - # Interval, should include the time interval - #var.interval: 1h \ No newline at end of file + var.real_time: true + var.real_time_interval: 5m From e0470250f79096b6650a315f3f1051e724928d7a Mon Sep 17 00:00:00 2001 From: Kush Rana <89848966+kush-elastic@users.noreply.github.com> Date: Thu, 1 Feb 2024 12:13:50 +0530 Subject: [PATCH 087/172] Update x-pack/filebeat/modules.d/salesforce.yml.disabled Co-authored-by: subham sarkar --- x-pack/filebeat/modules.d/salesforce.yml.disabled | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/x-pack/filebeat/modules.d/salesforce.yml.disabled b/x-pack/filebeat/modules.d/salesforce.yml.disabled index 6ad39844ae5..3fdb69ce81d 100644 --- a/x-pack/filebeat/modules.d/salesforce.yml.disabled +++ b/x-pack/filebeat/modules.d/salesforce.yml.disabled @@ -1,13 +1,14 @@ -# Module: salesforce -# Docs: https://www.elastic.co/guide/en/beats/filebeat/main/filebeat-module-salesforce.html - +# Module: salesforce +# Docs: https://www.elastic.co/guide/en/beats/filebeat/main/filebeat-module-salesforce.html + # Configuration file for Salesforce module in Filebeat # Common Configurations: -# - enabled: Set to true to enable ingestion of Salesforce module fileset +# - enabled: Set to true to enable fileset to ingest the events of the configured event type. # - initial_interval: Initial interval for log collection. This setting determines the time period for which the logs will be initially collected when the ingestion process starts, i.e. 1d/h/m/s # - log_file_interval: Interval type for log file collection, either Hourly or Daily -# - api_version: API version for Salesforce, version should be grater than 46.0 +# - api_version: API version for Salesforce, version should be greater than 46.0 + # Authentication Configurations: # JWT Authentication: From 51ccd7b4996c95f6cdaa6f1077a019e3662cb983 Mon Sep 17 00:00:00 2001 From: Kush Rana <89848966+kush-elastic@users.noreply.github.com> Date: Thu, 1 Feb 2024 12:14:53 +0530 Subject: [PATCH 088/172] Update x-pack/filebeat/modules.d/salesforce.yml.disabled Co-authored-by: subham sarkar --- x-pack/filebeat/modules.d/salesforce.yml.disabled | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/modules.d/salesforce.yml.disabled b/x-pack/filebeat/modules.d/salesforce.yml.disabled index 3fdb69ce81d..84a2c38823a 100644 --- a/x-pack/filebeat/modules.d/salesforce.yml.disabled +++ b/x-pack/filebeat/modules.d/salesforce.yml.disabled @@ -20,7 +20,8 @@ # User-Password Authentication: # - jwt_enabled: Set to false if user-password authentication is enabled -# - client_id: Client ID for JWT and user-password authentication +# - client_id: Client ID for user-password authentication + # - client_secret: Client secret for user-password authentication # - token_url: Token URL for user-password authentication # - user: Username for user-password authentication From bd1940e4face882960862af5e5b337175bfa5052 Mon Sep 17 00:00:00 2001 From: Kush Rana <89848966+kush-elastic@users.noreply.github.com> Date: Thu, 1 Feb 2024 12:15:29 +0530 Subject: [PATCH 089/172] Update x-pack/filebeat/modules.d/salesforce.yml.disabled Co-authored-by: subham sarkar --- x-pack/filebeat/modules.d/salesforce.yml.disabled | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/modules.d/salesforce.yml.disabled b/x-pack/filebeat/modules.d/salesforce.yml.disabled index 84a2c38823a..9e96f371e4d 100644 --- a/x-pack/filebeat/modules.d/salesforce.yml.disabled +++ b/x-pack/filebeat/modules.d/salesforce.yml.disabled @@ -13,7 +13,8 @@ # Authentication Configurations: # JWT Authentication: # - jwt_enabled: Set to true if JWT authentication is enabled, if false, user-password authentication will be used -# - client_id: Client ID for JWT and user-password authentication +# - client_id: Client ID for JWT authentication + # - client_username: Username for JWT authentication # - client_key_path: Path to client key for JWT authentication # - jwt_url: Audience URL for JWT authentication From cbc09d8813125efe69af9831816eb9145f2b28f4 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 1 Feb 2024 12:18:20 +0530 Subject: [PATCH 090/172] remove extra comments from template file --- x-pack/filebeat/module/salesforce/apex/config/apex.yml | 3 --- x-pack/filebeat/module/salesforce/login/config/login.yml | 3 --- x-pack/filebeat/module/salesforce/logout/config/logout.yml | 3 --- .../salesforce/setupaudittrail/config/setupaudittrail.yml | 3 --- 4 files changed, 12 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/config/apex.yml b/x-pack/filebeat/module/salesforce/apex/config/apex.yml index 7428ee2ed5a..5425c9dbe24 100644 --- a/x-pack/filebeat/module/salesforce/apex/config/apex.yml +++ b/x-pack/filebeat/module/salesforce/apex/config/apex.yml @@ -40,9 +40,6 @@ auth.oauth2: password: {{ .password }} {{ end }} {{ end }} -# Query params will be overwritten by request.transforms from start of the input and -# it is to indicate that this url is for Apex type of events as cursor stores the url as source. -# Each filebeat input cursor source needs to be uniquely identified with a name. url: {{ .url }} event_monitoring_method: event_log_file: diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml index e40d0f99bfb..9d6c96542c7 100644 --- a/x-pack/filebeat/module/salesforce/login/config/login.yml +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -40,9 +40,6 @@ auth.oauth2: password: {{ .password }} {{ end }} {{ end }} -# Query params will be overwritten by request.transforms from start of the input and -# it is to indicate that this url is for Apex type of events as cursor stores the url as source. -# Each filebeat input cursor source needs to be uniquely identified with a name. url: {{ .url }} event_monitoring_method: event_log_file: diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml index ff03969b23d..ab5708c1f73 100644 --- a/x-pack/filebeat/module/salesforce/logout/config/logout.yml +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -40,9 +40,6 @@ auth.oauth2: password: {{ .password }} {{ end }} {{ end }} -# Query params will be overwritten by request.transforms from start of the input and -# it is to indicate that this url is for Apex type of events as cursor stores the url as source. -# Each filebeat input cursor source needs to be uniquely identified with a name. url: {{ .url }} event_monitoring_method: event_log_file: diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml index 35713bb1da1..506c51d7dc9 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -40,9 +40,6 @@ auth.oauth2: password: {{ .password }} {{ end }} {{ end }} -# Query params will be overwritten by request.transforms from start of the input and -# it is to indicate that this url is for Apex type of events as cursor stores the url as source. -# Each filebeat input cursor source needs to be uniquely identified with a name. url: {{ .url }} event_monitoring_method: object: From add91971c8670784799f2f9e1424c140ce4e3a5f Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 1 Feb 2024 12:29:35 +0530 Subject: [PATCH 091/172] resolve comments --- .../module/salesforce/_meta/config.yml | 20 +++++++++++-------- .../module/salesforce/apex/config/apex.yml | 4 ++-- .../module/salesforce/apex/manifest.yml | 3 ++- .../module/salesforce/login/config/login.yml | 4 ++-- .../module/salesforce/login/manifest.yml | 3 ++- .../salesforce/logout/config/logout.yml | 4 ++-- .../module/salesforce/logout/manifest.yml | 3 ++- .../config/setupaudittrail.yml | 4 ++-- .../salesforce/setupaudittrail/manifest.yml | 3 ++- 9 files changed, 28 insertions(+), 20 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/config.yml b/x-pack/filebeat/module/salesforce/_meta/config.yml index 041bdd3d759..594fb1b681b 100644 --- a/x-pack/filebeat/module/salesforce/_meta/config.yml +++ b/x-pack/filebeat/module/salesforce/_meta/config.yml @@ -3,19 +3,18 @@ # Common Configurations: # - enabled: Set to true to enable ingestion of Salesforce module fileset # - initial_interval: Initial interval for log collection. This setting determines the time period for which the logs will be initially collected when the ingestion process starts, i.e. 1d/h/m/s -# - log_file_interval: Interval type for log file collection, either Hourly or Daily # - api_version: API version for Salesforce, version should be grater than 46.0 # Authentication Configurations: # JWT Authentication: -# - jwt_enabled: Set to true if JWT authentication is enabled, if false, user-password authentication will be used +# - jwt_authentication_enabled: Set to true if JWT authentication is enabled # - client_id: Client ID for JWT and user-password authentication # - client_username: Username for JWT authentication # - client_key_path: Path to client key for JWT authentication # - jwt_url: Audience URL for JWT authentication # User-Password Authentication: -# - jwt_enabled: Set to false if user-password authentication is enabled +# - user_pass_authentication_enabled: Set to false if user-password authentication is enabled # - client_id: Client ID for JWT and user-password authentication # - client_secret: Client secret for user-password authentication # - token_url: Token URL for user-password authentication @@ -23,13 +22,14 @@ # - password: Password for user-password authentication # - url: URL for user-password authentication -# Real-time Logging: +# Event Monitoring: # - real_time: Set to true to enable real-time logging # - real_time_interval: Interval for real-time logging # Event Log File: # - event_log_file: Set to true to enable event log file # - elf_interval: Interval for event log file +# - log_file_interval: Interval type for log file collection, either Hourly or Daily - module: salesforce @@ -39,13 +39,14 @@ var.log_file_interval: Hourly var.api_version: 56 - var.jwt_enabled: true + var.jwt_authentication_enabled: true var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" var.client_username: "abc.xyz@mail.com" var.client_key_path: client_key.pem var.jwt_url: https://login.salesforce.com + var.user_pass_authentication_enabled: true var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" var.token_url: "https://login.salesforce.com" var.user: "abc.xyz@mail.com" @@ -60,13 +61,14 @@ var.log_file_interval: Hourly var.api_version: 56 - var.jwt_enabled: true + var.jwt_authentication_enabled: true var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" var.client_username: "abc.xyz@mail.com" var.client_key_path: client_key.pem var.jwt_url: https://login.salesforce.com + var.user_pass_authentication_enabled: true var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" var.token_url: "https://login.salesforce.com" var.user: "abc.xyz@mail.com" @@ -85,13 +87,14 @@ var.log_file_interval: Hourly var.api_version: 56 - var.jwt_enabled: true + var.jwt_authentication_enabled: true var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" var.client_username: "abc.xyz@mail.com" var.client_key_path: client_key.pem var.jwt_url: https://login.salesforce.com + var.user_pass_authentication_enabled: true var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" var.token_url: "https://login.salesforce.com" var.user: "abc.xyz@mail.com" @@ -109,13 +112,14 @@ var.initial_interval: 1d var.api_version: 56 - var.jwt_enabled: true + var.jwt_authentication_enabled: true var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" var.client_username: "abc.xyz@mail.com" var.client_key_path: client_key.pem var.jwt_url: https://login.salesforce.com + var.user_pass_authentication_enabled: true var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" var.token_url: "https://login.salesforce.com" var.user: "abc.xyz@mail.com" diff --git a/x-pack/filebeat/module/salesforce/apex/config/apex.yml b/x-pack/filebeat/module/salesforce/apex/config/apex.yml index 5425c9dbe24..cf55c995aea 100644 --- a/x-pack/filebeat/module/salesforce/apex/config/apex.yml +++ b/x-pack/filebeat/module/salesforce/apex/config/apex.yml @@ -6,7 +6,7 @@ enabled: true version: {{ .api_version }} {{ end }} auth.oauth2: -{{ if .jwt_enabled }} +{{ if .jwt_authentication_enabled }} jwt_bearer_flow: enabled: true {{ if .client_id }} @@ -21,7 +21,7 @@ auth.oauth2: {{ if .jwt_url }} url: {{ .jwt_url }} {{ end }} -{{ else }} +{{ else if .user_pass_authentication_enabled }} user_password_flow: enabled: true {{ if .client_id }} diff --git a/x-pack/filebeat/module/salesforce/apex/manifest.yml b/x-pack/filebeat/module/salesforce/apex/manifest.yml index b806a78b899..267cc6672f6 100644 --- a/x-pack/filebeat/module/salesforce/apex/manifest.yml +++ b/x-pack/filebeat/module/salesforce/apex/manifest.yml @@ -6,7 +6,8 @@ var: - name: tags default: [salesforce-apex,forwarded] - name: api_version - - name: jwt_enabled + - name: jwt_authentication_enabled + - name: user_pass_authentication_enabled - name: client_id - name: client_username - name: client_key_path diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml index 9d6c96542c7..96e7c1049d7 100644 --- a/x-pack/filebeat/module/salesforce/login/config/login.yml +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -6,7 +6,7 @@ enabled: true version: {{ .api_version }} {{ end }} auth.oauth2: -{{ if .jwt_enabled }} +{{ if .jwt_authentication_enabled }} jwt_bearer_flow: enabled: true {{ if .client_id }} @@ -21,7 +21,7 @@ auth.oauth2: {{ if .jwt_url }} url: {{ .jwt_url }} {{ end }} -{{ else }} +{{ else if .user_pass_authentication_enabled }} user_password_flow: enabled: true {{ if .client_id }} diff --git a/x-pack/filebeat/module/salesforce/login/manifest.yml b/x-pack/filebeat/module/salesforce/login/manifest.yml index e67a156a685..f8fa6fef0b6 100644 --- a/x-pack/filebeat/module/salesforce/login/manifest.yml +++ b/x-pack/filebeat/module/salesforce/login/manifest.yml @@ -6,7 +6,8 @@ var: - name: tags default: [salesforce-login, forwarded] - name: api_version - - name: jwt_enabled + - name: jwt_authentication_enabled + - name: user_pass_authentication_enabled - name: client_id - name: client_username - name: client_key_path diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml index ab5708c1f73..20cdb65f5fe 100644 --- a/x-pack/filebeat/module/salesforce/logout/config/logout.yml +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -6,7 +6,7 @@ enabled: true version: {{ .api_version }} {{ end }} auth.oauth2: -{{ if .jwt_enabled }} +{{ if .jwt_authentication_enabled }} jwt_bearer_flow: enabled: true {{ if .client_id }} @@ -21,7 +21,7 @@ auth.oauth2: {{ if .jwt_url }} url: {{ .jwt_url }} {{ end }} -{{ else }} +{{ else if .user_pass_authentication_enabled }} user_password_flow: enabled: true {{ if .client_id }} diff --git a/x-pack/filebeat/module/salesforce/logout/manifest.yml b/x-pack/filebeat/module/salesforce/logout/manifest.yml index 7385aee69cf..88d111a4966 100644 --- a/x-pack/filebeat/module/salesforce/logout/manifest.yml +++ b/x-pack/filebeat/module/salesforce/logout/manifest.yml @@ -6,7 +6,8 @@ var: - name: tags default: [salesforce-logout, forwarded] - name: api_version - - name: jwt_enabled + - name: jwt_authentication_enabled + - name: user_pass_authentication_enabled - name: client_id - name: client_username - name: client_key_path diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml index 506c51d7dc9..4fd90eb74e5 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -6,7 +6,7 @@ enabled: true version: {{ .api_version }} {{ end }} auth.oauth2: -{{ if .jwt_enabled }} +{{ if .jwt_authentication_enabled }} jwt_bearer_flow: enabled: true {{ if .client_id }} @@ -21,7 +21,7 @@ auth.oauth2: {{ if .jwt_url }} url: {{ .jwt_url }} {{ end }} -{{ else }} +{{ else if .user_pass_authentication_enabled }} user_password_flow: enabled: true {{ if .client_id }} diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml index 9412a14ef6c..a6d29dd5bef 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml @@ -6,7 +6,8 @@ var: - name: tags default: [salesforce-setupaudittrail, forwarded] - name: api_version - - name: jwt_enabled + - name: jwt_authentication_enabled + - name: user_pass_authentication_enabled - name: client_id - name: client_username - name: client_key_path From ab2f34486c968b13373d7982fcccc026ecf3ba3c Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 1 Feb 2024 15:59:21 +0530 Subject: [PATCH 092/172] update documentation --- x-pack/filebeat/filebeat.reference.yml | 10 +- .../module/salesforce/_meta/config.yml | 10 +- .../module/salesforce/_meta/docs.asciidoc | 352 ++++++++++++------ .../modules.d/salesforce.yml.disabled | 10 +- 4 files changed, 260 insertions(+), 122 deletions(-) diff --git a/x-pack/filebeat/filebeat.reference.yml b/x-pack/filebeat/filebeat.reference.yml index 4539fdef30b..e943310e090 100644 --- a/x-pack/filebeat/filebeat.reference.yml +++ b/x-pack/filebeat/filebeat.reference.yml @@ -1916,7 +1916,6 @@ filebeat.modules: apex: enabled: false var.initial_interval: 1d - var.log_file_interval: Hourly var.api_version: 56 var.jwt_authentication_enabled: true @@ -1933,12 +1932,14 @@ filebeat.modules: var.password: "P@$$W0₹D" var.url: "https://instance_id.my.salesforce.com" + + var.event_log_file: true var.elf_interval: 1h + var.log_file_interval: Hourly login: enabled: false var.initial_interval: 1d - var.log_file_interval: Hourly var.api_version: 56 var.jwt_authentication_enabled: true @@ -1958,13 +1959,14 @@ filebeat.modules: var.event_log_file: true var.elf_interval: 1h + var.log_file_interval: Hourly + var.real_time: true var.real_time_interval: 5m logout: enabled: false var.initial_interval: 1d - var.log_file_interval: Hourly var.api_version: 56 var.jwt_authentication_enabled: true @@ -1984,6 +1986,8 @@ filebeat.modules: var.event_log_file: true var.elf_interval: 1h + var.log_file_interval: Hourly + var.real_time: true var.real_time_interval: 5m diff --git a/x-pack/filebeat/module/salesforce/_meta/config.yml b/x-pack/filebeat/module/salesforce/_meta/config.yml index 594fb1b681b..12fac4b74e0 100644 --- a/x-pack/filebeat/module/salesforce/_meta/config.yml +++ b/x-pack/filebeat/module/salesforce/_meta/config.yml @@ -36,7 +36,6 @@ apex: enabled: false var.initial_interval: 1d - var.log_file_interval: Hourly var.api_version: 56 var.jwt_authentication_enabled: true @@ -53,12 +52,14 @@ var.password: "P@$$W0₹D" var.url: "https://instance_id.my.salesforce.com" + + var.event_log_file: true var.elf_interval: 1h + var.log_file_interval: Hourly login: enabled: false var.initial_interval: 1d - var.log_file_interval: Hourly var.api_version: 56 var.jwt_authentication_enabled: true @@ -78,13 +79,14 @@ var.event_log_file: true var.elf_interval: 1h + var.log_file_interval: Hourly + var.real_time: true var.real_time_interval: 5m logout: enabled: false var.initial_interval: 1d - var.log_file_interval: Hourly var.api_version: 56 var.jwt_authentication_enabled: true @@ -104,6 +106,8 @@ var.event_log_file: true var.elf_interval: 1h + var.log_file_interval: Hourly + var.real_time: true var.real_time_interval: 5m diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index edfce0ea7ad..83de7fc4ba7 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -8,295 +8,421 @@ This is a module for Salesforce logs. It collects the logs using the following two different types of inputs: -- `httpjson` input: collects historical data from Salesforce REST API. -- `cometd` input: collects real-time data from Salesforce Streaming API. +- `salesforce` input: collects real-time and historical data using Salesforce REST API. It includes the following filesets for receiving logs: -- `login-rest` fileset: supports Salesforce Login logs received from the REST API. -- `login-stream` fileset: supports Salesforce Login logs received from the Streaming API. -- `logout-rest` fileset: supports Salesforce Logout logs received from the REST API. -- `logout-stream` fileset: supports Salesforce Logout logs received from the Streaming API. -- `apex-rest` fileset: supports Salesforce Apex logs received from the REST API. -- `setupaudittrail-rest` fileset: supports logs generated when admins make in your org’s Setup area. +- `login` fileset: supports Salesforce Login logs received from the EventLogFile and Event Monitoring using Salesforce REST API. +- `logout` fileset: supports Salesforce Logout logs received from the EventLogFile and Event Monitoring using Salesforce REST API. +- `apex` fileset: supports Salesforce Apex logs received from the the EventLogFile using Salesforce REST API. +- `setupaudittrail` fileset: supports logs generated when admins make in your org’s Setup area, collected using Salesforce REST API. -Note: We can leverage the inputs provided above to collect the rest of the events from the Salesforce REST or Streaming API. +Note: +- We can leverage the inputs provided above to collect the rest of the events from the Salesforce REST API. +- The default value of `var.real_time_interval` or `var.elf_interval` is 5m/1h. It is important to exercise caution when reducing the interval, as it directly affects the API rate limit of the Salesforce instance. Salesforce API rate limit is ~1000 API calls per hour. Hence if user goes with lower limit of `var.real_time_interval` or `var.elf_interval`, the Salesforce API rate limit will exceed and any additional API requests beyond the limit will result in an error response from the Salesforce API. The error message will typically indicate that the rate limit has been exceeded. Please refer to the following link for the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit]. include::../include/what-happens.asciidoc[] include::../include/gs-link.asciidoc[] [float] -==== `login-rest` fileset settings +==== `login` fileset settings Example config: [source,yaml] ---- - module: salesforce - login-rest: + login: enabled: true + var.initial_interval: 1d + var.api_version: 56 + + var.jwt_authentication_enabled: true + var.client_id: "my-client-id" + var.client_username: "my.email@here.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com + + var.user_pass_authentication_enabled: true var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.token_url: "https://login.salesforce.com" var.user: "my.email@here.com" var.password: "password" - var.url: "https://instance-url.salesforce.com" ----- - -include::../include/var-paths.asciidoc[] -*`var.client_id`*:: + var.url: "https://instance-url.salesforce.com" -Oauth client ID. + var.event_log_file: true + var.elf_interval: 1h + var.log_file_interval: Hourly -*`var.client_secret`*:: + var.real_time: true + var.real_time_interval: 5m +---- -Oauth client secret. +include::../include/var-paths.asciidoc[] -*`var.token_url`*:: +*`var.initial_interval`*:: -Oauth token URL. +The initial interval for the `login` fileset. It defines the time window in which the `login` fileset collects logs of historical data. -*`var.user`*:: +*`var.api_version`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The API version of the Salesforce instance. -*`var.password`*:: +*`var.jwt_authentication_enabled`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +Set to true if JWT authentication is enabled. -*`var.url`*:: +*`var.client_username`*:: -The URL of the Saleforce instance. +The username used for JWT authentication. -[float] -==== `login-stream` fileset settings +*`var.client_key_path`*:: -Example config: +Path to the client key for JWT authentication. -[source,yaml] ----- -- module: salesforce - login-stream: - enabled: true - var.client_id: "my-client-id" - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" - var.user: "my.email@here.com" - var.password: "password" - var.url: "https://instance-url.salesforce.com" ----- +*`var.jwt_url`*:: -include::../include/var-paths.asciidoc[] +The audience URL for JWT authentication. -*`var.client_id`*:: +*`var.user_pass_authentication_enabled`*:: -Oauth client ID. +Set to false if user-password authentication is enabled. *`var.client_secret`*:: -Oauth client secret. +The client secret for user-password authentication. *`var.token_url`*:: -Oauth token URL. +The token URL for user-password authentication. *`var.user`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The user used for user-password authentication. *`var.password`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +The password used for user-password authentication. *`var.url`*:: The URL of the Saleforce instance. +*`var.event_log_file`*:: + +Set to true to enable event log file data collection. Module will use EventLogFile data collection method. + +*`var.elf_interval`*:: + +The Period for fetching event log file data, i.e. 1s/1m/1h. + +*`var.log_file_interval`*:: + +The interval type of EventLogFile data collection. Either Hourly or Daily. + +*`var.real_time`*:: + +Set to true to enable real-time data collection. + +*`var.real_time_interval`*:: + +The Period for fetching real-time data, i.e. 1s/1m/1h. + [float] -==== `logout-rest` fileset settings +==== `logout` fileset settings Example config: [source,yaml] ---- - module: salesforce - logout-rest: + logout: enabled: true + var.initial_interval: 1d + var.api_version: 56 + + var.jwt_authentication_enabled: true + var.client_id: "my-client-id" + var.client_username: "my.email@here.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com + + var.user_pass_authentication_enabled: true var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.token_url: "https://login.salesforce.com" var.user: "my.email@here.com" var.password: "password" + var.url: "https://instance-url.salesforce.com" + + var.event_log_file: true + var.elf_interval: 1h + var.log_file_interval: Hourly + + var.real_time: true + var.real_time_interval: 5m ---- include::../include/var-paths.asciidoc[] -*`var.client_id`*:: +*`var.initial_interval`*:: -Oauth client ID. +The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. -*`var.client_secret`*:: +*`var.api_version`*:: -Oauth client secret. +The API version of the Salesforce instance. -*`var.token_url`*:: +*`var.jwt_authentication_enabled`*:: -Oauth token URL. +Set to true if JWT authentication is enabled. -*`var.user`*:: +*`var.client_username`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The username used for JWT authentication. -*`var.password`*:: +*`var.client_key_path`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +Path to the client key for JWT authentication. -*`var.url`*:: +*`var.jwt_url`*:: -The URL of the Saleforce instance. +The audience URL for JWT authentication. -[float] -==== `logout-stream` fileset settings +*`var.user_pass_authentication_enabled`*:: -Example config: - -[source,yaml] ----- -- module: salesforce - logout-stream: - enabled: true - var.client_id: "my-client-id" - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" - var.user: "my.email@here.com" - var.password: "password" - var.url: "https://instance-url.salesforce.com" ----- - -include::../include/var-paths.asciidoc[] - -*`var.client_id`*:: - -Oauth client ID. +Set to false if user-password authentication is enabled. *`var.client_secret`*:: -Oauth client secret. +The client secret for user-password authentication. *`var.token_url`*:: -Oauth token URL. +The token URL for user-password authentication. *`var.user`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The user used for user-password authentication. *`var.password`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +The password used for user-password authentication. *`var.url`*:: The URL of the Saleforce instance. +*`var.event_log_file`*:: + +Set to true to enable event log file data collection. Module will use EventLogFile data collection method. + +*`var.elf_interval`*:: + +The Period for fetching event log file data, i.e. 1s/1m/1h. + +*`var.log_file_interval`*:: + +The interval type of EventLogFile data collection. Either Hourly or Daily. + +*`var.real_time`*:: + +Set to true to enable real-time data collection. + +*`var.real_time_interval`*:: + +The Period for fetching real-time data, i.e. 1s/1m/1h. + [float] -==== `setupaudittrail-rest` fileset settings +==== `setupaudittrail` fileset settings Example config: [source,yaml] ---- - module: salesforce - setupaudittrail-rest: + setupaudittrail: enabled: true + var.initial_interval: 1d + var.api_version: 56 + + var.jwt_authentication_enabled: true + var.client_id: "my-client-id" + var.client_username: "my.email@here.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com + + var.user_pass_authentication_enabled: true var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.token_url: "https://login.salesforce.com" var.user: "my.email@here.com" var.password: "password" + var.url: "https://instance-url.salesforce.com" - var.interval: 1h + + var.real_time: true + var.real_time_interval: 5m ---- include::../include/var-paths.asciidoc[] -*`var.client_id`*:: +*`var.initial_interval`*:: + +The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. + +*`var.api_version`*:: + +The API version of the Salesforce instance. + +*`var.jwt_authentication_enabled`*:: + +Set to true if JWT authentication is enabled. + +*`var.client_username`*:: + +The username used for JWT authentication. -Oauth client ID. +*`var.client_key_path`*:: + +Path to the client key for JWT authentication. + +*`var.jwt_url`*:: + +The audience URL for JWT authentication. + +*`var.user_pass_authentication_enabled`*:: + +Set to false if user-password authentication is enabled. *`var.client_secret`*:: -Oauth client secret. +The client secret for user-password authentication. *`var.token_url`*:: -Oauth token URL. +The token URL for user-password authentication. *`var.user`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The user used for user-password authentication. *`var.password`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +The password used for user-password authentication. *`var.url`*:: The URL of the Saleforce instance. -*`var.interval`*:: +*`var.real_time`*:: + +Set to true to enable real-time data collection. -Period of fetching logs, i.e. 1s/1m/1h. +*`var.real_time_interval`*:: -Note: The default value of `var.interval` is 1h. It is important to exercise caution when reducing the interval, as it directly affects the API rate limit of the Salesforce instance. Salesforce API rate limit is ~1000 API calls per hour. Hence if user goes with lower limit of var.interval, the Salesforce API rate limit will exceed and any additional API requests beyond the limit will result in an error response from the Salesforce API. The error message will typically indicate that the rate limit has been exceeded. Please refer to the following link for the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit]. +The Period for fetching real-time data, i.e. 1s/1m/1h. [float] -==== `apex-rest` fileset settings +==== `apex` fileset settings Example config: [source,yaml] ---- - module: salesforce - apex-rest: + apex: enabled: true + var.initial_interval: 1d + var.log_file_interval: Hourly + var.api_version: 56 + + var.jwt_authentication_enabled: true + var.client_id: "my-client-id" + var.client_username: "my.email@here.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com + + var.user_pass_authentication_enabled: true var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.token_url: "https://login.salesforce.com" var.user: "my.email@here.com" var.password: "password" + var.url: "https://instance-url.salesforce.com" + + var.event_log_file: true + var.elf_interval: 1h + var.log_file_interval: Hourly ---- include::../include/var-paths.asciidoc[] -*`var.client_id`*:: +*`var.initial_interval`*:: + +The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. + +*`var.api_version`*:: + +The API version of the Salesforce instance. + +*`var.jwt_authentication_enabled`*:: -Oauth client ID. +Set to true if JWT authentication is enabled. + +*`var.client_username`*:: + +The username used for JWT authentication. + +*`var.client_key_path`*:: + +Path to the client key for JWT authentication. + +*`var.jwt_url`*:: + +The audience URL for JWT authentication. + +*`var.user_pass_authentication_enabled`*:: + +Set to false if user-password authentication is enabled. *`var.client_secret`*:: -Oauth client secret. +The client secret for user-password authentication. *`var.token_url`*:: -Oauth token URL. +The token URL for user-password authentication. *`var.user`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The user used for user-password authentication. *`var.password`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +The password used for user-password authentication. *`var.url`*:: The URL of the Saleforce instance. +*`var.event_log_file`*:: + +Set to true to enable event log file data collection. Module will use EventLogFile data collection method. + +*`var.elf_interval`*:: + +The Period for fetching event log file data, i.e. 1s/1m/1h. + +*`var.log_file_interval`*:: + +The interval type of EventLogFile data collection. Either Hourly or Daily. + [float] === Example dashboard diff --git a/x-pack/filebeat/modules.d/salesforce.yml.disabled b/x-pack/filebeat/modules.d/salesforce.yml.disabled index 917a8536ad4..7b33da495be 100644 --- a/x-pack/filebeat/modules.d/salesforce.yml.disabled +++ b/x-pack/filebeat/modules.d/salesforce.yml.disabled @@ -39,7 +39,6 @@ apex: enabled: false var.initial_interval: 1d - var.log_file_interval: Hourly var.api_version: 56 var.jwt_authentication_enabled: true @@ -56,12 +55,14 @@ var.password: "P@$$W0₹D" var.url: "https://instance_id.my.salesforce.com" + + var.event_log_file: true var.elf_interval: 1h + var.log_file_interval: Hourly login: enabled: false var.initial_interval: 1d - var.log_file_interval: Hourly var.api_version: 56 var.jwt_authentication_enabled: true @@ -81,13 +82,14 @@ var.event_log_file: true var.elf_interval: 1h + var.log_file_interval: Hourly + var.real_time: true var.real_time_interval: 5m logout: enabled: false var.initial_interval: 1d - var.log_file_interval: Hourly var.api_version: 56 var.jwt_authentication_enabled: true @@ -107,6 +109,8 @@ var.event_log_file: true var.elf_interval: 1h + var.log_file_interval: Hourly + var.real_time: true var.real_time_interval: 5m From b431987eb8c70e06aa861a76802f1347df0d101a Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 5 Feb 2024 11:25:03 +0530 Subject: [PATCH 093/172] add event.provider --- x-pack/filebeat/input/salesforce/input.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 0e83b985aad..351f0a34ed3 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -258,7 +258,7 @@ func (s *salesforceInput) RunObject() error { s.cursor.Object.LastEventTime = timstamp } - err = publishEvent(s.publisher, s.cursor, jsonStrEvent) + err = publishEvent(s.publisher, s.cursor, jsonStrEvent, "Object") if err != nil { return err } @@ -356,7 +356,7 @@ func (s *salesforceInput) RunEventLogFile() error { return err } - err = publishEvent(s.publisher, s.cursor, jsonStrEvent) + err = publishEvent(s.publisher, s.cursor, jsonStrEvent, "EventLogFile") if err != nil { return err } @@ -437,11 +437,14 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { } // publishEvent publishes an event using the configured publisher pub. -func publishEvent(pub inputcursor.Publisher, cursor *state, jsonStrEvent []byte) error { +func publishEvent(pub inputcursor.Publisher, cursor *state, jsonStrEvent []byte, dataCollectionMethod string) error { event := beat.Event{ Timestamp: timeNow(), Fields: mapstr.M{ "message": string(jsonStrEvent), + "event": mapstr.M{ + "provider": dataCollectionMethod, + }, }, } From 41879dee23cb905f62fa53da2e29e8dfd9881815 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 5 Feb 2024 17:19:50 +0530 Subject: [PATCH 094/172] Apex: update ingest pipeline --- x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index 9af3151aba2..660d2866ff8 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -9,11 +9,6 @@ processors: - message ignore_missing: true -- set: - field: salesforce.access_mode - value: rest - ignore_failure: true - - date: field: json.TIMESTAMP_DERIVED target_field: "@timestamp" From eb5e1383546ae8d4e4937b7f81e32a7603af95fa Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 5 Feb 2024 17:21:29 +0530 Subject: [PATCH 095/172] SetupAuditTrail: update ingest pipeline --- .../module/salesforce/setupaudittrail/ingest/pipeline.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index 2c86704d117..45182032fd1 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -13,11 +13,6 @@ processors: - message ignore_missing: true -- set: - field: salesforce.access_mode - value: rest - ignore_failure: true - - date: field: json.CreatedDate target_field: "@timestamp" From 2303896688aced2d7940adeb9df32b7e386d9bd2 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 5 Feb 2024 17:56:24 +0530 Subject: [PATCH 096/172] Login: update ingest pipeline --- .../salesforce/login/ingest/pipeline.yml | 212 +++++++++++++++++- 1 file changed, 203 insertions(+), 9 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml index 2f2de778a0f..8c466dae618 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml @@ -1,5 +1,5 @@ --- -description: Pipeline for parsing Salesforce Login (REST) logs +description: Pipeline for parsing Salesforce Login logs processors: - set: field: event.ingested @@ -9,10 +9,9 @@ processors: - message ignore_missing: true -- set: - field: salesforce.access_mode - value: rest - ignore_failure: true +########################## +## Common Field Mapping ## +########################## - date: field: json.TIMESTAMP_DERIVED @@ -20,31 +19,61 @@ processors: formats: - ISO8601 ignore_failure: true +- date: + field: json.EventDate + target_field: "@timestamp" + formats: + - ISO8601 + ignore_failure: true - rename: field: json.API_TYPE target_field: salesforce.login.api_type ignore_missing: true +- rename: + field: json.ApiType + target_field: salesforce.login.api_type + ignore_missing: true + - rename: field: json.AUTHENTICATION_METHOD_REFERENCE target_field: salesforce.login.authentication_method_reference ignore_missing: true - rename: - field: json.REQUEST_STATUS - target_field: salesforce.login.request_status + field: json.AuthMethodReference + target_field: salesforce.login.authentication_method_reference ignore_missing: true + - rename: field: json.API_VERSION target_field: salesforce.login.api_version ignore_missing: true - rename: - field: json.USER_ID_DERIVED - target_field: salesforce.login.user_id_derived + field: json.ApiVersion + target_field: salesforce.login.api_version ignore_missing: true + - rename: field: json.LOGIN_KEY target_field: salesforce.login.login_key ignore_missing: true +- rename: + field: json.LoginKey + target_field: salesforce.login.login_key + ignore_missing: true + +################################ +## Extra EventLogFile Mapping ## +################################ + +- rename: + field: json.REQUEST_STATUS + target_field: salesforce.login.request_status + ignore_missing: true +- rename: + field: json.USER_ID_DERIVED + target_field: salesforce.login.user_id_derived + ignore_missing: true - rename: field: json.EVENT_TYPE target_field: salesforce.login.event_type @@ -78,6 +107,67 @@ processors: target_field: salesforce.login.uri_id_derived ignore_missing: true +########################## +## Extra Object Mapping ## +########################## + +- rename: + field: json.schema + target_field: salesforce.login.schema + ignore_missing: true +- rename: + field: json.LoginType + target_field: salesforce.login.login_type + ignore_missing: true +- rename: + field: json.PolicyOutcome + target_field: salesforce.login.policy_outcome + ignore_missing: true +- rename: + field: json.AuthServiceId + target_field: salesforce.login.auth_service_id + ignore_missing: true +- rename: + field: json.EvaluationTime + target_field: salesforce.login.evaluation_time + ignore_missing: true +- rename: + field: json.ClientVersion + target_field: salesforce.login.client_version + ignore_missing: true +- rename: + field: json.LoginGeoId + target_field: salesforce.login.login_geo_id + ignore_missing: true +- rename: + field: json.LoginHistoryId + target_field: salesforce.login.login_history_id + ignore_missing: true +- rename: + field: json.CreatedById + target_field: salesforce.login.created_by_id + ignore_missing: true +- rename: + field: json.RelatedEventIdentifier + target_field: salesforce.login.related_event_identifier + ignore_missing: true +- rename: + field: json.Application + target_field: salesforce.login.application + ignore_missing: true +- rename: + field: json.PolicyId + target_field: salesforce.login.policy_id + ignore_missing: true +- rename: + field: json.SessionLevel + target_field: salesforce.login.session_level + ignore_missing: true +- rename: + field: json.replayId + target_field: salesforce.login.replay_id + ignore_missing: true + ####################### ## ECS Event Mapping ## ####################### @@ -86,11 +176,22 @@ processors: field: json.URI target_field: event.url ignore_missing: true +- rename: + field: json.LoginUrl + target_field: event.url + ignore_missing: true + - set: field: event.outcome value: success if: 'ctx?.json?.LOGIN_STATUS == "LOGIN_NO_ERROR" && ctx?.json?.LOGIN_STATUS != null' ignore_failure: true +- set: + field: event.outcome + value: success + if: 'ctx?.json?.Status == "Success" && ctx?.json?.Status != null' + ignore_failure: true + - set: field: event.outcome value: failure @@ -115,6 +216,13 @@ processors: field: event.module value: "salesforce" +- date: + field: json.CreatedDate + target_field: event.created + formats: + - ISO8601 + ignore_failure: true + ###################### ## ECS User Mapping ## ###################### @@ -125,14 +233,28 @@ processors: field: json.USER_NAME target_field: user.email ignore_missing: true +- rename: + field: json.Username + target_field: user.email + ignore_missing: true + - rename: field: json.USER_ID target_field: user.id ignore_missing: true +- rename: + field: json.UserId + target_field: user.id + ignore_missing: true + - rename: field: json.USER_TYPE target_field: user.roles ignore_missing: true +- rename: + field: json.UserType + target_field: user.roles + ignore_missing: true ######################## ## ECS Source Mapping ## @@ -143,15 +265,56 @@ processors: target_field: source.ip ignore_missing: true if: 'ctx?.json?.SOURCE_IP != "Salesforce.com IP"' +- rename: + field: json.SourceIp + target_field: source.ip + ignore_missing: true ############################ ## ECS Source.Geo Mapping ## ############################ +- rename: + field: json.LoginLatitude + target_field: source.geo.location.lat + ignore_missing: true + if: 'ctx?.event?.provider == "Object"' +- rename: + field: json.LoginLongitude + target_field: source.geo.location.lon + ignore_missing: true + if: 'ctx?.event?.provider == "Object"' +- rename: + field: json.CountryIso + target_field: source.geo.country_iso_code + ignore_missing: true + if: 'ctx?.event?.provider == "Object"' +- rename: + field: json.PostalCode + target_field: source.geo.postal_code + ignore_missing: true + if: 'ctx?.event?.provider == "Object"' +- rename: + field: json.City + target_field: source.geo.city_name + ignore_missing: true + if: 'ctx?.event?.provider == "Object"' +- rename: + field: json.Subdivision + target_field: source.geo.region_name + ignore_missing: true + if: 'ctx?.event?.provider == "Object"' +- rename: + field: json.Country + target_field: source.geo.country_name + ignore_missing: true + if: 'ctx?.event?.provider == "Object"' + - geoip: field: source.ip target_field: source.geo ignore_missing: true + if: 'ctx?.event?.provider == "EventLogFile"' ############################ ## ECS Related.ip Mapping ## @@ -180,6 +343,28 @@ processors: target_field: user_agent.name ignore_missing: true +- rename: + field: json.Browser + target_field: user_agent.name + ignore_missing: true +- rename: + field: json.Platform + target_field: user_agent.os.platform + ignore_missing: true + +###################### +## ECS HTTP Mapping ## +###################### + +- rename: + field: json.HttpMethod + target_field: http.request.method + ignore_missing: true +- rename: + field: json.AdditionalInfo + target_field: http.request.body.content + ignore_missing: true + ##################### ## ECS TLS Mapping ## ##################### @@ -188,10 +373,19 @@ processors: field: json.CIPHER_SUITE target_field: tls.cipher ignore_missing: true +- rename: + field: json.CipherSuite + target_field: tls.cipher + ignore_missing: true + - dissect: pattern: "%{tls.version_protocol}v%{tls.version}" field: "json.TLS_PROTOCOL" ignore_failure: true +- dissect: + pattern: "%{tls.version_protocol} %{tls.version}" + field: "json.TlsProtocol" + ignore_failure: true ############# ## Cleanup ## From ae075acede95e12e4c82f51c302fed8bd6dd8681 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 5 Feb 2024 18:12:31 +0530 Subject: [PATCH 097/172] Logout: update ingest pipeline --- .../salesforce/logout/ingest/pipeline.yml | 116 +++++++++++++----- 1 file changed, 88 insertions(+), 28 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml index 8222f65372a..490d598e684 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml @@ -9,10 +9,9 @@ processors: - message ignore_missing: true -- set: - field: salesforce.access_mode - value: rest - ignore_failure: true +########################## +## Common Field Mapping ## +########################## - date: field: json.TIMESTAMP_DERIVED @@ -20,64 +19,105 @@ processors: formats: - ISO8601 ignore_failure: true +- date: + field: json.EventDate + target_field: "@timestamp" + formats: + - ISO8601 + ignore_failure: true + +- rename: + field: json.SESSION_LEVEL + target_field: salesforce.logout.session_level + ignore_missing: true +- rename: + field: json.SessionLevel + target_field: salesforce.logout.session_level + ignore_missing: true + +- rename: + field: json.LOGIN_KEY + target_field: salesforce.logout.login_key + ignore_missing: true +- rename: + field: json.LoginKey + target_field: salesforce.logout.login_key + ignore_missing: true -- rename: +################################ +## Extra EventLogFile Mapping ## +################################ + +- rename: field: json.SESSION_TYPE target_field: salesforce.logout.session_type ignore_missing: true -- rename: +- rename: field: json.EVENT_TYPE target_field: salesforce.logout.event_type ignore_missing: true -- rename: - field: json.SESSION_LEVEL - target_field: salesforce.logout.session_level - ignore_missing: true -- rename: +- rename: field: json.BROWSER_TYPE target_field: salesforce.logout.browser_type ignore_missing: true -- rename: +- rename: field: json.PLATFORM_TYPE target_field: salesforce.logout.platform_type ignore_missing: true -- rename: +- rename: field: json.RESOLUTION_TYPE target_field: salesforce.logout.resolution_type ignore_missing: true -- rename: +- rename: field: json.APP_TYPE target_field: salesforce.logout.app_type ignore_missing: true -- rename: +- rename: field: json.CLIENT_VERSION target_field: salesforce.logout.client_version ignore_missing: true -- rename: +- rename: field: json.API_TYPE target_field: salesforce.logout.api_type ignore_missing: true -- rename: +- rename: field: json.API_VERSION target_field: salesforce.logout.api_version ignore_missing: true -- rename: +- rename: field: json.USER_INITIATED_LOGOUT target_field: salesforce.logout.user_initiated_logout ignore_missing: true -- rename: - field: json.LOGIN_KEY - target_field: salesforce.logout.login_key - ignore_missing: true -- rename: +- rename: field: json.USER_ID_DERIVED target_field: salesforce.logout.user_id_derived ignore_missing: true -- rename: +- rename: field: json.ORGANIZATION_ID target_field: salesforce.logout.organization_by_id ignore_missing: true +########################## +## Extra Object Mapping ## +########################## + +- rename: + field: json.schema + target_field: salesforce.logout.schema + ignore_missing: true +- rename: + field: json.CreatedById + target_field: salesforce.logout.created_by_id + ignore_missing: true +- rename: + field: json.RelatedEventIdentifier + target_field: salesforce.logout.related_event_identifier + ignore_missing: true +- rename: + field: json.replayId + target_field: salesforce.logout.replay_id + ignore_missing: true + ####################### ## ECS Event Mapping ## ####################### @@ -105,17 +145,33 @@ processors: target_field: event.code ignore_missing: true +- date: + field: json.CreatedDate + target_field: event.created + formats: ["yyyy-MM-ddTHH:mm:ssZ"] + ignore_failure: true + ###################### ## ECS User Mapping ## ###################### -- rename: +- rename: + field: json.USER_ID + target_field: user.id + ignore_missing: true +- rename: + field: json.UserId + target_field: user.id + ignore_missing: true + +- rename: field: json.USER_TYPE target_field: user.roles ignore_missing: true -- rename: - field: json.USER_ID - target_field: user.id + +- rename: + field: json.Username + target_field: user.email ignore_missing: true ######################## @@ -128,6 +184,10 @@ processors: target_field: source.ip ignore_missing: true if: 'ctx?.json?.CLIENT_IP != "Salesforce.com IP" && ctx?.json?.CLIENT_IP != ""' +- rename: + field: json.SourceIp + target_field: source.ip + ignore_missing: true ############################ ## ECS Source.Geo Mapping ## From b53f8eac94e64fbf11b0d42679e4d1c2177b003d Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 6 Feb 2024 17:42:57 +0530 Subject: [PATCH 098/172] fix go.mod --- go.mod | 1 - 1 file changed, 1 deletion(-) diff --git a/go.mod b/go.mod index 13219bce8c3..ed71ad6bebb 100644 --- a/go.mod +++ b/go.mod @@ -374,7 +374,6 @@ require ( go.opentelemetry.io/otel v1.21.0 // indirect go.opentelemetry.io/otel/metric v1.21.0 // indirect go.opentelemetry.io/otel/trace v1.21.0 // indirect - golang.org/x/exp v0.0.0-20231127185646-65229373498e // indirect golang.org/x/term v0.15.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect From 94ebc0d2ac46d5d1376b06e2be85b86376d79716 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 8 Feb 2024 00:55:50 +0530 Subject: [PATCH 099/172] update codeowners file --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0df9a9a5877..7be4e856828 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -121,6 +121,7 @@ CHANGELOG* /x-pack/filebeat/input/lumberjack/ @elastic/security-service-integrations /x-pack/filebeat/input/netflow/ @elastic/sec-deployment-and-devices /x-pack/filebeat/input/o365audit/ @elastic/security-service-integrations +/x-pack/filebeat/input/salesforce @elastic/obs-infraobs-integrations /x-pack/filebeat/module/activemq @elastic/obs-infraobs-integrations /x-pack/filebeat/module/aws @elastic/obs-cloud-monitoring /x-pack/filebeat/module/awsfargate @elastic/obs-cloud-monitoring From 433d128b08c014c07ef96b6024b6e6b98322c9ac Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 9 Feb 2024 01:53:31 +0530 Subject: [PATCH 100/172] Address review comments --- x-pack/filebeat/input/salesforce/input.go | 43 +++++++++++------------ 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 351f0a34ed3..67df096928f 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -228,7 +228,7 @@ func (s *salesforceInput) RunObject() error { } query, err := s.FormQueryWithCursor(s.config.EventMonitoringMethod.Object.Query, cursor) if err != nil { - return fmt.Errorf("error forming based on cursor: %w", err) + return fmt.Errorf("error forming query based on cursor: %w", err) } res, err := s.soqlr.Query(query, false) @@ -248,13 +248,10 @@ func (s *salesforceInput) RunObject() error { return err } - if firstEvent { - if timstamp, ok := val[s.config.EventMonitoringMethod.Object.Cursor.Field].(string); ok { + if timstamp, ok := val[s.config.EventMonitoringMethod.Object.Cursor.Field].(string); ok { + if firstEvent { s.cursor.Object.FirstEventTime = timstamp } - } - - if timstamp, ok := val[s.config.EventMonitoringMethod.Object.Cursor.Field].(string); ok { s.cursor.Object.LastEventTime = timstamp } @@ -266,14 +263,14 @@ func (s *salesforceInput) RunObject() error { totalEvents++ } - if res.MoreRecords() { // returns true if there are more records. - res, err = res.Next() - if err != nil { - return err - } - } else { + if !res.MoreRecords() { // returns true if there are more records. break } + + res, err = res.Next() + if err != nil { + return err + } } s.log.Debugf("Total events: %d", totalEvents) @@ -299,7 +296,7 @@ func (s *salesforceInput) RunEventLogFile() error { query, err := s.FormQueryWithCursor(s.config.EventMonitoringMethod.EventLogFile.Query, cursor) if err != nil { - return fmt.Errorf("error forming based on cursor: %w", err) + return fmt.Errorf("error forming query based on cursor: %w", err) } res, err := s.soqlr.Query(query, false) @@ -321,6 +318,9 @@ func (s *salesforceInput) RunEventLogFile() error { s.clientSession.AuthorizationHeader(req) + // NOTE: X-PrettyPrint:1 is for formatted response and ideally we do + // not need it. But see: + // https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_event_log_file_download.htm?q=X-PrettyPrint%3A1 req.Header.Add("X-PrettyPrint", "1") resp, err := s.sfdcConfig.Client.Do(req) @@ -340,13 +340,10 @@ func (s *salesforceInput) RunEventLogFile() error { return err } - if firstEvent { - if timstamp, ok := rec.Record().Fields()[s.config.EventMonitoringMethod.EventLogFile.Cursor.Field].(string); ok { + if timstamp, ok := rec.Record().Fields()[s.config.EventMonitoringMethod.EventLogFile.Cursor.Field].(string); ok { + if firstEvent { s.cursor.EventLogFile.FirstEventTime = timstamp } - } - - if timstamp, ok := rec.Record().Fields()[s.config.EventMonitoringMethod.EventLogFile.Cursor.Field].(string); ok { s.cursor.EventLogFile.LastEventTime = timstamp } @@ -366,13 +363,13 @@ func (s *salesforceInput) RunEventLogFile() error { } if res.MoreRecords() { - res, err = res.Next() - if err != nil { - return err - } - } else { break } + + res, err = res.Next() + if err != nil { + return err + } } s.log.Debugf("Total events: %d", totalEvents) From 4becdbb0b4822c9514114b9892a1c68c90e3b951 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 9 Feb 2024 09:52:31 +0530 Subject: [PATCH 101/172] Update x-pack/filebeat/input/salesforce/input.go Co-authored-by: Aman <38116245+devamanv@users.noreply.github.com> --- x-pack/filebeat/input/salesforce/input.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 67df096928f..cc8d278826c 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -362,7 +362,7 @@ func (s *salesforceInput) RunEventLogFile() error { firstEvent = false } - if res.MoreRecords() { + if !res.MoreRecords() { break } From 13471e1509d8165cd946475b7be35d32a28f8ba5 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 6 Mar 2024 15:57:35 +0530 Subject: [PATCH 102/172] update doc changes and tests --- filebeat/docs/fields.asciidoc | 182 +++++++-- filebeat/docs/modules/salesforce.asciidoc | 352 ++++++++++++------ ...orce_apex_callout.ndjson.log-expected.json | 5 +- ...ce_apex_execution.ndjson.log-expected.json | 5 +- ..._external_callout.ndjson.log-expected.json | 5 +- ...esforce_apex_rest.ndjson.log-expected.json | 5 +- ...esforce_apex_soap.ndjson.log-expected.json | 5 +- ...orce_apex_trigger.ndjson.log-expected.json | 5 +- x-pack/filebeat/module/salesforce/fields.go | 2 +- .../module/salesforce/login/_meta/fields.yml | 22 +- ...on.log => salesforce_login_elf.ndjson.log} | 0 ...sforce_login_elf.ndjson.log-expected.json} | 5 +- .../test/salesforce_login_object.ndjson.log | 1 + .../module/salesforce/logout/_meta/fields.yml | 10 +- .../salesforce/logout/ingest/pipeline.yml | 4 +- ...n.log => salesforce_logout_elf.ndjson.log} | 0 ...force_logout_elf.ndjson.log-expected.json} | 5 +- .../test/salesforce_logout_object.ndjson.log | 1 + ...rce_logout_object.ndjson.log-expected.json | 29 ++ ...e_setupaudittrail.ndjson.log-expected.json | 5 +- 20 files changed, 467 insertions(+), 181 deletions(-) rename x-pack/filebeat/module/salesforce/login/test/{salesforce_login.ndjson.log => salesforce_login_elf.ndjson.log} (100%) rename x-pack/filebeat/module/salesforce/login/test/{salesforce_login.ndjson.log-expected.json => salesforce_login_elf.ndjson.log-expected.json} (93%) create mode 100644 x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log rename x-pack/filebeat/module/salesforce/logout/test/{salesforce_logout.ndjson.log => salesforce_logout_elf.ndjson.log} (100%) rename x-pack/filebeat/module/salesforce/logout/test/{salesforce_logout.ndjson.log-expected.json => salesforce_logout_elf.ndjson.log-expected.json} (92%) create mode 100644 x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log create mode 100644 x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index 1c76bb70919..c95b921e799 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -125514,134 +125514,144 @@ type: keyword [float] === salesforce.login -Fileset for ingesting Salesforce Login (Streaming) logs. +Fileset for ingesting Salesforce Login (REST) logs. -*`salesforce.login.application`*:: +*`salesforce.login.api_type`*:: + -- -The application used to access the org. Possible values include: AppExchange, Browser, Salesforce for iOS, Salesforce Developers API Explorer, N/A +The type of API request. type: keyword -- -*`salesforce.login.auth_method_reference`*:: +*`salesforce.login.api_version`*:: + -- -The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. +The version of the API that’s being used. type: keyword -- -*`salesforce.login.auth_service_id`*:: +*`salesforce.login.login_key`*:: + -- -The 18-character ID for an authentication service for a login event. +The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. type: keyword -- -*`salesforce.login.client_version`*:: +*`salesforce.login.authentication_method_reference`*:: + -- -The version number of the login client. If no version number is available, “Unknown” is returned. +The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. type: keyword -- -*`salesforce.login.created_by_id`*:: +*`salesforce.login.client_ip`*:: + -- -Unavailable +The IP address of the client that’s using Salesforce services. A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP”. type: keyword -- -*`salesforce.login.evaluation_time`*:: +*`salesforce.login.cpu_time`*:: + -- -The amount of time it took to evaluate the transaction security policy, in milliseconds. +The CPU time in milliseconds used to complete the request. This field indicates the amount of activity taking place in the app server layer. type: keyword -- -*`salesforce.login.login_geo_id`*:: +*`salesforce.login.db_total_time`*:: + -- -The Salesforce ID of the LoginGeo object associated with the login user’s IP address. +The time in nanoseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and DB_CPU_TIME. Compare this field to CPU_TIME to determine whether performance issues are occurring in the database layer or in your own code. type: keyword -- -*`salesforce.login.login_history_id`*:: +*`salesforce.login.event_type`*:: + -- -Tracks a user session so you can correlate user activity with a particular login instance. This field is also available on the LoginHistory, AuthSession, and LoginHistory objects, making it easier to trace events back to a user’s original authentication. +The type of event. The value is always Login. type: keyword -- -*`salesforce.login.login_type`*:: +*`salesforce.login.organization_id`*:: + -- -The type of login used to access the session. +The 15-character ID of the organization. + + +type: keyword + +-- + +*`salesforce.login.request_id`*:: ++ +-- +The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same REQUEST_ID. type: keyword -- -*`salesforce.login.policy_id`*:: +*`salesforce.login.request_status`*:: + -- -The ID of the transaction security policy associated with this event. +The status of the request for a page view or user interface action. type: keyword -- -*`salesforce.login.policy_outcome`*:: +*`salesforce.login.run_time`*:: + -- -The result of the transaction policy. +The amount of time that the request took in milliseconds. type: keyword -- -*`salesforce.login.related_event_identifier`*:: +*`salesforce.login.uri_id_derived`*:: + -- -This field is populated only when the activity that this event monitors requires extra authentication, such as multi-factor authentication. In this case, Salesforce generates more events and sets the RelatedEventIdentifier field of the new events to the value of the EventIdentifier field of the original event. Use this field with the EventIdentifier field to correlate all the related events. If no extra authentication is required, this field is blank. +The 18-character case insensitive ID of the URI of the page that’s receiving the request. type: keyword -- -*`salesforce.login.session_level`*:: +*`salesforce.login.user_id_derived`*:: + -- -Session-level security controls user access to features that support it, such as connected apps and reporting. Possible values are: HIGH_ASSURANCE, LOW, STANDARD +The 18-character case insensitive ID of the user who’s using Salesforce services through the UI or the API. type: keyword @@ -125651,44 +125661,144 @@ type: keyword [float] === salesforce.logout -Fileset for parsing Salesforce Logout (Streaming) logs. +Fileset for parsing Salesforce Logout (REST) logs. + + + +*`salesforce.logout.session_level`*:: ++ +-- +Indicates the session-level security of the session that the user is logging out of for this event. Session-level security controls user access to features that support it, such as connected apps and reporting. Possible values are: HIGH_ASSURANCE, LOW, STANDARD + + +type: keyword + +-- + +*`salesforce.logout.login_key`*:: ++ +-- +The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. + + +type: keyword + +-- + +*`salesforce.logout.api_type`*:: ++ +-- +The type of API request. + + +type: keyword + +-- + +*`salesforce.logout.api_version`*:: ++ +-- +The version of the API that’s being used. + + +type: keyword + +-- + +*`salesforce.logout.app_type`*:: ++ +-- +The application type that was in use upon logging out. + + +type: keyword + +-- + +*`salesforce.logout.browser_type`*:: ++ +-- +The identifier string returned by the browser used at login. + + +type: keyword + +-- + +*`salesforce.logout.client_version`*:: ++ +-- +The version of the client that was in use upon logging out. + + +type: keyword + +-- + +*`salesforce.logout.event_type`*:: ++ +-- +The type of event. The value is always Logout. + + +type: keyword + +-- + +*`salesforce.logout.organization_by_id`*:: ++ +-- +The 15-character ID of the organization. +type: keyword + +-- + +*`salesforce.logout.platform_type`*:: ++ +-- +The code for the client platform. If a timeout caused the logout, this field is null. + + +type: keyword + +-- -*`salesforce.logout.created_by_id`*:: +*`salesforce.logout.resolution_type`*:: + -- -Unavailable +The screen resolution of the client. If a timeout caused the logout, this field is null. type: keyword -- -*`salesforce.logout.related_event_identifier`*:: +*`salesforce.logout.session_type`*:: + -- -This field is populated only when the activity that this event monitors requires extra authentication, such as multi-factor authentication. In this case, Salesforce generates more events and sets the RelatedEventIdentifier field of the new events to the value of the EventIdentifier field of the original event. Use this field with the EventIdentifier field to correlate all the related events. If no extra authentication is required, this field is blank. +The session type that was used when logging out. type: keyword -- -*`salesforce.logout.replay_id`*:: +*`salesforce.logout.user_id_derived`*:: + -- -Represents an ID value that is populated by the system and refers to the position of the event in the event stream. Replay ID values aren’t guaranteed to be contiguous for consecutive events. A subscriber can store a replay ID value and use it on resubscription to retrieve missed events that are within the retention window. +The 18-character case-safe ID of the user who’s using Salesforce services through the UI or the API. type: keyword -- -*`salesforce.logout.schema`*:: +*`salesforce.logout.user_initiated_logout`*:: + -- -Unavailable +The value is 1 if the user intentionally logged out of the organization by clicking the Logout button. If the user’s session timed out due to inactivity or another implicit logout action, the value is 0. type: keyword diff --git a/filebeat/docs/modules/salesforce.asciidoc b/filebeat/docs/modules/salesforce.asciidoc index b81def57bef..e0f44b75ea0 100644 --- a/filebeat/docs/modules/salesforce.asciidoc +++ b/filebeat/docs/modules/salesforce.asciidoc @@ -15,295 +15,421 @@ This file is generated! See scripts/docs_collector.py This is a module for Salesforce logs. It collects the logs using the following two different types of inputs: -- `httpjson` input: collects historical data from Salesforce REST API. -- `cometd` input: collects real-time data from Salesforce Streaming API. +- `salesforce` input: collects real-time and historical data using Salesforce REST API. It includes the following filesets for receiving logs: -- `login-rest` fileset: supports Salesforce Login logs received from the REST API. -- `login-stream` fileset: supports Salesforce Login logs received from the Streaming API. -- `logout-rest` fileset: supports Salesforce Logout logs received from the REST API. -- `logout-stream` fileset: supports Salesforce Logout logs received from the Streaming API. -- `apex-rest` fileset: supports Salesforce Apex logs received from the REST API. -- `setupaudittrail-rest` fileset: supports logs generated when admins make in your org’s Setup area. +- `login` fileset: supports Salesforce Login logs received from the EventLogFile and Event Monitoring using Salesforce REST API. +- `logout` fileset: supports Salesforce Logout logs received from the EventLogFile and Event Monitoring using Salesforce REST API. +- `apex` fileset: supports Salesforce Apex logs received from the the EventLogFile using Salesforce REST API. +- `setupaudittrail` fileset: supports logs generated when admins make in your org’s Setup area, collected using Salesforce REST API. -Note: We can leverage the inputs provided above to collect the rest of the events from the Salesforce REST or Streaming API. +Note: +- We can leverage the inputs provided above to collect the rest of the events from the Salesforce REST API. +- The default value of `var.real_time_interval` or `var.elf_interval` is 5m/1h. It is important to exercise caution when reducing the interval, as it directly affects the API rate limit of the Salesforce instance. Salesforce API rate limit is ~1000 API calls per hour. Hence if user goes with lower limit of `var.real_time_interval` or `var.elf_interval`, the Salesforce API rate limit will exceed and any additional API requests beyond the limit will result in an error response from the Salesforce API. The error message will typically indicate that the rate limit has been exceeded. Please refer to the following link for the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit]. include::../include/what-happens.asciidoc[] include::../include/gs-link.asciidoc[] [float] -==== `login-rest` fileset settings +==== `login` fileset settings Example config: [source,yaml] ---- - module: salesforce - login-rest: + login: enabled: true + var.initial_interval: 1d + var.api_version: 56 + + var.jwt_authentication_enabled: true + var.client_id: "my-client-id" + var.client_username: "my.email@here.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com + + var.user_pass_authentication_enabled: true var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.token_url: "https://login.salesforce.com" var.user: "my.email@here.com" var.password: "password" - var.url: "https://instance-url.salesforce.com" ----- - -include::../include/var-paths.asciidoc[] -*`var.client_id`*:: + var.url: "https://instance-url.salesforce.com" -Oauth client ID. + var.event_log_file: true + var.elf_interval: 1h + var.log_file_interval: Hourly -*`var.client_secret`*:: + var.real_time: true + var.real_time_interval: 5m +---- -Oauth client secret. +include::../include/var-paths.asciidoc[] -*`var.token_url`*:: +*`var.initial_interval`*:: -Oauth token URL. +The initial interval for the `login` fileset. It defines the time window in which the `login` fileset collects logs of historical data. -*`var.user`*:: +*`var.api_version`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The API version of the Salesforce instance. -*`var.password`*:: +*`var.jwt_authentication_enabled`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +Set to true if JWT authentication is enabled. -*`var.url`*:: +*`var.client_username`*:: -The URL of the Saleforce instance. +The username used for JWT authentication. -[float] -==== `login-stream` fileset settings +*`var.client_key_path`*:: -Example config: +Path to the client key for JWT authentication. -[source,yaml] ----- -- module: salesforce - login-stream: - enabled: true - var.client_id: "my-client-id" - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" - var.user: "my.email@here.com" - var.password: "password" - var.url: "https://instance-url.salesforce.com" ----- +*`var.jwt_url`*:: -include::../include/var-paths.asciidoc[] +The audience URL for JWT authentication. -*`var.client_id`*:: +*`var.user_pass_authentication_enabled`*:: -Oauth client ID. +Set to false if user-password authentication is enabled. *`var.client_secret`*:: -Oauth client secret. +The client secret for user-password authentication. *`var.token_url`*:: -Oauth token URL. +The token URL for user-password authentication. *`var.user`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The user used for user-password authentication. *`var.password`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +The password used for user-password authentication. *`var.url`*:: The URL of the Saleforce instance. +*`var.event_log_file`*:: + +Set to true to enable event log file data collection. Module will use EventLogFile data collection method. + +*`var.elf_interval`*:: + +The Period for fetching event log file data, i.e. 1s/1m/1h. + +*`var.log_file_interval`*:: + +The interval type of EventLogFile data collection. Either Hourly or Daily. + +*`var.real_time`*:: + +Set to true to enable real-time data collection. + +*`var.real_time_interval`*:: + +The Period for fetching real-time data, i.e. 1s/1m/1h. + [float] -==== `logout-rest` fileset settings +==== `logout` fileset settings Example config: [source,yaml] ---- - module: salesforce - logout-rest: + logout: enabled: true + var.initial_interval: 1d + var.api_version: 56 + + var.jwt_authentication_enabled: true + var.client_id: "my-client-id" + var.client_username: "my.email@here.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com + + var.user_pass_authentication_enabled: true var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.token_url: "https://login.salesforce.com" var.user: "my.email@here.com" var.password: "password" + var.url: "https://instance-url.salesforce.com" + + var.event_log_file: true + var.elf_interval: 1h + var.log_file_interval: Hourly + + var.real_time: true + var.real_time_interval: 5m ---- include::../include/var-paths.asciidoc[] -*`var.client_id`*:: +*`var.initial_interval`*:: -Oauth client ID. +The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. -*`var.client_secret`*:: +*`var.api_version`*:: -Oauth client secret. +The API version of the Salesforce instance. -*`var.token_url`*:: +*`var.jwt_authentication_enabled`*:: -Oauth token URL. +Set to true if JWT authentication is enabled. -*`var.user`*:: +*`var.client_username`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The username used for JWT authentication. -*`var.password`*:: +*`var.client_key_path`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +Path to the client key for JWT authentication. -*`var.url`*:: +*`var.jwt_url`*:: -The URL of the Saleforce instance. +The audience URL for JWT authentication. -[float] -==== `logout-stream` fileset settings +*`var.user_pass_authentication_enabled`*:: -Example config: - -[source,yaml] ----- -- module: salesforce - logout-stream: - enabled: true - var.client_id: "my-client-id" - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" - var.user: "my.email@here.com" - var.password: "password" - var.url: "https://instance-url.salesforce.com" ----- - -include::../include/var-paths.asciidoc[] - -*`var.client_id`*:: - -Oauth client ID. +Set to false if user-password authentication is enabled. *`var.client_secret`*:: -Oauth client secret. +The client secret for user-password authentication. *`var.token_url`*:: -Oauth token URL. +The token URL for user-password authentication. *`var.user`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The user used for user-password authentication. *`var.password`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +The password used for user-password authentication. *`var.url`*:: The URL of the Saleforce instance. +*`var.event_log_file`*:: + +Set to true to enable event log file data collection. Module will use EventLogFile data collection method. + +*`var.elf_interval`*:: + +The Period for fetching event log file data, i.e. 1s/1m/1h. + +*`var.log_file_interval`*:: + +The interval type of EventLogFile data collection. Either Hourly or Daily. + +*`var.real_time`*:: + +Set to true to enable real-time data collection. + +*`var.real_time_interval`*:: + +The Period for fetching real-time data, i.e. 1s/1m/1h. + [float] -==== `setupaudittrail-rest` fileset settings +==== `setupaudittrail` fileset settings Example config: [source,yaml] ---- - module: salesforce - setupaudittrail-rest: + setupaudittrail: enabled: true + var.initial_interval: 1d + var.api_version: 56 + + var.jwt_authentication_enabled: true + var.client_id: "my-client-id" + var.client_username: "my.email@here.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com + + var.user_pass_authentication_enabled: true var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.token_url: "https://login.salesforce.com" var.user: "my.email@here.com" var.password: "password" + var.url: "https://instance-url.salesforce.com" - var.interval: 1h + + var.real_time: true + var.real_time_interval: 5m ---- include::../include/var-paths.asciidoc[] -*`var.client_id`*:: +*`var.initial_interval`*:: + +The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. + +*`var.api_version`*:: + +The API version of the Salesforce instance. + +*`var.jwt_authentication_enabled`*:: + +Set to true if JWT authentication is enabled. + +*`var.client_username`*:: + +The username used for JWT authentication. -Oauth client ID. +*`var.client_key_path`*:: + +Path to the client key for JWT authentication. + +*`var.jwt_url`*:: + +The audience URL for JWT authentication. + +*`var.user_pass_authentication_enabled`*:: + +Set to false if user-password authentication is enabled. *`var.client_secret`*:: -Oauth client secret. +The client secret for user-password authentication. *`var.token_url`*:: -Oauth token URL. +The token URL for user-password authentication. *`var.user`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The user used for user-password authentication. *`var.password`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +The password used for user-password authentication. *`var.url`*:: The URL of the Saleforce instance. -*`var.interval`*:: +*`var.real_time`*:: + +Set to true to enable real-time data collection. -Period of fetching logs, i.e. 1s/1m/1h. +*`var.real_time_interval`*:: -Note: The default value of `var.interval` is 1h. It is important to exercise caution when reducing the interval, as it directly affects the API rate limit of the Salesforce instance. Salesforce API rate limit is ~1000 API calls per hour. Hence if user goes with lower limit of var.interval, the Salesforce API rate limit will exceed and any additional API requests beyond the limit will result in an error response from the Salesforce API. The error message will typically indicate that the rate limit has been exceeded. Please refer to the following link for the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit]. +The Period for fetching real-time data, i.e. 1s/1m/1h. [float] -==== `apex-rest` fileset settings +==== `apex` fileset settings Example config: [source,yaml] ---- - module: salesforce - apex-rest: + apex: enabled: true + var.initial_interval: 1d + var.log_file_interval: Hourly + var.api_version: 56 + + var.jwt_authentication_enabled: true + var.client_id: "my-client-id" + var.client_username: "my.email@here.com" + var.client_key_path: client_key.pem + var.jwt_url: https://login.salesforce.com + + var.user_pass_authentication_enabled: true var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com/services/oauth2/token" + var.token_url: "https://login.salesforce.com" var.user: "my.email@here.com" var.password: "password" + var.url: "https://instance-url.salesforce.com" + + var.event_log_file: true + var.elf_interval: 1h + var.log_file_interval: Hourly ---- include::../include/var-paths.asciidoc[] -*`var.client_id`*:: +*`var.initial_interval`*:: + +The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. + +*`var.api_version`*:: + +The API version of the Salesforce instance. + +*`var.jwt_authentication_enabled`*:: -Oauth client ID. +Set to true if JWT authentication is enabled. + +*`var.client_username`*:: + +The username used for JWT authentication. + +*`var.client_key_path`*:: + +Path to the client key for JWT authentication. + +*`var.jwt_url`*:: + +The audience URL for JWT authentication. + +*`var.user_pass_authentication_enabled`*:: + +Set to false if user-password authentication is enabled. *`var.client_secret`*:: -Oauth client secret. +The client secret for user-password authentication. *`var.token_url`*:: -Oauth token URL. +The token URL for user-password authentication. *`var.user`*:: -The user used as part of the authentication flow. It is required for authentication - grant type password. +The user used for user-password authentication. *`var.password`*:: -The password used as part of the authentication flow. It is required for authentication - grant type password. +The password used for user-password authentication. *`var.url`*:: The URL of the Saleforce instance. +*`var.event_log_file`*:: + +Set to true to enable event log file data collection. Module will use EventLogFile data collection method. + +*`var.elf_interval`*:: + +The Period for fetching event log file data, i.e. 1s/1m/1h. + +*`var.log_file_interval`*:: + +The interval type of EventLogFile data collection. Either Hourly or Daily. + [float] === Example dashboard diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json index fe5d3ed8e31..cb900886b9b 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json @@ -11,7 +11,7 @@ "event.timezone": "-02:00", "event.type": "connection", "event.url": "https://api-prod.guidance.sfdc.sh/odata/Accounts?%24top=1&%24filter=%28startswith%28Organization_id_dw__c%2C%2700D5j000000VI3n%27%29%29&%24select=Aov_band__c%2CCombo_sector__c%2CCsg_coverage__c%2CCsg_portfolio__c%2CId%2CIndustry%2CL1_aov_cloud1__c%2CL1_aov_cloud2__c%2CLocked_industry__c%2CLocked_sector__c%2CSfdc_sector__c%2CSfid%2CSub_sector__c%2CSupportLevel__c%2CTotal_aov__c", - "fileset.name": "apex-rest", + "fileset.name": "apex", "http.request.bytes": -1, "http.request.method": "GET", "http.response.bytes": 256, @@ -20,7 +20,6 @@ "related.ip": [ "10.0.1.123" ], - "salesforce.access_mode": "rest", "salesforce.apex.cpu_time": -1, "salesforce.apex.event_type": "ApexCallout", "salesforce.apex.organization_id": "00D5j000000VI3n", @@ -32,7 +31,7 @@ "source.ip": "10.0.1.123", "tags": [ "forwarded", - "salesforce-apex-rest" + "salesforce-apex" ], "user.id": "0055j000000utlP" } diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json index e39794b7bcf..4e7ff729436 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json @@ -7,10 +7,9 @@ "event.kind": "event", "event.module": "salesforce", "event.timezone": "-02:00", - "fileset.name": "apex-rest", + "fileset.name": "apex", "input.type": "log", "log.offset": 0, - "salesforce.access_mode": "rest", "salesforce.apex.callout_time": 0, "salesforce.apex.cpu_time": 79, "salesforce.apex.db_total_time": 0, @@ -27,7 +26,7 @@ "service.type": "salesforce", "tags": [ "forwarded", - "salesforce-apex-rest" + "salesforce-apex" ], "user.id": "0055j000000utlP" } diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json index 74aa47c145d..5f671c6fdc2 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json @@ -12,10 +12,9 @@ "event.outcome": "failure", "event.timezone": "-02:00", "event.type": "connection", - "fileset.name": "apex-rest", + "fileset.name": "apex", "input.type": "log", "log.offset": 0, - "salesforce.access_mode": "rest", "salesforce.apex.event_type": "ExternalCustomApexCallout", "salesforce.apex.offset": 0, "salesforce.apex.orderby": "(Order:[columnName=ExternalId, direction=ASCENDING, tableName=HealthcareBlog], Order:[columnName=ExternalId, direction=ASCENDING, tableName=HealthcareBlog])", @@ -25,7 +24,7 @@ "service.type": "salesforce", "tags": [ "forwarded", - "salesforce-apex-rest" + "salesforce-apex" ], "user.id": "0055j000000utlP" } diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json index ffed6673131..a0258a90ff9 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json @@ -9,7 +9,7 @@ "event.timezone": "-02:00", "event.type": "connection", "event.url": "/Account/", - "fileset.name": "apex-rest", + "fileset.name": "apex", "http.request.method": "POST", "http.response.status_code": 200, "input.type": "log", @@ -17,7 +17,6 @@ "related.ip": [ "43.224.11.237" ], - "salesforce.access_mode": "rest", "salesforce.apex.cpu_time": 94, "salesforce.apex.db_blocks": 4401, "salesforce.apex.db_cpu_time": 130, @@ -34,7 +33,7 @@ "source.ip": "43.224.11.237", "tags": [ "forwarded", - "salesforce-apex-rest" + "salesforce-apex" ], "user.id": "0055j000000utlP", "user.roles": "Standard" diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json index 96feff5da7d..697c0a8c663 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json @@ -10,13 +10,12 @@ "event.timezone": "-02:00", "event.type": "connection", "event.url": "APEXSOAP", - "fileset.name": "apex-rest", + "fileset.name": "apex", "input.type": "log", "log.offset": 0, "related.ip": [ "43.224.11.237" ], - "salesforce.access_mode": "rest", "salesforce.apex.cpu_time": 17, "salesforce.apex.db_total_time": 14928037, "salesforce.apex.event_type": "ApexSoap", @@ -30,7 +29,7 @@ "source.ip": "43.224.11.237", "tags": [ "forwarded", - "salesforce-apex-rest" + "salesforce-apex" ], "user.id": "0055j000000utlP", "user.roles": "Standard" diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json index 6e04d3436ce..b7483fbd3f5 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json @@ -8,10 +8,9 @@ "event.module": "salesforce", "event.timezone": "-02:00", "event.type": "connection", - "fileset.name": "apex-rest", + "fileset.name": "apex", "input.type": "log", "log.offset": 0, - "salesforce.access_mode": "rest", "salesforce.apex.cpu_time": 3, "salesforce.apex.entity_name": "Book__c", "salesforce.apex.event_type": "ApexTrigger", @@ -24,7 +23,7 @@ "service.type": "salesforce", "tags": [ "forwarded", - "salesforce-apex-rest" + "salesforce-apex" ], "user.id": "0055j000000utlP" } diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index 4c572df2ceb..2020c9b324a 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } diff --git a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml index afbfae384e2..32e27d3d759 100644 --- a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml @@ -4,6 +4,10 @@ description: > Fileset for ingesting Salesforce Login (REST) logs. fields: + - name: application + type: keyword + description: > + The application used to access the org. Possible values include: AppExchange, Browser, Salesforce for iOS, Salesforce Developers API Explorer, N/A - name: api_type type: keyword description: > @@ -12,6 +16,10 @@ type: keyword description: > The version of the API that’s being used. + - name: auth_service_id + type: keyword + description: > + The 18-character ID for an authentication service for a login event. - name: login_key type: keyword description: > @@ -20,6 +28,10 @@ type: keyword description: > The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. + - name: client_version + type: keyword + description: > + The version number of the login client. If no version number is available, “Unknown” is returned. - name: client_ip type: keyword description: > @@ -59,4 +71,12 @@ - name: user_id_derived type: keyword description: > - The 18-character case insensitive ID of the user who’s using Salesforce services through the UI or the API. \ No newline at end of file + The 18-character case insensitive ID of the user who’s using Salesforce services through the UI or the API. + - name: evaluation_time + type: keyword + description: > + The amount of time it took to evaluate the transaction security policy, in milliseconds. + - name: login_type + type: keyword + description: > + The type of login used to access the session. diff --git a/x-pack/filebeat/module/salesforce/login/test/salesforce_login.ndjson.log b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/login/test/salesforce_login.ndjson.log rename to x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/login/test/salesforce_login.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json similarity index 93% rename from x-pack/filebeat/module/salesforce/login/test/salesforce_login.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json index e056e6693e7..3466dfb6869 100644 --- a/x-pack/filebeat/module/salesforce/login/test/salesforce_login.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json @@ -10,13 +10,12 @@ "event.timezone": "-02:00", "event.type": "info", "event.url": "/index.jsp", - "fileset.name": "login-rest", + "fileset.name": "login", "input.type": "log", "log.offset": 0, "related.ip": [ "43.224.11.237" ], - "salesforce.access_mode": "rest", "salesforce.login.api_version": 9998, "salesforce.login.client_ip": "43.224.11.237", "salesforce.login.cpu_time": 54, @@ -31,7 +30,7 @@ "source.ip": "43.224.11.237", "tags": [ "forwarded", - "salesforce-login-rest" + "salesforce-login" ], "tls.cipher": "ECDHE-RSA-AES256-GCM-SHA384", "tls.version": "1.2", diff --git a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log new file mode 100644 index 00000000000..53d856e9d36 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log @@ -0,0 +1 @@ +{"EventDate":"2021-10-19T11:47:22Z","AuthServiceId":null,"CountryIso":"IN","Platform":"Unknown","EvaluationTime":0,"CipherSuite":"ECDHE-RSA-AES256-GCM-SHA384","PostalCode":"395007","ClientVersion":"N/A","LoginGeoId":"04F5j00000FadrI","LoginUrl":"login.salesforce.com","LoginHistoryId":"0Ya5j00000GLxCdCAL","CreatedById":"0055j000000q9s7AAA","SessionKey":null,"ApiType":"N/A","AuthMethodReference":null,"LoginType":"Remote Access 2.0","PolicyOutcome":null,"Status":"Success","AdditionalInfo":"{}","ApiVersion":"N/A","EventIdentifier":"06af6d92-1167-467d-a826-ee8583f7134d","RelatedEventIdentifier":null,"LoginLatitude":21.1888,"City":"Surat","Subdivision":"Gujarat","SourceIp":"123.201.231.106","Username":"kush.rana@elastic.co","UserId":"0055j000000utlPAAQ","CreatedDate":"2021-10-19T11:47:30Z","Country":"India","LoginLongitude":72.8293,"TlsProtocol":"TLS 1.2","LoginKey":"o3vhFaSRBb0OzpCl","Application":"elastic integration","UserType":"Standard","PolicyId":null,"HttpMethod":"POST","SessionLevel":"STANDARD","Browser":"Unknown"} diff --git a/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml b/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml index 7ec7dcfc683..c0d1840fe76 100644 --- a/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml @@ -59,4 +59,12 @@ - name: user_initiated_logout type: keyword description: > - The value is 1 if the user intentionally logged out of the organization by clicking the Logout button. If the user’s session timed out due to inactivity or another implicit logout action, the value is 0. \ No newline at end of file + The value is 1 if the user intentionally logged out of the organization by clicking the Logout button. If the user’s session timed out due to inactivity or another implicit logout action, the value is 0. + - name: created_by_id + type: keyword + description: > + Unavailable + - name: event_identifier + type: keyword + description: > + This field is populated only when the activity that this event monitors requires extra authentication, such as multi-factor authentication. In this case, Salesforce generates more events and sets the RelatedEventIdentifier field of the new events to the value of the EventIdentifier field of the original event. Use this field with the EventIdentifier field to correlate all the related events. If no extra authentication is required, this field is blank. diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml index 490d598e684..1eb351b79cc 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml @@ -110,8 +110,8 @@ processors: target_field: salesforce.logout.created_by_id ignore_missing: true - rename: - field: json.RelatedEventIdentifier - target_field: salesforce.logout.related_event_identifier + field: json.EventIdentifier + target_field: salesforce.logout.event_identifier ignore_missing: true - rename: field: json.replayId diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout.ndjson.log b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log similarity index 100% rename from x-pack/filebeat/module/salesforce/logout/test/salesforce_logout.ndjson.log rename to x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json similarity index 92% rename from x-pack/filebeat/module/salesforce/logout/test/salesforce_logout.ndjson.log-expected.json rename to x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json index ea3b683e02a..fa041c730fb 100644 --- a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json @@ -9,13 +9,12 @@ "event.module": "salesforce", "event.timezone": "-02:00", "event.type": "info", - "fileset.name": "logout-rest", + "fileset.name": "logout", "input.type": "log", "log.offset": 0, "related.ip": [ "123.201.231.42" ], - "salesforce.access_mode": "rest", "salesforce.logout.app_type": 1000, "salesforce.logout.browser_type": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36", "salesforce.logout.client_version": 9998, @@ -32,7 +31,7 @@ "source.ip": "123.201.231.42", "tags": [ "forwarded", - "salesforce-logout-rest" + "salesforce-logout" ], "user.id": "0055j000000utlP", "user.roles": "Standard(db=S,api=Standard)" diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log new file mode 100644 index 00000000000..1234e66a491 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log @@ -0,0 +1 @@ +{"EventDate":"2021-10-19T11:38:54Z","EventIdentifier":"06ce4a9d-8d6b-4a71-aad8-04d28c9a43df","SourceIp":"123.201.231.106","CreatedById":"0055j000000q9s7AAA","Username":"kush.rana@elastic.co","UserId":"0055j000000utlPAAQ","RelatedEventIdentifier":null,"SessionKey":"6/HAElgoPCwskqBU","CreatedDate":"2021-10-19T11:38:54Z","LoginKey":"CuRVtbMjat6xxbTH","SessionLevel":"STANDARD"} diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json new file mode 100644 index 00000000000..f4f9a822e6c --- /dev/null +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json @@ -0,0 +1,29 @@ +[ + { + "@timestamp": "2021-10-19T11:38:54.000Z", + "event.action": "logout", + "event.category": "authentication", + "event.dataset": "salesforce.logout", + "event.kind": "event", + "event.module": "salesforce", + "event.timezone": "-02:00", + "event.type": "info", + "fileset.name": "logout", + "input.type": "log", + "log.offset": 0, + "related.ip": [ + "123.201.231.106" + ], + "salesforce.logout.created_by_id": "0055j000000q9s7AAA", + "salesforce.logout.login_key": "CuRVtbMjat6xxbTH", + "salesforce.logout.session_level": "STANDARD", + "service.type": "salesforce", + "source.ip": "123.201.231.106", + "tags": [ + "forwarded", + "salesforce-logout" + ], + "user.email": "kush.rana@elastic.co", + "user.id": "0055j000000utlPAAQ" + } +] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json index 2ff59c8b938..ae5dc2b81e9 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json @@ -10,10 +10,9 @@ "event.timezone": "-02:00", "event.type": "admin", "event.url": "/services/data/v52.0/sobjects/SetupAuditTrail/0Ym5j12345BJKvZCAX", - "fileset.name": "setupaudittrail-rest", + "fileset.name": "setupaudittrail", "input.type": "log", "log.offset": 0, - "salesforce.access_mode": "rest", "salesforce.setup_audit_trail.created_by_id": "1234j000000q9s7ABC", "salesforce.setup_audit_trail.display": "For user abc.def@mail.com, the User Verified Email status changed to verified", "salesforce.setup_audit_trail.event_type": "SetupAuditTrail", @@ -21,7 +20,7 @@ "service.type": "salesforce", "tags": [ "forwarded", - "salesforce-setupaudittrail-rest" + "salesforce-setupaudittrail" ], "user.id": "1234j000000q9s7ABC", "user.name": "abc.def@mail.com" From cf7719aabee2917372e4724fbb00bad2127974f2 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 11 Mar 2024 15:44:48 +0530 Subject: [PATCH 103/172] updated pipeline --- x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml index 8c466dae618..53db7034cbe 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml @@ -195,7 +195,7 @@ processors: - set: field: event.outcome value: failure - if: 'ctx?.json?.LOGIN_STATUS != "LOGIN_NO_ERROR" && ctx?.json?.LOGIN_STATUS != null' + if: 'ctx?.json?.Status != "Success" && ctx?.json?.LOGIN_STATUS != "LOGIN_NO_ERROR" && ctx?.json?.LOGIN_STATUS != null' ignore_failure: true - set: field: event.type From b041b2332de1f36adeba5291ed4fb6315edc719f Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 11 Mar 2024 15:48:08 +0530 Subject: [PATCH 104/172] fix typo --- x-pack/filebeat/input/salesforce/input.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index cc8d278826c..26990137363 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -248,11 +248,11 @@ func (s *salesforceInput) RunObject() error { return err } - if timstamp, ok := val[s.config.EventMonitoringMethod.Object.Cursor.Field].(string); ok { + if timestamp, ok := val[s.config.EventMonitoringMethod.Object.Cursor.Field].(string); ok { if firstEvent { - s.cursor.Object.FirstEventTime = timstamp + s.cursor.Object.FirstEventTime = timestamp } - s.cursor.Object.LastEventTime = timstamp + s.cursor.Object.LastEventTime = timestamp } err = publishEvent(s.publisher, s.cursor, jsonStrEvent, "Object") @@ -340,11 +340,11 @@ func (s *salesforceInput) RunEventLogFile() error { return err } - if timstamp, ok := rec.Record().Fields()[s.config.EventMonitoringMethod.EventLogFile.Cursor.Field].(string); ok { + if timestamp, ok := rec.Record().Fields()[s.config.EventMonitoringMethod.EventLogFile.Cursor.Field].(string); ok { if firstEvent { - s.cursor.EventLogFile.FirstEventTime = timstamp + s.cursor.EventLogFile.FirstEventTime = timestamp } - s.cursor.EventLogFile.LastEventTime = timstamp + s.cursor.EventLogFile.LastEventTime = timestamp } for _, val := range recs { From 7c2a973bef9bc2111d2b64d534fc0e408591f224 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 13 Mar 2024 18:04:07 +0530 Subject: [PATCH 105/172] update queries and way authentication config is taken --- x-pack/filebeat/filebeat.reference.yml | 129 +++++++++--------- .../module/salesforce/_meta/config.yml | 129 +++++++++--------- .../module/salesforce/apex/_meta/fields.yml | 3 + .../module/salesforce/apex/config/apex.yml | 45 ++---- .../module/salesforce/apex/manifest.yml | 11 +- x-pack/filebeat/module/salesforce/fields.go | 2 +- .../module/salesforce/login/config/login.yml | 61 ++------- .../module/salesforce/login/manifest.yml | 11 +- .../salesforce/logout/config/logout.yml | 61 ++------- .../module/salesforce/logout/manifest.yml | 11 +- .../config/setupaudittrail.yml | 51 ++----- .../salesforce/setupaudittrail/manifest.yml | 11 +- .../modules.d/salesforce.yml.disabled | 129 +++++++++--------- 13 files changed, 253 insertions(+), 401 deletions(-) diff --git a/x-pack/filebeat/filebeat.reference.yml b/x-pack/filebeat/filebeat.reference.yml index e943310e090..de68470fa7c 100644 --- a/x-pack/filebeat/filebeat.reference.yml +++ b/x-pack/filebeat/filebeat.reference.yml @@ -1886,28 +1886,27 @@ filebeat.modules: # - api_version: API version for Salesforce, version should be grater than 46.0 # Authentication Configurations: -# JWT Authentication: -# - jwt_authentication_enabled: Set to true if JWT authentication is enabled -# - client_id: Client ID for JWT and user-password authentication -# - client_username: Username for JWT authentication -# - client_key_path: Path to client key for JWT authentication -# - jwt_url: Audience URL for JWT authentication - # User-Password Authentication: -# - user_pass_authentication_enabled: Set to false if user-password authentication is enabled -# - client_id: Client ID for JWT and user-password authentication -# - client_secret: Client secret for user-password authentication +# - enabled: Set to false if user-password authentication is enabled +# - client.id: Client ID for JWT and user-password authentication +# - client.secret: Client secret for user-password authentication # - token_url: Token URL for user-password authentication # - user: Username for user-password authentication # - password: Password for user-password authentication -# - url: URL for user-password authentication + +# JWT Authentication: +# - enabled: Set to true if JWT authentication is enabled +# - client.id: Client ID for JWT and user-password authentication +# - client.username: Username for JWT authentication +# - client.key_path: Path to client key for JWT authentication +# - url: Audience URL for JWT authentication # Event Monitoring: -# - real_time: Set to true to enable real-time logging +# - real_time: Set to true to enable real-time logging using object type data collection # - real_time_interval: Interval for real-time logging # Event Log File: -# - event_log_file: Set to true to enable event log file +# - event_log_file: Set to true to enable event log file type data collection # - elf_interval: Interval for event log file # - log_file_interval: Interval type for log file collection, either Hourly or Daily @@ -1918,18 +1917,20 @@ filebeat.modules: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" @@ -1942,18 +1943,20 @@ filebeat.modules: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" @@ -1969,18 +1972,20 @@ filebeat.modules: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" @@ -1996,18 +2001,20 @@ filebeat.modules: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" diff --git a/x-pack/filebeat/module/salesforce/_meta/config.yml b/x-pack/filebeat/module/salesforce/_meta/config.yml index 12fac4b74e0..725514d1a05 100644 --- a/x-pack/filebeat/module/salesforce/_meta/config.yml +++ b/x-pack/filebeat/module/salesforce/_meta/config.yml @@ -6,28 +6,27 @@ # - api_version: API version for Salesforce, version should be grater than 46.0 # Authentication Configurations: -# JWT Authentication: -# - jwt_authentication_enabled: Set to true if JWT authentication is enabled -# - client_id: Client ID for JWT and user-password authentication -# - client_username: Username for JWT authentication -# - client_key_path: Path to client key for JWT authentication -# - jwt_url: Audience URL for JWT authentication - # User-Password Authentication: -# - user_pass_authentication_enabled: Set to false if user-password authentication is enabled -# - client_id: Client ID for JWT and user-password authentication -# - client_secret: Client secret for user-password authentication +# - enabled: Set to false if user-password authentication is enabled +# - client.id: Client ID for JWT and user-password authentication +# - client.secret: Client secret for user-password authentication # - token_url: Token URL for user-password authentication # - user: Username for user-password authentication # - password: Password for user-password authentication -# - url: URL for user-password authentication + +# JWT Authentication: +# - enabled: Set to true if JWT authentication is enabled +# - client.id: Client ID for JWT and user-password authentication +# - client.username: Username for JWT authentication +# - client.key_path: Path to client key for JWT authentication +# - url: Audience URL for JWT authentication # Event Monitoring: -# - real_time: Set to true to enable real-time logging +# - real_time: Set to true to enable real-time logging using object type data collection # - real_time_interval: Interval for real-time logging # Event Log File: -# - event_log_file: Set to true to enable event log file +# - event_log_file: Set to true to enable event log file type data collection # - elf_interval: Interval for event log file # - log_file_interval: Interval type for log file collection, either Hourly or Daily @@ -38,18 +37,20 @@ var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" @@ -62,18 +63,20 @@ var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" @@ -89,18 +92,20 @@ var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" @@ -116,18 +121,20 @@ var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" diff --git a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml index ed400781b6b..5dc276748d9 100644 --- a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml @@ -4,6 +4,9 @@ description: > Fileset for ingesting Salesforce Apex logs. fields: + - name: instance_url + type: keyword + description: The Instance URL of the Salesforce instance. - name: access_mode type: keyword description: > diff --git a/x-pack/filebeat/module/salesforce/apex/config/apex.yml b/x-pack/filebeat/module/salesforce/apex/config/apex.yml index cf55c995aea..d9489514913 100644 --- a/x-pack/filebeat/module/salesforce/apex/config/apex.yml +++ b/x-pack/filebeat/module/salesforce/apex/config/apex.yml @@ -1,53 +1,20 @@ {{ if eq .input "salesforce" }} +id: apex type: salesforce enabled: true {{ if .api_version }} version: {{ .api_version }} {{ end }} -auth.oauth2: -{{ if .jwt_authentication_enabled }} - jwt_bearer_flow: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_username }} - client.username: {{ .client_username }} - {{ end }} - {{ if .client_key_path }} - client.key_path: {{ .client_key_path }} - {{ end }} - {{ if .jwt_url }} - url: {{ .jwt_url }} - {{ end }} -{{ else if .user_pass_authentication_enabled }} - user_password_flow: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .username }} - username: {{ .username }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} -{{ end }} +auth.oauth2: {{ .authentication | tojson }} url: {{ .url }} event_monitoring_method: event_log_file: enabled: true interval: {{ .elf_interval }} query: - default: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" - value: "SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST" + default: SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST + value: SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST cursor: field: "CreatedDate" @@ -73,4 +40,8 @@ processors: target: '' fields: ecs.version: 1.12.0 + - add_fields: + target: salesforce + fields: + instance_url: {{ .url }} - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/apex/manifest.yml b/x-pack/filebeat/module/salesforce/apex/manifest.yml index 267cc6672f6..4e49e38ca9f 100644 --- a/x-pack/filebeat/module/salesforce/apex/manifest.yml +++ b/x-pack/filebeat/module/salesforce/apex/manifest.yml @@ -6,16 +6,7 @@ var: - name: tags default: [salesforce-apex,forwarded] - name: api_version - - name: jwt_authentication_enabled - - name: user_pass_authentication_enabled - - name: client_id - - name: client_username - - name: client_key_path - - name: jwt_url - - name: client_secret - - name: token_url - - name: user - - name: password + - name: authentication - name: url - name: elf_interval default: 1h diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index 2020c9b324a..474ad6a40e3 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml index 96e7c1049d7..1301f55f200 100644 --- a/x-pack/filebeat/module/salesforce/login/config/login.yml +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -1,69 +1,28 @@ {{ if eq .input "salesforce" }} +id: login type: salesforce enabled: true {{ if .api_version }} version: {{ .api_version }} {{ end }} -auth.oauth2: -{{ if .jwt_authentication_enabled }} - jwt_bearer_flow: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_username }} - client.username: {{ .client_username }} - {{ end }} - {{ if .client_key_path }} - client.key_path: {{ .client_key_path }} - {{ end }} - {{ if .jwt_url }} - url: {{ .jwt_url }} - {{ end }} -{{ else if .user_pass_authentication_enabled }} - user_password_flow: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .username }} - username: {{ .username }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} -{{ end }} +auth.oauth2: {{ .authentication | tojson }} url: {{ .url }} event_monitoring_method: event_log_file: - {{ if .event_log_file }} - enabled: true - {{ else }} - enabled: false - {{ end }} + enabled: {{ if .event_log_file }}true{{ else }}false{{ end }} interval: {{ .elf_interval }} query: - default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST" - value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" + default: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST + value: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST cursor: field: "CreatedDate" object: - {{ if .object }} - enabled: true - {{ else }} - enabled: false - {{ end }} + enabled: {{ if .real_time }}true{{ else }}false{{ end }} interval: {{ .real_time_interval }} query: - default: "SELECT FIELDS(STANDARD) FROM LoginEvent{{ if .initial_interval }} WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]]{{ end }}" - value: "SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" + default: SELECT FIELDS(STANDARD) FROM LoginEvent{{ if .initial_interval }} WHERE EventDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]]{{ end }} + value: SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]] cursor: field: "EventDate" @@ -89,4 +48,8 @@ processors: target: '' fields: ecs.version: 1.12.0 + - add_fields: + target: salesforce + fields: + instance_url: {{ .url }} - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/login/manifest.yml b/x-pack/filebeat/module/salesforce/login/manifest.yml index f8fa6fef0b6..d68ab3ed64b 100644 --- a/x-pack/filebeat/module/salesforce/login/manifest.yml +++ b/x-pack/filebeat/module/salesforce/login/manifest.yml @@ -6,16 +6,7 @@ var: - name: tags default: [salesforce-login, forwarded] - name: api_version - - name: jwt_authentication_enabled - - name: user_pass_authentication_enabled - - name: client_id - - name: client_username - - name: client_key_path - - name: jwt_url - - name: client_secret - - name: token_url - - name: user - - name: password + - name: authentication - name: url - name: event_log_file - name: elf_interval diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml index 20cdb65f5fe..5064b0d3624 100644 --- a/x-pack/filebeat/module/salesforce/logout/config/logout.yml +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -1,69 +1,28 @@ {{ if eq .input "salesforce" }} +id: logout type: salesforce enabled: true {{ if .api_version }} version: {{ .api_version }} {{ end }} -auth.oauth2: -{{ if .jwt_authentication_enabled }} - jwt_bearer_flow: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_username }} - client.username: {{ .client_username }} - {{ end }} - {{ if .client_key_path }} - client.key_path: {{ .client_key_path }} - {{ end }} - {{ if .jwt_url }} - url: {{ .jwt_url }} - {{ end }} -{{ else if .user_pass_authentication_enabled }} - user_password_flow: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .username }} - username: {{ .username }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} -{{ end }} +auth.oauth2: {{ .authentication | tojson }} url: {{ .url }} event_monitoring_method: event_log_file: - {{ if .event_log_file }} - enabled: true - {{ else }} - enabled: false - {{ end }} + enabled: {{ if .event_log_file }}true{{ else }}false{{ end }} interval: {{ .elf_interval }} query: - default: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Logout' ORDER BY LogDate ASC NULLS FIRST" - value: "SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND EventType = 'Logout' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST" + default: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Logout' ORDER BY LogDate ASC NULLS FIRST + value: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND EventType = 'Logout' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST cursor: field: "CreatedDate" object: - {{ if .object }} - enabled: true - {{ else }} - enabled: false - {{ end }} + enabled: {{ if .real_time }}true{{ else }}false{{ end }} interval: {{ .real_time_interval }} query: - default: "SELECT FIELDS(STANDARD) FROM LogoutEvent{{ if .initial_interval }} WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]]{{ end }}" - value: "SELECT FIELDS(STANDARD) FROM LogoutEvent WHERE EventDate > [[ .cursor.object.first_event_time ]]" + default: SELECT FIELDS(STANDARD) FROM LogoutEvent{{ if .initial_interval }} WHERE EventDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]]{{ end }} + value: SELECT FIELDS(STANDARD) FROM LogoutEvent WHERE EventDate > [[ .cursor.object.first_event_time ]] cursor: field: "EventDate" @@ -89,4 +48,8 @@ processors: target: '' fields: ecs.version: 1.12.0 + - add_fields: + target: salesforce + fields: + instance_url: {{ .url }} - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/logout/manifest.yml b/x-pack/filebeat/module/salesforce/logout/manifest.yml index 88d111a4966..4a2cd9a1305 100644 --- a/x-pack/filebeat/module/salesforce/logout/manifest.yml +++ b/x-pack/filebeat/module/salesforce/logout/manifest.yml @@ -6,16 +6,7 @@ var: - name: tags default: [salesforce-logout, forwarded] - name: api_version - - name: jwt_authentication_enabled - - name: user_pass_authentication_enabled - - name: client_id - - name: client_username - - name: client_key_path - - name: jwt_url - - name: client_secret - - name: token_url - - name: user - - name: password + - name: authentication - name: url - name: event_log_file - name: elf_interval diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml index 4fd90eb74e5..ce6a229d1ec 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -1,57 +1,20 @@ {{ if eq .input "salesforce" }} +id: setupaudittrail type: salesforce enabled: true {{ if .api_version }} version: {{ .api_version }} {{ end }} -auth.oauth2: -{{ if .jwt_authentication_enabled }} - jwt_bearer_flow: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_username }} - client.username: {{ .client_username }} - {{ end }} - {{ if .client_key_path }} - client.key_path: {{ .client_key_path }} - {{ end }} - {{ if .jwt_url }} - url: {{ .jwt_url }} - {{ end }} -{{ else if .user_pass_authentication_enabled }} - user_password_flow: - enabled: true - {{ if .client_id }} - client.id: {{ .client_id }} - {{ end }} - {{ if .client_secret }} - client.secret: {{ .client_secret }} - {{ end }} - {{ if .token_url }} - token_url: {{ .token_url }} - {{ end }} - {{ if .username }} - username: {{ .username }} - {{ end }} - {{ if .password }} - password: {{ .password }} - {{ end }} -{{ end }} +auth.oauth2: {{ .authentication | tojson }} url: {{ .url }} event_monitoring_method: object: - {{ if .object }} - enabled: true - {{ else }} - enabled: false - {{ end }} + enabled: {{ if .real_time }}true{{ else }}false{{ end }} interval: {{ .real_time_interval }} query: - default: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail {{ if .initial_interval }}WHERE EventDate > [[ formatTime(parseDuration(-{{ .initial_interval }})), "2006-01-02T15:04:05+0700") ]] AND{{ end }} ORDER BY CreatedDate ASC NULLS FIRST" - value: "SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE CreatedDate > [[ .cursor.object.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST" + default: SELECT FIELDS(STANDARD) FROM SetupAuditTrail {{ if .initial_interval }}WHERE EventDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]] AND{{ end }} ORDER BY CreatedDate ASC NULLS FIRST + value: SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE CreatedDate > [[ .cursor.object.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST cursor: field: "CreatedDate" @@ -77,4 +40,8 @@ processors: target: '' fields: ecs.version: 1.12.0 + - add_fields: + target: salesforce + fields: + instance_url: {{ .url }} - add_locale: ~ diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml index a6d29dd5bef..eb1eb02b96b 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/manifest.yml @@ -6,16 +6,7 @@ var: - name: tags default: [salesforce-setupaudittrail, forwarded] - name: api_version - - name: jwt_authentication_enabled - - name: user_pass_authentication_enabled - - name: client_id - - name: client_username - - name: client_key_path - - name: jwt_url - - name: client_secret - - name: token_url - - name: user - - name: password + - name: authentication - name: url - name: real_time - name: real_time_interval diff --git a/x-pack/filebeat/modules.d/salesforce.yml.disabled b/x-pack/filebeat/modules.d/salesforce.yml.disabled index 7b33da495be..aa2d4f2e2d3 100644 --- a/x-pack/filebeat/modules.d/salesforce.yml.disabled +++ b/x-pack/filebeat/modules.d/salesforce.yml.disabled @@ -9,28 +9,27 @@ # - api_version: API version for Salesforce, version should be grater than 46.0 # Authentication Configurations: -# JWT Authentication: -# - jwt_authentication_enabled: Set to true if JWT authentication is enabled -# - client_id: Client ID for JWT and user-password authentication -# - client_username: Username for JWT authentication -# - client_key_path: Path to client key for JWT authentication -# - jwt_url: Audience URL for JWT authentication - # User-Password Authentication: -# - user_pass_authentication_enabled: Set to false if user-password authentication is enabled -# - client_id: Client ID for JWT and user-password authentication -# - client_secret: Client secret for user-password authentication +# - enabled: Set to false if user-password authentication is enabled +# - client.id: Client ID for JWT and user-password authentication +# - client.secret: Client secret for user-password authentication # - token_url: Token URL for user-password authentication # - user: Username for user-password authentication # - password: Password for user-password authentication -# - url: URL for user-password authentication + +# JWT Authentication: +# - enabled: Set to true if JWT authentication is enabled +# - client.id: Client ID for JWT and user-password authentication +# - client.username: Username for JWT authentication +# - client.key_path: Path to client key for JWT authentication +# - url: Audience URL for JWT authentication # Event Monitoring: -# - real_time: Set to true to enable real-time logging +# - real_time: Set to true to enable real-time logging using object type data collection # - real_time_interval: Interval for real-time logging # Event Log File: -# - event_log_file: Set to true to enable event log file +# - event_log_file: Set to true to enable event log file type data collection # - elf_interval: Interval for event log file # - log_file_interval: Interval type for log file collection, either Hourly or Daily @@ -41,18 +40,20 @@ var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" @@ -65,18 +66,20 @@ var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" @@ -92,18 +95,20 @@ var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" @@ -119,18 +124,20 @@ var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.client_username: "abc.xyz@mail.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - var.token_url: "https://login.salesforce.com" - var.user: "abc.xyz@mail.com" - var.password: "P@$$W0₹D" + var.authentication: + user_password_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.secret: client-secret + token_url: "https://login.salesforce.com" + user: "abc.xyz@mail.com" + password: "P@$$W0₹D" + jwt_bearer_flow: + enabled: true + client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.username: "abc.xyz@mail.com" + client.key_path: client_key.pem + url: https://login.salesforce.com var.url: "https://instance_id.my.salesforce.com" From 655b0f134ec71ee4a05e2b0677ccbd981d567de9 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 14 Mar 2024 14:51:22 +0530 Subject: [PATCH 106/172] Add retry and timeout in HTTP client --- x-pack/filebeat/input/salesforce/config.go | 47 +++++++++++++ x-pack/filebeat/input/salesforce/input.go | 69 +++++++++++++++++-- .../input/salesforce/input_manager.go | 27 +++++++- .../filebeat/input/salesforce/input_test.go | 25 +++++-- 4 files changed, 155 insertions(+), 13 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/config.go b/x-pack/filebeat/input/salesforce/config.go index 9b601febe53..55ee1c81e83 100644 --- a/x-pack/filebeat/input/salesforce/config.go +++ b/x-pack/filebeat/input/salesforce/config.go @@ -8,15 +8,62 @@ import ( "errors" "fmt" "time" + + "github.com/elastic/elastic-agent-libs/transport/httpcommon" ) type config struct { + Resource *resourceConfig `config:"resource"` Auth *authConfig `config:"auth"` EventMonitoringMethod *eventMonitoringMethod `config:"event_monitoring_method"` URL string `config:"url" validate:"required"` Version int `config:"version" validate:"required"` } +type resourceConfig struct { + Retry retryConfig `config:"retry"` + Transport httpcommon.HTTPTransportSettings `config:",inline"` +} + +type retryConfig struct { + MaxAttempts *int `config:"max_attempts"` + WaitMin *time.Duration `config:"wait_min"` + WaitMax *time.Duration `config:"wait_max"` +} + +func (c retryConfig) Validate() error { + switch { + case c.MaxAttempts != nil && *c.MaxAttempts <= 0: + return errors.New("max_attempts must be greater than zero") + case c.WaitMin != nil && *c.WaitMin <= 0: + return errors.New("wait_min must be greater than zero") + case c.WaitMax != nil && *c.WaitMax <= 0: + return errors.New("wait_max must be greater than zero") + } + return nil +} + +func (c retryConfig) getMaxAttempts() int { + if c.MaxAttempts == nil { + return 0 + } + return *c.MaxAttempts +} + +func (c retryConfig) getWaitMin() time.Duration { + if c.WaitMin == nil { + return 0 + } + return *c.WaitMin +} + +func (c retryConfig) getWaitMax() time.Duration { + if c.WaitMax == nil { + return 0 + } + return *c.WaitMax +} + type eventMonitoringMethod struct { EventLogFile EventMonitoringConfig `config:"event_log_file"` Object EventMonitoringConfig `config:"object"` diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 26990137363..290c2cb8a08 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -21,6 +21,8 @@ import ( "github.com/g8rswimmer/go-sfdc/session" "github.com/g8rswimmer/go-sfdc/soql" "github.com/golang-jwt/jwt" + "github.com/hashicorp/go-retryablehttp" + "go.uber.org/zap" "golang.org/x/exp/slices" v2 "github.com/elastic/beats/v7/filebeat/input/v2" @@ -99,7 +101,7 @@ func (s *salesforceInput) Setup(env v2.Context, src inputcursor.Source, cursor * s.publisher = pub s.cursor = cursor s.log = env.Logger.With("input_url", cfg.URL) - s.sfdcConfig, err = getSFDCConfig(&cfg) + s.sfdcConfig, err = s.getSFDCConfig(&cfg) if err != nil { return fmt.Errorf("error with configuration: %w", err) } @@ -318,10 +320,13 @@ func (s *salesforceInput) RunEventLogFile() error { s.clientSession.AuthorizationHeader(req) - // NOTE: X-PrettyPrint:1 is for formatted response and ideally we do - // not need it. But see: - // https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_event_log_file_download.htm?q=X-PrettyPrint%3A1 - req.Header.Add("X-PrettyPrint", "1") + // NOTE: If we ever see a production issue relaated to this, then only + // we should consider adding the header: "X-PrettyPrint:1" + // + // // NOTE: X-PrettyPrint:1 is for formatted response and ideally we do + // // not need it. But see: + // // https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_event_log_file_download.htm?q=X-PrettyPrint%3A1 + // req.Header.Add("X-PrettyPrint", "1") resp, err := s.sfdcConfig.Client.Do(req) if err != nil { @@ -377,7 +382,7 @@ func (s *salesforceInput) RunEventLogFile() error { } // getSFDCConfig returns a new Salesforce configuration based on the configuration. -func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { +func (s *salesforceInput) getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { var ( creds *credentials.Credentials err error @@ -426,13 +431,63 @@ func getSFDCConfig(cfg *config) (*sfdc.Configuration, error) { } + client, err := newClient(*cfg, s.log) + if err != nil { + return nil, fmt.Errorf("problem with client: %w", err) + } + return &sfdc.Configuration{ Credentials: creds, - Client: http.DefaultClient, + Client: client, Version: cfg.Version, }, nil } +// retryLog is a shim for the retryablehttp.Client.Logger. +type retryLog struct{ log *logp.Logger } + +func newRetryLog(log *logp.Logger) *retryLog { + return &retryLog{log: log.Named("retryablehttp").WithOptions(zap.AddCallerSkip(1))} +} + +func (l *retryLog) Error(msg string, kv ...interface{}) { l.log.Errorw(msg, kv...) } +func (l *retryLog) Info(msg string, kv ...interface{}) { l.log.Infow(msg, kv...) } +func (l *retryLog) Debug(msg string, kv ...interface{}) { l.log.Debugw(msg, kv...) } +func (l *retryLog) Warn(msg string, kv ...interface{}) { l.log.Warnw(msg, kv...) } + +// retryErrorHandler returns a retryablehttp.ErrorHandler that will log retry resignation +// but return the last retry attempt's response and a nil error to allow the retryablehttp.Client +// evaluate the response status itself. Any error passed to the retryablehttp.ErrorHandler +// is returned unaltered. +func retryErrorHandler(max int, log *logp.Logger) retryablehttp.ErrorHandler { + return func(resp *http.Response, err error, numTries int) (*http.Response, error) { + log.Warnw("giving up retries", "method", resp.Request.Method, "url", resp.Request.URL, "retries", max+1) + return resp, err + } +} + +func newClient(cfg config, log *logp.Logger) (*http.Client, error) { + c, err := cfg.Resource.Transport.Client() + if err != nil { + return nil, err + } + + if maxAttempts := cfg.Resource.Retry.getMaxAttempts(); maxAttempts > 1 { + c = (&retryablehttp.Client{ + HTTPClient: c, + Logger: newRetryLog(log), + RetryWaitMin: cfg.Resource.Retry.getWaitMin(), + RetryWaitMax: cfg.Resource.Retry.getWaitMax(), + RetryMax: maxAttempts, + CheckRetry: retryablehttp.DefaultRetryPolicy, + Backoff: retryablehttp.DefaultBackoff, + ErrorHandler: retryErrorHandler(maxAttempts, log), + }).StandardClient() + } + + return c, nil +} + // publishEvent publishes an event using the configured publisher pub. func publishEvent(pub inputcursor.Publisher, cursor *state, jsonStrEvent []byte, dataCollectionMethod string) error { event := beat.Event{ diff --git a/x-pack/filebeat/input/salesforce/input_manager.go b/x-pack/filebeat/input/salesforce/input_manager.go index 066d9d7b7f4..1fb0ae42e91 100644 --- a/x-pack/filebeat/input/salesforce/input_manager.go +++ b/x-pack/filebeat/input/salesforce/input_manager.go @@ -6,6 +6,7 @@ package salesforce import ( "fmt" + "time" "github.com/elastic/go-concert/unison" @@ -13,6 +14,7 @@ import ( inputcursor "github.com/elastic/beats/v7/filebeat/input/v2/input-cursor" conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" + "github.com/elastic/elastic-agent-libs/transport/httpcommon" ) // compile-time check if querier implements InputManager @@ -37,9 +39,30 @@ func NewInputManager(log *logp.Logger, store inputcursor.StateStore) InputManage } } +func defaultConfig() config { + apiVersion := 58 + maxAttempts := 5 + waitMin := time.Second + waitMax := time.Minute + transport := httpcommon.DefaultHTTPTransportSettings() + transport.Timeout = 30 * time.Second + + return config{ + Version: apiVersion, + Resource: &resourceConfig{ + Transport: transport, + Retry: retryConfig{ + MaxAttempts: &maxAttempts, + WaitMin: &waitMin, + WaitMax: &waitMax, + }, + }, + } +} + // cursorConfigure configures the cursor input manager. func cursorConfigure(cfg *conf.C) ([]inputcursor.Source, inputcursor.Input, error) { - config := config{Version: 58} + config := defaultConfig() if err := cfg.Unpack(&config); err != nil { return nil, nil, fmt.Errorf("reading config: %w", err) } @@ -58,7 +81,7 @@ func (m InputManager) Init(grp unison.Group, mode v2.Mode) error { // Create creates a cursor input manager. func (m InputManager) Create(cfg *conf.C) (v2.Input, error) { - config := config{Version: 58} + config := defaultConfig() if err := cfg.Unpack(&config); err != nil { return nil, err } diff --git a/x-pack/filebeat/input/salesforce/input_test.go b/x-pack/filebeat/input/salesforce/input_test.go index 4cb92b39a1e..a579036e4d8 100644 --- a/x-pack/filebeat/input/salesforce/input_test.go +++ b/x-pack/filebeat/input/salesforce/input_test.go @@ -26,6 +26,7 @@ import ( conf "github.com/elastic/elastic-agent-libs/config" "github.com/elastic/elastic-agent-libs/logp" "github.com/elastic/elastic-agent-libs/mapstr" + "github.com/elastic/elastic-agent-libs/transport/httpcommon" ) const ( @@ -324,7 +325,7 @@ func TestInput(t *testing.T) { t.Run(tc.name, func(t *testing.T) { tc.setupServer(t, tc.handler, tc.baseConfig) - cfg := config{Version: 58} + cfg := defaultConfig() err := conf.MustNewConfigFrom(tc.baseConfig).Unpack(&cfg) assert.NoError(t, err) timeout := 5 * time.Second @@ -355,9 +356,9 @@ func TestInput(t *testing.T) { salesforceInput.cancel = cancelClause salesforceInput.srcConfig = &cfg salesforceInput.publisher = &client - salesforceInput.log = logp.NewLogger("salesforce") + salesforceInput.log = logp.L().With("input_url", "salesforce") - salesforceInput.sfdcConfig, err = getSFDCConfig(&cfg) + salesforceInput.sfdcConfig, err = salesforceInput.getSFDCConfig(&cfg) assert.NoError(t, err) salesforceInput.soqlr, err = salesforceInput.SetupSFClientConnection() @@ -577,6 +578,16 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { soqlr *soql.Resource config config } + + defaultResource := resourceConfig{ + Retry: retryConfig{ + MaxAttempts: pointer(5), + WaitMin: pointer(time.Minute), + WaitMax: pointer(time.Minute), + }, + Transport: httpcommon.DefaultHTTPTransportSettings(), + } + tests := []struct { fields fields setupServer func(testing.TB, http.HandlerFunc, *config) @@ -599,6 +610,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { Version: 56, Auth: &defaultUserPassAuthConfig, EventMonitoringMethod: &objectEventMonitotingConfig, + Resource: &defaultResource, }, cursor: &state{}, }, @@ -614,6 +626,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { Version: 56, Auth: &defaultUserPassAuthConfig, EventMonitoringMethod: &objectEventMonitoringWithWrongQuery, + Resource: &defaultResource, }, cursor: &state{}, }, @@ -629,6 +642,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { Version: 56, Auth: &defaultUserPassAuthConfig, EventMonitoringMethod: &objectEventMonitoringWithWrongQuery, + Resource: &defaultResource, }, cursor: &state{ Object: dateTimeCursor{ @@ -651,6 +665,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { Version: 56, Auth: &defaultUserPassAuthConfig, EventMonitoringMethod: &elfEventMonitotingConfig, + Resource: &defaultResource, }, cursor: &state{}, }, @@ -666,6 +681,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { Version: 56, Auth: &defaultUserPassAuthConfig, EventMonitoringMethod: &elfEventMonitotingWithWrongQuery, + Resource: &defaultResource, }, cursor: &state{}, }, @@ -681,6 +697,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { Version: 56, Auth: &defaultUserPassAuthConfig, EventMonitoringMethod: &elfEventMonitotingWithWrongQuery, + Resource: &defaultResource, }, cursor: &state{ EventLogFile: dateTimeCursor{ @@ -724,7 +741,7 @@ func TestSalesforceInputRunWithMethod(t *testing.T) { s.srcConfig = &s.config var err error - s.sfdcConfig, err = getSFDCConfig(&s.config) + s.sfdcConfig, err = s.getSFDCConfig(&s.config) if err != nil && !tt.wantErr { t.Errorf("unexpected error from running input: %v", err) } From dabdef8b405fdae81661201e87d2070ded488ee3 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 15 Mar 2024 00:40:16 +0530 Subject: [PATCH 107/172] Update NOTICE.txt --- NOTICE.txt | 128 ++++++++++++++++++++++++++--------------------------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 4432c15dfb2..7eb06782dd7 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -29766,28 +29766,28 @@ Licence type (autodetected): MIT Contents of probable licence file $GOMODCACHE/github.com/!azure/go-amqp@v0.16.0/LICENSE: - MIT License - - Copyright (C) 2017 Kale Blankenship - Portions Copyright (C) Microsoft Corporation - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + MIT License + + Copyright (C) 2017 Kale Blankenship + Portions Copyright (C) Microsoft Corporation + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- @@ -31468,27 +31468,27 @@ Licence type (autodetected): MIT Contents of probable licence file $GOMODCACHE/github.com/!azure!a!d/microsoft-authentication-library-for-go@v1.1.1/LICENSE: - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- @@ -31796,27 +31796,27 @@ Licence type (autodetected): MIT Contents of probable licence file $GOMODCACHE/github.com/akavel/rsrc@v0.8.0/LICENSE.txt: -The MIT License (MIT) - -Copyright (c) 2013-2017 The rsrc Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +The MIT License (MIT) + +Copyright (c) 2013-2017 The rsrc Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- From f3c2ee1bcd78fa097f526b86caed1228c6b7f4da Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 15 Mar 2024 01:54:18 +0530 Subject: [PATCH 108/172] Update README --- .../docs/inputs/input-salesforce.asciidoc | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index 3473e22750e..b2b9f983918 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -172,6 +172,27 @@ The URL for the JWT bearer flow. The URL of the Salesforce instance. Required. +[[resource-parameters]] +[float] +==== `resource.timeout` + +Duration before declaring that the HTTP client connection has timed out. Valid time units are `ns`, `us`, `ms`, `s`, `m`, `h`. Default: `30s`. + +[float] +==== `resource.retry.max_attempts` + +The maximum number of retries for the HTTP client. Default: `5`. + +[float] +==== `resource.retry.wait_min` + +The minimum time to wait before a retry is attempted. Default: `1s`. + +[float] +==== `resource.retry.wait_max` + +The maximum time to wait before a retry is attempted. Default: `60s`. + [object] ==== `event_monitoring_method` From e08925cc5bae6d5e175f02bfbfe79a445d1dfef2 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 18 Mar 2024 17:41:02 +0530 Subject: [PATCH 109/172] Address review comments --- .../docs/inputs/input-salesforce.asciidoc | 2 +- x-pack/filebeat/input/salesforce/input.go | 31 +++++++++++++------ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index b2b9f983918..7104f29f9a9 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -9,7 +9,7 @@ Salesforce ++++ -Use the `salesforce` input to monitor Salesforce events either via the Salesforce ELF API or the Salesforce Real-time event monitoring API. Both use REST API (to execute SOQL queries in the Salesforce instance) under the hood to query the relevant objects to fetch the events. +Use the `salesforce` input to monitor Salesforce events either via the https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm[Salesforce EventLogFile (ELF) API] or the https://developer.salesforce.com/blogs/2020/05/introduction-to-real-time-event-monitoring[Salesforce Real-time event monitoring API]. Both use REST API (to execute SOQL queries in the Salesforce instance) under the hood to query the relevant objects to fetch the events. Here the `input` have cursor state(s) that will be provided to the next execution of event monitoring to fetch the events from the last cursor state. The cursor states can be used to control the behaviour of the program. diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 290c2cb8a08..9ef84179417 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -213,21 +213,28 @@ func (s *salesforceInput) FormQueryWithCursor(queryConfig *QueryConfig, cursor m return &querier{Query: qr}, err } +// isZero checks if the given value v is the zero value for its type. +// It compares v to the zero value obtained by new(T). +func isZero[T comparable](v T) bool { + return v == *new(T) +} + // RunObject runs the Object method of the Event Monitoring API to collect events. func (s *salesforceInput) RunObject() error { - s.log.Debugf("Scrape Objects every %s", s.srcConfig.EventMonitoringMethod.Object.Interval) + s.log.Debugf("scrape object(s) every %s", s.srcConfig.EventMonitoringMethod.Object.Interval) var cursor mapstr.M - if !(s.cursor.Object.FirstEventTime == "" && s.cursor.Object.LastEventTime == "") { + if !(isZero(s.cursor.Object.FirstEventTime) && isZero(s.cursor.Object.LastEventTime)) { object := make(mapstr.M) - if s.cursor.Object.FirstEventTime != "" { + if !isZero(s.cursor.Object.FirstEventTime) { object.Put("first_event_time", s.cursor.Object.FirstEventTime) } - if s.cursor.Object.LastEventTime != "" { + if !isZero(s.cursor.Object.LastEventTime) { object.Put("last_event_time", s.cursor.Object.LastEventTime) } cursor = mapstr.M{"object": object} } + query, err := s.FormQueryWithCursor(s.config.EventMonitoringMethod.Object.Query, cursor) if err != nil { return fmt.Errorf("error forming query based on cursor: %w", err) @@ -282,15 +289,15 @@ func (s *salesforceInput) RunObject() error { // RunEventLogFile runs the EventLogFile method of the Event Monitoring API to // collect events. func (s *salesforceInput) RunEventLogFile() error { - s.log.Debugf("Scrape EventLogFiles every %s", s.srcConfig.EventMonitoringMethod.EventLogFile.Interval) + s.log.Debugf("scrape eventLogFile(s) every %s", s.srcConfig.EventMonitoringMethod.EventLogFile.Interval) var cursor mapstr.M - if !(s.cursor.EventLogFile.FirstEventTime == "" && s.cursor.EventLogFile.LastEventTime == "") { + if !(isZero(s.cursor.Object.FirstEventTime) && isZero(s.cursor.Object.LastEventTime)) { eventLogFile := make(mapstr.M) - if s.cursor.EventLogFile.FirstEventTime != "" { + if !isZero(s.cursor.Object.FirstEventTime) { eventLogFile.Put("first_event_time", s.cursor.EventLogFile.FirstEventTime) } - if s.cursor.EventLogFile.LastEventTime != "" { + if !isZero(s.cursor.Object.LastEventTime) { eventLogFile.Put("last_event_time", s.cursor.EventLogFile.LastEventTime) } cursor = mapstr.M{"event_log_file": eventLogFile} @@ -306,6 +313,9 @@ func (s *salesforceInput) RunEventLogFile() error { return err } + // NOTE: This is a failsafe check because the HTTP client is always set. + // This check allows unit tests to verify correct behavior when the HTTP + // client is nil. if s.sfdcConfig.Client == nil { return errors.New("internal error: salesforce configuration is not set properly") } @@ -413,8 +423,9 @@ func (s *salesforceInput) getSFDCConfig(cfg *config) (*sfdc.Configuration, error creds, err = credentials.NewJWTCredentials(passCreds) if err != nil { - return nil, fmt.Errorf("problem with credentials: %w", err) + return nil, fmt.Errorf("error creating jwt credentials: %w", err) } + case cfg.Auth.OAuth2.UserPasswordFlow != nil && cfg.Auth.OAuth2.UserPasswordFlow.isEnabled(): passCreds := credentials.PasswordCredentials{ URL: cfg.Auth.OAuth2.UserPasswordFlow.TokenURL, @@ -426,7 +437,7 @@ func (s *salesforceInput) getSFDCConfig(cfg *config) (*sfdc.Configuration, error creds, err = credentials.NewPasswordCredentials(passCreds) if err != nil { - return nil, fmt.Errorf("problem with credentials: %w", err) + return nil, fmt.Errorf("error creating password credentials: %w", err) } } From 15157114ca4cef4b31b7f81e15fbd48257e08340 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 19 Mar 2024 16:32:38 +0530 Subject: [PATCH 110/172] Fix bugs --- x-pack/filebeat/input/salesforce/input.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 9ef84179417..1e893625ed2 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -190,7 +190,7 @@ func (s *salesforceInput) SetupSFClientConnection() (*soql.Resource, error) { return nil, err } - // set clientSession for re-use (EventLogFile) + // Set clientSession for re-use. s.clientSession = session // Create a new SOQL resource using the session. @@ -494,6 +494,10 @@ func newClient(cfg config, log *logp.Logger) (*http.Client, error) { Backoff: retryablehttp.DefaultBackoff, ErrorHandler: retryErrorHandler(maxAttempts, log), }).StandardClient() + + // BUG: retryablehttp ignores the timeout previously set. So, setting it + // again. + c.Timeout = cfg.Resource.Transport.Timeout } return c, nil From 6e0cfca91c15a405095413167ff6dabed5989ff9 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 26 Mar 2024 13:51:46 +0530 Subject: [PATCH 111/172] Update Multiple Pipelines and update all the dashboards --- .../module/salesforce/_meta/docs.asciidoc | 216 +- ...-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json | 330 --- ...-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json | 296 --- ...-6c750440-5749-11ec-8f0b-05e8b06e1b10.json | 158 -- ...-790da810-5749-11ec-8f0b-05e8b06e1b10.json | 165 -- .../5c2e6bc0-5d6c-11ec-9523-d1b667ac64c0.json | 142 - .../51d23250-5d8b-11ec-9523-d1b667ac64c0.json | 75 - .../769ba1c0-4b84-11ec-9959-a3c0f68b1e4f.json | 73 - .../b3b98110-5d92-11ec-9523-d1b667ac64c0.json | 71 - .../ef8b6070-5d6d-11ec-9523-d1b667ac64c0.json | 67 - .../50e50c20-5749-11ec-8f0b-05e8b06e1b10.json | 13 - .../17f0a5d0-5750-11ec-8f0b-05e8b06e1b10.json | 113 - .../24c39ae0-574d-11ec-8f0b-05e8b06e1b10.json | 166 -- .../27897120-5d6d-11ec-9523-d1b667ac64c0.json | 178 -- .../2a11e7a0-cd35-11ec-83d5-7f8e1b7a2529.json | 85 - .../2b7921e0-5d6d-11ec-9523-d1b667ac64c0.json | 117 - .../31366a60-5751-11ec-8f0b-05e8b06e1b10.json | 183 -- .../33be8340-5d90-11ec-9523-d1b667ac64c0.json | 117 - .../416da3a0-574f-11ec-8f0b-05e8b06e1b10.json | 120 - .../4f9923d0-574c-11ec-8f0b-05e8b06e1b10.json | 127 - .../5b503310-4b8c-11ec-9959-a3c0f68b1e4f.json | 194 -- .../61eec180-5750-11ec-8f0b-05e8b06e1b10.json | 176 -- .../6d86efd0-5751-11ec-8f0b-05e8b06e1b10.json | 197 -- .../7a22ead0-5758-11ec-8f0b-05e8b06e1b10.json | 36 - .../80c0b730-5d90-11ec-9523-d1b667ac64c0.json | 178 -- .../86081670-5d95-11ec-9523-d1b667ac64c0.json | 212 -- .../8cec4c30-574c-11ec-8f0b-05e8b06e1b10.json | 127 - .../93c37330-5751-11ec-8f0b-05e8b06e1b10.json | 179 -- .../ab958760-5d90-11ec-9523-d1b667ac64c0.json | 176 -- .../baeaca80-cd2b-11ec-83d5-7f8e1b7a2529.json | 177 -- .../c69e97e0-5d72-11ec-9523-d1b667ac64c0.json | 101 - .../cf5f92c0-4b8a-11ec-9959-a3c0f68b1e4f.json | 178 -- .../e6da1080-5d8f-11ec-9523-d1b667ac64c0.json | 117 - .../e8175600-5d90-11ec-9523-d1b667ac64c0.json | 118 - .../f4e05440-5d72-11ec-9523-d1b667ac64c0.json | 101 - .../f5942600-5d95-11ec-9523-d1b667ac64c0.json | 179 -- .../fbb560f0-5d8e-11ec-9523-d1b667ac64c0.json | 114 - ...9aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json | 2300 +++++++++++++++++ ...f0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 2241 ++++++++++++++++ ...50440-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 1128 ++++++++ ...da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 769 ++++++ .../module/salesforce/apex/_meta/fields.yml | 8 +- .../salesforce/apex/ingest/pipeline.yml | 4 + x-pack/filebeat/module/salesforce/fields.go | 2 +- .../module/salesforce/login/_meta/fields.yml | 44 +- .../salesforce/login/ingest/default.yml | 119 + .../salesforce/login/ingest/eventlogfile.yml | 202 ++ .../module/salesforce/login/ingest/object.yml | 226 ++ .../salesforce/login/ingest/pipeline.yml | 418 --- .../module/salesforce/login/manifest.yml | 4 +- .../module/salesforce/logout/_meta/fields.yml | 42 +- .../salesforce/logout/ingest/default.yml | 117 + .../salesforce/logout/ingest/eventlogfile.yml | 235 ++ .../salesforce/logout/ingest/object.yml | 59 + .../salesforce/logout/ingest/pipeline.yml | 240 -- .../module/salesforce/logout/manifest.yml | 5 +- .../setupaudittrail/_meta/fields.yml | 8 + .../config/setupaudittrail.yml | 2 +- .../setupaudittrail/ingest/pipeline.yml | 22 +- 59 files changed, 7606 insertions(+), 5961 deletions(-) delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/map/5c2e6bc0-5d6c-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/search/51d23250-5d8b-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/search/769ba1c0-4b84-11ec-9959-a3c0f68b1e4f.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/search/b3b98110-5d92-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/search/ef8b6070-5d6d-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/tag/50e50c20-5749-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/17f0a5d0-5750-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/24c39ae0-574d-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/27897120-5d6d-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/2a11e7a0-cd35-11ec-83d5-7f8e1b7a2529.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/2b7921e0-5d6d-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/31366a60-5751-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/33be8340-5d90-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/416da3a0-574f-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/4f9923d0-574c-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/5b503310-4b8c-11ec-9959-a3c0f68b1e4f.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/61eec180-5750-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/6d86efd0-5751-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/7a22ead0-5758-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/80c0b730-5d90-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/86081670-5d95-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/8cec4c30-574c-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/93c37330-5751-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/ab958760-5d90-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/baeaca80-cd2b-11ec-83d5-7f8e1b7a2529.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/c69e97e0-5d72-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/cf5f92c0-4b8a-11ec-9959-a3c0f68b1e4f.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/e6da1080-5d8f-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/e8175600-5d90-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/f4e05440-5d72-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/f5942600-5d95-11ec-9523-d1b667ac64c0.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/fbb560f0-5d8e-11ec-9523-d1b667ac64c0.json create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json create mode 100644 x-pack/filebeat/module/salesforce/login/ingest/default.yml create mode 100644 x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml create mode 100644 x-pack/filebeat/module/salesforce/login/ingest/object.yml delete mode 100644 x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml create mode 100644 x-pack/filebeat/module/salesforce/logout/ingest/default.yml create mode 100644 x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml create mode 100644 x-pack/filebeat/module/salesforce/logout/ingest/object.yml delete mode 100644 x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index 83de7fc4ba7..e2630d05d38 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -38,18 +38,20 @@ Example config: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "my-client-id" - var.client_username: "my.email@here.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com" - var.user: "my.email@here.com" - var.password: "password" + var.authentication: + jwt_bearer_flow: + enabled: false + client.id: "my-client-id" + client.username: "my.email@here.com" + client.key_path: client_key.pem + url: https://login.salesforce.com + user_password_flow: + enabled: true + client.id: "my-client-id" + client.secret: "my-client-secret" + token_url: "https://login.salesforce.com" + username: "my.email@here.com" + password: "password" var.url: "https://instance-url.salesforce.com" @@ -71,39 +73,43 @@ The initial interval for the `login` fileset. It defines the time window in whic The API version of the Salesforce instance. -*`var.jwt_authentication_enabled`*:: +*`var.authentication`*:: + +Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. + +*`var.authentication.jwt_bearer_flow.client.id`*:: -Set to true if JWT authentication is enabled. +The client id for JWT authentication. -*`var.client_username`*:: +*`var.authentication.jwt_bearer_flow.client.username`*:: The username used for JWT authentication. -*`var.client_key_path`*:: +*`var.authentication.jwt_bearer_flow.client.key_path`*:: Path to the client key for JWT authentication. -*`var.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.jwt_url`*:: The audience URL for JWT authentication. -*`var.user_pass_authentication_enabled`*:: +*`var.authentication.user_password_flow.client.id`*:: -Set to false if user-password authentication is enabled. +The client id for user-password authentication. -*`var.client_secret`*:: +*`var.authentication.user_password_flow.client.secret`*:: The client secret for user-password authentication. -*`var.token_url`*:: +*`var.authentication.user_password_flow.token_url`*:: The token URL for user-password authentication. -*`var.user`*:: +*`var.authentication.user_password_flow.username`*:: -The user used for user-password authentication. +The username used for user-password authentication. -*`var.password`*:: +*`var.authentication.user_password_flow.password`*:: The password used for user-password authentication. @@ -144,18 +150,20 @@ Example config: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "my-client-id" - var.client_username: "my.email@here.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com" - var.user: "my.email@here.com" - var.password: "password" + var.authentication: + jwt_bearer_flow: + enabled: false + client.id: "my-client-id" + client.username: "my.email@here.com" + client.key_path: client_key.pem + url: https://login.salesforce.com + user_password_flow: + enabled: true + client.id: "my-client-id" + client.secret: "my-client-secret" + token_url: "https://login.salesforce.com" + username: "my.email@here.com" + password: "password" var.url: "https://instance-url.salesforce.com" @@ -177,39 +185,43 @@ The initial interval for the `logout` fileset. It defines the time window in whi The API version of the Salesforce instance. -*`var.jwt_authentication_enabled`*:: +*`var.authentication`*:: + +Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. + +*`var.authentication.jwt_bearer_flow.client.id`*:: -Set to true if JWT authentication is enabled. +The client id for JWT authentication. -*`var.client_username`*:: +*`var.authentication.jwt_bearer_flow.client.username`*:: The username used for JWT authentication. -*`var.client_key_path`*:: +*`var.authentication.jwt_bearer_flow.client.key_path`*:: Path to the client key for JWT authentication. -*`var.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.jwt_url`*:: The audience URL for JWT authentication. -*`var.user_pass_authentication_enabled`*:: +*`var.authentication.user_password_flow.client.id`*:: -Set to false if user-password authentication is enabled. +The client id for user-password authentication. -*`var.client_secret`*:: +*`var.authentication.user_password_flow.client.secret`*:: The client secret for user-password authentication. -*`var.token_url`*:: +*`var.authentication.user_password_flow.token_url`*:: The token URL for user-password authentication. -*`var.user`*:: +*`var.authentication.user_password_flow.username`*:: -The user used for user-password authentication. +The username used for user-password authentication. -*`var.password`*:: +*`var.authentication.user_password_flow.password`*:: The password used for user-password authentication. @@ -250,18 +262,20 @@ Example config: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "my-client-id" - var.client_username: "my.email@here.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com" - var.user: "my.email@here.com" - var.password: "password" + var.authentication: + jwt_bearer_flow: + enabled: false + client.id: "my-client-id" + client.username: "my.email@here.com" + client.key_path: client_key.pem + url: https://login.salesforce.com + user_password_flow: + enabled: true + client.id: "my-client-id" + client.secret: "my-client-secret" + token_url: "https://login.salesforce.com" + username: "my.email@here.com" + password: "password" var.url: "https://instance-url.salesforce.com" @@ -279,39 +293,43 @@ The initial interval for the `logout` fileset. It defines the time window in whi The API version of the Salesforce instance. -*`var.jwt_authentication_enabled`*:: +*`var.authentication`*:: + +Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. + +*`var.authentication.jwt_bearer_flow.client.id`*:: -Set to true if JWT authentication is enabled. +The client id for JWT authentication. -*`var.client_username`*:: +*`var.authentication.jwt_bearer_flow.client.username`*:: The username used for JWT authentication. -*`var.client_key_path`*:: +*`var.authentication.jwt_bearer_flow.client.key_path`*:: Path to the client key for JWT authentication. -*`var.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.jwt_url`*:: The audience URL for JWT authentication. -*`var.user_pass_authentication_enabled`*:: +*`var.authentication.user_password_flow.client.id`*:: -Set to false if user-password authentication is enabled. +The client id for user-password authentication. -*`var.client_secret`*:: +*`var.authentication.user_password_flow.client.secret`*:: The client secret for user-password authentication. -*`var.token_url`*:: +*`var.authentication.user_password_flow.token_url`*:: The token URL for user-password authentication. -*`var.user`*:: +*`var.authentication.user_password_flow.username`*:: -The user used for user-password authentication. +The username used for user-password authentication. -*`var.password`*:: +*`var.authentication.user_password_flow.password`*:: The password used for user-password authentication. @@ -341,18 +359,20 @@ Example config: var.log_file_interval: Hourly var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "my-client-id" - var.client_username: "my.email@here.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com" - var.user: "my.email@here.com" - var.password: "password" + var.authentication: + jwt_bearer_flow: + enabled: false + client.id: "my-client-id" + client.username: "my.email@here.com" + client.key_path: client_key.pem + url: https://login.salesforce.com + user_password_flow: + enabled: true + client.id: "my-client-id" + client.secret: "my-client-secret" + token_url: "https://login.salesforce.com" + username: "my.email@here.com" + password: "password" var.url: "https://instance-url.salesforce.com" @@ -371,39 +391,43 @@ The initial interval for the `logout` fileset. It defines the time window in whi The API version of the Salesforce instance. -*`var.jwt_authentication_enabled`*:: +*`var.authentication`*:: + +Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. + +*`var.authentication.jwt_bearer_flow.client.id`*:: -Set to true if JWT authentication is enabled. +The client id for JWT authentication. -*`var.client_username`*:: +*`var.authentication.jwt_bearer_flow.client.username`*:: The username used for JWT authentication. -*`var.client_key_path`*:: +*`var.authentication.jwt_bearer_flow.client.key_path`*:: Path to the client key for JWT authentication. -*`var.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.jwt_url`*:: The audience URL for JWT authentication. -*`var.user_pass_authentication_enabled`*:: +*`var.authentication.user_password_flow.client.id`*:: -Set to false if user-password authentication is enabled. +The client id for user-password authentication. -*`var.client_secret`*:: +*`var.authentication.user_password_flow.client.secret`*:: The client secret for user-password authentication. -*`var.token_url`*:: +*`var.authentication.user_password_flow.token_url`*:: The token URL for user-password authentication. -*`var.user`*:: +*`var.authentication.user_password_flow.username`*:: -The user used for user-password authentication. +The username used for user-password authentication. -*`var.password`*:: +*`var.authentication.user_password_flow.password`*:: The password used for user-password authentication. diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index a054e9bbd2f..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,330 +0,0 @@ -{ - "attributes": { - "description": "Login EventLogFile Data", - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "optionsJSON": { - "hidePanelTitles": false, - "syncColors": false, - "useMargins": false - }, - "panelsJSON": [ - { - "embeddableConfig": { - "enhancements": {} - }, - "gridData": { - "h": 4, - "i": "4556b8a4-b5c8-4bb2-bc03-23b4f40b3af0", - "w": 48, - "x": 0, - "y": 0 - }, - "panelIndex": "4556b8a4-b5c8-4bb2-bc03-23b4f40b3af0", - "panelRefName": "panel_4556b8a4-b5c8-4bb2-bc03-23b4f40b3af0", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {} - }, - "gridData": { - "h": 15, - "i": "df92b3a0-d885-4bac-a98b-ab94d1d65936", - "w": 12, - "x": 0, - "y": 4 - }, - "panelIndex": "df92b3a0-d885-4bac-a98b-ab94d1d65936", - "panelRefName": "panel_df92b3a0-d885-4bac-a98b-ab94d1d65936", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "ae31f75c-4943-48ee-8177-f7ad58a91553", - "w": 12, - "x": 12, - "y": 4 - }, - "panelIndex": "ae31f75c-4943-48ee-8177-f7ad58a91553", - "panelRefName": "panel_ae31f75c-4943-48ee-8177-f7ad58a91553", - "title": "Failed login attempts [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hiddenLayers": [], - "hidePanelTitles": false, - "isLayerTOCOpen": false, - "mapBuffer": { - "maxLat": 66.51326, - "maxLon": 180, - "minLat": -66.51326, - "minLon": -90 - }, - "mapCenter": { - "lat": 14.75725, - "lon": 26.27964, - "zoom": 1.31 - }, - "openTOCDetails": [] - }, - "gridData": { - "h": 15, - "i": "9caaed64-6c42-40af-a6af-ae58cce576e3", - "w": 24, - "x": 24, - "y": 4 - }, - "panelIndex": "9caaed64-6c42-40af-a6af-ae58cce576e3", - "panelRefName": "panel_9caaed64-6c42-40af-a6af-ae58cce576e3", - "title": "Salesforce activity by region [Filebeat Salesforce]", - "type": "map", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {} - }, - "gridData": { - "h": 15, - "i": "157cf178-6669-496e-9f0e-7d9ac8bab21d", - "w": 48, - "x": 0, - "y": 19 - }, - "panelIndex": "157cf178-6669-496e-9f0e-7d9ac8bab21d", - "panelRefName": "panel_157cf178-6669-496e-9f0e-7d9ac8bab21d", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "a2a1513d-f5fb-4d1d-a7ce-d7a3903d55ca", - "w": 24, - "x": 0, - "y": 34 - }, - "panelIndex": "a2a1513d-f5fb-4d1d-a7ce-d7a3903d55ca", - "panelRefName": "panel_a2a1513d-f5fb-4d1d-a7ce-d7a3903d55ca", - "title": "User ID [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "eb23e36d-9001-4fd2-ad9f-aacf62811beb", - "w": 24, - "x": 24, - "y": 34 - }, - "panelIndex": "eb23e36d-9001-4fd2-ad9f-aacf62811beb", - "panelRefName": "panel_eb23e36d-9001-4fd2-ad9f-aacf62811beb", - "title": "Success rate [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "1436e9ad-013d-4416-a616-9a3c134af834", - "w": 24, - "x": 0, - "y": 49 - }, - "panelIndex": "1436e9ad-013d-4416-a616-9a3c134af834", - "panelRefName": "panel_1436e9ad-013d-4416-a616-9a3c134af834", - "title": "Top IP addresses by request count [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "83337583-735d-44c1-8dc9-8e4f032d42fb", - "w": 24, - "x": 24, - "y": 49 - }, - "panelIndex": "83337583-735d-44c1-8dc9-8e4f032d42fb", - "panelRefName": "panel_83337583-735d-44c1-8dc9-8e4f032d42fb", - "title": "Login type [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "20a81ce2-6345-4cad-936e-4337ac6bb3b0", - "w": 24, - "x": 0, - "y": 64 - }, - "panelIndex": "20a81ce2-6345-4cad-936e-4337ac6bb3b0", - "panelRefName": "panel_20a81ce2-6345-4cad-936e-4337ac6bb3b0", - "title": "Activity segmentation by browser/client [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 28, - "i": "8b648987-21fb-4b71-8d63-0e406180f168", - "w": 48, - "x": 0, - "y": 79 - }, - "panelIndex": "8b648987-21fb-4b71-8d63-0e406180f168", - "panelRefName": "panel_8b648987-21fb-4b71-8d63-0e406180f168", - "title": "Login events table [Filebeat Salesforce]", - "type": "search", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "4d6fa731-c3b5-4ec5-b604-f30b32d9ac5d", - "w": 24, - "x": 24, - "y": 64 - }, - "panelIndex": "4d6fa731-c3b5-4ec5-b604-f30b32d9ac5d", - "panelRefName": "panel_4d6fa731-c3b5-4ec5-b604-f30b32d9ac5d", - "title": "Application type [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - } - ], - "refreshInterval": { - "pause": false, - "value": 900000 - }, - "timeFrom": "now-7d/d", - "timeRestore": true, - "timeTo": "now", - "title": "[Filebeat Salesforce] Login Dashboard", - "version": 1 - }, - "coreMigrationVersion": "7.15.0", - "id": "salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "dashboard": "7.15.0" - }, - "references": [ - { - "id": "7a22ead0-5758-11ec-8f0b-05e8b06e1b10", - "name": "4556b8a4-b5c8-4bb2-bc03-23b4f40b3af0:panel_4556b8a4-b5c8-4bb2-bc03-23b4f40b3af0", - "type": "visualization" - }, - { - "id": "c69e97e0-5d72-11ec-9523-d1b667ac64c0", - "name": "df92b3a0-d885-4bac-a98b-ab94d1d65936:panel_df92b3a0-d885-4bac-a98b-ab94d1d65936", - "type": "visualization" - }, - { - "id": "f4e05440-5d72-11ec-9523-d1b667ac64c0", - "name": "ae31f75c-4943-48ee-8177-f7ad58a91553:panel_ae31f75c-4943-48ee-8177-f7ad58a91553", - "type": "visualization" - }, - { - "id": "5c2e6bc0-5d6c-11ec-9523-d1b667ac64c0", - "name": "9caaed64-6c42-40af-a6af-ae58cce576e3:panel_9caaed64-6c42-40af-a6af-ae58cce576e3", - "type": "map" - }, - { - "id": "fbb560f0-5d8e-11ec-9523-d1b667ac64c0", - "name": "157cf178-6669-496e-9f0e-7d9ac8bab21d:panel_157cf178-6669-496e-9f0e-7d9ac8bab21d", - "type": "visualization" - }, - { - "id": "e6da1080-5d8f-11ec-9523-d1b667ac64c0", - "name": "a2a1513d-f5fb-4d1d-a7ce-d7a3903d55ca:panel_a2a1513d-f5fb-4d1d-a7ce-d7a3903d55ca", - "type": "visualization" - }, - { - "id": "33be8340-5d90-11ec-9523-d1b667ac64c0", - "name": "eb23e36d-9001-4fd2-ad9f-aacf62811beb:panel_eb23e36d-9001-4fd2-ad9f-aacf62811beb", - "type": "visualization" - }, - { - "id": "80c0b730-5d90-11ec-9523-d1b667ac64c0", - "name": "1436e9ad-013d-4416-a616-9a3c134af834:panel_1436e9ad-013d-4416-a616-9a3c134af834", - "type": "visualization" - }, - { - "id": "ab958760-5d90-11ec-9523-d1b667ac64c0", - "name": "83337583-735d-44c1-8dc9-8e4f032d42fb:panel_83337583-735d-44c1-8dc9-8e4f032d42fb", - "type": "visualization" - }, - { - "id": "e8175600-5d90-11ec-9523-d1b667ac64c0", - "name": "20a81ce2-6345-4cad-936e-4337ac6bb3b0:panel_20a81ce2-6345-4cad-936e-4337ac6bb3b0", - "type": "visualization" - }, - { - "id": "51d23250-5d8b-11ec-9523-d1b667ac64c0", - "name": "8b648987-21fb-4b71-8d63-0e406180f168:panel_8b648987-21fb-4b71-8d63-0e406180f168", - "type": "search" - }, - { - "id": "baeaca80-cd2b-11ec-83d5-7f8e1b7a2529", - "name": "4d6fa731-c3b5-4ec5-b604-f30b32d9ac5d:panel_4d6fa731-c3b5-4ec5-b604-f30b32d9ac5d", - "type": "visualization" - }, - { - "id": "50e50c20-5749-11ec-8f0b-05e8b06e1b10", - "name": "tag-50e50c20-5749-11ec-8f0b-05e8b06e1b10", - "type": "tag" - } - ], - "type": "dashboard", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDY2LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 16ff640b838..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,296 +0,0 @@ -{ - "attributes": { - "description": "Apex EventLogFile Data", - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "optionsJSON": { - "hidePanelTitles": false, - "syncColors": false, - "useMargins": false - }, - "panelsJSON": [ - { - "embeddableConfig": { - "enhancements": {} - }, - "gridData": { - "h": 4, - "i": "92fa5f55-44db-44e6-9e32-f47c34335706", - "w": 48, - "x": 0, - "y": 0 - }, - "panelIndex": "92fa5f55-44db-44e6-9e32-f47c34335706", - "panelRefName": "panel_92fa5f55-44db-44e6-9e32-f47c34335706", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "f7680bb8-ec0c-4bd5-8ace-140d023384dc", - "w": 12, - "x": 0, - "y": 4 - }, - "panelIndex": "f7680bb8-ec0c-4bd5-8ace-140d023384dc", - "panelRefName": "panel_f7680bb8-ec0c-4bd5-8ace-140d023384dc", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "5b18dcde-0147-462b-85eb-154fcb9abffd", - "w": 12, - "x": 12, - "y": 4 - }, - "panelIndex": "5b18dcde-0147-462b-85eb-154fcb9abffd", - "panelRefName": "panel_5b18dcde-0147-462b-85eb-154fcb9abffd", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "b9d36aa1-9cb3-4a1a-a010-413d72a57dd0", - "w": 24, - "x": 24, - "y": 4 - }, - "panelIndex": "b9d36aa1-9cb3-4a1a-a010-413d72a57dd0", - "panelRefName": "panel_b9d36aa1-9cb3-4a1a-a010-413d72a57dd0", - "title": "DB_TOTAL_TIME-CPU_TIME comparision [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 16, - "i": "97595594-bd12-4341-9287-aba4ee2642c3", - "w": 24, - "x": 0, - "y": 19 - }, - "panelIndex": "97595594-bd12-4341-9287-aba4ee2642c3", - "panelRefName": "panel_97595594-bd12-4341-9287-aba4ee2642c3", - "title": "Trigger-Entity categorisation [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false, - "vis": null - }, - "gridData": { - "h": 16, - "i": "1aef58f1-8aca-4225-bc5c-c1a6ceda4a8b", - "w": 24, - "x": 24, - "y": 19 - }, - "panelIndex": "1aef58f1-8aca-4225-bc5c-c1a6ceda4a8b", - "panelRefName": "panel_1aef58f1-8aca-4225-bc5c-c1a6ceda4a8b", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "b2885132-edfc-4c17-99f9-31b56ca2f109", - "w": 48, - "x": 0, - "y": 35 - }, - "panelIndex": "b2885132-edfc-4c17-99f9-31b56ca2f109", - "panelRefName": "panel_b2885132-edfc-4c17-99f9-31b56ca2f109", - "title": "Top Entrypoints by Request Count [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "4f5803fa-0c1e-4bd6-84ca-b8710f52c0a7", - "w": 24, - "x": 0, - "y": 50 - }, - "panelIndex": "4f5803fa-0c1e-4bd6-84ca-b8710f52c0a7", - "panelRefName": "panel_4f5803fa-0c1e-4bd6-84ca-b8710f52c0a7", - "title": "Apex Performance over time [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false, - "vis": { - "legendOpen": false - } - }, - "gridData": { - "h": 13, - "i": "58a8cf54-9a2e-4b7d-a579-5b01e656030e", - "w": 21, - "x": 0, - "y": 65 - }, - "panelIndex": "58a8cf54-9a2e-4b7d-a579-5b01e656030e", - "panelRefName": "panel_58a8cf54-9a2e-4b7d-a579-5b01e656030e", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 13, - "i": "03390f0c-c585-4cf0-8a93-06479965a0e9", - "w": 27, - "x": 21, - "y": 65 - }, - "panelIndex": "03390f0c-c585-4cf0-8a93-06479965a0e9", - "panelRefName": "panel_03390f0c-c585-4cf0-8a93-06479965a0e9", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "60adaf8e-785f-4c89-9ff8-c842b2a64f73", - "w": 24, - "x": 24, - "y": 50 - }, - "panelIndex": "60adaf8e-785f-4c89-9ff8-c842b2a64f73", - "panelRefName": "panel_60adaf8e-785f-4c89-9ff8-c842b2a64f73", - "title": "Number of SOQL Queries per Entry Point [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - } - ], - "refreshInterval": { - "pause": true, - "value": 0 - }, - "timeFrom": "now-7d/d", - "timeRestore": true, - "timeTo": "now", - "title": "[Filebeat Salesforce] Apex Dashboard", - "version": 1 - }, - "coreMigrationVersion": "7.15.0", - "id": "salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "dashboard": "7.15.0" - }, - "references": [ - { - "id": "7a22ead0-5758-11ec-8f0b-05e8b06e1b10", - "name": "92fa5f55-44db-44e6-9e32-f47c34335706:panel_92fa5f55-44db-44e6-9e32-f47c34335706", - "type": "visualization" - }, - { - "id": "4f9923d0-574c-11ec-8f0b-05e8b06e1b10", - "name": "f7680bb8-ec0c-4bd5-8ace-140d023384dc:panel_f7680bb8-ec0c-4bd5-8ace-140d023384dc", - "type": "visualization" - }, - { - "id": "8cec4c30-574c-11ec-8f0b-05e8b06e1b10", - "name": "5b18dcde-0147-462b-85eb-154fcb9abffd:panel_5b18dcde-0147-462b-85eb-154fcb9abffd", - "type": "visualization" - }, - { - "id": "86081670-5d95-11ec-9523-d1b667ac64c0", - "name": "b9d36aa1-9cb3-4a1a-a010-413d72a57dd0:panel_b9d36aa1-9cb3-4a1a-a010-413d72a57dd0", - "type": "visualization" - }, - { - "id": "24c39ae0-574d-11ec-8f0b-05e8b06e1b10", - "name": "97595594-bd12-4341-9287-aba4ee2642c3:panel_97595594-bd12-4341-9287-aba4ee2642c3", - "type": "visualization" - }, - { - "id": "416da3a0-574f-11ec-8f0b-05e8b06e1b10", - "name": "1aef58f1-8aca-4225-bc5c-c1a6ceda4a8b:panel_1aef58f1-8aca-4225-bc5c-c1a6ceda4a8b", - "type": "visualization" - }, - { - "id": "93c37330-5751-11ec-8f0b-05e8b06e1b10", - "name": "b2885132-edfc-4c17-99f9-31b56ca2f109:panel_b2885132-edfc-4c17-99f9-31b56ca2f109", - "type": "visualization" - }, - { - "id": "31366a60-5751-11ec-8f0b-05e8b06e1b10", - "name": "4f5803fa-0c1e-4bd6-84ca-b8710f52c0a7:panel_4f5803fa-0c1e-4bd6-84ca-b8710f52c0a7", - "type": "visualization" - }, - { - "id": "17f0a5d0-5750-11ec-8f0b-05e8b06e1b10", - "name": "58a8cf54-9a2e-4b7d-a579-5b01e656030e:panel_58a8cf54-9a2e-4b7d-a579-5b01e656030e", - "type": "visualization" - }, - { - "id": "61eec180-5750-11ec-8f0b-05e8b06e1b10", - "name": "03390f0c-c585-4cf0-8a93-06479965a0e9:panel_03390f0c-c585-4cf0-8a93-06479965a0e9", - "type": "visualization" - }, - { - "id": "6d86efd0-5751-11ec-8f0b-05e8b06e1b10", - "name": "60adaf8e-785f-4c89-9ff8-c842b2a64f73:panel_60adaf8e-785f-4c89-9ff8-c842b2a64f73", - "type": "visualization" - }, - { - "id": "50e50c20-5749-11ec-8f0b-05e8b06e1b10", - "name": "tag-50e50c20-5749-11ec-8f0b-05e8b06e1b10", - "type": "tag" - } - ], - "type": "dashboard", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDc4LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 2c3e1eee6b1..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "attributes": { - "description": "Logout EventLogFile Data", - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "optionsJSON": { - "hidePanelTitles": false, - "syncColors": false, - "useMargins": false - }, - "panelsJSON": [ - { - "embeddableConfig": { - "enhancements": {} - }, - "gridData": { - "h": 4, - "i": "a8f9096a-18a7-4aaa-aadf-9b1264c25ff9", - "w": 48, - "x": 0, - "y": 0 - }, - "panelIndex": "a8f9096a-18a7-4aaa-aadf-9b1264c25ff9", - "panelRefName": "panel_a8f9096a-18a7-4aaa-aadf-9b1264c25ff9", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "vis": { - "legendOpen": false - } - }, - "gridData": { - "h": 15, - "i": "e94002ab-ee04-4bdf-80f6-fca80b3cf1b1", - "w": 24, - "x": 0, - "y": 21 - }, - "panelIndex": "e94002ab-ee04-4bdf-80f6-fca80b3cf1b1", - "panelRefName": "panel_e94002ab-ee04-4bdf-80f6-fca80b3cf1b1", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "12145dd1-e578-4f41-a09d-7bece9d79985", - "w": 24, - "x": 24, - "y": 21 - }, - "panelIndex": "12145dd1-e578-4f41-a09d-7bece9d79985", - "panelRefName": "panel_12145dd1-e578-4f41-a09d-7bece9d79985", - "title": "Top 10 IP addresses over time [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 37, - "i": "4c956f84-ce21-4b40-9b6c-d0c079aa2630", - "w": 48, - "x": 0, - "y": 36 - }, - "panelIndex": "4c956f84-ce21-4b40-9b6c-d0c079aa2630", - "panelRefName": "panel_4c956f84-ce21-4b40-9b6c-d0c079aa2630", - "title": "Logout events table [Filebeat Salesforce]", - "type": "search", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {} - }, - "gridData": { - "h": 17, - "i": "78ec8ab8-7bee-4caa-9bf9-6a8c525d76c7", - "w": 48, - "x": 0, - "y": 4 - }, - "panelIndex": "78ec8ab8-7bee-4caa-9bf9-6a8c525d76c7", - "panelRefName": "panel_78ec8ab8-7bee-4caa-9bf9-6a8c525d76c7", - "type": "visualization", - "version": "7.15.0" - } - ], - "refreshInterval": { - "pause": true, - "value": 0 - }, - "timeFrom": "now-7d/d", - "timeRestore": true, - "timeTo": "now", - "title": "[Filebeat Salesforce] Logout Dashboard", - "version": 1 - }, - "coreMigrationVersion": "7.15.0", - "id": "salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "dashboard": "7.15.0" - }, - "references": [ - { - "id": "7a22ead0-5758-11ec-8f0b-05e8b06e1b10", - "name": "a8f9096a-18a7-4aaa-aadf-9b1264c25ff9:panel_a8f9096a-18a7-4aaa-aadf-9b1264c25ff9", - "type": "visualization" - }, - { - "id": "2b7921e0-5d6d-11ec-9523-d1b667ac64c0", - "name": "e94002ab-ee04-4bdf-80f6-fca80b3cf1b1:panel_e94002ab-ee04-4bdf-80f6-fca80b3cf1b1", - "type": "visualization" - }, - { - "id": "27897120-5d6d-11ec-9523-d1b667ac64c0", - "name": "12145dd1-e578-4f41-a09d-7bece9d79985:panel_12145dd1-e578-4f41-a09d-7bece9d79985", - "type": "visualization" - }, - { - "id": "b3b98110-5d92-11ec-9523-d1b667ac64c0", - "name": "4c956f84-ce21-4b40-9b6c-d0c079aa2630:panel_4c956f84-ce21-4b40-9b6c-d0c079aa2630", - "type": "search" - }, - { - "id": "2a11e7a0-cd35-11ec-83d5-7f8e1b7a2529", - "name": "78ec8ab8-7bee-4caa-9bf9-6a8c525d76c7:panel_78ec8ab8-7bee-4caa-9bf9-6a8c525d76c7", - "type": "visualization" - }, - { - "id": "50e50c20-5749-11ec-8f0b-05e8b06e1b10", - "name": "tag-50e50c20-5749-11ec-8f0b-05e8b06e1b10", - "type": "tag" - } - ], - "type": "dashboard", - "updated_at": "2022-05-06T12:21:35.309Z", - "version": "WzM0MDQxLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 2c528c48713..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "attributes": { - "description": "SetupAuditTrail EventLogFile Data", - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "optionsJSON": { - "hidePanelTitles": false, - "syncColors": false, - "useMargins": false - }, - "panelsJSON": [ - { - "embeddableConfig": { - "enhancements": {} - }, - "gridData": { - "h": 4, - "i": "c7fd367e-26a0-440d-abdf-6c217aaa3d82", - "w": 48, - "x": 0, - "y": 0 - }, - "panelIndex": "c7fd367e-26a0-440d-abdf-6c217aaa3d82", - "panelRefName": "panel_c7fd367e-26a0-440d-abdf-6c217aaa3d82", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false, - "vis": { - "legendOpen": false - } - }, - "gridData": { - "h": 13, - "i": "cd348728-bab4-44b0-96cb-6f29b1095701", - "w": 16, - "x": 16, - "y": 4 - }, - "panelIndex": "cd348728-bab4-44b0-96cb-6f29b1095701", - "panelRefName": "panel_cd348728-bab4-44b0-96cb-6f29b1095701", - "title": "Top 10 Section Over Time [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false, - "vis": { - "legendOpen": false - } - }, - "gridData": { - "h": 13, - "i": "ecb2c974-d2ed-4256-a467-451be88465a7", - "w": 16, - "x": 32, - "y": 4 - }, - "panelIndex": "ecb2c974-d2ed-4256-a467-451be88465a7", - "panelRefName": "panel_ecb2c974-d2ed-4256-a467-451be88465a7", - "title": "Number of Actions performed over URLs [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 27, - "i": "fcd86baf-07ec-4c31-b1f6-054bbab0152c", - "w": 48, - "x": 0, - "y": 17 - }, - "panelIndex": "fcd86baf-07ec-4c31-b1f6-054bbab0152c", - "panelRefName": "panel_fcd86baf-07ec-4c31-b1f6-054bbab0152c", - "title": "SetupAuditTrail evnets data [Filebeat Salesforce]", - "type": "search", - "version": "7.15.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 13, - "i": "701cda8c-8a8a-4e39-ac16-52397b712b87", - "w": 16, - "x": 0, - "y": 4 - }, - "panelIndex": "701cda8c-8a8a-4e39-ac16-52397b712b87", - "panelRefName": "panel_701cda8c-8a8a-4e39-ac16-52397b712b87", - "title": "Top 10 Actions Performed [Filebeat Salesforce]", - "type": "visualization", - "version": "7.15.0" - } - ], - "refreshInterval": { - "pause": true, - "value": 0 - }, - "timeFrom": "now-30d/d", - "timeRestore": true, - "timeTo": "now", - "title": "[Filebeat Salesforce] Setup Audit Trail Dashboard", - "version": 1 - }, - "coreMigrationVersion": "7.15.0", - "id": "salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "dashboard": "7.15.0" - }, - "references": [ - { - "id": "7a22ead0-5758-11ec-8f0b-05e8b06e1b10", - "name": "c7fd367e-26a0-440d-abdf-6c217aaa3d82:panel_c7fd367e-26a0-440d-abdf-6c217aaa3d82", - "type": "visualization" - }, - { - "id": "cf5f92c0-4b8a-11ec-9959-a3c0f68b1e4f", - "name": "cd348728-bab4-44b0-96cb-6f29b1095701:panel_cd348728-bab4-44b0-96cb-6f29b1095701", - "type": "visualization" - }, - { - "id": "5b503310-4b8c-11ec-9959-a3c0f68b1e4f", - "name": "ecb2c974-d2ed-4256-a467-451be88465a7:panel_ecb2c974-d2ed-4256-a467-451be88465a7", - "type": "visualization" - }, - { - "id": "769ba1c0-4b84-11ec-9959-a3c0f68b1e4f", - "name": "fcd86baf-07ec-4c31-b1f6-054bbab0152c:panel_fcd86baf-07ec-4c31-b1f6-054bbab0152c", - "type": "search" - }, - { - "id": "f5942600-5d95-11ec-9523-d1b667ac64c0", - "name": "701cda8c-8a8a-4e39-ac16-52397b712b87:panel_701cda8c-8a8a-4e39-ac16-52397b712b87", - "type": "visualization" - }, - { - "id": "50e50c20-5749-11ec-8f0b-05e8b06e1b10", - "name": "tag-50e50c20-5749-11ec-8f0b-05e8b06e1b10", - "type": "tag" - } - ], - "type": "dashboard", - "updated_at": "2022-05-06T12:16:51.077Z", - "version": "WzM0MDA4LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/5c2e6bc0-5d6c-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/5c2e6bc0-5d6c-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 7cc00fd20f1..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/5c2e6bc0-5d6c-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "attributes": { - "description": "", - "layerListJSON": [ - { - "alpha": 1, - "id": "166258a6-0b30-4bd1-8a12-67f32cfbeb97", - "includeInFitToBounds": true, - "label": null, - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "isAutoSelect": true, - "type": "EMS_TMS" - }, - "style": { - "type": "TILE" - }, - "type": "VECTOR_TILE", - "visible": true - }, - { - "alpha": 0.75, - "id": "696a68f4-f7f0-4720-9c7a-eac4f6cba560", - "includeInFitToBounds": true, - "label": null, - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "applyForceRefresh": true, - "applyGlobalQuery": true, - "applyGlobalTime": true, - "geoField": "source.geo.location", - "id": "608c9dc4-0997-4e15-af24-9334271838bb", - "indexPatternRefName": "layer_1_source_index_pattern", - "metrics": [ - { - "type": "count" - } - ], - "requestType": "heatmap", - "resolution": "COARSE", - "type": "ES_GEO_GRID" - }, - "style": { - "colorRampName": "theclassic", - "type": "HEATMAP" - }, - "type": "HEATMAP", - "visible": true - } - ], - "mapStateJSON": { - "center": { - "lat": 23.00882, - "lon": 13.35724 - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "filebeat-*", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - }, - "refreshConfig": { - "interval": 900000, - "isPaused": false - }, - "settings": { - "autoFitToDataBounds": false, - "backgroundColor": "#ffffff", - "browserLocation": { - "zoom": 2 - }, - "disableInteractive": false, - "disableTooltipControl": false, - "fixedLocation": { - "lat": 0, - "lon": 0, - "zoom": 2 - }, - "hideLayerControl": false, - "hideToolbarOverlay": false, - "hideViewControl": false, - "initialLocation": "LAST_SAVED_LOCATION", - "maxZoom": 24, - "minZoom": 0, - "showScaleControl": false, - "showSpatialFilters": true, - "showTimesliderToggleButton": true, - "spatialFiltersAlpa": 0.3, - "spatialFiltersFillColor": "#DA8B45", - "spatialFiltersLineColor": "#DA8B45" - }, - "timeFilters": { - "from": "2021-10-21T02:19:14.117Z", - "to": "2021-10-22T10:30:00.000Z" - }, - "zoom": 1.25 - }, - "title": "[Login] Salesforce activity by region [Filebeat Salesforce]", - "uiStateJSON": { - "isLayerTOCOpen": true, - "openTOCDetails": [] - } - }, - "coreMigrationVersion": "7.15.0", - "id": "5c2e6bc0-5d6c-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "map": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "layer_1_source_index_pattern", - "type": "index-pattern" - } - ], - "type": "map", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDU2LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/51d23250-5d8b-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/51d23250-5d8b-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 2ede6ff68b9..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/51d23250-5d8b-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "attributes": { - "columns": [ - "salesforce.access_mode", - "salesforce.login.db_total_time", - "salesforce.login.evaluation_time", - "salesforce.login.login_type", - "salesforce.login.request_status", - "salesforce.login.run_time", - "salesforce.login.session_level" - ], - "description": "", - "grid": {}, - "hideChart": false, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "sort": [ - [ - "@timestamp", - "desc" - ] - ], - "title": "Login Log Table [Filebeat Salesforce]" - }, - "coreMigrationVersion": "7.15.0", - "id": "51d23250-5d8b-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "search": "7.9.3" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "search", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDYzLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/769ba1c0-4b84-11ec-9959-a3c0f68b1e4f.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/769ba1c0-4b84-11ec-9959-a3c0f68b1e4f.json deleted file mode 100644 index ff4ff6ab6be..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/769ba1c0-4b84-11ec-9959-a3c0f68b1e4f.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "attributes": { - "columns": [ - "salesforce.setup_audit_trail.section", - "event.action", - "salesforce.setup_audit_trail.display" - ], - "description": "", - "grid": {}, - "hideChart": false, - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "sort": [ - [ - "@timestamp", - "desc" - ] - ], - "title": "SetupAuditTrail Log Stream [Filebeat Salesforce]", - "version": 1 - }, - "coreMigrationVersion": "7.15.0", - "id": "769ba1c0-4b84-11ec-9959-a3c0f68b1e4f", - "migrationVersion": { - "search": "7.9.3" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "search", - "updated_at": "2022-05-06T11:14:57.093Z", - "version": "WzMzNDg4LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/b3b98110-5d92-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/b3b98110-5d92-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 30f868a2096..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/b3b98110-5d92-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "attributes": { - "columns": [ - "source.ip", - "source.geo.city_name", - "user.id" - ], - "description": "", - "grid": {}, - "hideChart": false, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "sort": [ - [ - "@timestamp", - "desc" - ] - ], - "title": "Logout Logs Table [Filebeat Salesforce]" - }, - "coreMigrationVersion": "7.15.0", - "id": "b3b98110-5d92-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "search": "7.9.3" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "search", - "updated_at": "2022-05-06T11:14:56.119Z", - "version": "WzMzNDgzLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/ef8b6070-5d6d-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/ef8b6070-5d6d-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index f7783723ced..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/ef8b6070-5d6d-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "attributes": { - "columns": [], - "description": "", - "grid": {}, - "hideChart": false, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "sort": [ - [ - "@timestamp", - "desc" - ] - ], - "title": "[Login] Search [Filebeat Salesforce]" - }, - "coreMigrationVersion": "7.15.0", - "id": "ef8b6070-5d6d-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "search": "7.9.3" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "search", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDUzLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/tag/50e50c20-5749-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/tag/50e50c20-5749-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 0e217cab385..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/tag/50e50c20-5749-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "attributes": { - "color": "#414273", - "description": "Salesforce", - "name": "beats" - }, - "coreMigrationVersion": "7.15.0", - "id": "50e50c20-5749-11ec-8f0b-05e8b06e1b10", - "references": [], - "type": "tag", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDY1LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/17f0a5d0-5750-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/17f0a5d0-5750-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 350c25445ff..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/17f0a5d0-5750-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Response by Media type [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "salesforce.apex.media_type", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 20 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": false, - "addTooltip": true, - "distinctColors": false, - "isDonut": true, - "labels": { - "last_level": false, - "percentDecimals": 2, - "position": "default", - "show": true, - "truncate": 100, - "values": true, - "valuesFormat": "percent" - }, - "legendPosition": "right", - "maxLegendLines": 1, - "nestedLegend": false, - "palette": { - "name": "default", - "type": "palette" - }, - "truncateLegend": true, - "type": "pie" - }, - "title": "Response by Media type [Filebeat Salesforce]", - "type": "pie" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "17f0a5d0-5750-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDc1LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/24c39ae0-574d-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/24c39ae0-574d-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index ae6a0d64a22..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/24c39ae0-574d-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[ApexTrigger] Trigger-Entity categorisation [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "customLabel": "Trigger Name", - "field": "salesforce.apex.trigger.name", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "group", - "type": "terms" - }, - { - "enabled": true, - "id": "3", - "params": { - "field": "salesforce.apex.entity_name", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "group", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 200 - }, - "position": "left", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": {}, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 0, - "seriesParams": [ - { - "circlesRadius": 3, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "normal", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "histogram", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": true, - "rotate": 75, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "bottom", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Count" - }, - "type": "value" - } - ] - }, - "title": "[ApexTrigger] Trigger-Entity categorisation [Filebeat Salesforce]", - "type": "horizontal_bar" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "24c39ae0-574d-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDcxLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/27897120-5d6d-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/27897120-5d6d-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index b83d71b986b..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/27897120-5d6d-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,178 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "event.dataset : \"salesforce.logout\" " - } - } - }, - "title": "[Logout] Top 10 IP addresses over time [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "customLabel": "IP Address", - "field": "source.ip", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": true, - "otherBucketLabel": "Other", - "size": 9 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "fittingFunction": "linear", - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": {}, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 9, - "seriesParams": [ - { - "circlesRadius": 3, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "area", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Count" - }, - "type": "value" - } - ] - }, - "title": "[Logout] Top 10 IP addresses over time [Filebeat Salesforce]", - "type": "area" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "27897120-5d6d-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:56.119Z", - "version": "WzMzNDgyLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/2a11e7a0-cd35-11ec-83d5-7f8e1b7a2529.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/2a11e7a0-cd35-11ec-83d5-7f8e1b7a2529.json deleted file mode 100644 index aaccb711255..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/2a11e7a0-cd35-11ec-83d5-7f8e1b7a2529.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[Logout] Logout Over Time [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_position": "left", - "axis_scale": "normal", - "drop_last_bucket": 0, - "filter": { - "language": "kuery", - "query": "event.dataset : \"salesforce.logout\"" - }, - "id": "9b373d2d-abc7-4c3e-a45a-b3fed48fa34f", - "index_pattern_ref_name": "metrics_0_index_pattern", - "interval": "", - "isModelInvalid": false, - "max_lines_legend": 1, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#68BC00", - "fill": 0.5, - "formatter": "number", - "id": "0e7dc0ec-81a5-437b-a632-ff8b9a3f84d2", - "line_width": 1, - "metrics": [ - { - "id": "df05f5a6-0774-43b7-ae50-1f4ce8cdbbdd", - "type": "count" - } - ], - "palette": { - "name": "default", - "type": "palette" - }, - "point_size": 1, - "separate_axis": 0, - "split_mode": "everything", - "stacked": "none" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "@timestamp", - "time_range_mode": "entire_time_range", - "tooltip_mode": "show_all", - "truncate_legend": 1, - "type": "timeseries", - "use_kibana_indexes": true - }, - "title": "[Logout] Logout Over Time [Filebeat Salesforce]", - "type": "metrics" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "2a11e7a0-cd35-11ec-83d5-7f8e1b7a2529", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "metrics_0_index_pattern", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T12:07:56.442Z", - "version": "WzMzOTQxLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/2b7921e0-5d6d-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/2b7921e0-5d6d-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 8a73e4910f5..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/2b7921e0-5d6d-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Distribution of Session Levels used while logging out [Filebeat Salesforce]", - "uiStateJSON": { - "vis": { - "legendOpen": false - } - }, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "salesforce.logout.session_level", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": true, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": false, - "addTooltip": true, - "distinctColors": false, - "isDonut": false, - "labels": { - "last_level": false, - "percentDecimals": 2, - "position": "default", - "show": true, - "truncate": 100, - "values": true, - "valuesFormat": "value" - }, - "legendPosition": "right", - "maxLegendLines": 1, - "nestedLegend": false, - "palette": { - "name": "default", - "type": "palette" - }, - "truncateLegend": true, - "type": "pie" - }, - "title": "Distribution of Session Levels used while logging out [Filebeat Salesforce]", - "type": "pie" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "2b7921e0-5d6d-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:56.119Z", - "version": "WzMzNDgxLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/31366a60-5751-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/31366a60-5751-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index b051d51c422..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/31366a60-5751-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.action", - "negate": false, - "params": { - "query": "apex-execution" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "apex-execution" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[ApexExecution] Apex Performance over time [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": { - "customLabel": "Average Execution Time (ms)", - "field": "event.duration" - }, - "schema": "metric", - "type": "avg" - }, - { - "enabled": true, - "id": "2", - "params": { - "drop_partials": false, - "extended_bounds": {}, - "field": "@timestamp", - "interval": "m", - "min_doc_count": 1, - "scaleMetricValues": false, - "timeRange": { - "from": "now-7d/d", - "to": "now" - }, - "useNormalizedEsInterval": true, - "used_interval": "1h" - }, - "schema": "segment", - "type": "date_histogram" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "fittingFunction": "linear", - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": {}, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 9, - "seriesParams": [ - { - "circlesRadius": 3, - "data": { - "id": "1", - "label": "Average Execution Time (ms)" - }, - "drawLinesBetweenPoints": true, - "interpolate": "cardinal", - "lineWidth": 2, - "mode": "normal", - "show": true, - "showCircles": true, - "type": "area", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "line", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Average Execution Time (ms)" - }, - "type": "value" - } - ] - }, - "title": "[ApexExecution] Apex Performance over time [Filebeat Salesforce]", - "type": "line" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "31366a60-5751-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDc0LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/33be8340-5d90-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/33be8340-5d90-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 12181d534d8..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/33be8340-5d90-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[Login] Success rate [Filebeat Salesforce]", - "uiStateJSON": { - "vis": { - "legendOpen": false - } - }, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "event.outcome", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": false, - "addTooltip": true, - "distinctColors": false, - "isDonut": true, - "labels": { - "last_level": false, - "percentDecimals": 2, - "position": "default", - "show": true, - "truncate": 100, - "values": true, - "valuesFormat": "percent" - }, - "legendPosition": "right", - "maxLegendLines": 1, - "nestedLegend": false, - "palette": { - "name": "default", - "type": "palette" - }, - "truncateLegend": true, - "type": "pie" - }, - "title": "[Login] Success rate [Filebeat Salesforce]", - "type": "pie" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "33be8340-5d90-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDU5LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/416da3a0-574f-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/416da3a0-574f-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index e2959b00121..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/416da3a0-574f-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Categorization by User type [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "user.roles", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 20 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTooltip": true, - "colorSchema": "Greens", - "colorsNumber": 4, - "colorsRange": [], - "enableHover": false, - "invertColors": false, - "legendPosition": "right", - "percentageMode": false, - "setColorRange": false, - "times": [], - "type": "heatmap", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "color": "black", - "overwriteColor": false, - "rotate": 0, - "show": false - }, - "scale": { - "defaultYExtents": false, - "type": "linear" - }, - "show": false, - "type": "value" - } - ] - }, - "title": "Categorization by User type [Filebeat Salesforce]", - "type": "heatmap" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "416da3a0-574f-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDcyLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/4f9923d0-574c-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/4f9923d0-574c-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 6a2eea5e32f..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/4f9923d0-574c-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.outcome", - "negate": false, - "params": { - "query": "success" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.outcome": "success" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Successful requests [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - } - ], - "params": { - "addLegend": false, - "addTooltip": true, - "metric": { - "colorSchema": "Green to Red", - "colorsRange": [ - { - "from": 0, - "to": 10000 - } - ], - "invertColors": false, - "labels": { - "show": true - }, - "metricColorMode": "None", - "percentageMode": false, - "style": { - "bgColor": false, - "bgFill": "#000", - "fontSize": 60, - "labelColor": false, - "subText": "" - }, - "useRanges": false - }, - "type": "metric" - }, - "title": "Successful requests [Filebeat Salesforce]", - "type": "metric" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "4f9923d0-574c-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDY4LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/5b503310-4b8c-11ec-9959-a3c0f68b1e4f.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/5b503310-4b8c-11ec-9959-a3c0f68b1e4f.json deleted file mode 100644 index 94055c4d2c4..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/5b503310-4b8c-11ec-9959-a3c0f68b1e4f.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[SetupAuditTrail] Number of Actions performed by Top 10 Delegated Users [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "event.action", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": true, - "otherBucketLabel": "Other", - "size": 7 - }, - "schema": "segment", - "type": "terms" - }, - { - "enabled": true, - "id": "3", - "params": { - "field": "event.url", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "group", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": { - "show": false - }, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 0, - "seriesParams": [ - { - "circlesRadius": 3, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "histogram", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Count" - }, - "type": "value" - } - ] - }, - "title": "[SetupAuditTrail] Number of Actions performed by Top 10 Delegated Users [Filebeat Salesforce]", - "type": "histogram" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "5b503310-4b8c-11ec-9959-a3c0f68b1e4f", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:57.093Z", - "version": "WzMzNDg3LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/61eec180-5750-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/61eec180-5750-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index b08a0cd800e..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/61eec180-5750-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Response categorization by user agent [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "salesforce.apex.user_agent", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 20 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "grid": { - "categoryLines": false - }, - "labels": { - "show": false - }, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 0, - "seriesParams": [ - { - "circlesRadius": 3, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "histogram", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Count" - }, - "type": "value" - } - ] - }, - "title": "Response categorization by user agent [Filebeat Salesforce]", - "type": "histogram" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "61eec180-5750-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDc2LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/6d86efd0-5751-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/6d86efd0-5751-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 13607f12d34..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/6d86efd0-5751-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[ApexExecution] Number of SOQL Queries per Entry Point [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "drop_partials": false, - "extended_bounds": {}, - "field": "@timestamp", - "interval": "m", - "min_doc_count": 1, - "scaleMetricValues": false, - "timeRange": { - "from": "now-7d/d", - "to": "now" - }, - "useNormalizedEsInterval": true, - "used_interval": "1h" - }, - "schema": "segment", - "type": "date_histogram" - }, - { - "enabled": true, - "id": "3", - "params": { - "field": "salesforce.apex.entry_point", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "group", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": { - "show": false - }, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 0, - "seriesParams": [ - { - "circlesRadius": 3, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "histogram", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Count" - }, - "type": "value" - } - ] - }, - "title": "[ApexExecution] Number of SOQL Queries per Entry Point [Filebeat Salesforce]", - "type": "histogram" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "6d86efd0-5751-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDc3LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/7a22ead0-5758-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/7a22ead0-5758-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 42ae14f972e..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/7a22ead0-5758-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Dashboards [Filebeat salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "fontSize": 12, - "markdown": "[Apex Dashboard](#/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10) | [Login Dashboard](#/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10) | [Logout Dashboard](#/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10) | [SetupAuditTrail Dashboard](#/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10)", - "openLinksInNewTab": false - }, - "title": "Dashboards [Filebeat salesforce]", - "type": "markdown" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "7a22ead0-5758-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [], - "type": "visualization", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDUyLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/80c0b730-5d90-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/80c0b730-5d90-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index a9de8fa9881..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/80c0b730-5d90-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,178 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[Login] Top IP addresses by request count [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "source.ip", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": { - "show": false - }, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 0, - "seriesParams": [ - { - "circlesRadius": 1, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "histogram", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "" - }, - "type": "value" - } - ] - }, - "title": "[Login] Top IP addresses by request count [Filebeat Salesforce]", - "type": "histogram" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "80c0b730-5d90-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDYwLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/86081670-5d95-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/86081670-5d95-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 054be350385..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/86081670-5d95-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[Apex] DB_TOTAL_TIME-CPU_TIME comparision [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "drop_partials": false, - "extended_bounds": {}, - "field": "@timestamp", - "interval": "auto", - "min_doc_count": 1, - "scaleMetricValues": false, - "timeRange": { - "from": "now-7d/d", - "to": "now" - }, - "useNormalizedEsInterval": true, - "used_interval": "3h" - }, - "schema": "segment", - "type": "date_histogram" - }, - { - "enabled": true, - "id": "3", - "params": { - "field": "salesforce.apex.cpu_time", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "group", - "type": "terms" - }, - { - "enabled": true, - "id": "4", - "params": { - "field": "salesforce.apex.db_total_time", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "group", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "fittingFunction": "linear", - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": {}, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 9, - "seriesParams": [ - { - "circlesRadius": 1, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "area", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "area", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "" - }, - "type": "value" - } - ] - }, - "title": "[Apex] DB_TOTAL_TIME-CPU_TIME comparision [Filebeat Salesforce]", - "type": "area" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "86081670-5d95-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDcwLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/8cec4c30-574c-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/8cec4c30-574c-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index c0e143f7a98..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/8cec4c30-574c-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.outcome", - "negate": false, - "params": { - "query": "failure" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.outcome": "failure" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Failed requests [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - } - ], - "params": { - "addLegend": false, - "addTooltip": true, - "metric": { - "colorSchema": "Green to Red", - "colorsRange": [ - { - "from": 0, - "to": 10000 - } - ], - "invertColors": false, - "labels": { - "show": true - }, - "metricColorMode": "None", - "percentageMode": false, - "style": { - "bgColor": false, - "bgFill": "#000", - "fontSize": 60, - "labelColor": false, - "subText": "" - }, - "useRanges": false - }, - "type": "metric" - }, - "title": "Failed requests [Filebeat Salesforce]", - "type": "metric" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "8cec4c30-574c-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDY5LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/93c37330-5751-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/93c37330-5751-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 6a868544083..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/93c37330-5751-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[ApexExecution] Top Entrypoints by Request Count [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "customLabel": "Entrypoint", - "field": "salesforce.apex.entry_point", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": true, - "otherBucketLabel": "Other", - "size": 10 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": { - "show": false - }, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 0, - "seriesParams": [ - { - "circlesRadius": 3, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "histogram", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Count" - }, - "type": "value" - } - ] - }, - "title": "[ApexExecution] Top Entrypoints by Request Count [Filebeat Salesforce]", - "type": "histogram" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "93c37330-5751-11ec-8f0b-05e8b06e1b10", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:55.111Z", - "version": "WzMzNDczLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/ab958760-5d90-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/ab958760-5d90-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 04012fe908c..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/ab958760-5d90-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[Login] Login type [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "salesforce.login.login_type", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 200 - }, - "position": "left", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": {}, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 0, - "seriesParams": [ - { - "circlesRadius": 1, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "normal", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "histogram", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": true, - "rotate": 75, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "bottom", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "" - }, - "type": "value" - } - ] - }, - "title": "[Login] Login type [Filebeat Salesforce]", - "type": "horizontal_bar" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "ab958760-5d90-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDYxLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/baeaca80-cd2b-11ec-83d5-7f8e1b7a2529.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/baeaca80-cd2b-11ec-83d5-7f8e1b7a2529.json deleted file mode 100644 index 57d93e6947f..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/baeaca80-cd2b-11ec-83d5-7f8e1b7a2529.json +++ /dev/null @@ -1,177 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[Login] Application type [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "customLabel": "Application Type", - "field": "salesforce.login.application", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 200 - }, - "position": "left", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": {}, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 0, - "seriesParams": [ - { - "circlesRadius": 1, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "normal", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "histogram", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": true, - "rotate": 75, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "bottom", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "" - }, - "type": "value" - } - ] - }, - "title": "[Login] Application type [Filebeat Salesforce]", - "type": "horizontal_bar" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "baeaca80-cd2b-11ec-83d5-7f8e1b7a2529", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDY0LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/c69e97e0-5d72-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/c69e97e0-5d72-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 79323ba97fc..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/c69e97e0-5d72-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.outcome", - "negate": false, - "params": { - "query": "success" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.outcome": "success" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "savedSearchRefName": "search_0", - "title": "Successful login [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - } - ], - "params": { - "addLegend": false, - "addTooltip": true, - "metric": { - "colorSchema": "Green to Red", - "colorsRange": [ - { - "from": 0, - "to": 10000 - } - ], - "invertColors": false, - "labels": { - "show": true - }, - "metricColorMode": "None", - "percentageMode": false, - "style": { - "bgColor": false, - "bgFill": "#000", - "fontSize": 60, - "labelColor": false, - "subText": "" - }, - "useRanges": false - }, - "type": "metric" - }, - "title": "Successful login [Filebeat Salesforce]", - "type": "metric" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "c69e97e0-5d72-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - }, - { - "id": "ef8b6070-5d6d-11ec-9523-d1b667ac64c0", - "name": "search_0", - "type": "search" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDU0LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/cf5f92c0-4b8a-11ec-9959-a3c0f68b1e4f.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/cf5f92c0-4b8a-11ec-9959-a3c0f68b1e4f.json deleted file mode 100644 index f7ce080fb57..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/cf5f92c0-4b8a-11ec-9959-a3c0f68b1e4f.json +++ /dev/null @@ -1,178 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[SetupAuditTrail] Top 10 Section Over Time [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "customLabel": "Salesforce Section", - "field": "salesforce.setup_audit_trail.section", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": true, - "otherBucketLabel": "Other", - "size": 9 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "fittingFunction": "linear", - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": {}, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 9, - "seriesParams": [ - { - "circlesRadius": 3, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "area", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Count" - }, - "type": "value" - } - ] - }, - "title": "[SetupAuditTrail] Top 10 Section Over Time [Filebeat Salesforce]", - "type": "area" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "cf5f92c0-4b8a-11ec-9959-a3c0f68b1e4f", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:57.093Z", - "version": "WzMzNDg2LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/e6da1080-5d8f-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/e6da1080-5d8f-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index df92bb1248c..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/e6da1080-5d8f-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[Login] User Names [Filebeat Salesforce]", - "uiStateJSON": { - "vis": { - "legendOpen": false - } - }, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "user.id", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": false, - "addTooltip": true, - "distinctColors": false, - "isDonut": true, - "labels": { - "last_level": false, - "percentDecimals": 2, - "position": "default", - "show": true, - "truncate": 100, - "values": true, - "valuesFormat": "percent" - }, - "legendPosition": "right", - "maxLegendLines": 1, - "nestedLegend": false, - "palette": { - "name": "default", - "type": "palette" - }, - "truncateLegend": true, - "type": "pie" - }, - "title": "[Login] User Names [Filebeat Salesforce]", - "type": "pie" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "e6da1080-5d8f-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDU4LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/e8175600-5d90-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/e8175600-5d90-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 4b770227c35..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/e8175600-5d90-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[Login] Activity segmentation by browser/client [Filebeat Salesforce]", - "uiStateJSON": { - "vis": { - "legendOpen": false - } - }, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "customLabel": "User Agent", - "field": "user_agent.name", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": false, - "otherBucketLabel": "Other", - "size": 5 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": false, - "addTooltip": true, - "distinctColors": false, - "isDonut": true, - "labels": { - "last_level": false, - "percentDecimals": 2, - "position": "default", - "show": true, - "truncate": 100, - "values": true, - "valuesFormat": "percent" - }, - "legendPosition": "right", - "maxLegendLines": 1, - "nestedLegend": false, - "palette": { - "name": "default", - "type": "palette" - }, - "truncateLegend": true, - "type": "pie" - }, - "title": "[Login] Activity segmentation by browser/client [Filebeat Salesforce]", - "type": "pie" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "e8175600-5d90-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDYyLDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/f4e05440-5d72-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/f4e05440-5d72-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index efa79f91094..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/f4e05440-5d72-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.outcome", - "negate": false, - "params": { - "query": "failure" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.outcome": "failure" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "savedSearchRefName": "search_0", - "title": "[Login] Failed login attempts [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - } - ], - "params": { - "addLegend": false, - "addTooltip": true, - "metric": { - "colorSchema": "Green to Red", - "colorsRange": [ - { - "from": 0, - "to": 10000 - } - ], - "invertColors": false, - "labels": { - "show": true - }, - "metricColorMode": "None", - "percentageMode": false, - "style": { - "bgColor": false, - "bgFill": "#000", - "fontSize": 60, - "labelColor": false, - "subText": "" - }, - "useRanges": false - }, - "type": "metric" - }, - "title": "[Login] Failed login attempts [Filebeat Salesforce]", - "type": "metric" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "f4e05440-5d72-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - }, - { - "id": "ef8b6070-5d6d-11ec-9523-d1b667ac64c0", - "name": "search_0", - "type": "search" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:54.091Z", - "version": "WzMzNDU1LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/f5942600-5d95-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/f5942600-5d95-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index f3866d2ed33..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/f5942600-5d95-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "[SetupAuditTrail] Top 10 Actions Performed [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "customLabel": "Action Performed", - "field": "event.action", - "missingBucket": false, - "missingBucketLabel": "Missing", - "order": "desc", - "orderBy": "1", - "otherBucket": true, - "otherBucketLabel": "Other", - "size": 9 - }, - "schema": "segment", - "type": "terms" - } - ], - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "categoryAxes": [ - { - "id": "CategoryAxis-1", - "labels": { - "filter": true, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "position": "bottom", - "scale": { - "type": "linear" - }, - "show": true, - "style": {}, - "title": {}, - "type": "category" - } - ], - "detailedTooltip": true, - "grid": { - "categoryLines": true, - "valueAxis": "ValueAxis-1" - }, - "labels": { - "show": false - }, - "legendPosition": "right", - "maxLegendLines": 1, - "palette": { - "name": "default", - "type": "palette" - }, - "radiusRatio": 0, - "seriesParams": [ - { - "circlesRadius": 3, - "data": { - "id": "1", - "label": "Count" - }, - "drawLinesBetweenPoints": true, - "interpolate": "linear", - "lineWidth": 2, - "mode": "stacked", - "show": true, - "showCircles": true, - "type": "histogram", - "valueAxis": "ValueAxis-1" - } - ], - "thresholdLine": { - "color": "#E7664C", - "show": false, - "style": "full", - "value": 10, - "width": 1 - }, - "times": [], - "truncateLegend": true, - "type": "histogram", - "valueAxes": [ - { - "id": "ValueAxis-1", - "labels": { - "filter": false, - "rotate": 0, - "show": true, - "truncate": 100 - }, - "name": "LeftAxis-1", - "position": "left", - "scale": { - "mode": "normal", - "type": "linear" - }, - "show": true, - "style": {}, - "title": { - "text": "Count" - }, - "type": "value" - } - ] - }, - "title": "[SetupAuditTrail] Top 10 Actions Performed [Filebeat Salesforce]", - "type": "histogram" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "f5942600-5d95-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:14:57.093Z", - "version": "WzMzNDg5LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/fbb560f0-5d8e-11ec-9523-d1b667ac64c0.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/fbb560f0-5d8e-11ec-9523-d1b667ac64c0.json deleted file mode 100644 index 6e4e809261e..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/visualization/fbb560f0-5d8e-11ec-9523-d1b667ac64c0.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "title": "Login over time [Filebeat Salesforce]", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [], - "params": { - "axis_formatter": "number", - "axis_position": "left", - "axis_scale": "normal", - "drop_last_bucket": 0, - "filter": { - "language": "kuery", - "query": "event.dataset : \"salesforce.login\" " - }, - "id": "ad12785a-5d43-469d-9114-6a83add168c3", - "index_pattern_ref_name": "metrics_0_index_pattern", - "interval": "", - "isModelInvalid": false, - "max_bars": 50, - "max_lines_legend": 1, - "series": [ - { - "axis_position": "right", - "chart_type": "line", - "color": "#68BC00", - "fill": 0.5, - "formatter": "default", - "id": "24098913-4cc2-4304-ab59-1003aa7a9655", - "line_width": 1, - "metrics": [ - { - "id": "434e8b7d-76b7-4947-95d1-aabedd41f524", - "type": "count" - } - ], - "palette": { - "name": "default", - "type": "palette" - }, - "point_size": 1, - "separate_axis": 0, - "split_mode": "everything", - "stacked": "none", - "time_range_mode": "entire_time_range" - } - ], - "show_grid": 1, - "show_legend": 1, - "time_field": "", - "time_range_mode": "entire_time_range", - "tooltip_mode": "show_all", - "truncate_legend": 1, - "type": "timeseries", - "use_kibana_indexes": true - }, - "title": "Login over time [Filebeat Salesforce]", - "type": "metrics" - } - }, - "coreMigrationVersion": "7.15.0", - "id": "fbb560f0-5d8e-11ec-9523-d1b667ac64c0", - "migrationVersion": { - "visualization": "7.14.0" - }, - "references": [ - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "metrics_0_index_pattern", - "type": "index-pattern" - } - ], - "type": "visualization", - "updated_at": "2022-05-06T11:57:27.761Z", - "version": "WzMzODI0LDNd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json new file mode 100644 index 00000000000..b75d5cb8517 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json @@ -0,0 +1,2300 @@ +{ + "attributes": { + "controlGroupInput": { + "chainingSystem": "HIERARCHICAL", + "controlStyle": "oneLine", + "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", + "panelsJSON": "{\"9d6785f0-b96d-4e35-8c17-3d7c90855bd2\":{\"type\":\"optionsListControl\",\"order\":0,\"grow\":true,\"width\":\"large\",\"explicitInput\":{\"id\":\"9d6785f0-b96d-4e35-8c17-3d7c90855bd2\",\"fieldName\":\"salesforce.instance_url\",\"title\":\"Instance URL\",\"grow\":true,\"width\":\"medium\",\"enhancements\":{}}}}" + }, + "description": "Salesforce Login Data", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6d11832d-25d1-4c0f-8a37-713bc1c54586", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9d8c8465-f2be-4bd6-a21c-0b6367261090", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5": { + "columnOrder": [ + "22579769-dcb6-457e-82b4-76eacc56deb8", + "22579769-dcb6-457e-82b4-76eacc56deb8X0", + "22579769-dcb6-457e-82b4-76eacc56deb8X1", + "22579769-dcb6-457e-82b4-76eacc56deb8X2" + ], + "columns": { + "22579769-dcb6-457e-82b4-76eacc56deb8": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Login success rate", + "operationType": "formula", + "params": { + "format": { + "id": "percent", + "params": { + "decimals": 2 + } + }, + "formula": "(count(kql='event.outcome : \"success\"')/count())", + "isFormulaBroken": false + }, + "references": [ + "22579769-dcb6-457e-82b4-76eacc56deb8X2" + ], + "scale": "ratio" + }, + "22579769-dcb6-457e-82b4-76eacc56deb8X0": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "event.outcome : \"success\"" + }, + "isBucketed": false, + "label": "Part of Login success rate", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "22579769-dcb6-457e-82b4-76eacc56deb8X1": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of Login success rate", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "22579769-dcb6-457e-82b4-76eacc56deb8X2": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of Login success rate", + "operationType": "math", + "params": { + "tinymathAst": { + "args": [ + "22579769-dcb6-457e-82b4-76eacc56deb8X0", + "22579769-dcb6-457e-82b4-76eacc56deb8X1" + ], + "location": { + "max": 48, + "min": 0 + }, + "name": "divide", + "text": "(count(kql='event.outcome : \"success\"')/count())", + "type": "function" + } + }, + "references": [ + "22579769-dcb6-457e-82b4-76eacc56deb8X0", + "22579769-dcb6-457e-82b4-76eacc56deb8X1" + ], + "scale": "ratio" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.action", + "index": "6d11832d-25d1-4c0f-8a37-713bc1c54586", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "9d8c8465-f2be-4bd6-a21c-0b6367261090", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "22579769-dcb6-457e-82b4-76eacc56deb8", + "layerId": "e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", + "layerType": "data", + "size": "l", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 9, + "i": "0e854818-b5d3-4758-b099-04d68167678a", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "0e854818-b5d3-4758-b099-04d68167678a", + "title": "Login success rate [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "202fa207-df51-44cd-895e-0b765f948b8a", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "28a2720d-e3b3-47b1-a86a-2f4dbbbe349a", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "b9e5a7d5-f88a-468b-939c-adcd1683da60", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5": { + "columnOrder": [ + "22579769-dcb6-457e-82b4-76eacc56deb8", + "22579769-dcb6-457e-82b4-76eacc56deb8X0" + ], + "columns": { + "22579769-dcb6-457e-82b4-76eacc56deb8": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Failed login attempts", + "operationType": "formula", + "params": { + "formula": "count()", + "isFormulaBroken": false + }, + "references": [ + "22579769-dcb6-457e-82b4-76eacc56deb8X0" + ], + "scale": "ratio" + }, + "22579769-dcb6-457e-82b4-76eacc56deb8X0": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of Failed login attempts", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.action", + "index": "202fa207-df51-44cd-895e-0b765f948b8a", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.outcome", + "index": "28a2720d-e3b3-47b1-a86a-2f4dbbbe349a", + "key": "event.outcome", + "negate": false, + "params": { + "query": "failure" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.outcome": "failure" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "b9e5a7d5-f88a-468b-939c-adcd1683da60", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "22579769-dcb6-457e-82b4-76eacc56deb8", + "layerId": "e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", + "layerType": "data", + "size": "l", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 9, + "i": "e75fee04-c83e-48ad-83bd-498189cabec7", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "e75fee04-c83e-48ad-83bd-498189cabec7", + "title": "Failed login attempts [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-440fc980-229c-428f-b87b-78b25eeb6155", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "12ab72cc-7cf8-4f95-a4e8-089246cf5b1f", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "38a8140e-6374-4f09-ac8b-f73c71a17c1e", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "440fc980-229c-428f-b87b-78b25eeb6155": { + "columnOrder": [ + "f352fcbd-0e4a-4370-9e73-48616c476653", + "c1ff1268-7525-4784-b979-c05c5f137e75", + "24d3e40d-dba5-477a-9c98-85d41d66c0f6" + ], + "columns": { + "24d3e40d-dba5-477a-9c98-85d41d66c0f6": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "event.outcome : \"failure\" " + }, + "isBucketed": false, + "label": "Failure", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "c1ff1268-7525-4784-b979-c05c5f137e75": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "event.outcome : \"success\" " + }, + "isBucketed": false, + "label": "Success", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "f352fcbd-0e4a-4370-9e73-48616c476653": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.action", + "index": "12ab72cc-7cf8-4f95-a4e8-089246cf5b1f", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "38a8140e-6374-4f09-ac8b-f73c71a17c1e", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fillOpacity": 0, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "c1ff1268-7525-4784-b979-c05c5f137e75", + "24d3e40d-dba5-477a-9c98-85d41d66c0f6" + ], + "layerId": "440fc980-229c-428f-b87b-78b25eeb6155", + "layerType": "data", + "palette": { + "name": "default", + "type": "palette" + }, + "seriesType": "line", + "xAccessor": "f352fcbd-0e4a-4370-9e73-48616c476653", + "yConfig": [ + { + "axisMode": "left", + "color": "#68BC00", + "forAccessor": "c1ff1268-7525-4784-b979-c05c5f137e75" + }, + { + "color": "#e7664c", + "forAccessor": "24d3e40d-dba5-477a-9c98-85d41d66c0f6" + } + ] + } + ], + "legend": { + "isVisible": true, + "maxLines": 1, + "position": "right", + "shouldTruncate": true, + "showSingleSeries": true + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide", + "valuesInLegend": true, + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + }, + "yTitle": "Requests" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "e780606f-6362-497e-9e17-940937ead5bf", + "w": 48, + "x": 0, + "y": 9 + }, + "panelIndex": "e780606f-6362-497e-9e17-940937ead5bf", + "title": "Login over time [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-9c7705b7-2344-40b4-a257-d8ced3dd0740", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6c90d865-14e0-4f74-b8ca-2b03f341b440", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "45176e6f-c3b8-4fd0-a490-a6e59f5eabc3", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "9c7705b7-2344-40b4-a257-d8ced3dd0740": { + "columnOrder": [ + "8f42c063-bb66-4b3b-8f52-83103613cd09", + "68fb2e14-2d3c-49b3-a3d1-dadbf2e3d950" + ], + "columns": { + "68fb2e14-2d3c-49b3-a3d1-dadbf2e3d950": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Login Events", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "8f42c063-bb66-4b3b-8f52-83103613cd09": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.action", + "index": "6c90d865-14e0-4f74-b8ca-2b03f341b440", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "45176e6f-c3b8-4fd0-a490-a6e59f5eabc3", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "layers": [ + { + "accessors": [ + "68fb2e14-2d3c-49b3-a3d1-dadbf2e3d950" + ], + "layerId": "9c7705b7-2344-40b4-a257-d8ced3dd0740", + "layerType": "data", + "position": "top", + "seriesType": "bar", + "showGridlines": false, + "xAccessor": "8f42c063-bb66-4b3b-8f52-83103613cd09" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "title": "Empty XY chart", + "valueLabels": "hide", + "yTitle": "" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 17, + "i": "27d96d74-bfe5-4676-84fc-0f7e24594b5a", + "w": 48, + "x": 0, + "y": 24 + }, + "panelIndex": "27d96d74-bfe5-4676-84fc-0f7e24594b5a", + "title": "Total login events over time [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-c99534c3-c26a-4456-837b-3a71c0c9423e", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "0752e415-04f6-41fb-a9bd-0ea95119c23f", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9d25551f-6855-484b-bcea-267ceefdb7fb", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "c99534c3-c26a-4456-837b-3a71c0c9423e": { + "columnOrder": [ + "424fcd8e-fd11-4d5b-8eec-6a20473e1134", + "9478baac-1153-4cda-a4b4-08db8af7580a" + ], + "columns": { + "424fcd8e-fd11-4d5b-8eec-6a20473e1134": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of user.roles", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "9478baac-1153-4cda-a4b4-08db8af7580a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "user.roles" + }, + "9478baac-1153-4cda-a4b4-08db8af7580a": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.action", + "index": "0752e415-04f6-41fb-a9bd-0ea95119c23f", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "9d25551f-6855-484b-bcea-267ceefdb7fb", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "c99534c3-c26a-4456-837b-3a71c0c9423e", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "9478baac-1153-4cda-a4b4-08db8af7580a" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "424fcd8e-fd11-4d5b-8eec-6a20473e1134" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6", + "w": 24, + "x": 0, + "y": 41 + }, + "panelIndex": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6", + "title": "Distribution of type of users [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-fe97c656-f063-45c6-8d2c-f681b01b9c25", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "33aa1d73-6050-4e83-b4d1-7fc4ceb0b413", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "2ffe6379-bcec-4a04-baed-bc28009cb12c", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "fe97c656-f063-45c6-8d2c-f681b01b9c25": { + "columnOrder": [ + "429bdef4-3ab3-4826-aa68-2c13f0dc2557", + "a1b52fa9-f635-4caf-be9a-4b9cbdaf3a4d" + ], + "columns": { + "429bdef4-3ab3-4826-aa68-2c13f0dc2557": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "User Agent", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "a1b52fa9-f635-4caf-be9a-4b9cbdaf3a4d", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "user_agent.name" + }, + "a1b52fa9-f635-4caf-be9a-4b9cbdaf3a4d": { + "customLabel": false, + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.action", + "index": "33aa1d73-6050-4e83-b4d1-7fc4ceb0b413", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "2ffe6379-bcec-4a04-baed-bc28009cb12c", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "fe97c656-f063-45c6-8d2c-f681b01b9c25", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "a1b52fa9-f635-4caf-be9a-4b9cbdaf3a4d" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "429bdef4-3ab3-4826-aa68-2c13f0dc2557" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "4b6641b7-fa2a-4d84-a9f6-e358000702dc", + "w": 24, + "x": 24, + "y": 41 + }, + "panelIndex": "4b6641b7-fa2a-4d84-a9f6-e358000702dc", + "title": "Activity by browser/client [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-26b85139-d8f7-4158-829c-eed584dc6310", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "696f7220-4f11-4c84-bfad-d2abdb595843", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "5a4850c8-9bba-423e-8a12-6cbe09cae6f7", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "98986eae-7d8b-45ba-8bd4-5b6564dab9d9", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "26b85139-d8f7-4158-829c-eed584dc6310": { + "columnOrder": [ + "28fa192e-d9c2-4e4a-9b4a-d2bf6070d553", + "747231b5-9a00-4095-ba5c-61753b1aa507", + "3515b14c-c836-46d3-b3e3-1b27b0eca9d8", + "7bdaf495-4429-4383-b8f4-f8ed16130036", + "89013969-6f87-4f17-9239-4c3ef1cc72e5" + ], + "columns": { + "28fa192e-d9c2-4e4a-9b4a-d2bf6070d553": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10000 values of salesforce.login.document_id", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "747231b5-9a00-4095-ba5c-61753b1aa507", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 10000 + }, + "scale": "ordinal", + "sourceField": "salesforce.login.document_id" + }, + "3515b14c-c836-46d3-b3e3-1b27b0eca9d8": { + "customLabel": true, + "dataType": "string", + "filter": { + "language": "kuery", + "query": "event.outcome: *" + }, + "isBucketed": false, + "label": "Request status", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ordinal", + "sourceField": "event.outcome" + }, + "747231b5-9a00-4095-ba5c-61753b1aa507": { + "customLabel": true, + "dataType": "date", + "filter": { + "language": "kuery", + "query": "@timestamp: *" + }, + "isBucketed": false, + "label": "Timestamp", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "@timestamp" + }, + "7bdaf495-4429-4383-b8f4-f8ed16130036": { + "customLabel": true, + "dataType": "string", + "filter": { + "language": "kuery", + "query": "\"salesforce.login.run_time\": *" + }, + "isBucketed": false, + "label": "Run time (ms)", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ordinal", + "sourceField": "salesforce.login.run_time" + }, + "89013969-6f87-4f17-9239-4c3ef1cc72e5": { + "customLabel": true, + "dataType": "string", + "filter": { + "language": "kuery", + "query": "\"salesforce.login.db_total_time\": *" + }, + "isBucketed": false, + "label": "DB total time (ms)", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ordinal", + "sourceField": "salesforce.login.db_total_time" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.action", + "index": "696f7220-4f11-4c84-bfad-d2abdb595843", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.outcome", + "index": "5a4850c8-9bba-423e-8a12-6cbe09cae6f7", + "key": "event.outcome", + "negate": false, + "type": "exists", + "value": "exists" + }, + "query": { + "exists": { + "field": "event.outcome" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "98986eae-7d8b-45ba-8bd4-5b6564dab9d9", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "747231b5-9a00-4095-ba5c-61753b1aa507", + "isTransposed": false + }, + { + "columnId": "3515b14c-c836-46d3-b3e3-1b27b0eca9d8", + "isTransposed": false + }, + { + "columnId": "28fa192e-d9c2-4e4a-9b4a-d2bf6070d553", + "hidden": true, + "isTransposed": false + }, + { + "columnId": "7bdaf495-4429-4383-b8f4-f8ed16130036", + "isTransposed": false + }, + { + "columnId": "89013969-6f87-4f17-9239-4c3ef1cc72e5", + "isTransposed": false + } + ], + "layerId": "26b85139-d8f7-4158-829c-eed584dc6310", + "layerType": "data", + "paging": { + "enabled": true, + "size": 10 + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 17, + "i": "b2b60887-159a-4a2f-a477-eece1cda9620", + "w": 24, + "x": 0, + "y": 71 + }, + "panelIndex": "b2b60887-159a-4a2f-a477-eece1cda9620", + "title": "Login events table [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-75cb4ead-3ea9-4a50-b9e3-93a364e95f02", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "baf37a2c-beae-4c2c-bbc5-bb3347c7f931", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "c6500332-3aa6-477c-8722-ea96526e85b6", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "75cb4ead-3ea9-4a50-b9e3-93a364e95f02": { + "columnOrder": [ + "8e5c4236-26b7-402d-b1ef-0af6d7028ebd", + "5a25315e-fd94-4e86-ba45-423bd31ab8bc" + ], + "columns": { + "5a25315e-fd94-4e86-ba45-423bd31ab8bc": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "User count", + "operationType": "unique_count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "user.email" + }, + "8e5c4236-26b7-402d-b1ef-0af6d7028ebd": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application type", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "5a25315e-fd94-4e86-ba45-423bd31ab8bc", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.login.application" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.action", + "index": "baf37a2c-beae-4c2c-bbc5-bb3347c7f931", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "c6500332-3aa6-477c-8722-ea96526e85b6", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "5a25315e-fd94-4e86-ba45-423bd31ab8bc" + ], + "layerId": "75cb4ead-3ea9-4a50-b9e3-93a364e95f02", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "xAccessor": "8e5c4236-26b7-402d-b1ef-0af6d7028ebd" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "title": "Empty XY chart", + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "6115a6d5-d780-4272-b952-2af28343a5b6", + "w": 24, + "x": 24, + "y": 56 + }, + "panelIndex": "6115a6d5-d780-4272-b952-2af28343a5b6", + "title": "Top 10 Application type by user count [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-21816ba6-c606-4532-9362-64890b01b81c", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6778cb9a-4889-4d55-8300-0bd7584950f3", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "0d3528e5-e4b0-430d-8ed3-7c63b8bdb5cb", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "21816ba6-c606-4532-9362-64890b01b81c": { + "columnOrder": [ + "20cea7a4-2d2b-4a01-8591-e8aa9a80d6c3", + "9ab68795-f5bc-485c-b0db-9e8f87d5b992" + ], + "columns": { + "20cea7a4-2d2b-4a01-8591-e8aa9a80d6c3": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "IP Addresses", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "9ab68795-f5bc-485c-b0db-9e8f87d5b992", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "source.ip" + }, + "9ab68795-f5bc-485c-b0db-9e8f87d5b992": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.action", + "index": "6778cb9a-4889-4d55-8300-0bd7584950f3", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "0d3528e5-e4b0-430d-8ed3-7c63b8bdb5cb", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "9ab68795-f5bc-485c-b0db-9e8f87d5b992" + ], + "layerId": "21816ba6-c606-4532-9362-64890b01b81c", + "layerType": "data", + "seriesType": "bar_horizontal", + "xAccessor": "20cea7a4-2d2b-4a01-8591-e8aa9a80d6c3" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 17, + "i": "4a2b88af-ad1a-416d-9553-d21b23882c22", + "w": 24, + "x": 24, + "y": 71 + }, + "panelIndex": "4a2b88af-ad1a-416d-9553-d21b23882c22", + "title": "Top 10 IP addresses by request count [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "layerListJSON": [ + { + "alpha": 1, + "id": "3de98652-8d42-4415-91ca-d64b26bb6972", + "includeInFitToBounds": true, + "label": null, + "locale": "autoselect", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "lightModeDefault": "road_map_desaturated", + "type": "EMS_TMS" + }, + "style": { + "color": "", + "type": "EMS_VECTOR_TILE" + }, + "type": "EMS_VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "546e11d2-db52-457b-8733-e1ee75c51fd8", + "includeInFitToBounds": true, + "joins": [], + "label": "Login Activity", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyForceRefresh": true, + "applyGlobalQuery": true, + "applyGlobalTime": true, + "filterByMapBounds": true, + "geoField": "source.geo.location", + "id": "6d0ed8a8-d5de-4d2e-9e05-0fd4b7dc2384", + "indexPatternRefName": "layer_1_source_index_pattern", + "scalingType": "MVT", + "sortField": "", + "sortOrder": "desc", + "tooltipProperties": [], + "topHitsSize": 1, + "topHitsSplitField": "", + "type": "ES_SEARCH" + }, + "style": { + "isTimeAware": true, + "properties": { + "fillColor": { + "options": { + "color": "#54B399" + }, + "type": "STATIC" + }, + "icon": { + "options": { + "value": "marker" + }, + "type": "STATIC" + }, + "iconOrientation": { + "options": { + "orientation": 0 + }, + "type": "STATIC" + }, + "iconSize": { + "options": { + "size": 6 + }, + "type": "STATIC" + }, + "labelBorderColor": { + "options": { + "color": "#FFFFFF" + }, + "type": "STATIC" + }, + "labelBorderSize": { + "options": { + "size": "SMALL" + } + }, + "labelColor": { + "options": { + "color": "#000000" + }, + "type": "STATIC" + }, + "labelSize": { + "options": { + "size": 14 + }, + "type": "STATIC" + }, + "labelText": { + "options": { + "value": "" + }, + "type": "STATIC" + }, + "labelZoomRange": { + "options": { + "maxZoom": 24, + "minZoom": 0, + "useLayerZoomRange": true + } + }, + "lineColor": { + "options": { + "color": "#41937c" + }, + "type": "STATIC" + }, + "lineWidth": { + "options": { + "size": 1 + }, + "type": "STATIC" + }, + "symbolizeAs": { + "options": { + "value": "circle" + } + } + }, + "type": "VECTOR" + }, + "type": "MVT_VECTOR", + "visible": true + } + ], + "mapStateJSON": { + "adHocDataViews": [], + "center": { + "lat": 0, + "lon": -110.39069 + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "filebeat-*", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 900000, + "isPaused": false + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "customIcons": [], + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "keydownScrollZoom": false, + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-7d/d", + "to": "now" + }, + "zoom": 0.61 + }, + "title": "", + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } + }, + "enhancements": {}, + "hiddenLayers": [], + "hidePanelTitles": false, + "isLayerTOCOpen": true, + "mapBuffer": { + "maxLat": 89.78601, + "maxLon": 540, + "minLat": -85.05113, + "minLon": -720 + }, + "mapCenter": { + "lat": 18.34294, + "lon": -110.39069, + "zoom": 0.29 + }, + "openTOCDetails": [] + }, + "gridData": { + "h": 15, + "i": "bc6b147a-bd41-4f00-affe-4a7b7fbaab7a", + "w": 48, + "x": 0, + "y": 88 + }, + "panelIndex": "bc6b147a-bd41-4f00-affe-4a7b7fbaab7a", + "title": "Login activity by region [Logs Salesforce]", + "type": "map", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-75cb4ead-3ea9-4a50-b9e3-93a364e95f02", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "d110f063-ba9b-4d7e-9d00-124ef79bf704", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "75cb4ead-3ea9-4a50-b9e3-93a364e95f02": { + "columnOrder": [ + "f21fe70c-96b7-452f-9bdd-d0066baba7de", + "5a25315e-fd94-4e86-ba45-423bd31ab8bc" + ], + "columns": { + "5a25315e-fd94-4e86-ba45-423bd31ab8bc": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "User count", + "operationType": "unique_count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "user.email" + }, + "f21fe70c-96b7-452f-9bdd-d0066baba7de": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Postal code", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "5a25315e-fd94-4e86-ba45-423bd31ab8bc", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "source.geo.postal_code" + } + }, + "incompleteColumns": {}, + "sampling": 1 + } + } + }, + "textBased": { + "layers": {} + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "d110f063-ba9b-4d7e-9d00-124ef79bf704", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "5a25315e-fd94-4e86-ba45-423bd31ab8bc" + ], + "layerId": "75cb4ead-3ea9-4a50-b9e3-93a364e95f02", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "xAccessor": "f21fe70c-96b7-452f-9bdd-d0066baba7de" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "title": "Empty XY chart", + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6", + "w": 24, + "x": 0, + "y": 56 + }, + "panelIndex": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6", + "title": "Top 10 Postal code by user count [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + } + ], + "refreshInterval": { + "pause": true, + "value": 900000 + }, + "timeFrom": "now-7d/d", + "timeRestore": true, + "timeTo": "now", + "title": "[Filebeat Salesforce] Login Dashboard", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-03-26T07:09:58.704Z", + "id": "salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg", + "managed": false, + "references": [ + { + "id": "filebeat-*", + "name": "0e854818-b5d3-4758-b099-04d68167678a:indexpattern-datasource-layer-e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "0e854818-b5d3-4758-b099-04d68167678a:6d11832d-25d1-4c0f-8a37-713bc1c54586", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "0e854818-b5d3-4758-b099-04d68167678a:9d8c8465-f2be-4bd6-a21c-0b6367261090", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e75fee04-c83e-48ad-83bd-498189cabec7:indexpattern-datasource-layer-e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e75fee04-c83e-48ad-83bd-498189cabec7:202fa207-df51-44cd-895e-0b765f948b8a", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e75fee04-c83e-48ad-83bd-498189cabec7:28a2720d-e3b3-47b1-a86a-2f4dbbbe349a", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e75fee04-c83e-48ad-83bd-498189cabec7:b9e5a7d5-f88a-468b-939c-adcd1683da60", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e780606f-6362-497e-9e17-940937ead5bf:indexpattern-datasource-layer-440fc980-229c-428f-b87b-78b25eeb6155", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e780606f-6362-497e-9e17-940937ead5bf:12ab72cc-7cf8-4f95-a4e8-089246cf5b1f", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e780606f-6362-497e-9e17-940937ead5bf:38a8140e-6374-4f09-ac8b-f73c71a17c1e", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "27d96d74-bfe5-4676-84fc-0f7e24594b5a:indexpattern-datasource-layer-9c7705b7-2344-40b4-a257-d8ced3dd0740", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "27d96d74-bfe5-4676-84fc-0f7e24594b5a:6c90d865-14e0-4f74-b8ca-2b03f341b440", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "27d96d74-bfe5-4676-84fc-0f7e24594b5a:45176e6f-c3b8-4fd0-a490-a6e59f5eabc3", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6:indexpattern-datasource-layer-c99534c3-c26a-4456-837b-3a71c0c9423e", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6:0752e415-04f6-41fb-a9bd-0ea95119c23f", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6:9d25551f-6855-484b-bcea-267ceefdb7fb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "4b6641b7-fa2a-4d84-a9f6-e358000702dc:indexpattern-datasource-layer-fe97c656-f063-45c6-8d2c-f681b01b9c25", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "4b6641b7-fa2a-4d84-a9f6-e358000702dc:33aa1d73-6050-4e83-b4d1-7fc4ceb0b413", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "4b6641b7-fa2a-4d84-a9f6-e358000702dc:2ffe6379-bcec-4a04-baed-bc28009cb12c", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "b2b60887-159a-4a2f-a477-eece1cda9620:indexpattern-datasource-layer-26b85139-d8f7-4158-829c-eed584dc6310", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "b2b60887-159a-4a2f-a477-eece1cda9620:696f7220-4f11-4c84-bfad-d2abdb595843", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "b2b60887-159a-4a2f-a477-eece1cda9620:5a4850c8-9bba-423e-8a12-6cbe09cae6f7", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "b2b60887-159a-4a2f-a477-eece1cda9620:98986eae-7d8b-45ba-8bd4-5b6564dab9d9", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6115a6d5-d780-4272-b952-2af28343a5b6:indexpattern-datasource-layer-75cb4ead-3ea9-4a50-b9e3-93a364e95f02", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6115a6d5-d780-4272-b952-2af28343a5b6:baf37a2c-beae-4c2c-bbc5-bb3347c7f931", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6115a6d5-d780-4272-b952-2af28343a5b6:c6500332-3aa6-477c-8722-ea96526e85b6", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "4a2b88af-ad1a-416d-9553-d21b23882c22:indexpattern-datasource-layer-21816ba6-c606-4532-9362-64890b01b81c", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "4a2b88af-ad1a-416d-9553-d21b23882c22:6778cb9a-4889-4d55-8300-0bd7584950f3", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "4a2b88af-ad1a-416d-9553-d21b23882c22:0d3528e5-e4b0-430d-8ed3-7c63b8bdb5cb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "bc6b147a-bd41-4f00-affe-4a7b7fbaab7a:layer_1_source_index_pattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6:indexpattern-datasource-layer-75cb4ead-3ea9-4a50-b9e3-93a364e95f02", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6:d110f063-ba9b-4d7e-9d00-124ef79bf704", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "controlGroup_9d6785f0-b96d-4e35-8c17-3d7c90855bd2:optionsListDataView", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0", + "updated_at": "2024-03-26T07:09:58.704Z", + "version": "Wzk3MjAsMl0=" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json new file mode 100644 index 00000000000..074fbe714c8 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -0,0 +1,2241 @@ +{ + "attributes": { + "controlGroupInput": { + "chainingSystem": "HIERARCHICAL", + "controlStyle": "oneLine", + "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", + "panelsJSON": "{\"2c772825-53ca-4b0a-b3f1-3a444dab9ac6\":{\"type\":\"optionsListControl\",\"order\":0,\"grow\":true,\"width\":\"large\",\"explicitInput\":{\"id\":\"2c772825-53ca-4b0a-b3f1-3a444dab9ac6\",\"fieldName\":\"salesforce.instance_url\",\"title\":\"Instance URL\",\"grow\":true,\"width\":\"large\",\"enhancements\":{}}}}" + }, + "description": "Salesforce Apex Data", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-bfd4a8f4-653c-49f7-bd04-dd9efd1f9aee", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "1f72d747-4e35-45fc-a02a-a8dfde49d1ea", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "4684cf9e-b284-4945-9cb8-19ff055a9439", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "8438a007-7d70-44fb-89f9-c2137ee48436", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "bfd4a8f4-653c-49f7-bd04-dd9efd1f9aee": { + "columnOrder": [ + "9e1cad3b-eb20-4dd8-8011-94fb5c46c517", + "9e1cad3b-eb20-4dd8-8011-94fb5c46c517X0" + ], + "columns": { + "9e1cad3b-eb20-4dd8-8011-94fb5c46c517": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Calls against the organization limit", + "operationType": "formula", + "params": { + "formula": "count()", + "isFormulaBroken": false + }, + "references": [ + "9e1cad3b-eb20-4dd8-8011-94fb5c46c517X0" + ], + "scale": "ratio" + }, + "9e1cad3b-eb20-4dd8-8011-94fb5c46c517X0": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of Calls against the organization limit", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "1f72d747-4e35-45fc-a02a-a8dfde49d1ea", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "4684cf9e-b284-4945-9cb8-19ff055a9439", + "key": "salesforce.apex.is_long_running_request", + "negate": true, + "params": { + "query": "0" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "salesforce.apex.is_long_running_request": "0" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "8438a007-7d70-44fb-89f9-c2137ee48436", + "key": "salesforce.apex.is_long_running_request", + "negate": false, + "type": "exists", + "value": "exists" + }, + "query": { + "exists": { + "field": "salesforce.apex.is_long_running_request" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "9e1cad3b-eb20-4dd8-8011-94fb5c46c517", + "colorMode": "None", + "layerId": "bfd4a8f4-653c-49f7-bd04-dd9efd1f9aee", + "layerType": "data", + "size": "l", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 15, + "i": "6b1afef8-3be5-4fca-a0c4-690a14979551", + "w": 16, + "x": 0, + "y": 0 + }, + "panelIndex": "6b1afef8-3be5-4fca-a0c4-690a14979551", + "title": "Calls against the organization limit [Logs Salesforce]]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-6b3e9ab2-2d33-46c3-9575-78a6bc8af75b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ad7e49e7-de0f-4efb-ae3f-852498e24371", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "6b3e9ab2-2d33-46c3-9575-78a6bc8af75b": { + "columnOrder": [ + "d70ad4b5-d399-41ce-b3c1-e1314a80da88", + "4cfb821a-ad49-4dc4-ada1-cd7e4317242c" + ], + "columns": { + "4cfb821a-ad49-4dc4-ada1-cd7e4317242c": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "d70ad4b5-d399-41ce-b3c1-e1314a80da88": { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of event.outcome", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "4cfb821a-ad49-4dc4-ada1-cd7e4317242c", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "event.outcome" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "ad7e49e7-de0f-4efb-ae3f-852498e24371", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "6b3e9ab2-2d33-46c3-9575-78a6bc8af75b", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "4cfb821a-ad49-4dc4-ada1-cd7e4317242c" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "d70ad4b5-d399-41ce-b3c1-e1314a80da88" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "8039ad1b-bbc7-4d77-bcff-77ef0299a766", + "w": 16, + "x": 16, + "y": 0 + }, + "panelIndex": "8039ad1b-bbc7-4d77-bcff-77ef0299a766", + "title": "Distribution of request status [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-ce4e2479-29c1-4aa0-991e-0772b981e53e", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "99e1f29f-d65d-4e43-8229-0e7dada3babc", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "ce4e2479-29c1-4aa0-991e-0772b981e53e": { + "columnOrder": [ + "7941b24c-6791-4993-b363-616eafaad185", + "ff53120c-8fee-489f-88a7-cdac245b92dd" + ], + "columns": { + "7941b24c-6791-4993-b363-616eafaad185": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Apex media type", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "ff53120c-8fee-489f-88a7-cdac245b92dd", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.media_type" + }, + "ff53120c-8fee-489f-88a7-cdac245b92dd": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "99e1f29f-d65d-4e43-8229-0e7dada3babc", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "ce4e2479-29c1-4aa0-991e-0772b981e53e", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "ff53120c-8fee-489f-88a7-cdac245b92dd" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "7941b24c-6791-4993-b363-616eafaad185" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "00d05ee3-74f4-4621-9dc7-04fde76b86d9", + "w": 16, + "x": 32, + "y": 0 + }, + "panelIndex": "00d05ee3-74f4-4621-9dc7-04fde76b86d9", + "title": "Responses by media type [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-197919f5-ef5b-4ae9-8432-cd2a91e337d2", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "4c4c54fa-53f8-4d2d-acc2-387cf2f67f6a", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "197919f5-ef5b-4ae9-8432-cd2a91e337d2": { + "columnOrder": [ + "61308466-190f-4872-9976-8e5320f6eee6", + "b00acfd3-e92b-4b7c-bf69-86e3ebf49971", + "d856470e-3075-4c79-a99b-77cb8fd0f5ea" + ], + "columns": { + "61308466-190f-4872-9976-8e5320f6eee6": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of salesforce.apex.trigger.name", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "d856470e-3075-4c79-a99b-77cb8fd0f5ea", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.trigger.name" + }, + "b00acfd3-e92b-4b7c-bf69-86e3ebf49971": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "d856470e-3075-4c79-a99b-77cb8fd0f5ea": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Apex Trigger", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "4c4c54fa-53f8-4d2d-acc2-387cf2f67f6a", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "d856470e-3075-4c79-a99b-77cb8fd0f5ea" + ], + "layerId": "197919f5-ef5b-4ae9-8432-cd2a91e337d2", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "splitAccessor": "61308466-190f-4872-9976-8e5320f6eee6", + "xAccessor": "b00acfd3-e92b-4b7c-bf69-86e3ebf49971" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "title": "Empty XY chart", + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 17, + "i": "0a33a409-0f61-42be-82ca-7ef8b8ec052f", + "w": 48, + "x": 0, + "y": 15 + }, + "panelIndex": "0a33a409-0f61-42be-82ca-7ef8b8ec052f", + "title": "Top 10 apex triggers over time [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-1ddfa426-0787-44a0-a6d4-7ba89384d487", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-9518bc3e-d87d-49f2-ba14-84a071cf9140", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "1ddfa426-0787-44a0-a6d4-7ba89384d487": { + "columnOrder": [ + "189cd662-a8bb-44dd-b11c-a6006f3deb18", + "80b5b013-c11c-440a-af98-1d98a8c81eb4" + ], + "columns": { + "189cd662-a8bb-44dd-b11c-a6006f3deb18": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "80b5b013-c11c-440a-af98-1d98a8c81eb4": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Average run time", + "operationType": "average", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "salesforce.apex.run_time" + } + }, + "incompleteColumns": {} + }, + "9518bc3e-d87d-49f2-ba14-84a071cf9140": { + "columnOrder": [ + "40d6a20f-660b-4268-b801-c1c46ff7ea34", + "65763421-d4aa-4e0d-8cfc-e7334715d1b9" + ], + "columns": { + "40d6a20f-660b-4268-b801-c1c46ff7ea34": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "65763421-d4aa-4e0d-8cfc-e7334715d1b9": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "event.dataset: salesforce.apex* AND salesforce.apex.run_time: *" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": false, + "yLeft": true, + "yRight": true + }, + "layers": [ + { + "accessors": [ + "65763421-d4aa-4e0d-8cfc-e7334715d1b9" + ], + "layerId": "9518bc3e-d87d-49f2-ba14-84a071cf9140", + "layerType": "data", + "position": "top", + "seriesType": "bar", + "showGridlines": false, + "xAccessor": "40d6a20f-660b-4268-b801-c1c46ff7ea34", + "yConfig": [ + { + "axisMode": "left", + "color": "#00e499", + "forAccessor": "65763421-d4aa-4e0d-8cfc-e7334715d1b9" + } + ] + }, + { + "accessors": [ + "80b5b013-c11c-440a-af98-1d98a8c81eb4" + ], + "layerId": "1ddfa426-0787-44a0-a6d4-7ba89384d487", + "layerType": "data", + "seriesType": "line", + "xAccessor": "189cd662-a8bb-44dd-b11c-a6006f3deb18", + "yConfig": [ + { + "axisMode": "right", + "color": "#ff3a66", + "forAccessor": "80b5b013-c11c-440a-af98-1d98a8c81eb4" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "title": "Empty XY chart", + "valueLabels": "hide", + "valuesInLegend": true, + "xTitle": "", + "yRightExtent": { + "mode": "dataBounds" + }, + "yRightTitle": "Average run time (ms)" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 17, + "i": "b8767bce-c060-4957-acfa-9f289be40643", + "w": 48, + "x": 0, + "y": 32 + }, + "panelIndex": "b8767bce-c060-4957-acfa-9f289be40643", + "title": "Apex performance over time [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-e5191636-4eda-47ed-a871-fbbeecb288b2", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "583c98ae-1213-41a0-b63a-b064df93a70a", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "5512a380-a0f0-43d4-8dc7-8664e8187b34", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "e5191636-4eda-47ed-a871-fbbeecb288b2": { + "columnOrder": [ + "d6544130-d324-4e62-8147-bf8206321aa2", + "c06e0b3b-14ec-4692-8b1d-1f695ee57620" + ], + "columns": { + "c06e0b3b-14ec-4692-8b1d-1f695ee57620": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "SOQL queries", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "d6544130-d324-4e62-8147-bf8206321aa2": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Entry point", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "c06e0b3b-14ec-4692-8b1d-1f695ee57620", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.entry_point" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "583c98ae-1213-41a0-b63a-b064df93a70a", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "5512a380-a0f0-43d4-8dc7-8664e8187b34", + "key": "event.action", + "negate": false, + "params": { + "query": "apex-execution" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "apex-execution" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "layers": [ + { + "accessors": [ + "c06e0b3b-14ec-4692-8b1d-1f695ee57620" + ], + "layerId": "e5191636-4eda-47ed-a871-fbbeecb288b2", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "xAccessor": "d6544130-d324-4e62-8147-bf8206321aa2" + } + ], + "legend": { + "isVisible": true, + "position": "right", + "showSingleSeries": true + }, + "preferredSeriesType": "bar_stacked", + "title": "Empty XY chart", + "valueLabels": "hide", + "xTitle": "" + } + }, + "title": "Top 10 SOQL queries per entry point [Logs Salesforce]", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {} + }, + "gridData": { + "h": 16, + "i": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa", + "w": 48, + "x": 0, + "y": 49 + }, + "panelIndex": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-70a83117-8122-47eb-80e0-dc92fc2602bb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7140fce8-8a7e-4f59-9c44-52bfbb63a30b", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "70a83117-8122-47eb-80e0-dc92fc2602bb": { + "columnOrder": [ + "bb7f05fd-4314-447c-87c9-7be78c2e3e71", + "369b52fb-dcd6-4e19-bef8-adf4a5c73242", + "71d2e21f-621b-457b-b574-c8be7fb58b72" + ], + "columns": { + "369b52fb-dcd6-4e19-bef8-adf4a5c73242": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "71d2e21f-621b-457b-b574-c8be7fb58b72": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Trigger count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "bb7f05fd-4314-447c-87c9-7be78c2e3e71": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of salesforce.apex.trigger.type", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "71d2e21f-621b-457b-b574-c8be7fb58b72", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.trigger.type" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "7140fce8-8a7e-4f59-9c44-52bfbb63a30b", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "71d2e21f-621b-457b-b574-c8be7fb58b72" + ], + "layerId": "70a83117-8122-47eb-80e0-dc92fc2602bb", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "splitAccessor": "bb7f05fd-4314-447c-87c9-7be78c2e3e71", + "xAccessor": "369b52fb-dcd6-4e19-bef8-adf4a5c73242" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide", + "xTitle": "Trigger type" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 16, + "i": "36b2995c-f5ba-4699-b660-f5546cefd2a6", + "w": 24, + "x": 0, + "y": 65 + }, + "panelIndex": "36b2995c-f5ba-4699-b660-f5546cefd2a6", + "title": "Trigger trends over time [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-70a83117-8122-47eb-80e0-dc92fc2602bb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "2bf12d97-e75b-4648-88f8-39892b8ca052", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "70a83117-8122-47eb-80e0-dc92fc2602bb": { + "columnOrder": [ + "fa79fcac-32b6-4a66-8ead-cc5bf315c3ab", + "71d2e21f-621b-457b-b574-c8be7fb58b72" + ], + "columns": { + "71d2e21f-621b-457b-b574-c8be7fb58b72": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Trigger count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "fa79fcac-32b6-4a66-8ead-cc5bf315c3ab": { + "dataType": "string", + "isBucketed": true, + "label": "Filters", + "operationType": "filters", + "params": { + "filters": [ + { + "input": { + "language": "kuery", + "query": "salesforce.apex.trigger.type : *Update*" + }, + "label": "Updates" + }, + { + "input": { + "language": "kuery", + "query": "salesforce.apex.trigger.type : *Insert*" + }, + "label": "Inserts" + }, + { + "input": { + "language": "kuery", + "query": "salesforce.apex.trigger.type : *Delete*" + }, + "label": "Deletes" + } + ] + }, + "scale": "ordinal" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "2bf12d97-e75b-4648-88f8-39892b8ca052", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "layers": [ + { + "accessors": [ + "71d2e21f-621b-457b-b574-c8be7fb58b72" + ], + "layerId": "70a83117-8122-47eb-80e0-dc92fc2602bb", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "xAccessor": "fa79fcac-32b6-4a66-8ead-cc5bf315c3ab" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "title": "Empty XY chart", + "valueLabels": "hide", + "xTitle": "Trigger type" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 16, + "i": "ac98a6ec-c930-45a7-b1aa-0877e2f8d281", + "w": 24, + "x": 24, + "y": 65 + }, + "panelIndex": "ac98a6ec-c930-45a7-b1aa-0877e2f8d281", + "title": "Number of triggers by type [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "f0b44222-29c9-47aa-9645-36c7f020be1f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "0c3855f9-23b4-460b-9127-4ddcacbeaf97": { + "columnOrder": [ + "1d579c7b-dca3-47eb-b48d-2f4d597d4767", + "f954088d-720b-41b9-89c1-4c686fee1d1a" + ], + "columns": { + "1d579c7b-dca3-47eb-b48d-2f4d597d4767": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "User type", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "f954088d-720b-41b9-89c1-4c686fee1d1a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "user.roles" + }, + "f954088d-720b-41b9-89c1-4c686fee1d1a": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Requests count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "f0b44222-29c9-47aa-9645-36c7f020be1f", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "f954088d-720b-41b9-89c1-4c686fee1d1a" + ], + "layerId": "0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "layerType": "data", + "position": "top", + "seriesType": "bar", + "showGridlines": false, + "xAccessor": "1d579c7b-dca3-47eb-b48d-2f4d597d4767" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar", + "title": "Empty XY chart", + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 16, + "i": "5bbe083c-eff1-4abd-b3a2-012303c07523", + "w": 24, + "x": 0, + "y": 81 + }, + "panelIndex": "5bbe083c-eff1-4abd-b3a2-012303c07523", + "title": "Requests per user type [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "f810d827-8c4a-4c9f-8487-3e3a67610219", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "0c3855f9-23b4-460b-9127-4ddcacbeaf97": { + "columnOrder": [ + "1d579c7b-dca3-47eb-b48d-2f4d597d4767", + "f954088d-720b-41b9-89c1-4c686fee1d1a" + ], + "columns": { + "1d579c7b-dca3-47eb-b48d-2f4d597d4767": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "User agent", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "f954088d-720b-41b9-89c1-4c686fee1d1a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.user_agent" + }, + "f954088d-720b-41b9-89c1-4c686fee1d1a": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Response count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "f810d827-8c4a-4c9f-8487-3e3a67610219", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "f954088d-720b-41b9-89c1-4c686fee1d1a" + ], + "layerId": "0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "layerType": "data", + "position": "top", + "seriesType": "bar", + "showGridlines": false, + "xAccessor": "1d579c7b-dca3-47eb-b48d-2f4d597d4767" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar", + "title": "Empty XY chart", + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 16, + "i": "97d94d13-e382-434e-99cb-dbff367cce72", + "w": 24, + "x": 24, + "y": 81 + }, + "panelIndex": "97d94d13-e382-434e-99cb-dbff367cce72", + "title": "Responses per user agent [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-5e5e7f82-ace7-426a-975b-c01a009ccc21", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "d41d8228-27a6-47d5-9228-311aae15c18f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "5e5e7f82-ace7-426a-975b-c01a009ccc21": { + "columnOrder": [ + "ffc42d57-84ce-42a8-966d-53b68f384ffd", + "67d65022-1482-4a0c-b68f-f9b134807989", + "30970875-b396-4f47-9b79-1defd279743f" + ], + "columns": { + "30970875-b396-4f47-9b79-1defd279743f": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Apex trigger name", + "operationType": "unique_count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "salesforce.apex.trigger.name" + }, + "67d65022-1482-4a0c-b68f-f9b134807989": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "ffc42d57-84ce-42a8-966d-53b68f384ffd": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Entity name", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "30970875-b396-4f47-9b79-1defd279743f", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.entity_name" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "d41d8228-27a6-47d5-9228-311aae15c18f", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "30970875-b396-4f47-9b79-1defd279743f" + ], + "layerId": "5e5e7f82-ace7-426a-975b-c01a009ccc21", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "splitAccessor": "ffc42d57-84ce-42a8-966d-53b68f384ffd", + "xAccessor": "67d65022-1482-4a0c-b68f-f9b134807989" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 16, + "i": "04f06541-b6cf-4a31-865e-361ff701a4c0", + "w": 24, + "x": 0, + "y": 97 + }, + "panelIndex": "04f06541-b6cf-4a31-865e-361ff701a4c0", + "title": "Triggers by entity categorization [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-df249e19-0f2d-4700-96d3-0521bfff6614", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "3aacd3da-ed48-47df-b4ff-5e57de942969", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "df249e19-0f2d-4700-96d3-0521bfff6614": { + "columnOrder": [ + "cb7add83-b77d-41a2-9600-55954e7d271e", + "4d47a9d2-3346-4cca-9381-817a87cfe236" + ], + "columns": { + "4d47a9d2-3346-4cca-9381-817a87cfe236": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "cb7add83-b77d-41a2-9600-55954e7d271e": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Entry point", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "4d47a9d2-3346-4cca-9381-817a87cfe236", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.entry_point" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "3aacd3da-ed48-47df-b4ff-5e57de942969", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "cb7add83-b77d-41a2-9600-55954e7d271e" + }, + { + "columnId": "4d47a9d2-3346-4cca-9381-817a87cfe236" + } + ], + "headerRowHeight": "auto", + "layerId": "df249e19-0f2d-4700-96d3-0521bfff6614", + "layerType": "data", + "rowHeight": "auto" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 16, + "i": "a2b4090c-077d-495a-b002-0aceddb498c7", + "w": 24, + "x": 24, + "y": 97 + }, + "panelIndex": "a2b4090c-077d-495a-b002-0aceddb498c7", + "title": "Top 10 entry points by request count [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-d0976ec2-a99a-4fb6-b537-d6822e644ebb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "47046562-1692-4cd3-bdce-9f034779516d", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7493a672-4e03-4ab9-b641-b745a6c8ba7a", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "d0976ec2-a99a-4fb6-b537-d6822e644ebb": { + "columnOrder": [ + "35da24b7-398e-433a-85d9-49e7862e0813", + "2128b4e0-6345-485e-a410-87fa7ed6e610", + "20bb0e74-5ce7-4e96-9840-bb8cb4dd08c0", + "2b4a5fc5-a0ac-4b56-8543-677eb5793a5b" + ], + "columns": { + "20bb0e74-5ce7-4e96-9840-bb8cb4dd08c0": { + "customLabel": true, + "dataType": "string", + "filter": { + "language": "kuery", + "query": "salesforce.apex.action: *" + }, + "isBucketed": false, + "label": "Action", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.action" + }, + "2128b4e0-6345-485e-a410-87fa7ed6e610": { + "customLabel": true, + "dataType": "date", + "filter": { + "language": "kuery", + "query": "@timestamp: *" + }, + "isBucketed": false, + "label": "Timestamp", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "@timestamp" + }, + "2b4a5fc5-a0ac-4b56-8543-677eb5793a5b": { + "customLabel": true, + "dataType": "string", + "filter": { + "language": "kuery", + "query": "salesforce.apex.throughput: *" + }, + "isBucketed": false, + "label": "Throughput", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.throughput" + }, + "35da24b7-398e-433a-85d9-49e7862e0813": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Entity", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "fc521fd6-0696-4f71-bdd7-371cd87c0169", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.entity" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "47046562-1692-4cd3-bdce-9f034779516d", + "key": "event.action", + "negate": false, + "params": { + "query": "apex-external-custom-callout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "apex-external-custom-callout" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "7493a672-4e03-4ab9-b641-b745a6c8ba7a", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "alignment": "center", + "columnId": "35da24b7-398e-433a-85d9-49e7862e0813", + "isTransposed": false + }, + { + "alignment": "center", + "columnId": "20bb0e74-5ce7-4e96-9840-bb8cb4dd08c0", + "isTransposed": false + }, + { + "alignment": "center", + "columnId": "2b4a5fc5-a0ac-4b56-8543-677eb5793a5b", + "isTransposed": false + }, + { + "alignment": "center", + "columnId": "2128b4e0-6345-485e-a410-87fa7ed6e610", + "isTransposed": false + } + ], + "headerRowHeight": "auto", + "layerId": "d0976ec2-a99a-4fb6-b537-d6822e644ebb", + "layerType": "data", + "paging": { + "enabled": true, + "size": 10 + }, + "rowHeight": "auto" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 14, + "i": "1304595e-5a54-471b-9a24-9bb9e42e0a76", + "w": 48, + "x": 0, + "y": 113 + }, + "panelIndex": "1304595e-5a54-471b-9a24-9bb9e42e0a76", + "title": "Top 10 external calls [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + } + ], + "refreshInterval": { + "pause": true, + "value": 0 + }, + "timeFrom": "now-7d/d", + "timeRestore": true, + "timeTo": "now", + "title": "[Filebeat Salesforce] Apex Dashboard", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-03-14T10:59:53.912Z", + "id": "salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg", + "managed": false, + "references": [ + { + "id": "filebeat-*", + "name": "6b1afef8-3be5-4fca-a0c4-690a14979551:indexpattern-datasource-layer-bfd4a8f4-653c-49f7-bd04-dd9efd1f9aee", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6b1afef8-3be5-4fca-a0c4-690a14979551:1f72d747-4e35-45fc-a02a-a8dfde49d1ea", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6b1afef8-3be5-4fca-a0c4-690a14979551:4684cf9e-b284-4945-9cb8-19ff055a9439", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6b1afef8-3be5-4fca-a0c4-690a14979551:8438a007-7d70-44fb-89f9-c2137ee48436", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "8039ad1b-bbc7-4d77-bcff-77ef0299a766:indexpattern-datasource-layer-6b3e9ab2-2d33-46c3-9575-78a6bc8af75b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "8039ad1b-bbc7-4d77-bcff-77ef0299a766:ad7e49e7-de0f-4efb-ae3f-852498e24371", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "00d05ee3-74f4-4621-9dc7-04fde76b86d9:indexpattern-datasource-layer-ce4e2479-29c1-4aa0-991e-0772b981e53e", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "00d05ee3-74f4-4621-9dc7-04fde76b86d9:99e1f29f-d65d-4e43-8229-0e7dada3babc", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "0a33a409-0f61-42be-82ca-7ef8b8ec052f:indexpattern-datasource-layer-197919f5-ef5b-4ae9-8432-cd2a91e337d2", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "0a33a409-0f61-42be-82ca-7ef8b8ec052f:4c4c54fa-53f8-4d2d-acc2-387cf2f67f6a", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "b8767bce-c060-4957-acfa-9f289be40643:indexpattern-datasource-layer-1ddfa426-0787-44a0-a6d4-7ba89384d487", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "b8767bce-c060-4957-acfa-9f289be40643:indexpattern-datasource-layer-9518bc3e-d87d-49f2-ba14-84a071cf9140", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa:indexpattern-datasource-layer-e5191636-4eda-47ed-a871-fbbeecb288b2", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa:583c98ae-1213-41a0-b63a-b064df93a70a", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa:5512a380-a0f0-43d4-8dc7-8664e8187b34", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "36b2995c-f5ba-4699-b660-f5546cefd2a6:indexpattern-datasource-layer-70a83117-8122-47eb-80e0-dc92fc2602bb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "36b2995c-f5ba-4699-b660-f5546cefd2a6:7140fce8-8a7e-4f59-9c44-52bfbb63a30b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ac98a6ec-c930-45a7-b1aa-0877e2f8d281:indexpattern-datasource-layer-70a83117-8122-47eb-80e0-dc92fc2602bb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ac98a6ec-c930-45a7-b1aa-0877e2f8d281:2bf12d97-e75b-4648-88f8-39892b8ca052", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "5bbe083c-eff1-4abd-b3a2-012303c07523:indexpattern-datasource-layer-0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "5bbe083c-eff1-4abd-b3a2-012303c07523:f0b44222-29c9-47aa-9645-36c7f020be1f", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "97d94d13-e382-434e-99cb-dbff367cce72:indexpattern-datasource-layer-0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "97d94d13-e382-434e-99cb-dbff367cce72:f810d827-8c4a-4c9f-8487-3e3a67610219", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "04f06541-b6cf-4a31-865e-361ff701a4c0:indexpattern-datasource-layer-5e5e7f82-ace7-426a-975b-c01a009ccc21", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "04f06541-b6cf-4a31-865e-361ff701a4c0:d41d8228-27a6-47d5-9228-311aae15c18f", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "a2b4090c-077d-495a-b002-0aceddb498c7:indexpattern-datasource-layer-df249e19-0f2d-4700-96d3-0521bfff6614", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "a2b4090c-077d-495a-b002-0aceddb498c7:3aacd3da-ed48-47df-b4ff-5e57de942969", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:indexpattern-datasource-layer-d0976ec2-a99a-4fb6-b537-d6822e644ebb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:47046562-1692-4cd3-bdce-9f034779516d", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:7493a672-4e03-4ab9-b641-b745a6c8ba7a", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "controlGroup_2c772825-53ca-4b0a-b3f1-3a444dab9ac6:optionsListDataView", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0", + "updated_at": "2024-03-14T10:59:53.912Z", + "version": "WzkzODksMl0=" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json new file mode 100644 index 00000000000..97d8be0fa5e --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -0,0 +1,1128 @@ +{ + "attributes": { + "controlGroupInput": { + "chainingSystem": "HIERARCHICAL", + "controlStyle": "oneLine", + "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", + "panelsJSON": "{\"3cd3f5cb-afc6-4d36-b40b-37db0514e1bc\":{\"type\":\"optionsListControl\",\"order\":0,\"grow\":true,\"width\":\"large\",\"explicitInput\":{\"id\":\"3cd3f5cb-afc6-4d36-b40b-37db0514e1bc\",\"fieldName\":\"salesforce.instance_url\",\"title\":\"Instance URL\",\"grow\":true,\"width\":\"large\",\"enhancements\":{}}}}" + }, + "description": "Salesforce Logout Data", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-8a47b6d2-1dbb-4988-a641-8f88c4afa23e", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "991d4d23-b9bd-4703-af3a-fc289870fd2d", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "8a47b6d2-1dbb-4988-a641-8f88c4afa23e": { + "columnOrder": [ + "3813595f-613d-448b-a776-c8c2a0030e79", + "3813595f-613d-448b-a776-c8c2a0030e79X0", + "3813595f-613d-448b-a776-c8c2a0030e79X1", + "3813595f-613d-448b-a776-c8c2a0030e79X2" + ], + "columns": { + "3813595f-613d-448b-a776-c8c2a0030e79": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "User initiated logout", + "operationType": "formula", + "params": { + "format": { + "id": "percent", + "params": { + "decimals": 2 + } + }, + "formula": "count(kql='salesforce.logout.user_initiated_logout : \"1\" ')/count()", + "isFormulaBroken": false + }, + "references": [ + "3813595f-613d-448b-a776-c8c2a0030e79X2" + ], + "scale": "ratio" + }, + "3813595f-613d-448b-a776-c8c2a0030e79X0": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "salesforce.logout.user_initiated_logout : \"1\" " + }, + "isBucketed": false, + "label": "Part of User initiated logout", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "3813595f-613d-448b-a776-c8c2a0030e79X1": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of User initiated logout", + "operationType": "count", + "params": { + "emptyAsNull": false + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "3813595f-613d-448b-a776-c8c2a0030e79X2": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of User initiated logout", + "operationType": "math", + "params": { + "tinymathAst": { + "args": [ + "3813595f-613d-448b-a776-c8c2a0030e79X0", + "3813595f-613d-448b-a776-c8c2a0030e79X1" + ], + "location": { + "max": 67, + "min": 0 + }, + "name": "divide", + "text": "count(kql='salesforce.logout.user_initiated_logout : \"1\" ')/count()", + "type": "function" + } + }, + "references": [ + "3813595f-613d-448b-a776-c8c2a0030e79X0", + "3813595f-613d-448b-a776-c8c2a0030e79X1" + ], + "scale": "ratio" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "991d4d23-b9bd-4703-af3a-fc289870fd2d", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "3813595f-613d-448b-a776-c8c2a0030e79", + "colorMode": "None", + "layerId": "8a47b6d2-1dbb-4988-a641-8f88c4afa23e", + "layerType": "data", + "size": "l", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 10, + "i": "ed7da063-bcce-4f03-a2f8-5f5e61679c94", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "ed7da063-bcce-4f03-a2f8-5f5e61679c94", + "title": "Percentage of user initiated logout [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-071d449f-b93b-4b66-a79b-2ebdcc946a91", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "928cfc22-397c-4d18-892d-7a619ea18b6b", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "071d449f-b93b-4b66-a79b-2ebdcc946a91": { + "columnOrder": [ + "82a7bef3-43f0-4d0b-bcbd-becfae9e327f", + "9ccd37bf-1f93-4896-afc5-06ae3f6f909f" + ], + "columns": { + "82a7bef3-43f0-4d0b-bcbd-becfae9e327f": { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of salesforce.logout.session.level", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "9ccd37bf-1f93-4896-afc5-06ae3f6f909f", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "salesforce.logout.session.level" + }, + "9ccd37bf-1f93-4896-afc5-06ae3f6f909f": { + "customLabel": false, + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "928cfc22-397c-4d18-892d-7a619ea18b6b", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "071d449f-b93b-4b66-a79b-2ebdcc946a91", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "9ccd37bf-1f93-4896-afc5-06ae3f6f909f" + ], + "nestedLegend": false, + "numberDisplay": "value", + "primaryGroups": [ + "82a7bef3-43f0-4d0b-bcbd-becfae9e327f" + ] + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 10, + "i": "3c17916f-f16e-4ac8-bccf-73ecd11f212e", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "3c17916f-f16e-4ac8-bccf-73ecd11f212e", + "title": "Session levels used while logging out [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-c9c3c8ad-43ed-4058-ad02-3ad64efc5e8f", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "2353b84e-da0b-47de-8611-7d6335cab7f4", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "c9c3c8ad-43ed-4058-ad02-3ad64efc5e8f": { + "columnOrder": [ + "1046a81f-b268-4875-99c0-4130514d6828", + "92cb6b38-00c1-4c8b-b59f-0dbf9a1f760e" + ], + "columns": { + "1046a81f-b268-4875-99c0-4130514d6828": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "92cb6b38-00c1-4c8b-b59f-0dbf9a1f760e": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "params": { + "emptyAsNull": true, + "format": { + "id": "number", + "params": { + "decimals": 0 + } + } + }, + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "2353b84e-da0b-47de-8611-7d6335cab7f4", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": false, + "yRight": true + }, + "fillOpacity": 0.5, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "92cb6b38-00c1-4c8b-b59f-0dbf9a1f760e" + ], + "layerId": "c9c3c8ad-43ed-4058-ad02-3ad64efc5e8f", + "layerType": "data", + "palette": { + "name": "default", + "type": "palette" + }, + "seriesType": "line", + "xAccessor": "1046a81f-b268-4875-99c0-4130514d6828", + "yConfig": [ + { + "axisMode": "left", + "color": "#68BC00", + "forAccessor": "92cb6b38-00c1-4c8b-b59f-0dbf9a1f760e" + } + ] + } + ], + "legend": { + "isVisible": true, + "maxLines": 1, + "position": "right", + "shouldTruncate": true, + "showSingleSeries": true + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide", + "valuesInLegend": true, + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + }, + "yTitle": "" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 13, + "i": "e0bbbc54-6b58-4290-bf0c-2197bacc9d57", + "w": 48, + "x": 0, + "y": 10 + }, + "panelIndex": "e0bbbc54-6b58-4290-bf0c-2197bacc9d57", + "title": "Logout over time [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-53b4bc18-a6f2-4d8b-bf4b-24f553673f92", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "a0cf27f7-fad9-4af6-865d-d6c277520479", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "53b4bc18-a6f2-4d8b-bf4b-24f553673f92": { + "columnOrder": [ + "59346bf3-835e-4e58-9d3f-559141683d62", + "19b9fe7e-d3f1-40b7-a9b8-762233a8ba30" + ], + "columns": { + "19b9fe7e-d3f1-40b7-a9b8-762233a8ba30": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "59346bf3-835e-4e58-9d3f-559141683d62": { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of salesforce.logout.session.type", + "operationType": "terms", + "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, + "missingBucket": false, + "orderBy": { + "columnId": "19b9fe7e-d3f1-40b7-a9b8-762233a8ba30", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 5 + }, + "scale": "ordinal", + "sourceField": "salesforce.logout.session.type" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "a0cf27f7-fad9-4af6-865d-d6c277520479", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "53b4bc18-a6f2-4d8b-bf4b-24f553673f92", + "layerType": "data", + "legendDisplay": "default", + "metrics": [ + "19b9fe7e-d3f1-40b7-a9b8-762233a8ba30" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "59346bf3-835e-4e58-9d3f-559141683d62" + ] + } + ], + "shape": "treemap" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "b01bd690-ed72-4ca8-9b6f-9c81d338ccee", + "w": 24, + "x": 0, + "y": 23 + }, + "panelIndex": "b01bd690-ed72-4ca8-9b6f-9c81d338ccee", + "title": "Distribution of session types [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-b6f7f9e3-33f9-40c4-8b8b-4196caa3e8db", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9942d56b-8bcc-49ea-a7a8-a1c4b165acb0", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "b6f7f9e3-33f9-40c4-8b8b-4196caa3e8db": { + "columnOrder": [ + "d114db82-acd6-425c-b1fb-de8156d1cfc7", + "770749c7-20ab-47fd-b783-0b8d41bcf2f1" + ], + "columns": { + "770749c7-20ab-47fd-b783-0b8d41bcf2f1": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "d114db82-acd6-425c-b1fb-de8156d1cfc7": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "IP Addresses", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "770749c7-20ab-47fd-b783-0b8d41bcf2f1", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "source.ip" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "9942d56b-8bcc-49ea-a7a8-a1c4b165acb0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "770749c7-20ab-47fd-b783-0b8d41bcf2f1" + ], + "layerId": "b6f7f9e3-33f9-40c4-8b8b-4196caa3e8db", + "layerType": "data", + "seriesType": "bar_horizontal", + "xAccessor": "d114db82-acd6-425c-b1fb-de8156d1cfc7" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "aa5b3dcc-cf05-47d1-9e8f-7619950d6de1", + "w": 24, + "x": 24, + "y": 23 + }, + "panelIndex": "aa5b3dcc-cf05-47d1-9e8f-7619950d6de1", + "title": "Top 10 IP addresses by Logout request count [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "layerListJSON": [ + { + "alpha": 1, + "id": "3de98652-8d42-4415-91ca-d64b26bb6972", + "includeInFitToBounds": true, + "label": null, + "locale": "autoselect", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "lightModeDefault": "road_map_desaturated", + "type": "EMS_TMS" + }, + "style": { + "color": "", + "type": "EMS_VECTOR_TILE" + }, + "type": "EMS_VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "546e11d2-db52-457b-8733-e1ee75c51fd8", + "includeInFitToBounds": true, + "joins": [], + "label": "Logout Activity", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyForceRefresh": true, + "applyGlobalQuery": true, + "applyGlobalTime": true, + "filterByMapBounds": true, + "geoField": "source.geo.location", + "id": "6d0ed8a8-d5de-4d2e-9e05-0fd4b7dc2384", + "indexPatternRefName": "layer_1_source_index_pattern", + "scalingType": "MVT", + "sortField": "", + "sortOrder": "desc", + "tooltipProperties": [], + "topHitsSize": 1, + "topHitsSplitField": "", + "type": "ES_SEARCH" + }, + "style": { + "isTimeAware": true, + "properties": { + "fillColor": { + "options": { + "color": "#54B399" + }, + "type": "STATIC" + }, + "icon": { + "options": { + "value": "marker" + }, + "type": "STATIC" + }, + "iconOrientation": { + "options": { + "orientation": 0 + }, + "type": "STATIC" + }, + "iconSize": { + "options": { + "size": 6 + }, + "type": "STATIC" + }, + "labelBorderColor": { + "options": { + "color": "#FFFFFF" + }, + "type": "STATIC" + }, + "labelBorderSize": { + "options": { + "size": "SMALL" + } + }, + "labelColor": { + "options": { + "color": "#000000" + }, + "type": "STATIC" + }, + "labelSize": { + "options": { + "size": 14 + }, + "type": "STATIC" + }, + "labelText": { + "options": { + "value": "" + }, + "type": "STATIC" + }, + "labelZoomRange": { + "options": { + "maxZoom": 24, + "minZoom": 0, + "useLayerZoomRange": true + } + }, + "lineColor": { + "options": { + "color": "#41937c" + }, + "type": "STATIC" + }, + "lineWidth": { + "options": { + "size": 1 + }, + "type": "STATIC" + }, + "symbolizeAs": { + "options": { + "value": "circle" + } + } + }, + "type": "VECTOR" + }, + "type": "MVT_VECTOR", + "visible": true + } + ], + "mapStateJSON": { + "adHocDataViews": [], + "center": { + "lat": 0, + "lon": -42.96266 + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "filebeat-*", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 900000, + "isPaused": false + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "customIcons": [], + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "keydownScrollZoom": false, + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-7d/d", + "to": "now" + }, + "zoom": 0.61 + }, + "title": "", + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } + }, + "enhancements": {}, + "hiddenLayers": [], + "hidePanelTitles": false, + "isLayerTOCOpen": true, + "mapBuffer": { + "maxLat": 89.99075, + "maxLon": 900, + "minLat": -85.05113, + "minLon": -900 + }, + "mapCenter": { + "lat": 39.90974, + "lon": -42.96266, + "zoom": 0 + }, + "openTOCDetails": [] + }, + "gridData": { + "h": 15, + "i": "f6c9b613-b31a-4ba9-ad94-188afa349528", + "w": 48, + "x": 0, + "y": 38 + }, + "panelIndex": "f6c9b613-b31a-4ba9-ad94-188afa349528", + "title": "Logout activity by region [Logs Salesforce]", + "type": "map", + "version": "8.10.0" + } + ], + "refreshInterval": { + "pause": true, + "value": 0 + }, + "timeFrom": "now-7d/d", + "timeRestore": true, + "timeTo": "now", + "title": "[Filebeat Salesforce] Logout Dashboard", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-03-26T06:34:07.388Z", + "id": "salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg", + "managed": false, + "references": [ + { + "id": "filebeat-*", + "name": "ed7da063-bcce-4f03-a2f8-5f5e61679c94:indexpattern-datasource-layer-8a47b6d2-1dbb-4988-a641-8f88c4afa23e", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ed7da063-bcce-4f03-a2f8-5f5e61679c94:991d4d23-b9bd-4703-af3a-fc289870fd2d", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "3c17916f-f16e-4ac8-bccf-73ecd11f212e:indexpattern-datasource-layer-071d449f-b93b-4b66-a79b-2ebdcc946a91", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "3c17916f-f16e-4ac8-bccf-73ecd11f212e:928cfc22-397c-4d18-892d-7a619ea18b6b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e0bbbc54-6b58-4290-bf0c-2197bacc9d57:indexpattern-datasource-layer-c9c3c8ad-43ed-4058-ad02-3ad64efc5e8f", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e0bbbc54-6b58-4290-bf0c-2197bacc9d57:2353b84e-da0b-47de-8611-7d6335cab7f4", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "b01bd690-ed72-4ca8-9b6f-9c81d338ccee:indexpattern-datasource-layer-53b4bc18-a6f2-4d8b-bf4b-24f553673f92", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "b01bd690-ed72-4ca8-9b6f-9c81d338ccee:a0cf27f7-fad9-4af6-865d-d6c277520479", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "aa5b3dcc-cf05-47d1-9e8f-7619950d6de1:indexpattern-datasource-layer-b6f7f9e3-33f9-40c4-8b8b-4196caa3e8db", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "aa5b3dcc-cf05-47d1-9e8f-7619950d6de1:9942d56b-8bcc-49ea-a7a8-a1c4b165acb0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "f6c9b613-b31a-4ba9-ad94-188afa349528:layer_1_source_index_pattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "controlGroup_3cd3f5cb-afc6-4d36-b40b-37db0514e1bc:optionsListDataView", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0", + "updated_at": "2024-03-26T06:34:07.388Z", + "version": "Wzk2OTYsMl0=" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json new file mode 100644 index 00000000000..ffeacbdf8fe --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -0,0 +1,769 @@ +{ + "attributes": { + "controlGroupInput": { + "chainingSystem": "HIERARCHICAL", + "controlStyle": "oneLine", + "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", + "panelsJSON": "{\"9812b8eb-9783-4486-96ae-b1623cfbe1a7\":{\"type\":\"optionsListControl\",\"order\":0,\"grow\":true,\"width\":\"large\",\"explicitInput\":{\"id\":\"9812b8eb-9783-4486-96ae-b1623cfbe1a7\",\"fieldName\":\"salesforce.instance_url\",\"title\":\"Instance URL\",\"grow\":true,\"width\":\"large\",\"enhancements\":{}}}}" + }, + "description": "Salesforce SetupAuditTrail Data", + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncCursor": true, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-d9d1a80f-da0d-4de3-b81b-915a1451dfae", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "8880374b-3372-4782-b014-d3c841f7094f", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "d9d1a80f-da0d-4de3-b81b-915a1451dfae": { + "columnOrder": [ + "c330a448-da57-4033-9575-6fc498a6a00e", + "de7e5b08-824f-4884-b4af-4cca15a26500", + "aebdaa57-11d2-4742-b5d1-8c9359992816" + ], + "columns": { + "aebdaa57-11d2-4742-b5d1-8c9359992816": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "c330a448-da57-4033-9575-6fc498a6a00e": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Actions", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "aebdaa57-11d2-4742-b5d1-8c9359992816", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "event.action" + }, + "de7e5b08-824f-4884-b4af-4cca15a26500": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of salesforce.setup_audit_trail.delegate_user", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "aebdaa57-11d2-4742-b5d1-8c9359992816", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.setup_audit_trail.delegate_user" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "8880374b-3372-4782-b014-d3c841f7094f", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.setupaudittrail" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.setupaudittrail" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "aebdaa57-11d2-4742-b5d1-8c9359992816" + ], + "layerId": "d9d1a80f-da0d-4de3-b81b-915a1451dfae", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "splitAccessor": "de7e5b08-824f-4884-b4af-4cca15a26500", + "xAccessor": "c330a448-da57-4033-9575-6fc498a6a00e" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "title": "Empty XY chart", + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "86d0aa67-c1da-4027-9368-9d0c7b393ee7", + "w": 24, + "x": 0, + "y": 0 + }, + "panelIndex": "86d0aa67-c1da-4027-9368-9d0c7b393ee7", + "title": "Top 10 Actions performed by delegated users [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-05728583-cb7a-4904-bf30-f70c545f1fa4", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "f789c983-2deb-45f7-b5ab-14cb09e37d69", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "05728583-cb7a-4904-bf30-f70c545f1fa4": { + "columnOrder": [ + "89925259-d88b-4002-b3f3-c3112592864c", + "20311ced-e7b9-4fa5-b732-e03d621d74d3" + ], + "columns": { + "20311ced-e7b9-4fa5-b732-e03d621d74d3": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "89925259-d88b-4002-b3f3-c3112592864c": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Sections affected", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "20311ced-e7b9-4fa5-b732-e03d621d74d3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.setup_audit_trail.section" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "f789c983-2deb-45f7-b5ab-14cb09e37d69", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.setupaudittrail" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.setupaudittrail" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "20311ced-e7b9-4fa5-b732-e03d621d74d3" + ], + "layerId": "05728583-cb7a-4904-bf30-f70c545f1fa4", + "layerType": "data", + "position": "top", + "seriesType": "bar", + "showGridlines": false, + "xAccessor": "89925259-d88b-4002-b3f3-c3112592864c" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar", + "title": "Empty XY chart", + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "86eca459-ead0-451d-a319-db689af6fecd", + "w": 24, + "x": 24, + "y": 0 + }, + "panelIndex": "86eca459-ead0-451d-a319-db689af6fecd", + "title": "Top 10 Sections affected [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-d6fa34de-c164-4cf2-9a9e-55550d4f5c2b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "f879f71a-6230-4814-9ef8-11d15d46ac49", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "d6fa34de-c164-4cf2-9a9e-55550d4f5c2b": { + "columnOrder": [ + "9ab2ae83-58e0-40c1-9152-2944132777a6", + "ffd5fa44-6891-4efd-acd4-b156aabaaf75", + "a047794a-dd3e-4988-b425-f542cc15fe3a" + ], + "columns": { + "9ab2ae83-58e0-40c1-9152-2944132777a6": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of event.action", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "a047794a-dd3e-4988-b425-f542cc15fe3a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10 + }, + "scale": "ordinal", + "sourceField": "event.action" + }, + "a047794a-dd3e-4988-b425-f542cc15fe3a": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Actions ", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, + "ffd5fa44-6891-4efd-acd4-b156aabaaf75": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "dropPartials": false, + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "f879f71a-6230-4814-9ef8-11d15d46ac49", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.setupaudittrail" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.setupaudittrail" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "a047794a-dd3e-4988-b425-f542cc15fe3a" + ], + "layerId": "d6fa34de-c164-4cf2-9a9e-55550d4f5c2b", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "splitAccessor": "9ab2ae83-58e0-40c1-9152-2944132777a6", + "xAccessor": "ffd5fa44-6891-4efd-acd4-b156aabaaf75" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "0e7e3952-b099-4b91-b6f3-9e0239707f87", + "w": 48, + "x": 0, + "y": 15 + }, + "panelIndex": "0e7e3952-b099-4b91-b6f3-9e0239707f87", + "title": "Top 10 Actions over time [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-9411e1eb-536a-4d98-b1b7-fa41dc157d88", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9edd25b8-d256-4640-bb24-4a36e325f936", + "type": "index-pattern" + } + ], + "state": { + "adHocDataViews": {}, + "datasourceStates": { + "formBased": { + "layers": { + "9411e1eb-536a-4d98-b1b7-fa41dc157d88": { + "columnOrder": [ + "b1691588-4383-4e6c-891a-f50799eb68ac", + "e7fbf4fb-e128-45d7-b95b-476844ae7ee2", + "d4503031-9bf0-4daf-a418-507a3a1b89ef", + "3553424c-661b-48dc-b323-8d33c94375a6", + "53e49d01-1e96-4aad-bdb3-43e5471fb163" + ], + "columns": { + "3553424c-661b-48dc-b323-8d33c94375a6": { + "customLabel": true, + "dataType": "string", + "filter": { + "language": "kuery", + "query": "event.action: *" + }, + "isBucketed": false, + "label": "Action", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ordinal", + "sourceField": "event.action" + }, + "53e49d01-1e96-4aad-bdb3-43e5471fb163": { + "customLabel": true, + "dataType": "string", + "filter": { + "language": "kuery", + "query": "salesforce.setup_audit_trail.display: *" + }, + "isBucketed": false, + "label": "Display", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ordinal", + "sourceField": "salesforce.setup_audit_trail.display" + }, + "b1691588-4383-4e6c-891a-f50799eb68ac": { + "dataType": "string", + "isBucketed": true, + "label": "Top 10000 values of event.id", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "e7fbf4fb-e128-45d7-b95b-476844ae7ee2", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "parentFormat": { + "id": "terms" + }, + "secondaryFields": [], + "size": 10000 + }, + "scale": "ordinal", + "sourceField": "event.id" + }, + "d4503031-9bf0-4daf-a418-507a3a1b89ef": { + "customLabel": true, + "dataType": "string", + "filter": { + "language": "kuery", + "query": "salesforce.setup_audit_trail.section: *" + }, + "isBucketed": false, + "label": "Section", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ordinal", + "sourceField": "salesforce.setup_audit_trail.section" + }, + "e7fbf4fb-e128-45d7-b95b-476844ae7ee2": { + "customLabel": true, + "dataType": "date", + "filter": { + "language": "kuery", + "query": "@timestamp: *" + }, + "isBucketed": false, + "label": "Timestamp", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "@timestamp" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "9edd25b8-d256-4640-bb24-4a36e325f936", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.setupaudittrail" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.setupaudittrail" + } + } + } + ], + "internalReferences": [], + "query": { + "language": "kuery", + "query": "salesforce.setup_audit_trail.section : * or event.action : * or salesforce.setup_audit_trail.display : *" + }, + "visualization": { + "columns": [ + { + "columnId": "b1691588-4383-4e6c-891a-f50799eb68ac", + "hidden": true, + "isTransposed": false + }, + { + "alignment": "left", + "columnId": "e7fbf4fb-e128-45d7-b95b-476844ae7ee2", + "isTransposed": false + }, + { + "alignment": "left", + "columnId": "d4503031-9bf0-4daf-a418-507a3a1b89ef", + "isTransposed": false + }, + { + "alignment": "left", + "columnId": "53e49d01-1e96-4aad-bdb3-43e5471fb163", + "isTransposed": false + }, + { + "alignment": "left", + "columnId": "3553424c-661b-48dc-b323-8d33c94375a6", + "isTransposed": false + } + ], + "headerRowHeight": "auto", + "layerId": "9411e1eb-536a-4d98-b1b7-fa41dc157d88", + "layerType": "data", + "paging": { + "enabled": true, + "size": 10 + }, + "rowHeight": "auto" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 18, + "i": "86bc6d31-3998-4a2e-ad1e-e2c373abeca8", + "w": 48, + "x": 0, + "y": 30 + }, + "panelIndex": "86bc6d31-3998-4a2e-ad1e-e2c373abeca8", + "title": "Changes made in the setup [Logs Salesforce]", + "type": "lens", + "version": "8.10.0" + } + ], + "refreshInterval": { + "pause": true, + "value": 0 + }, + "timeFrom": "now-7d/d", + "timeRestore": true, + "timeTo": "now", + "title": "[Filebeat Salesforce] Setup Audit Trail Dashboard", + "version": 1 + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-03-14T10:59:36.255Z", + "id": "salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg", + "managed": false, + "references": [ + { + "id": "filebeat-*", + "name": "86d0aa67-c1da-4027-9368-9d0c7b393ee7:indexpattern-datasource-layer-d9d1a80f-da0d-4de3-b81b-915a1451dfae", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "86d0aa67-c1da-4027-9368-9d0c7b393ee7:8880374b-3372-4782-b014-d3c841f7094f", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "86eca459-ead0-451d-a319-db689af6fecd:indexpattern-datasource-layer-05728583-cb7a-4904-bf30-f70c545f1fa4", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "86eca459-ead0-451d-a319-db689af6fecd:f789c983-2deb-45f7-b5ab-14cb09e37d69", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "0e7e3952-b099-4b91-b6f3-9e0239707f87:indexpattern-datasource-layer-d6fa34de-c164-4cf2-9a9e-55550d4f5c2b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "0e7e3952-b099-4b91-b6f3-9e0239707f87:f879f71a-6230-4814-9ef8-11d15d46ac49", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "86bc6d31-3998-4a2e-ad1e-e2c373abeca8:indexpattern-datasource-layer-9411e1eb-536a-4d98-b1b7-fa41dc157d88", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "86bc6d31-3998-4a2e-ad1e-e2c373abeca8:9edd25b8-d256-4640-bb24-4a36e325f936", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "controlGroup_9812b8eb-9783-4486-96ae-b1623cfbe1a7:optionsListDataView", + "type": "index-pattern" + } + ], + "type": "dashboard", + "typeMigrationVersion": "8.9.0", + "updated_at": "2024-03-14T10:59:36.255Z", + "version": "WzkzODYsMl0=" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml index 5dc276748d9..85344b1cabb 100644 --- a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml @@ -7,16 +7,16 @@ - name: instance_url type: keyword description: The Instance URL of the Salesforce instance. - - name: access_mode - type: keyword - description: > - The mode of collecting logs from Salesforce - "rest" or "stream". - name: apex type: group release: beta description: > Fileset for ingesting Salesforce Apex logs. fields: + - name: document_id + type: keyword + description: > + Unique Id. - name: action type: keyword description: > diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index 660d2866ff8..ea2dedba6d6 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -8,6 +8,10 @@ processors: field: - message ignore_missing: true +- set: + field: salesforce.apex.document_id + copy_from: _id + ignore_empty_value: true - date: field: json.TIMESTAMP_DERIVED diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index 474ad6a40e3..eee4d645cff 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } diff --git a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml index 32e27d3d759..3cb1110e3ca 100644 --- a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml @@ -4,30 +4,40 @@ description: > Fileset for ingesting Salesforce Login (REST) logs. fields: - - name: application - type: keyword - description: > - The application used to access the org. Possible values include: AppExchange, Browser, Salesforce for iOS, Salesforce Developers API Explorer, N/A - - name: api_type - type: keyword - description: > - The type of API request. - - name: api_version + - name: document_id type: keyword description: > - The version of the API that’s being used. - - name: auth_service_id + Unique Id. + - name: application type: keyword description: > - The 18-character ID for an authentication service for a login event. + The application used to access the org. Possible values include: AppExchange, Browser, Salesforce for iOS, Salesforce Developers API Explorer, N/A + - name: api + type: group + fields: + - name: type + type: keyword + description: > + The type of Salesforce API request. + - name: version + type: keyword + description: > + The version of the Salesforce API that's being used. + - name: auth + type: group + fields: + - name: service_id + type: keyword + description: > + The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. + - name: method_reference + type: keyword + description: > + The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. - name: login_key type: keyword description: > The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. - - name: authentication_method_reference - type: keyword - description: > - The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. - name: client_version type: keyword description: > @@ -40,7 +50,7 @@ type: keyword description: > The CPU time in milliseconds used to complete the request. This field indicates the amount of activity taking place in the app server layer. - - name: db_total_time + - name: db_total.time type: keyword description: > The time in nanoseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and DB_CPU_TIME. Compare this field to CPU_TIME to determine whether performance issues are occurring in the database layer or in your own code. diff --git a/x-pack/filebeat/module/salesforce/login/ingest/default.yml b/x-pack/filebeat/module/salesforce/login/ingest/default.yml new file mode 100644 index 00000000000..0f2034d6d04 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/login/ingest/default.yml @@ -0,0 +1,119 @@ +--- +description: Pipeline for parsing Salesforce Login logs. +processors: +- json: + field: message + target_field: json + ignore_failure: true +- set: + field: event.original + value: '{{{message}}}' + ignore_empty_value: true + if: 'ctx.event?.original == null' +- set: + field: event.ingested + value: '{{_ingest.timestamp}}' +- fingerprint: + fields: + - json.REQUEST_ID + - json.SESSION_KEY + - json.TIMESTAMP_DERIVED + - json.USER_ID + target_field: _id + ignore_missing: true +- set: + field: ecs.version + value: "8.5.0" + ignore_failure: true + ignore_empty_value: true +- set: + field: salesforce.login.document_id + copy_from: _id + ignore_empty_value: true + +- pipeline: + if: ctx.event.provider == "Object" + name: '{< IngestPipeline "object" >}' +- pipeline: + if: ctx.event.provider == "EventLogFile" + name: '{< IngestPipeline "eventlogfile" >}' + +- set: + field: event.type + value: ["info"] + ignore_failure: true + ignore_empty_value: true +- set: + field: event.kind + value: event + ignore_failure: true + ignore_empty_value: true +- set: + field: event.action + value: login-attempt + ignore_failure: true + ignore_empty_value: true +- set: + field: event.category + value: [authentication] + ignore_failure: true + ignore_empty_value: true +- set: + field: event.dataset + value: salesforce.login + ignore_failure: true + ignore_empty_value: true +- set: + field: event.module + value: "salesforce" + ignore_failure: true + ignore_empty_value: true +- append: + field: related.ip + value: '{{{source.ip}}}' + if: ctx?.source?.ip != null + allow_duplicates: false + ignore_failure: true +- append: + field: related.ip + value: '{{{salesforce.login.client_ip}}}' + if: 'ctx.salesforce?.login?.client_ip != "Salesforce.com IP" && ctx.salesforce?.login?.client_ip != null' + allow_duplicates: false + ignore_failure: true + +- remove: + field: event.original + if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" + ignore_failure: true + ignore_missing: true +- script: + description: Drops null/empty values recursively. + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return (((Map) object).size() == 0); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return (((List) object).length == 0); + } + return false; + } + dropEmptyFields(ctx); +- remove: + field: + - json + - message + ignore_failure: true + ignore_missing: true + +on_failure: +- set: + field: event.kind + value: pipeline_error +- append: + field: error.message + value: '{{{ _ingest.on_failure_message }}}' diff --git a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml new file mode 100644 index 00000000000..a84d768cbb2 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml @@ -0,0 +1,202 @@ +--- +description: Pipeline for parsing Salesforce Login (EventLogFile) logs. +processors: +- date: + field: json.TIMESTAMP_DERIVED + target_field: "@timestamp" + formats: + - ISO8601 + ignore_failure: true +- rename: + field: json.API_TYPE + target_field: salesforce.login.api.type + ignore_failure: true + ignore_missing: true +- script: + description: Set api type value from api type character. + lang: painless + ignore_failure: true + source: | + Map map = new HashMap(); + map.put("D", "Apex Class"); + map.put("E", "SOAP Enterprise"); + map.put("I", "SOAP Cross Instance"); + map.put("M", "SOAP Metadata"); + map.put("O", "Old SOAP"); + map.put("P", "SOAP Partner"); + map.put("S", "SOAP Apex"); + map.put("T", "SOAP Tooling"); + map.put("X", "XmlRPC"); + map.put("f", "Feed"); + map.put("l", "Live Agent"); + map.put("p", "SOAP ClientSync"); + String temp = map.get(ctx.salesforce?.login?.api?.type); + if (temp != null) { + ctx.salesforce.login.api.type = temp; + } +- rename: + field: json.AUTHENTICATION_METHOD_REFERENCE + target_field: salesforce.login.auth.service_id + ignore_failure: true + ignore_missing: true +- rename: + field: json.REQUEST_STATUS + target_field: salesforce.login.request_status + ignore_failure: true + ignore_missing: true +- script: + description: Set request status value from request status character. + lang: painless + ignore_failure: true + source: | + Map map = new HashMap(); + map.put("S", "Success"); + map.put("F", "Failure"); + map.put("U", "Undefined"); + map.put("A", "Authorization Error"); + map.put("R", "Redirect"); + map.put("N", "Not Found"); + String temp = map.get(ctx.salesforce?.login?.request_status); + if (temp != null) { + ctx.salesforce.login.request_status = temp; + } +- rename: + field: json.API_VERSION + target_field: salesforce.login.api.version + ignore_failure: true + ignore_missing: true +- rename: + field: json.USER_ID + target_field: salesforce.login.user_id + ignore_failure: true + ignore_missing: true +- rename: + field: json.LOGIN_KEY + target_field: salesforce.login.key + ignore_failure: true + ignore_missing: true +- rename: + field: json.EVENT_TYPE + target_field: salesforce.login.event_type + ignore_failure: true + ignore_missing: true +- rename: + field: json.REQUEST_ID + target_field: salesforce.login.request_id + ignore_failure: true + ignore_missing: true +- rename: + field: json.ORGANIZATION_ID + target_field: salesforce.login.organization_id + ignore_failure: true + ignore_missing: true +- convert: + field: json.RUN_TIME + type: float + target_field: salesforce.login.run_time + ignore_failure: true + ignore_missing: true +- convert: + field: json.CPU_TIME + type: float + target_field: salesforce.login.cpu_time + ignore_failure: true + ignore_missing: true +- convert: + field: json.DB_TOTAL_TIME + type: float + target_field: salesforce.login.db_time.total + ignore_failure: true + ignore_missing: true +- script: + description: Convert db_time.total field from nanos (nanoseconds) to ms (milliseconds). + lang: painless + ignore_failure: true + source: | + def convert(def nanos){ + def ms = (nanos/1000000); + return ms; + } + if(ctx.salesforce?.login?.db_time?.total != null || ctx.salesforce?.login?.db_time?.total != ""){ + ctx.salesforce.login.db_time.total = convert(ctx.salesforce.login.db_time.total); + } +- rename: + field: json.CLIENT_IP + target_field: salesforce.login.client_ip + ignore_failure: true + ignore_missing: true +- rename: + field: json.URI_ID_DERIVED + target_field: salesforce.login.uri_derived_id + ignore_failure: true + ignore_missing: true +- rename: + field: json.URI + target_field: event.url + ignore_failure: true + ignore_missing: true +- set: + field: event.outcome + value: "success" + if: 'ctx.json?.LOGIN_STATUS == "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != null' + ignore_failure: true + ignore_empty_value: true +- set: + field: event.outcome + value: "failure" + if: 'ctx.json?.LOGIN_STATUS != "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != null' + ignore_failure: true + ignore_empty_value: true +- rename: + field: json.USER_NAME + target_field: user.email + ignore_missing: true + ignore_failure: true +- rename: + field: json.USER_ID_DERIVED + target_field: user.id + ignore_missing: true + ignore_failure: true +- set: + value: ["{{{json.USER_TYPE}}}"] + field: user.roles + ignore_failure: true + ignore_empty_value: true +- remove: + field: json.USER_TYPE + ignore_failure: true + ignore_missing: true +- rename: + field: json.SOURCE_IP + target_field: source.ip + ignore_missing: true + ignore_failure: true + if: 'ctx.json?.SOURCE_IP != "Salesforce.com IP"' +- geoip: + field: source.ip + target_field: source.geo + ignore_missing: true + ignore_failure: true +- rename: + field: json.BROWSER_TYPE + target_field: user_agent.name + ignore_missing: true + ignore_failure: true +- rename: + field: json.CIPHER_SUITE + target_field: tls.cipher + ignore_missing: true + ignore_failure: true +- dissect: + pattern: "%{tls.version_protocol}v%{tls.version}" + field: json.TLS_PROTOCOL + ignore_failure: true + ignore_missing: true + +on_failure: +- set: + field: event.kind + value: pipeline_error +- append: + field: error.message + value: '{{{ _ingest.on_failure_message }}}' diff --git a/x-pack/filebeat/module/salesforce/login/ingest/object.yml b/x-pack/filebeat/module/salesforce/login/ingest/object.yml new file mode 100644 index 00000000000..fefd86cd5fa --- /dev/null +++ b/x-pack/filebeat/module/salesforce/login/ingest/object.yml @@ -0,0 +1,226 @@ +--- +description: Pipeline for parsing Salesforce Login (Object) logs. +processors: +- date: + field: json.EventDate + target_field: "@timestamp" + formats: + - ISO8601 + ignore_failure: true +- rename: + field: json.AuthServiceId + target_field: salesforce.login.auth.service_id + ignore_failure: true + ignore_missing: true +- convert: + field: json.EvaluationTime + type: float + target_field: salesforce.login.evaluation_time + ignore_failure: true + ignore_missing: true +- rename: + field: json.ClientVersion + target_field: salesforce.login.client_version + ignore_failure: true + ignore_missing: true +- rename: + field: cometd.channel_name + target_field: salesforce.login.channel_name + ignore_failure: true + ignore_missing: true +- rename: + field: json.LoginGeoId + target_field: salesforce.login.geo_id + ignore_failure: true + ignore_missing: true +- rename: + field: json.LoginHistoryId + target_field: salesforce.login.history_id + ignore_failure: true + ignore_missing: true +- rename: + field: json.ApiType + target_field: salesforce.login.api.type + ignore_failure: true + ignore_missing: true +- rename: + field: json.AuthMethodReference + target_field: salesforce.login.auth.method_reference + ignore_failure: true + ignore_missing: true +- rename: + field: json.LoginType + target_field: salesforce.login.type + ignore_failure: true + ignore_missing: true +- rename: + field: json.PolicyOutcome + target_field: salesforce.login.policy_outcome + ignore_failure: true + ignore_missing: true +- rename: + field: json.ApiVersion + target_field: salesforce.login.api.version + ignore_failure: true + ignore_missing: true +- rename: + field: json.EventIdentifier + target_field: event.id + ignore_failure: true + ignore_missing: true +- rename: + field: json.RelatedEventIdentifier + target_field: salesforce.login.related_event_identifier + ignore_failure: true + ignore_missing: true +- rename: + field: json.LoginKey + target_field: salesforce.login.key + ignore_failure: true + ignore_missing: true +- rename: + field: json.Application + target_field: salesforce.login.application + ignore_failure: true + ignore_missing: true +- rename: + field: json.PolicyId + target_field: salesforce.login.policy_id + ignore_failure: true + ignore_missing: true +- rename: + field: json.SessionLevel + target_field: salesforce.login.session.level + ignore_failure: true + ignore_missing: true +- rename: + field: json.SessionKey + target_field: salesforce.login.session.key + ignore_failure: true + ignore_missing: true +- set: + field: event.outcome + value: success + if: 'ctx?.json?.Status == "Success" && ctx?.json?.Status != null' + ignore_failure: true + ignore_empty_value: true +- set: + field: event.outcome + value: failure + if: 'ctx?.json?.Status != "Success" && ctx?.json?.Status != null' + ignore_failure: true + ignore_empty_value: true +- date: + field: json.CreatedDate + target_field: event.created + formats: + - ISO8601 + ignore_failure: true +- rename: + field: json.LoginUrl + target_field: event.url + ignore_failure: true + ignore_missing: true +- rename: + field: json.Username + target_field: user.email + ignore_failure: true + ignore_missing: true +- rename: + field: json.UserId + target_field: user.id + ignore_failure: true + ignore_missing: true +- set: + value: ["{{{json.UserType}}}"] + field: user.roles + ignore_failure: true + ignore_empty_value: true +- remove: + field: json.UserType + ignore_failure: true + ignore_missing: true +- convert: + field: json.SourceIp + type: ip + target_field: source.ip + ignore_missing: true + ignore_failure: true +- rename: + field: json.LoginLatitude + target_field: source.geo.location.lat + ignore_failure: true + ignore_missing: true +- rename: + field: json.LoginLongitude + target_field: source.geo.location.lon + ignore_failure: true + ignore_missing: true +- geoip: + field: source.ip + target_field: source.geo + ignore_missing: true + if: '!ctx.source?.geo?.location?.containsKey("lat") && !ctx.source?.geo?.location?.containsKey("lon")' +- rename: + field: json.CountryIso + target_field: source.geo.country_iso_code + ignore_failure: true + ignore_missing: true +- rename: + field: json.PostalCode + target_field: source.geo.postal_code + ignore_failure: true + ignore_missing: true +- rename: + field: json.City + target_field: source.geo.city_name + ignore_failure: true + ignore_missing: true +- rename: + field: json.Subdivision + target_field: source.geo.region_name + ignore_failure: true + ignore_missing: true +- rename: + field: json.Country + target_field: source.geo.country_name + ignore_failure: true + ignore_missing: true +- rename: + field: json.Browser + target_field: user_agent.name + ignore_failure: true + ignore_missing: true +- rename: + field: json.Platform + target_field: user_agent.os.platform + ignore_failure: true + ignore_missing: true +- rename: + field: json.HttpMethod + target_field: http.request.method + ignore_failure: true + ignore_missing: true +- rename: + field: json.AdditionalInfo + target_field: http.request.body.content + ignore_failure: true + ignore_missing: true +- rename: + field: json.CipherSuite + target_field: tls.cipher + ignore_failure: true + ignore_missing: true +- dissect: + pattern: "%{tls.version_protocol} %{tls.version}" + field: json.TlsProtocol + ignore_failure: true + ignore_missing: true + +on_failure: +- set: + field: event.kind + value: pipeline_error +- append: + field: error.message + value: '{{{ _ingest.on_failure_message }}}' diff --git a/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml deleted file mode 100644 index 53db7034cbe..00000000000 --- a/x-pack/filebeat/module/salesforce/login/ingest/pipeline.yml +++ /dev/null @@ -1,418 +0,0 @@ ---- -description: Pipeline for parsing Salesforce Login logs -processors: -- set: - field: event.ingested - value: '{{_ingest.timestamp}}' -- remove: - field: - - message - ignore_missing: true - -########################## -## Common Field Mapping ## -########################## - -- date: - field: json.TIMESTAMP_DERIVED - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true -- date: - field: json.EventDate - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true - -- rename: - field: json.API_TYPE - target_field: salesforce.login.api_type - ignore_missing: true -- rename: - field: json.ApiType - target_field: salesforce.login.api_type - ignore_missing: true - -- rename: - field: json.AUTHENTICATION_METHOD_REFERENCE - target_field: salesforce.login.authentication_method_reference - ignore_missing: true -- rename: - field: json.AuthMethodReference - target_field: salesforce.login.authentication_method_reference - ignore_missing: true - -- rename: - field: json.API_VERSION - target_field: salesforce.login.api_version - ignore_missing: true -- rename: - field: json.ApiVersion - target_field: salesforce.login.api_version - ignore_missing: true - -- rename: - field: json.LOGIN_KEY - target_field: salesforce.login.login_key - ignore_missing: true -- rename: - field: json.LoginKey - target_field: salesforce.login.login_key - ignore_missing: true - -################################ -## Extra EventLogFile Mapping ## -################################ - -- rename: - field: json.REQUEST_STATUS - target_field: salesforce.login.request_status - ignore_missing: true -- rename: - field: json.USER_ID_DERIVED - target_field: salesforce.login.user_id_derived - ignore_missing: true -- rename: - field: json.EVENT_TYPE - target_field: salesforce.login.event_type - ignore_missing: true -- rename: - field: json.REQUEST_ID - target_field: salesforce.login.request_id - ignore_missing: true -- rename: - field: json.ORGANIZATION_ID - target_field: salesforce.login.organization_id - ignore_missing: true -- rename: - field: json.RUN_TIME - target_field: salesforce.login.run_time - ignore_missing: true -- rename: - field: json.CPU_TIME - target_field: salesforce.login.cpu_time - ignore_missing: true -- rename: - field: json.DB_TOTAL_TIME - target_field: salesforce.login.db_total_time - ignore_missing: true -- rename: - field: json.CLIENT_IP - target_field: salesforce.login.client_ip - ignore_missing: true -- rename: - field: json.URI_ID_DERIVED - target_field: salesforce.login.uri_id_derived - ignore_missing: true - -########################## -## Extra Object Mapping ## -########################## - -- rename: - field: json.schema - target_field: salesforce.login.schema - ignore_missing: true -- rename: - field: json.LoginType - target_field: salesforce.login.login_type - ignore_missing: true -- rename: - field: json.PolicyOutcome - target_field: salesforce.login.policy_outcome - ignore_missing: true -- rename: - field: json.AuthServiceId - target_field: salesforce.login.auth_service_id - ignore_missing: true -- rename: - field: json.EvaluationTime - target_field: salesforce.login.evaluation_time - ignore_missing: true -- rename: - field: json.ClientVersion - target_field: salesforce.login.client_version - ignore_missing: true -- rename: - field: json.LoginGeoId - target_field: salesforce.login.login_geo_id - ignore_missing: true -- rename: - field: json.LoginHistoryId - target_field: salesforce.login.login_history_id - ignore_missing: true -- rename: - field: json.CreatedById - target_field: salesforce.login.created_by_id - ignore_missing: true -- rename: - field: json.RelatedEventIdentifier - target_field: salesforce.login.related_event_identifier - ignore_missing: true -- rename: - field: json.Application - target_field: salesforce.login.application - ignore_missing: true -- rename: - field: json.PolicyId - target_field: salesforce.login.policy_id - ignore_missing: true -- rename: - field: json.SessionLevel - target_field: salesforce.login.session_level - ignore_missing: true -- rename: - field: json.replayId - target_field: salesforce.login.replay_id - ignore_missing: true - -####################### -## ECS Event Mapping ## -####################### - -- rename: - field: json.URI - target_field: event.url - ignore_missing: true -- rename: - field: json.LoginUrl - target_field: event.url - ignore_missing: true - -- set: - field: event.outcome - value: success - if: 'ctx?.json?.LOGIN_STATUS == "LOGIN_NO_ERROR" && ctx?.json?.LOGIN_STATUS != null' - ignore_failure: true -- set: - field: event.outcome - value: success - if: 'ctx?.json?.Status == "Success" && ctx?.json?.Status != null' - ignore_failure: true - -- set: - field: event.outcome - value: failure - if: 'ctx?.json?.Status != "Success" && ctx?.json?.LOGIN_STATUS != "LOGIN_NO_ERROR" && ctx?.json?.LOGIN_STATUS != null' - ignore_failure: true -- set: - field: event.type - value: "info" -- set: - field: event.kind - value: "event" -- set: - field: event.action - value: "login-attempt" -- set: - field: event.category - value: "authentication" -- set: - field: event.dataset - value: "salesforce.login" -- set: - field: event.module - value: "salesforce" - -- date: - field: json.CreatedDate - target_field: event.created - formats: - - ISO8601 - ignore_failure: true - -###################### -## ECS User Mapping ## -###################### - -# As per the following article, the username must be in the format of an email address. -# Reference: https://help.salesforce.com/s/articleView?language=en_US&type=5&id=sf.basics_intro_usernames_passwords.htm -- rename: - field: json.USER_NAME - target_field: user.email - ignore_missing: true -- rename: - field: json.Username - target_field: user.email - ignore_missing: true - -- rename: - field: json.USER_ID - target_field: user.id - ignore_missing: true -- rename: - field: json.UserId - target_field: user.id - ignore_missing: true - -- rename: - field: json.USER_TYPE - target_field: user.roles - ignore_missing: true -- rename: - field: json.UserType - target_field: user.roles - ignore_missing: true - -######################## -## ECS Source Mapping ## -######################## - -- rename: - field: json.SOURCE_IP - target_field: source.ip - ignore_missing: true - if: 'ctx?.json?.SOURCE_IP != "Salesforce.com IP"' -- rename: - field: json.SourceIp - target_field: source.ip - ignore_missing: true - -############################ -## ECS Source.Geo Mapping ## -############################ - -- rename: - field: json.LoginLatitude - target_field: source.geo.location.lat - ignore_missing: true - if: 'ctx?.event?.provider == "Object"' -- rename: - field: json.LoginLongitude - target_field: source.geo.location.lon - ignore_missing: true - if: 'ctx?.event?.provider == "Object"' -- rename: - field: json.CountryIso - target_field: source.geo.country_iso_code - ignore_missing: true - if: 'ctx?.event?.provider == "Object"' -- rename: - field: json.PostalCode - target_field: source.geo.postal_code - ignore_missing: true - if: 'ctx?.event?.provider == "Object"' -- rename: - field: json.City - target_field: source.geo.city_name - ignore_missing: true - if: 'ctx?.event?.provider == "Object"' -- rename: - field: json.Subdivision - target_field: source.geo.region_name - ignore_missing: true - if: 'ctx?.event?.provider == "Object"' -- rename: - field: json.Country - target_field: source.geo.country_name - ignore_missing: true - if: 'ctx?.event?.provider == "Object"' - -- geoip: - field: source.ip - target_field: source.geo - ignore_missing: true - if: 'ctx?.event?.provider == "EventLogFile"' - -############################ -## ECS Related.ip Mapping ## -############################ - -- append: - field: related.ip - value: "{{{source.ip}}}" - if: ctx?.source?.ip != null - allow_duplicates: false - ignore_failure: true - -- append: - field: related.ip - value: "{{{salesforce.login.client_ip}}}" - if: 'ctx?.salesforce?.login?.client_ip != "Salesforce.com IP" && ctx?.salesforce?.login?.client_ip != null' - allow_duplicates: false - ignore_failure: true - -############################ -## ECS User Agent Mapping ## -############################ - -- rename: - field: json.BROWSER_TYPE - target_field: user_agent.name - ignore_missing: true - -- rename: - field: json.Browser - target_field: user_agent.name - ignore_missing: true -- rename: - field: json.Platform - target_field: user_agent.os.platform - ignore_missing: true - -###################### -## ECS HTTP Mapping ## -###################### - -- rename: - field: json.HttpMethod - target_field: http.request.method - ignore_missing: true -- rename: - field: json.AdditionalInfo - target_field: http.request.body.content - ignore_missing: true - -##################### -## ECS TLS Mapping ## -##################### - -- rename: - field: json.CIPHER_SUITE - target_field: tls.cipher - ignore_missing: true -- rename: - field: json.CipherSuite - target_field: tls.cipher - ignore_missing: true - -- dissect: - pattern: "%{tls.version_protocol}v%{tls.version}" - field: "json.TLS_PROTOCOL" - ignore_failure: true -- dissect: - pattern: "%{tls.version_protocol} %{tls.version}" - field: "json.TlsProtocol" - ignore_failure: true - -############# -## Cleanup ## -############# - -- script: - description: Drops null/empty values recursively - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return (((Map) object).size() == 0); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return (((List) object).length == 0); - } - return false; - } - dropEmptyFields(ctx); -- remove: - field: - - json - ignore_missing: true -on_failure: -- set: - field: error.message - value: '{{_ingest.on_failure_message}}' diff --git a/x-pack/filebeat/module/salesforce/login/manifest.yml b/x-pack/filebeat/module/salesforce/login/manifest.yml index d68ab3ed64b..444f6032092 100644 --- a/x-pack/filebeat/module/salesforce/login/manifest.yml +++ b/x-pack/filebeat/module/salesforce/login/manifest.yml @@ -19,5 +19,7 @@ var: default: Hourly ingest_pipeline: - - ingest/pipeline.yml + - ingest/default.yml + - ingest/eventlogfile.yml + - ingest/object.yml input: config/login.yml diff --git a/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml b/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml index c0d1840fe76..5b8e7696048 100644 --- a/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml @@ -4,22 +4,36 @@ description: > Fileset for parsing Salesforce Logout (REST) logs. fields: - - name: session_level - type: keyword - description: > - Indicates the session-level security of the session that the user is logging out of for this event. Session-level security controls user access to features that support it, such as connected apps and reporting. Possible values are: HIGH_ASSURANCE, LOW, STANDARD + - name: document_id + type: keyword + description: > + Unique Id. + - name: session + type: group + fields: + - name: level + type: keyword + description: > + The security level of the session that was used when logging out (e.g. Standard Session or High-Assurance Session). + - name: type + type: keyword + description: > + The session type that was used when logging out (e.g. API, Oauth2 or UI). - name: login_key type: keyword description: > The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. - - name: api_type - type: keyword - description: > - The type of API request. - - name: api_version - type: keyword - description: > - The version of the API that’s being used. + - name: api + type: group + fields: + - name: type + type: keyword + description: > + The type of Salesforce API request. + - name: version + type: keyword + description: > + The version of the Salesforce API that's being used. - name: app_type type: keyword description: > @@ -48,10 +62,6 @@ type: keyword description: > The screen resolution of the client. If a timeout caused the logout, this field is null. - - name: session_type - type: keyword - description: > - The session type that was used when logging out. - name: user_id_derived type: keyword description: > diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml new file mode 100644 index 00000000000..212ad3b2452 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml @@ -0,0 +1,117 @@ +--- +description: Pipeline for parsing Salesforce Logout logs. +processors: +- json: + field: message + target_field: json + ignore_failure: true +- set: + field: event.original + value: '{{{message}}}' + ignore_empty_value: true + if: 'ctx.event?.original == null' +- set: + field: event.ingested + value: '{{_ingest.timestamp}}' +- fingerprint: + fields: + - json.REQUEST_ID + - json.SESSION_KEY + - json.TIMESTAMP_DERIVED + - json.USER_ID + target_field: _id + ignore_missing: true +- set: + field: ecs.version + value: "8.5.0" + ignore_failure: true + ignore_empty_value: true +- set: + field: salesforce.login.document_id + copy_from: _id + ignore_empty_value: true + +- pipeline: + if: ctx.event.provider == "Object" + name: '{< IngestPipeline "object" >}' +- pipeline: + if: ctx.event.provider == "EventLogFile" + name: '{< IngestPipeline "eventlogfile" >}' + +- set: + field: event.type + value: ["info"] + ignore_failure: true + ignore_empty_value: true +- set: + field: event.kind + value: "event" + ignore_failure: true + ignore_empty_value: true +- set: + field: event.action + value: "logout" + ignore_failure: true + ignore_empty_value: true +- set: + field: event.category + value: ["authentication"] + ignore_failure: true + ignore_empty_value: true +- set: + field: event.dataset + value: "salesforce.logout" + ignore_failure: true + ignore_empty_value: true +- set: + field: event.module + value: "salesforce" + ignore_failure: true + ignore_empty_value: true +- geoip: + field: source.ip + target_field: source.geo + ignore_missing: true +- append: + field: related.ip + value: '{{{source.ip}}}' + if: ctx?.source?.ip != null + allow_duplicates: false + ignore_failure: true + +- remove: + field: event.original + if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" + ignore_failure: true + ignore_missing: true +- script: + description: Drops null/empty values recursively. + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return (((Map) object).size() == 0); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return (((List) object).length == 0); + } + return false; + } + dropEmptyFields(ctx); +- remove: + field: + - json + - message + ignore_failure: true + ignore_missing: true + +on_failure: +- set: + field: event.kind + value: pipeline_error +- append: + field: error.message + value: '{{{ _ingest.on_failure_message }}}' diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml new file mode 100644 index 00000000000..8abd4f3bc6d --- /dev/null +++ b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml @@ -0,0 +1,235 @@ +--- +description: Pipeline for parsing Salesforce Logout (EventLogFile) logs. +processors: +- date: + field: json.TIMESTAMP_DERIVED + target_field: "@timestamp" + formats: + - ISO8601 + ignore_failure: true +- rename: + field: json.SESSION_TYPE + target_field: salesforce.logout.session.type + ignore_failure: true + ignore_missing: true +- script: + description: Set session type value from session type character. + lang: painless + ignore_failure: true + source: | + Map map = new HashMap(); + map.put("A", "API"); + map.put("I", "APIOnlyUser"); + map.put("N", "ChatterNetworks"); + map.put("Z", "ChatterNetworksAPIOnly"); + map.put("C", "Content"); + map.put("P", "OauthApprovalUI"); + map.put("O", "Oauth2"); + map.put("T", "SiteStudio"); + map.put("R", "SitePreview"); + map.put("S", "SubstituteUser"); + map.put("B", "TempContentExchange"); + map.put("G", "TempOauthAccessTokenFrontdoor"); + map.put("Y", "TempVisualforceExchange"); + map.put("F", "TempUIFrontdoor"); + map.put("U", "UI"); + map.put("E", "UserSite"); + map.put("V", "Visualforce"); + map.put("W", "WDC_API"); + String temp = map.get(ctx.salesforce?.logout?.session?.type); + if (temp != null) { + ctx.salesforce.logout.session.type = temp; + } +- rename: + field: json.EVENT_TYPE + target_field: salesforce.logout.event_type + ignore_failure: true + ignore_missing: true +- rename: + field: json.SESSION_LEVEL + target_field: salesforce.logout.session.level + ignore_failure: true + ignore_missing: true +- script: + description: Set session level value from session level integer. + lang: painless + ignore_failure: true + source: | + Map map = new HashMap(); + map.put("1", "Standard Session"); + map.put("2", "High-Assurance Session"); + String temp = map.get(ctx.salesforce?.logout?.session?.level); + if (temp != null){ + ctx.salesforce.logout.session.level = temp; + } +- rename: + field: json.BROWSER_TYPE + target_field: salesforce.logout.browser_type + ignore_failure: true + ignore_missing: true +- rename: + field: json.PLATFORM_TYPE + target_field: salesforce.logout.platform_type + ignore_failure: true + ignore_missing: true +- script: + description: Set platform type value from platform type integers. + lang: painless + ignore_failure: true + source: | + Map map = new HashMap(); + map.put("1000", "Windows"); + map.put("1008", "Windows 2003"); + map.put("1013", "Windows 8.1"); + map.put("1015", "Windows 10"); + map.put("2003", "Macintosh/Apple OSX"); + map.put("4000", "Linux"); + map.put("5005", "Android"); + map.put("5006", "iPhone"); + map.put("5007", "iPad"); + map.put("5200", "Android 10.0"); + String temp = map.get(ctx.salesforce?.logout?.platform_type); + if (temp != null) { + ctx.salesforce.logout.platform_type = temp; + } +- rename: + field: json.RESOLUTION_TYPE + target_field: salesforce.logout.resolution_type + ignore_failure: true + ignore_missing: true +- rename: + field: json.APP_TYPE + target_field: salesforce.logout.app_type + ignore_failure: true + ignore_missing: true +- script: + description: Set application type value from application type integers. + lang: painless + ignore_failure: true + source: | + Map map = new HashMap(); + map.put("1000", "Application"); + map.put("1007", "SFDC Application"); + map.put("1014", "Chat"); + map.put("2501", "CTI"); + map.put("2514", "OAuth"); + map.put("3475", "SFDC Partner Portal"); + String temp = map.get(ctx.salesforce?.logout?.app_type); + if (temp != null) { + ctx.salesforce.logout.app_type = temp; + } +- rename: + field: json.CLIENT_VERSION + target_field: salesforce.logout.client_version + ignore_failure: true + ignore_missing: true +- rename: + field: json.API_TYPE + target_field: salesforce.logout.api.type + ignore_failure: true + ignore_missing: true +- script: + description: Set api type value from api type character. + lang: painless + ignore_failure: true + source: | + Map map = new HashMap(); + map.put("D", "Apex Class"); + map.put("E", "SOAP Enterprise"); + map.put("I", "SOAP Cross Instance"); + map.put("M", "SOAP Metadata"); + map.put("O", "Old SOAP"); + map.put("P", "SOAP Partner"); + map.put("S", "SOAP Apex"); + map.put("T", "SOAP Tooling"); + map.put("X", "XmlRPC"); + map.put("f", "Feed"); + map.put("l", "Live Agent"); + map.put("p", "SOAP ClientSync"); + String temp = map.get(ctx.salesforce?.logout?.api?.type); + if (temp != null) { + ctx.salesforce.logout.api.type = temp; + } +- rename: + field: json.API_VERSION + target_field: salesforce.logout.api.version + ignore_failure: true + ignore_missing: true +- rename: + field: json.USER_INITIATED_LOGOUT + target_field: salesforce.logout.user_initiated_logout + ignore_failure: true + ignore_missing: true +- rename: + field: json.LOGIN_KEY + target_field: salesforce.logout.login_key + ignore_failure: true + ignore_missing: true +- rename: + field: json.USER_ID + target_field: salesforce.logout.user_id + ignore_failure: true + ignore_missing: true +- rename: + field: json.ORGANIZATION_ID + target_field: salesforce.logout.organization_id + ignore_failure: true + ignore_missing: true +- rename: + field: json.REQUEST_ID + target_field: event.code + ignore_failure: true + ignore_missing: true +- rename: + field: json.USER_TYPE + target_field: user.roles + ignore_failure: true + ignore_missing: true +- script: + description: Set user roles value from user roles character. + lang: painless + ignore_failure: true + source: | + Map map = new HashMap(); + map.put("A", "Automated Process"); + map.put("b", "High Volume Portal"); + map.put("C", "Customer Portal User"); + map.put("D", "External Who"); + map.put("F", "Self-Service"); + map.put("G", "Guest"); + map.put("L", "Package License Manager"); + map.put("N", "Salesforce to Salesforce"); + map.put("n", "CSN Only"); + map.put("O", "Power Custom"); + map.put("o", "Custom"); + map.put("P", "Partner"); + map.put("p", "Customer Portal Manager"); + map.put("S", "Standard"); + map.put("X", "Salesforce Administrator"); + String temp = map.get(ctx.user?.roles); + if (temp != null) { + ctx.user.roles = [temp]; + } +- rename: + field: json.USER_ID_DERIVED + target_field: user.id + ignore_failure: true + ignore_missing: true +- rename: + field: json.CLIENT_IP + target_field: source.ip + ignore_failure: true + ignore_missing: true + if: 'ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != ""' +- geoip: + field: source.ip + target_field: source.geo + ignore_missing: true + +on_failure: +- set: + field: event.kind + value: pipeline_error +- append: + field: error.message + value: '{{{ _ingest.on_failure_message }}}' diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml new file mode 100644 index 00000000000..6f8db59a2b3 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml @@ -0,0 +1,59 @@ +--- +description: Pipeline for parsing Salesforce Logout (Object) logs. +processors: +- date: + field: json.EventDate + target_field: "@timestamp" + formats: + - ISO8601 + ignore_failure: true +- rename: + field: json.RelatedEventIdentifier + target_field: salesforce.logout.related_event_identifier + ignore_missing: true + ignore_failure: true +- rename: + field: json.LoginKey + target_field: salesforce.logout.login_key + ignore_missing: true + ignore_failure: true +- rename: + field: json.SessionLevel + target_field: salesforce.logout.session.level + ignore_missing: true + ignore_failure: true +- rename: + field: json.SessionKey + target_field: salesforce.logout.session.key + ignore_missing: true + ignore_failure: true +- date: + field: json.CreatedDate + target_field: event.created + formats: + - ISO8601 + ignore_failure: true +- rename: + field: json.Username + target_field: user.email + ignore_failure: true + ignore_missing: true +- rename: + field: json.UserId + target_field: user.id + ignore_failure: true + ignore_missing: true +- convert: + field: json.SourceIp + type: ip + target_field: source.ip + ignore_missing: true + ignore_failure: true + +on_failure: +- set: + field: event.kind + value: pipeline_error +- append: + field: error.message + value: '{{{ _ingest.on_failure_message }}}' diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml deleted file mode 100644 index 1eb351b79cc..00000000000 --- a/x-pack/filebeat/module/salesforce/logout/ingest/pipeline.yml +++ /dev/null @@ -1,240 +0,0 @@ ---- -description: Pipeline for parsing Salesforce Logout (REST) logs -processors: -- set: - field: event.ingested - value: '{{_ingest.timestamp}}' -- remove: - field: - - message - ignore_missing: true - -########################## -## Common Field Mapping ## -########################## - -- date: - field: json.TIMESTAMP_DERIVED - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true -- date: - field: json.EventDate - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true - -- rename: - field: json.SESSION_LEVEL - target_field: salesforce.logout.session_level - ignore_missing: true -- rename: - field: json.SessionLevel - target_field: salesforce.logout.session_level - ignore_missing: true - -- rename: - field: json.LOGIN_KEY - target_field: salesforce.logout.login_key - ignore_missing: true -- rename: - field: json.LoginKey - target_field: salesforce.logout.login_key - ignore_missing: true - -################################ -## Extra EventLogFile Mapping ## -################################ - -- rename: - field: json.SESSION_TYPE - target_field: salesforce.logout.session_type - ignore_missing: true -- rename: - field: json.EVENT_TYPE - target_field: salesforce.logout.event_type - ignore_missing: true -- rename: - field: json.BROWSER_TYPE - target_field: salesforce.logout.browser_type - ignore_missing: true -- rename: - field: json.PLATFORM_TYPE - target_field: salesforce.logout.platform_type - ignore_missing: true -- rename: - field: json.RESOLUTION_TYPE - target_field: salesforce.logout.resolution_type - ignore_missing: true -- rename: - field: json.APP_TYPE - target_field: salesforce.logout.app_type - ignore_missing: true -- rename: - field: json.CLIENT_VERSION - target_field: salesforce.logout.client_version - ignore_missing: true -- rename: - field: json.API_TYPE - target_field: salesforce.logout.api_type - ignore_missing: true -- rename: - field: json.API_VERSION - target_field: salesforce.logout.api_version - ignore_missing: true -- rename: - field: json.USER_INITIATED_LOGOUT - target_field: salesforce.logout.user_initiated_logout - ignore_missing: true -- rename: - field: json.USER_ID_DERIVED - target_field: salesforce.logout.user_id_derived - ignore_missing: true -- rename: - field: json.ORGANIZATION_ID - target_field: salesforce.logout.organization_by_id - ignore_missing: true - -########################## -## Extra Object Mapping ## -########################## - -- rename: - field: json.schema - target_field: salesforce.logout.schema - ignore_missing: true -- rename: - field: json.CreatedById - target_field: salesforce.logout.created_by_id - ignore_missing: true -- rename: - field: json.EventIdentifier - target_field: salesforce.logout.event_identifier - ignore_missing: true -- rename: - field: json.replayId - target_field: salesforce.logout.replay_id - ignore_missing: true - -####################### -## ECS Event Mapping ## -####################### - -- set: - field: event.type - value: "info" -- set: - field: event.kind - value: "event" -- set: - field: event.action - value: "logout" -- set: - field: event.category - value: "authentication" -- set: - field: event.dataset - value: "salesforce.logout" -- set: - field: event.module - value: "salesforce" -- rename: - field: json.REQUEST_ID - target_field: event.code - ignore_missing: true - -- date: - field: json.CreatedDate - target_field: event.created - formats: ["yyyy-MM-ddTHH:mm:ssZ"] - ignore_failure: true - -###################### -## ECS User Mapping ## -###################### - -- rename: - field: json.USER_ID - target_field: user.id - ignore_missing: true -- rename: - field: json.UserId - target_field: user.id - ignore_missing: true - -- rename: - field: json.USER_TYPE - target_field: user.roles - ignore_missing: true - -- rename: - field: json.Username - target_field: user.email - ignore_missing: true - -######################## -## ECS Source Mapping ## -######################## - -# A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP” -- rename: - field: json.CLIENT_IP - target_field: source.ip - ignore_missing: true - if: 'ctx?.json?.CLIENT_IP != "Salesforce.com IP" && ctx?.json?.CLIENT_IP != ""' -- rename: - field: json.SourceIp - target_field: source.ip - ignore_missing: true - -############################ -## ECS Source.Geo Mapping ## -############################ - -- geoip: - field: source.ip - target_field: source.geo - ignore_missing: true - -############################ -## ECS Related.ip Mapping ## -############################ - -- append: - field: related.ip - value: "{{{source.ip}}}" - if: ctx?.source?.ip != null - allow_duplicates: false - ignore_failure: true - -############# -## Cleanup ## -############# - -- script: - description: Drops null/empty values recursively - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return (((Map) object).size() == 0); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return (((List) object).length == 0); - } - return false; - } - dropEmptyFields(ctx); -- remove: - field: - - json - ignore_missing: true -on_failure: -- set: - field: error.message - value: '{{_ingest.on_failure_message}}' diff --git a/x-pack/filebeat/module/salesforce/logout/manifest.yml b/x-pack/filebeat/module/salesforce/logout/manifest.yml index 4a2cd9a1305..9aa36f11d15 100644 --- a/x-pack/filebeat/module/salesforce/logout/manifest.yml +++ b/x-pack/filebeat/module/salesforce/logout/manifest.yml @@ -18,5 +18,8 @@ var: - name: log_file_interval default: Hourly -ingest_pipeline: ingest/pipeline.yml +ingest_pipeline: + - ingest/default.yml + - ingest/eventlogfile.yml + - ingest/object.yml input: config/logout.yml diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml index edd774250d1..a0e989d790b 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml @@ -4,6 +4,10 @@ description: > Fileset for ingesting Salesforce SetupAuditTrail logs. fields: + - name: document_id + type: keyword + description: > + Unique Id. - name: event_type type: keyword description: > @@ -28,6 +32,10 @@ type: keyword description: > The full description of changes made in Setup. For example, if the Action field has a value of PermSetCreate, the Display field has a value like “Created permission set MAD: with user license Salesforce. + - name: event_type + type: keyword + description: > + Event type. - name: responsible_namespace_prefix type: keyword description: > diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml index ce6a229d1ec..7dac61ee8e7 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -13,7 +13,7 @@ event_monitoring_method: enabled: {{ if .real_time }}true{{ else }}false{{ end }} interval: {{ .real_time_interval }} query: - default: SELECT FIELDS(STANDARD) FROM SetupAuditTrail {{ if .initial_interval }}WHERE EventDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]] AND{{ end }} ORDER BY CreatedDate ASC NULLS FIRST + default: SELECT FIELDS(STANDARD) FROM SetupAuditTrail{{ if .initial_interval }} WHERE CreatedDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]]{{ end }} ORDER BY CreatedDate ASC NULLS FIRST value: SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE CreatedDate > [[ .cursor.object.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST cursor: field: "CreatedDate" diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index 45182032fd1..2e5029c99a3 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -8,10 +8,10 @@ processors: field: message target_field: event.original ignore_missing: true -- remove: - field: - - message - ignore_missing: true +- set: + field: salesforce.setup_audit_trail.document_id + copy_from: _id + ignore_empty_value: true - date: field: json.CreatedDate @@ -96,12 +96,9 @@ processors: field: user.id copy_from: salesforce.setup_audit_trail.created_by_id ignore_failure: true -- set: - field: temp_setup_audit_trail_display - copy_from: salesforce.setup_audit_trail.display - ignore_failure: true + ignore_empty_value: true - dissect: - field: temp_setup_audit_trail_display + field: salesforce.setup_audit_trail.display pattern: "For user %{user.name}, %{?}" ignore_failure: true @@ -129,7 +126,12 @@ processors: - remove: field: - json - - temp_setup_audit_trail_display + - message + ignore_missing: true +- remove: + field: event.original + if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" + ignore_failure: true ignore_missing: true on_failure: - set: From 1005ae211c97566413e7edb981a9b43371992ee7 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 26 Mar 2024 14:42:18 +0530 Subject: [PATCH 112/172] changes with make udpate --- NOTICE.txt | 722 +++++++++++++++++++--- filebeat/docs/fields.asciidoc | 167 ++++- filebeat/docs/modules/salesforce.asciidoc | 216 ++++--- go.mod | 32 +- go.sum | 66 +- 5 files changed, 971 insertions(+), 232 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 0f55ce984e1..6870fc46a06 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1742,11 +1742,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/Azure/azure-sdk-for-go/sdk/azcore -Version: v1.9.0 +Version: v1.9.2 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azcore@v1.9.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azcore@v1.9.2/LICENSE.txt: MIT License @@ -1773,11 +1773,11 @@ SOFTWARE -------------------------------------------------------------------------------- Dependency : github.com/Azure/azure-sdk-for-go/sdk/azidentity -Version: v1.2.2 +Version: v1.4.0 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azidentity@v1.2.2/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azidentity@v1.4.0/LICENSE.txt: MIT License @@ -1832,6 +1832,36 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Dependency : github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 +Version: v4.8.0 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4@v4.8.0/LICENSE.txt: + +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + -------------------------------------------------------------------------------- Dependency : github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement Version: v1.1.0 @@ -1894,11 +1924,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources -Version: v1.0.0 +Version: v1.1.1 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources@v1.0.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources@v1.1.1/LICENSE.txt: MIT License @@ -12255,6 +12285,32 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Dependency : github.com/elastic/ebpfevents +Version: v0.6.0 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/elastic/ebpfevents@v0.6.0/LICENSE.txt: + +The https://github.com/elastic/ebpfevents repository contains source code under +various licenses: + +- Source code in the 'headers/bpf' directory, is dual-licensed under the GNU Lesser General + Public License version 2.1 (LICENSES/LGPL-2.1-only.txt) OR BSD-2-Clause license + (LICENSES/BSD-2-Clause.txt) + +- Source code in the 'ebpf' submodule is licensed with multiple licenses. Read more at + https://github.com/elastic/ebpf/blob/main/LICENSE.txt. + +- The binary files 'bpf_bpfel_x86.o' and 'bpf_bpfel_amd64.o' are compiled + from dual-licensed GPL-2.0-only OR BSD-2-Clause licensed code, and are distributed with + the GPL-2.0-only License (LICENSES/GPL-2.0-only.txt). + +- Source code not listed in the previous points is licensed under the Apache License, + version 2 (LICENSES/Apache-2.0.txt). + + -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-autodiscover Version: v0.6.7 @@ -15799,6 +15855,218 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/mito@v1.8.0/LIC limitations under the License. +-------------------------------------------------------------------------------- +Dependency : github.com/elastic/tk-btf +Version: v0.1.0 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/elastic/tk-btf@v0.1.0/LICENSE.txt: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + -------------------------------------------------------------------------------- Dependency : github.com/elastic/toutoumomoma Version: v0.0.0-20221026030040-594ef30cb640 @@ -16210,6 +16478,38 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Dependency : github.com/go-ldap/ldap/v3 +Version: v3.4.6 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/go-ldap/ldap/v3@v3.4.6/LICENSE: + +The MIT License (MIT) + +Copyright (c) 2011-2015 Michael Mitton (mmitton@gmail.com) +Portions copyright (c) 2015-2016 go-ldap Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- Dependency : github.com/go-sql-driver/mysql Version: v1.6.0 @@ -18471,6 +18771,38 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +Dependency : github.com/gorilla/websocket +Version: v1.4.2 +Licence type (autodetected): BSD-2-Clause +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/gorilla/websocket@v1.4.2/LICENSE: + +Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + -------------------------------------------------------------------------------- Dependency : github.com/h2non/filetype Version: v1.1.1 @@ -24702,11 +25034,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : golang.org/x/crypto -Version: v0.17.0 +Version: v0.19.0 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/golang.org/x/crypto@v0.17.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/crypto@v0.19.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -24850,11 +25182,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : golang.org/x/net -Version: v0.19.0 +Version: v0.21.0 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/golang.org/x/net@v0.19.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/net@v0.21.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -24961,11 +25293,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : golang.org/x/sys -Version: v0.15.0 +Version: v0.17.0 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/golang.org/x/sys@v0.15.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/sys@v0.17.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -29305,11 +29637,42 @@ Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-pipeline-g -------------------------------------------------------------------------------- Dependency : github.com/Azure/azure-sdk-for-go/sdk/internal -Version: v1.5.0 +Version: v1.5.2 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/internal@v1.5.2/LICENSE.txt: + +MIT License + +Copyright (c) Microsoft Corporation. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + + +-------------------------------------------------------------------------------- +Dependency : github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal +Version: v1.1.2 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/internal@v1.5.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/resourcemanager/internal@v1.1.2/LICENSE.txt: MIT License @@ -29334,6 +29697,67 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE +-------------------------------------------------------------------------------- +Dependency : github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 +Version: v2.0.0 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2@v2.0.0/LICENSE.txt: + +MIT License + +Copyright (c) Microsoft Corporation. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + + +-------------------------------------------------------------------------------- +Dependency : github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups +Version: v1.0.0 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups@v1.0.0/LICENSE.txt: + +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + -------------------------------------------------------------------------------- Dependency : github.com/Azure/go-amqp Version: v0.16.0 @@ -31005,13 +31429,44 @@ Contents of probable licence file $GOMODCACHE/github.com/!azure/go-autorest/trac limitations under the License. +-------------------------------------------------------------------------------- +Dependency : github.com/Azure/go-ntlmssp +Version: v0.0.0-20221128193559-754e69321358 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/!azure/go-ntlmssp@v0.0.0-20221128193559-754e69321358/LICENSE: + +The MIT License (MIT) + +Copyright (c) 2016 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- Dependency : github.com/AzureAD/microsoft-authentication-library-for-go -Version: v0.9.0 +Version: v1.1.1 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!azure!a!d/microsoft-authentication-library-for-go@v0.9.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/!azure!a!d/microsoft-authentication-library-for-go@v1.1.1/LICENSE: MIT License @@ -31364,6 +31819,43 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Dependency : github.com/alexbrainman/sspi +Version: v0.0.0-20210105120005-909beea2cc74 +Licence type (autodetected): BSD-3-Clause +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/alexbrainman/sspi@v0.0.0-20210105120005-909beea2cc74/LICENSE: + +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + -------------------------------------------------------------------------------- Dependency : github.com/andybalholm/brotli Version: v1.0.5 @@ -36254,6 +36746,39 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Dependency : github.com/cilium/ebpf +Version: v0.13.2 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/cilium/ebpf@v0.13.2/LICENSE: + +MIT License + +Copyright (c) 2017 Nathan Sweet +Copyright (c) 2018, 2019 Cloudflare +Copyright (c) 2019 Authors of Cilium + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- Dependency : github.com/codegangsta/inject Version: v0.0.0-20150114235600-33e0aa1cb7c0 @@ -38306,6 +38831,69 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Dependency : github.com/go-asn1-ber/asn1-ber +Version: v1.5.5 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/go-asn1-ber/asn1-ber@v1.5.5/LICENSE: + +The MIT License (MIT) + +Copyright (c) 2011-2015 Michael Mitton (mmitton@gmail.com) +Portions copyright (c) 2015-2016 go-asn1-ber Authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +-------------------------------------------------------------------------------- +Dependency : github.com/go-faker/faker/v4 +Version: v4.2.0 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/go-faker/faker/v4@v4.2.0/LICENSE: + +MIT License + +Copyright (c) 2017 Iman Tumorang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- Dependency : github.com/go-logfmt/logfmt Version: v0.5.1 @@ -38821,6 +39409,37 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Dependency : github.com/go-quicktest/qt +Version: v1.101.0 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/go-quicktest/qt@v1.101.0/LICENSE: + +MIT License + +Copyright (c) 2017 Canonical Ltd. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- Dependency : github.com/go-sourcemap/sourcemap Version: v2.1.2+incompatible @@ -39161,12 +39780,12 @@ Contents of probable licence file $GOMODCACHE/github.com/godror/knownpb@v0.1.0/L -------------------------------------------------------------------------------- -Dependency : github.com/golang-jwt/jwt/v4 -Version: v4.5.0 +Dependency : github.com/golang-jwt/jwt/v5 +Version: v5.0.0 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/golang-jwt/jwt/v4@v4.5.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/golang-jwt/jwt/v5@v5.0.0/LICENSE: Copyright (c) 2012 Dave Grijalva Copyright (c) 2021 golang-jwt maintainers @@ -41609,38 +42228,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Dependency : github.com/gorilla/websocket -Version: v1.4.2 -Licence type (autodetected): BSD-2-Clause --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/gorilla/websocket@v1.4.2/LICENSE: - -Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -------------------------------------------------------------------------------- Dependency : github.com/hashicorp/cronexpr Version: v1.1.0 @@ -45748,11 +46335,11 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/kr/pretty -Version: v0.3.0 +Version: v0.3.1 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/kr/pretty@v0.3.0/License: +Contents of probable licence file $GOMODCACHE/github.com/kr/pretty@v0.3.1/License: Copyright 2012 Keith Rarick @@ -49212,27 +49799,6 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -Dependency : github.com/pkg/diff -Version: v0.0.0-20210226163009-20ebb0f2a09e -Licence type (autodetected): BSD-3-Clause --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e/LICENSE: - -Copyright 2018 Joshua Bleecher Snyder - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -------------------------------------------------------------------------------- Dependency : github.com/pmezard/go-difflib Version: v1.0.0 @@ -49516,11 +50082,11 @@ Contents of probable licence file $GOMODCACHE/github.com/prometheus/client_golan -------------------------------------------------------------------------------- Dependency : github.com/rogpeppe/go-internal -Version: v1.9.0 +Version: v1.11.0 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/rogpeppe/go-internal@v1.9.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/rogpeppe/go-internal@v1.11.0/LICENSE: Copyright (c) 2018 The Go Authors. All rights reserved. @@ -53406,11 +53972,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : golang.org/x/term -Version: v0.15.0 +Version: v0.17.0 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/golang.org/x/term@v0.15.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/term@v0.17.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index f02dc434912..bfc4a239abf 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -125100,11 +125100,10 @@ Fileset for ingesting Salesforce Apex logs. -*`salesforce.access_mode`*:: +*`salesforce.instance_url`*:: + -- -The mode of collecting logs from Salesforce - "rest" or "stream". - +The Instance URL of the Salesforce instance. type: keyword @@ -125117,6 +125116,16 @@ Fileset for ingesting Salesforce Apex logs. +*`salesforce.apex.document_id`*:: ++ +-- +Unique Id. + + +type: keyword + +-- + *`salesforce.apex.action`*:: + -- @@ -125585,20 +125594,62 @@ Fileset for ingesting Salesforce Login (REST) logs. -*`salesforce.login.api_type`*:: +*`salesforce.login.document_id`*:: ++ +-- +Unique Id. + + +type: keyword + +-- + +*`salesforce.login.application`*:: ++ +-- +The application used to access the org. Possible values include: AppExchange, Browser, Salesforce for iOS, Salesforce Developers API Explorer, N/A + + +type: keyword + +-- + + +*`salesforce.login.api.type`*:: ++ +-- +The type of Salesforce API request. + + +type: keyword + +-- + +*`salesforce.login.api.version`*:: ++ +-- +The version of the Salesforce API that's being used. + + +type: keyword + +-- + + +*`salesforce.login.auth.service_id`*:: + -- -The type of API request. +The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. type: keyword -- -*`salesforce.login.api_version`*:: +*`salesforce.login.auth.method_reference`*:: + -- -The version of the API that’s being used. +The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. type: keyword @@ -125615,10 +125666,10 @@ type: keyword -- -*`salesforce.login.authentication_method_reference`*:: +*`salesforce.login.client_version`*:: + -- -The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. +The version number of the login client. If no version number is available, “Unknown” is returned. type: keyword @@ -125645,7 +125696,7 @@ type: keyword -- -*`salesforce.login.db_total_time`*:: +*`salesforce.login.db_total.time`*:: + -- The time in nanoseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and DB_CPU_TIME. Compare this field to CPU_TIME to determine whether performance issues are occurring in the database layer or in your own code. @@ -125721,6 +125772,26 @@ type: keyword The 18-character case insensitive ID of the user who’s using Salesforce services through the UI or the API. +type: keyword + +-- + +*`salesforce.login.evaluation_time`*:: ++ +-- +The amount of time it took to evaluate the transaction security policy, in milliseconds. + + +type: keyword + +-- + +*`salesforce.login.login_type`*:: ++ +-- +The type of login used to access the session. + + type: keyword -- @@ -125732,10 +125803,31 @@ Fileset for parsing Salesforce Logout (REST) logs. -*`salesforce.logout.session_level`*:: +*`salesforce.logout.document_id`*:: ++ +-- +Unique Id. + + +type: keyword + +-- + + +*`salesforce.logout.session.level`*:: ++ +-- +The security level of the session that was used when logging out (e.g. Standard Session or High-Assurance Session). + + +type: keyword + +-- + +*`salesforce.logout.session.type`*:: + -- -Indicates the session-level security of the session that the user is logging out of for this event. Session-level security controls user access to features that support it, such as connected apps and reporting. Possible values are: HIGH_ASSURANCE, LOW, STANDARD +The session type that was used when logging out (e.g. API, Oauth2 or UI). type: keyword @@ -125752,20 +125844,21 @@ type: keyword -- -*`salesforce.logout.api_type`*:: + +*`salesforce.logout.api.type`*:: + -- -The type of API request. +The type of Salesforce API request. type: keyword -- -*`salesforce.logout.api_version`*:: +*`salesforce.logout.api.version`*:: + -- -The version of the API that’s being used. +The version of the Salesforce API that's being used. type: keyword @@ -125842,30 +125935,40 @@ type: keyword -- -*`salesforce.logout.session_type`*:: +*`salesforce.logout.user_id_derived`*:: + -- -The session type that was used when logging out. +The 18-character case-safe ID of the user who’s using Salesforce services through the UI or the API. type: keyword -- -*`salesforce.logout.user_id_derived`*:: +*`salesforce.logout.user_initiated_logout`*:: + -- -The 18-character case-safe ID of the user who’s using Salesforce services through the UI or the API. +The value is 1 if the user intentionally logged out of the organization by clicking the Logout button. If the user’s session timed out due to inactivity or another implicit logout action, the value is 0. type: keyword -- -*`salesforce.logout.user_initiated_logout`*:: +*`salesforce.logout.created_by_id`*:: + -- -The value is 1 if the user intentionally logged out of the organization by clicking the Logout button. If the user’s session timed out due to inactivity or another implicit logout action, the value is 0. +Unavailable + + +type: keyword + +-- + +*`salesforce.logout.event_identifier`*:: ++ +-- +This field is populated only when the activity that this event monitors requires extra authentication, such as multi-factor authentication. In this case, Salesforce generates more events and sets the RelatedEventIdentifier field of the new events to the value of the EventIdentifier field of the original event. Use this field with the EventIdentifier field to correlate all the related events. If no extra authentication is required, this field is blank. type: keyword @@ -125879,6 +125982,16 @@ Fileset for ingesting Salesforce SetupAuditTrail logs. +*`salesforce.setup_audit_trail.document_id`*:: ++ +-- +Unique Id. + + +type: keyword + +-- + *`salesforce.setup_audit_trail.event_type`*:: + -- @@ -125935,6 +126048,16 @@ type: keyword The full description of changes made in Setup. For example, if the Action field has a value of PermSetCreate, the Display field has a value like “Created permission set MAD: with user license Salesforce. +type: keyword + +-- + +*`salesforce.setup_audit_trail.event_type`*:: ++ +-- +Event type. + + type: keyword -- diff --git a/filebeat/docs/modules/salesforce.asciidoc b/filebeat/docs/modules/salesforce.asciidoc index e0f44b75ea0..b3930b4c5e1 100644 --- a/filebeat/docs/modules/salesforce.asciidoc +++ b/filebeat/docs/modules/salesforce.asciidoc @@ -45,18 +45,20 @@ Example config: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "my-client-id" - var.client_username: "my.email@here.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com" - var.user: "my.email@here.com" - var.password: "password" + var.authentication: + jwt_bearer_flow: + enabled: false + client.id: "my-client-id" + client.username: "my.email@here.com" + client.key_path: client_key.pem + url: https://login.salesforce.com + user_password_flow: + enabled: true + client.id: "my-client-id" + client.secret: "my-client-secret" + token_url: "https://login.salesforce.com" + username: "my.email@here.com" + password: "password" var.url: "https://instance-url.salesforce.com" @@ -78,39 +80,43 @@ The initial interval for the `login` fileset. It defines the time window in whic The API version of the Salesforce instance. -*`var.jwt_authentication_enabled`*:: +*`var.authentication`*:: + +Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. + +*`var.authentication.jwt_bearer_flow.client.id`*:: -Set to true if JWT authentication is enabled. +The client id for JWT authentication. -*`var.client_username`*:: +*`var.authentication.jwt_bearer_flow.client.username`*:: The username used for JWT authentication. -*`var.client_key_path`*:: +*`var.authentication.jwt_bearer_flow.client.key_path`*:: Path to the client key for JWT authentication. -*`var.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.jwt_url`*:: The audience URL for JWT authentication. -*`var.user_pass_authentication_enabled`*:: +*`var.authentication.user_password_flow.client.id`*:: -Set to false if user-password authentication is enabled. +The client id for user-password authentication. -*`var.client_secret`*:: +*`var.authentication.user_password_flow.client.secret`*:: The client secret for user-password authentication. -*`var.token_url`*:: +*`var.authentication.user_password_flow.token_url`*:: The token URL for user-password authentication. -*`var.user`*:: +*`var.authentication.user_password_flow.username`*:: -The user used for user-password authentication. +The username used for user-password authentication. -*`var.password`*:: +*`var.authentication.user_password_flow.password`*:: The password used for user-password authentication. @@ -151,18 +157,20 @@ Example config: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "my-client-id" - var.client_username: "my.email@here.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com" - var.user: "my.email@here.com" - var.password: "password" + var.authentication: + jwt_bearer_flow: + enabled: false + client.id: "my-client-id" + client.username: "my.email@here.com" + client.key_path: client_key.pem + url: https://login.salesforce.com + user_password_flow: + enabled: true + client.id: "my-client-id" + client.secret: "my-client-secret" + token_url: "https://login.salesforce.com" + username: "my.email@here.com" + password: "password" var.url: "https://instance-url.salesforce.com" @@ -184,39 +192,43 @@ The initial interval for the `logout` fileset. It defines the time window in whi The API version of the Salesforce instance. -*`var.jwt_authentication_enabled`*:: +*`var.authentication`*:: + +Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. + +*`var.authentication.jwt_bearer_flow.client.id`*:: -Set to true if JWT authentication is enabled. +The client id for JWT authentication. -*`var.client_username`*:: +*`var.authentication.jwt_bearer_flow.client.username`*:: The username used for JWT authentication. -*`var.client_key_path`*:: +*`var.authentication.jwt_bearer_flow.client.key_path`*:: Path to the client key for JWT authentication. -*`var.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.jwt_url`*:: The audience URL for JWT authentication. -*`var.user_pass_authentication_enabled`*:: +*`var.authentication.user_password_flow.client.id`*:: -Set to false if user-password authentication is enabled. +The client id for user-password authentication. -*`var.client_secret`*:: +*`var.authentication.user_password_flow.client.secret`*:: The client secret for user-password authentication. -*`var.token_url`*:: +*`var.authentication.user_password_flow.token_url`*:: The token URL for user-password authentication. -*`var.user`*:: +*`var.authentication.user_password_flow.username`*:: -The user used for user-password authentication. +The username used for user-password authentication. -*`var.password`*:: +*`var.authentication.user_password_flow.password`*:: The password used for user-password authentication. @@ -257,18 +269,20 @@ Example config: var.initial_interval: 1d var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "my-client-id" - var.client_username: "my.email@here.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com" - var.user: "my.email@here.com" - var.password: "password" + var.authentication: + jwt_bearer_flow: + enabled: false + client.id: "my-client-id" + client.username: "my.email@here.com" + client.key_path: client_key.pem + url: https://login.salesforce.com + user_password_flow: + enabled: true + client.id: "my-client-id" + client.secret: "my-client-secret" + token_url: "https://login.salesforce.com" + username: "my.email@here.com" + password: "password" var.url: "https://instance-url.salesforce.com" @@ -286,39 +300,43 @@ The initial interval for the `logout` fileset. It defines the time window in whi The API version of the Salesforce instance. -*`var.jwt_authentication_enabled`*:: +*`var.authentication`*:: + +Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. + +*`var.authentication.jwt_bearer_flow.client.id`*:: -Set to true if JWT authentication is enabled. +The client id for JWT authentication. -*`var.client_username`*:: +*`var.authentication.jwt_bearer_flow.client.username`*:: The username used for JWT authentication. -*`var.client_key_path`*:: +*`var.authentication.jwt_bearer_flow.client.key_path`*:: Path to the client key for JWT authentication. -*`var.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.jwt_url`*:: The audience URL for JWT authentication. -*`var.user_pass_authentication_enabled`*:: +*`var.authentication.user_password_flow.client.id`*:: -Set to false if user-password authentication is enabled. +The client id for user-password authentication. -*`var.client_secret`*:: +*`var.authentication.user_password_flow.client.secret`*:: The client secret for user-password authentication. -*`var.token_url`*:: +*`var.authentication.user_password_flow.token_url`*:: The token URL for user-password authentication. -*`var.user`*:: +*`var.authentication.user_password_flow.username`*:: -The user used for user-password authentication. +The username used for user-password authentication. -*`var.password`*:: +*`var.authentication.user_password_flow.password`*:: The password used for user-password authentication. @@ -348,18 +366,20 @@ Example config: var.log_file_interval: Hourly var.api_version: 56 - var.jwt_authentication_enabled: true - - var.client_id: "my-client-id" - var.client_username: "my.email@here.com" - var.client_key_path: client_key.pem - var.jwt_url: https://login.salesforce.com - - var.user_pass_authentication_enabled: true - var.client_secret: "my-client-secret" - var.token_url: "https://login.salesforce.com" - var.user: "my.email@here.com" - var.password: "password" + var.authentication: + jwt_bearer_flow: + enabled: false + client.id: "my-client-id" + client.username: "my.email@here.com" + client.key_path: client_key.pem + url: https://login.salesforce.com + user_password_flow: + enabled: true + client.id: "my-client-id" + client.secret: "my-client-secret" + token_url: "https://login.salesforce.com" + username: "my.email@here.com" + password: "password" var.url: "https://instance-url.salesforce.com" @@ -378,39 +398,43 @@ The initial interval for the `logout` fileset. It defines the time window in whi The API version of the Salesforce instance. -*`var.jwt_authentication_enabled`*:: +*`var.authentication`*:: + +Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. + +*`var.authentication.jwt_bearer_flow.client.id`*:: -Set to true if JWT authentication is enabled. +The client id for JWT authentication. -*`var.client_username`*:: +*`var.authentication.jwt_bearer_flow.client.username`*:: The username used for JWT authentication. -*`var.client_key_path`*:: +*`var.authentication.jwt_bearer_flow.client.key_path`*:: Path to the client key for JWT authentication. -*`var.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.jwt_url`*:: The audience URL for JWT authentication. -*`var.user_pass_authentication_enabled`*:: +*`var.authentication.user_password_flow.client.id`*:: -Set to false if user-password authentication is enabled. +The client id for user-password authentication. -*`var.client_secret`*:: +*`var.authentication.user_password_flow.client.secret`*:: The client secret for user-password authentication. -*`var.token_url`*:: +*`var.authentication.user_password_flow.token_url`*:: The token URL for user-password authentication. -*`var.user`*:: +*`var.authentication.user_password_flow.username`*:: -The user used for user-password authentication. +The username used for user-password authentication. -*`var.password`*:: +*`var.authentication.user_password_flow.password`*:: The password used for user-password authentication. diff --git a/go.mod b/go.mod index 9447575206b..946ee22733b 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module github.com/elastic/beats/v7 -go 1.21 +go 1.21.0 + +toolchain go1.21.6 require ( cloud.google.com/go/bigquery v1.55.0 @@ -151,13 +153,13 @@ require ( go.uber.org/atomic v1.11.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.26.0 - golang.org/x/crypto v0.17.0 + golang.org/x/crypto v0.19.0 golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 golang.org/x/mod v0.14.0 - golang.org/x/net v0.19.0 + golang.org/x/net v0.21.0 golang.org/x/oauth2 v0.10.0 golang.org/x/sync v0.5.0 - golang.org/x/sys v0.15.0 + golang.org/x/sys v0.17.0 golang.org/x/text v0.14.0 golang.org/x/time v0.3.0 golang.org/x/tools v0.16.0 @@ -184,12 +186,13 @@ require ( cloud.google.com/go v0.110.8 cloud.google.com/go/compute v1.23.0 cloud.google.com/go/redis v1.13.1 - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2 + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2 + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption v1.1.0 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.8.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement v1.1.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor v0.8.0 - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 github.com/Azure/go-autorest/autorest/adal v0.9.14 github.com/apache/arrow/go/v14 v14.0.2 @@ -200,20 +203,24 @@ require ( github.com/aws/smithy-go v1.13.5 github.com/awslabs/kinesis-aggregation/go/v2 v2.0.0-20220623125934-28468a6701b5 github.com/elastic/bayeux v1.0.5 + github.com/elastic/ebpfevents v0.6.0 github.com/elastic/elastic-agent-autodiscover v0.6.7 github.com/elastic/elastic-agent-libs v0.7.5 github.com/elastic/elastic-agent-shipper-client v0.5.1-0.20230228231646-f04347b666f3 github.com/elastic/elastic-agent-system-metrics v0.9.1 github.com/elastic/go-elasticsearch/v8 v8.12.0 github.com/elastic/mito v1.8.0 + github.com/elastic/tk-btf v0.1.0 github.com/elastic/toutoumomoma v0.0.0-20221026030040-594ef30cb640 github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15 github.com/g8rswimmer/go-sfdc v2.0.2-0.20201201191151-3190c381b3e1+incompatible + github.com/go-ldap/ldap/v3 v3.4.6 github.com/golang-jwt/jwt v3.2.1+incompatible github.com/google/cel-go v0.19.0 github.com/googleapis/gax-go/v2 v2.12.0 github.com/gorilla/handlers v1.5.1 github.com/gorilla/mux v1.8.0 + github.com/gorilla/websocket v1.4.2 github.com/icholy/digest v0.1.22 github.com/lestrrat-go/jwx/v2 v2.0.19 github.com/otiai10/copy v1.12.0 @@ -240,7 +247,7 @@ require ( github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect github.com/Azure/azure-amqp-common-go/v3 v3.2.1 // indirect github.com/Azure/azure-pipeline-go v0.2.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 // indirect github.com/Azure/go-amqp v0.16.0 // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect @@ -248,7 +255,7 @@ require ( github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v0.9.0 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 // indirect github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c // indirect github.com/andybalholm/brotli v1.0.5 // indirect github.com/antlr4-go/antlr/v4 v4.13.0 // indirect @@ -269,6 +276,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.5 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect + github.com/cilium/ebpf v0.13.2 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect @@ -285,7 +293,6 @@ require ( github.com/felixge/httpsnoop v1.0.1 // indirect github.com/form3tech-oss/jwt-go v3.2.5+incompatible // indirect github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect - github.com/go-ldap/ldap/v3 v3.4.6 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/go-logr/logr v1.3.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect @@ -294,7 +301,7 @@ require ( github.com/gobuffalo/here v0.6.7 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/godror/knownpb v0.1.0 // indirect - github.com/golang-jwt/jwt/v4 v4.5.0 // indirect + github.com/golang-jwt/jwt/v5 v5.0.0 // indirect github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect github.com/golang-sql/sqlexp v0.1.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect @@ -304,7 +311,6 @@ require ( github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.4 // indirect github.com/googleapis/gnostic v0.5.5 // indirect - github.com/gorilla/websocket v1.4.2 // indirect github.com/hashicorp/cronexpr v1.1.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -375,7 +381,7 @@ require ( go.opentelemetry.io/otel v1.21.0 // indirect go.opentelemetry.io/otel/metric v1.21.0 // indirect go.opentelemetry.io/otel/trace v1.21.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/term v0.17.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 // indirect diff --git a/go.sum b/go.sum index c59cf841c59..0f351d3aaab 100644 --- a/go.sum +++ b/go.sum @@ -101,24 +101,32 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbL github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.3.0/go.mod h1:tZoQYdDZNOiIjdSn0dVWVfl0NEPGOJqVLzSrcFk4Is0= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0/go.mod h1:ON4tFdPTwRcgWEaVDrN3584Ef+b7GgSJaXxe5fW9t4M= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 h1:fb8kj/Dh4CSwgsOzHeZY4Xh68cFVbzXx+ONXGMY//4w= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0/go.mod h1:uReU2sSxZExRPBAg3qKzmAucSi51+SP1OhohieR821Q= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2 h1:c4k2FIYIh4xtwqrQwV0Ct1v5+ehlNXj5NI/MWVsiTkQ= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2/go.mod h1:5FDJtLEO/GxwNgUxbwrY3LP0pEoThTQJtk2oysdXHxM= github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0/go.mod h1:bhXu1AjYL+wutSL/kpSq6s7733q2Rb0yuot9Zgfqa/0= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2 h1:uqM+VoHjVH6zdlkLF2b6O0ZANcHoj3rO0PoQ3jglUJA= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2/go.mod h1:twTKAa1E6hLmSDjLhaCkbTMQKc7p/rNLU40rLxGEOCI= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 h1:BMAjVKJM0U/CYF27gA0ZMmXGkOcvfFtD0oHVZ1TIPRI= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0/go.mod h1:1fXstnBMas5kzG+S3q8UoJcmyU6nUeunJcMDHcRYHhs= github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.1/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 h1:LqbJ/WzJUwBf8UiaSzgX7aMclParm9/5Vgp+TY51uBQ= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2/go.mod h1:yInRyqWXAuaPrgI7p70+lDDgh3mlBohis29jGMISnmc= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.8.0 h1:0nGmzwBv5ougvzfGPCO2ljFRHvun57KpNrVCMrlk0ns= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.8.0/go.mod h1:gYq8wyDgv6JLhGbAU6gg8amCPgQWRE+aCvrV2gyzdfs= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement v1.1.0 h1:1MRED2aeLx/BPHC23XRtr8Mk6zcc70HNRYPQ73R0gHw= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement v1.1.0/go.mod h1:Am1cUioOk0HdZIsjpXJkQ4RIeQbwYsW6LkNIc5z/5XY= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2 h1:mLY+pNLjCUeKhgnAJWAKhEUQM+RJQo2H1fuGSw1Ky1E= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2/go.mod h1:FbdwsQ2EzwvXxOPcMFYO8ogEc9uMMIj3YkmCdXdAFmk= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 v2.0.0 h1:PTFGRSlMKCQelWwxUyYVEUqseBJVemLyqWJjvMyt0do= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 v2.0.0/go.mod h1:LRr2FzBTQlONPPa5HREE5+RjSCTXl7BwOvYOaWTqCaI= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups v1.0.0 h1:pPvTJ1dY0sA35JOeFq6TsY2xj6Z85Yo23Pj4wCCvu4o= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups v1.0.0/go.mod h1:mLfWfj8v3jfWKsL9G4eoBoXVcsqcIUTapmdKy7uGOp0= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor v0.8.0 h1:dKxKBzh+XIEoYNmx/c8HeiwghuRExXf61WmVotWESeA= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor v0.8.0/go.mod h1:kzRLpzzlw6eBUXE7eBw3oqfmKR/kxaHOk4+h9sAe6Yo= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0 h1:ECsQtyERDVz3NP3kvDOTLvbQhqWp/x9EsGKtb4ogUr8= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0/go.mod h1:s1tW/At+xHqjNFvWU4G0c0Qv33KOhvbGNj0RCTQDV8s= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1 h1:7CBQ+Ei8SP2c6ydQTGCCrS35bDxgTMfoP2miAwK++OU= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1/go.mod h1:c/wcGeGx5FUPbM/JltUYHZcKmigwyVLJlDq+4HdtXaw= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 h1:u/LLAOFgsMv7HmNL4Qufg58y+qElGOt5qv0z1mURkRY= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0/go.mod h1:2e8rMJtl2+2j+HXbTBwnyGpm5Nou7KhvSfxOq8JpTag= github.com/Azure/azure-storage-blob-go v0.6.0/go.mod h1:oGfmITT1V6x//CswqY2gtAHND+xIP64/qL7a5QJix0Y= @@ -181,8 +189,8 @@ github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBp github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 h1:mFRzDkZVAjdal+s7s0MwaRv9igoPqLRdzOLzw/8Xvq8= github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= -github.com/AzureAD/microsoft-authentication-library-for-go v0.9.0 h1:UE9n9rkJF62ArLb1F3DEjRt8O3jLwMWdSoypKV4f3MU= -github.com/AzureAD/microsoft-authentication-library-for-go v0.9.0/go.mod h1:kgDmCTgBzIEPFElEF+FK0SdjAor06dRq2Go927dnQ6o= +github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 h1:WpB/QDNLpMw72xHJc34BNNykqSOeEJDAWkhf0u12/Jk= +github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= @@ -239,6 +247,7 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20210208195552-ff826a37aa15/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA= github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/andrewkroh/goja v0.0.0-20190128172624-dd2ac4456e20 h1:7rj9qZ63knnVo2ZeepYHvHuRdG76f3tRUTdIQDzRBeI= @@ -433,6 +442,8 @@ github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLI github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.13.2 h1:uhLimLX+jF9BTPPvoCUYh/mBeoONkjgaJ9w9fn0mRj4= +github.com/cilium/ebpf v0.13.2/go.mod h1:DHp1WyrLeiBh19Cf/tfiSMhqheEiK8fXFZ4No0P1Hso= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= @@ -661,6 +672,8 @@ github.com/elastic/bayeux v1.0.5 h1:UceFq01ipmT3S8DzFK+uVAkbCdiPR0Bqei8qIGmUeY0= github.com/elastic/bayeux v1.0.5/go.mod h1:CSI4iP7qeo5MMlkznGvYKftp8M7qqP/3nzmVZoXHY68= github.com/elastic/dhcp v0.0.0-20200227161230-57ec251c7eb3 h1:lnDkqiRFKm0rxdljqrj3lotWinO9+jFmeDXIC4gvIQs= github.com/elastic/dhcp v0.0.0-20200227161230-57ec251c7eb3/go.mod h1:aPqzac6AYkipvp4hufTyMj5PDIphF3+At8zr7r51xjY= +github.com/elastic/ebpfevents v0.6.0 h1:BrL3m7JFK7U6h2jkbk3xAWWs//IZnugCHEDds5u2v68= +github.com/elastic/ebpfevents v0.6.0/go.mod h1:ESG9gw7N+n5yCCMgdg1IIJENKWSmX7+X0Fi9GUs9nvU= github.com/elastic/elastic-agent-autodiscover v0.6.7 h1:+KVjltN0rPsBrU8b156gV4lOTBgG/vt0efFCFARrf3g= github.com/elastic/elastic-agent-autodiscover v0.6.7/go.mod h1:hFeFqneS2r4jD0/QzGkrNk0YVdN0JGh7lCWdsH7zcI4= github.com/elastic/elastic-agent-client/v7 v7.6.0 h1:FEn6FjzynW4TIQo5G096Tr7xYK/P5LY9cSS6wRbXZTc= @@ -714,6 +727,8 @@ github.com/elastic/ristretto v0.1.1-0.20220602190459-83b0895ca5b3 h1:ChPwRVv1RR4 github.com/elastic/ristretto v0.1.1-0.20220602190459-83b0895ca5b3/go.mod h1:RAy2GVV4sTWVlNMavv3xhLsk18rxhfhDnombTe6EF5c= github.com/elastic/sarama v1.19.1-0.20220310193331-ebc2b0d8eef3 h1:FzA0/n4iMt8ojGDGRoiFPSHFvvdVIvxOxyLtiFnrLBM= github.com/elastic/sarama v1.19.1-0.20220310193331-ebc2b0d8eef3/go.mod h1:mdtqvCSg8JOxk8PmpTNGyo6wzd4BMm4QXSfDnTXmgkE= +github.com/elastic/tk-btf v0.1.0 h1:T4rbsnfaRH/MZKSLwZFd3sndt/NexsQb0IXWtMQ9PAA= +github.com/elastic/tk-btf v0.1.0/go.mod h1:caLQPEcMbyKmPUQb2AsbX3ZAj1yCz06lOxfhn0esLR8= github.com/elastic/toutoumomoma v0.0.0-20221026030040-594ef30cb640 h1:oJbI/v6q/PDOZrsruajnbbt7mujobOPDUmkePcVMkJA= github.com/elastic/toutoumomoma v0.0.0-20221026030040-594ef30cb640/go.mod h1:C26fjgblYUZyl9aRc0D4piK8WqQzeCwUdIvjN5OsTnY= github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= @@ -775,6 +790,8 @@ github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1T github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-chi/chi v4.1.0+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= +github.com/go-faker/faker/v4 v4.2.0 h1:dGebOupKwssrODV51E0zbMrv5e2gO9VWSLNC1WDCpWg= +github.com/go-faker/faker/v4 v4.2.0/go.mod h1:F/bBy8GH9NxOxMInug5Gx4WYeG6fHJZ8Ol/dhcpRub4= github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= @@ -905,6 +922,8 @@ github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE github.com/go-openapi/validate v0.20.2/go.mod h1:e7OJoKNgd0twXZwIn0A43tHbvIcr/rZIVCbJBpTUoY0= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= +github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= github.com/go-sourcemap/sourcemap v2.1.2+incompatible h1:0b/xya7BKGhXuqFESKM4oIiRo9WOt2ebz7KxfreD6ug= github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= @@ -982,8 +1001,8 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69 github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= -github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE= +github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= @@ -1351,8 +1370,9 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -1625,7 +1645,6 @@ github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1718,8 +1737,9 @@ github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rootless-containers/rootlesskit v1.1.0 h1:cRaRIYxY8oce4eE/zeAUZhgKu/4tU1p9YHN4+suwV7M= github.com/rootless-containers/rootlesskit v1.1.0/go.mod h1:H+o9ndNe7tS91WqU0/+vpvc+VaCd7TCIWaJjnV0ujUo= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= @@ -2053,8 +2073,8 @@ golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2196,8 +2216,8 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190130055435-99b60b757ec1/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2365,8 +2385,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2376,8 +2396,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From 1d9a0b7aae55e800f4e4660d8c3be220c63d742b Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Tue, 26 Mar 2024 17:40:39 +0530 Subject: [PATCH 113/172] update documents --- x-pack/filebeat/docs/inputs/input-salesforce.asciidoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index 7104f29f9a9..3b85b8511b6 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -39,7 +39,7 @@ filebeat.inputs: client.id: client-id client.secret: client-secret token_url: https://instance-id.develop.my.salesforce.com - user: salesforce-instance@user.in + username: salesforce-instance@user.in password: salesforce-instance-password jwt_bearer_flow: enabled: true @@ -131,7 +131,7 @@ The client secret for the user-password flow. The token URL for the user-password flow. [string] -==== `auth.oauth2.user_password_flow.user` +==== `auth.oauth2.user_password_flow.username` The username for the user-password flow. From 0f2fdb23c1b70f255b2c63bb50f095c289f7230d Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 28 Mar 2024 12:35:31 +0530 Subject: [PATCH 114/172] fix go.mod --- go.mod | 40 +++++++++++++-------------- go.sum | 87 +++++++++++++++++++++++++++++----------------------------- 2 files changed, 62 insertions(+), 65 deletions(-) diff --git a/go.mod b/go.mod index 81519069159..6b4da376aa3 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/elastic/beats/v7 -go 1.21.0 - -toolchain go1.21.6 +go 1.21 require ( cloud.google.com/go/bigquery v1.55.0 @@ -71,7 +69,7 @@ require ( github.com/dustin/go-humanize v1.0.1 github.com/eapache/go-resiliency v1.2.0 github.com/eclipse/paho.mqtt.golang v1.3.5 - github.com/elastic/elastic-agent-client/v7 v7.6.0 + github.com/elastic/elastic-agent-client/v7 v7.8.1 github.com/elastic/go-concert v0.2.0 github.com/elastic/go-libaudit/v2 v2.5.0 github.com/elastic/go-licenser v0.4.1 @@ -80,9 +78,9 @@ require ( github.com/elastic/go-perf v0.0.0-20191212140718-9c656876f595 github.com/elastic/go-seccomp-bpf v1.4.0 github.com/elastic/go-structform v0.0.10 - github.com/elastic/go-sysinfo v1.11.2 - github.com/elastic/go-ucfg v0.8.6 - github.com/elastic/gosigar v0.14.2 + github.com/elastic/go-sysinfo v1.13.1 + github.com/elastic/go-ucfg v0.8.7 + github.com/elastic/gosigar v0.14.3 github.com/fatih/color v1.15.0 github.com/fearful-symmetry/gorapl v0.0.4 github.com/fsnotify/fsevents v0.1.1 @@ -141,7 +139,7 @@ require ( github.com/shopspring/decimal v1.3.1 // indirect github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 - github.com/stretchr/testify v1.8.4 + github.com/stretchr/testify v1.9.0 github.com/tsg/go-daemon v0.0.0-20200207173439-e704b93fd89b github.com/ugorji/go/codec v1.1.8 github.com/urso/sderr v0.0.0-20210525210834-52b04e8f5c71 @@ -153,20 +151,20 @@ require ( go.uber.org/atomic v1.11.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.26.0 - golang.org/x/crypto v0.19.0 + golang.org/x/crypto v0.21.0 golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 golang.org/x/mod v0.14.0 golang.org/x/net v0.21.0 golang.org/x/oauth2 v0.10.0 golang.org/x/sync v0.5.0 - golang.org/x/sys v0.17.0 + golang.org/x/sys v0.18.0 golang.org/x/text v0.14.0 golang.org/x/time v0.3.0 golang.org/x/tools v0.16.0 google.golang.org/api v0.128.0 google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13 // indirect google.golang.org/grpc v1.58.3 - google.golang.org/protobuf v1.31.0 + google.golang.org/protobuf v1.33.0 gopkg.in/inf.v0 v0.9.1 gopkg.in/jcmturner/aescts.v1 v1.0.1 // indirect gopkg.in/jcmturner/dnsutils.v1 v1.0.1 // indirect @@ -186,10 +184,10 @@ require ( cloud.google.com/go v0.110.8 cloud.google.com/go/compute v1.23.0 cloud.google.com/go/redis v1.13.1 - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2 + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption v1.1.0 - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.8.0 + github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.6.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement v1.1.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor v0.8.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1 @@ -203,13 +201,13 @@ require ( github.com/aws/smithy-go v1.13.5 github.com/awslabs/kinesis-aggregation/go/v2 v2.0.0-20220623125934-28468a6701b5 github.com/elastic/bayeux v1.0.5 - github.com/elastic/ebpfevents v0.6.0 + github.com/elastic/ebpfevents v0.4.0 github.com/elastic/elastic-agent-autodiscover v0.6.7 github.com/elastic/elastic-agent-libs v0.7.5 github.com/elastic/elastic-agent-shipper-client v0.5.1-0.20230228231646-f04347b666f3 - github.com/elastic/elastic-agent-system-metrics v0.9.1 + github.com/elastic/elastic-agent-system-metrics v0.9.2 github.com/elastic/go-elasticsearch/v8 v8.12.0 - github.com/elastic/mito v1.8.0 + github.com/elastic/mito v1.10.0 github.com/elastic/tk-btf v0.1.0 github.com/elastic/toutoumomoma v0.0.0-20221026030040-594ef30cb640 github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15 @@ -222,7 +220,7 @@ require ( github.com/gorilla/mux v1.8.0 github.com/gorilla/websocket v1.4.2 github.com/icholy/digest v0.1.22 - github.com/lestrrat-go/jwx/v2 v2.0.19 + github.com/lestrrat-go/jwx/v2 v2.0.21 github.com/otiai10/copy v1.12.0 github.com/pierrec/lz4/v4 v4.1.18 github.com/pkg/xattr v0.4.9 @@ -247,7 +245,7 @@ require ( github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect github.com/Azure/azure-amqp-common-go/v3 v3.2.1 // indirect github.com/Azure/azure-pipeline-go v0.2.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 // indirect github.com/Azure/go-amqp v0.16.0 // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect @@ -276,7 +274,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.5 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cilium/ebpf v0.13.2 // indirect + github.com/cilium/ebpf v0.12.3 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect @@ -336,7 +334,7 @@ require ( github.com/kylelemons/godebug v1.1.0 // indirect github.com/lestrrat-go/blackmagic v1.0.2 // indirect github.com/lestrrat-go/httpcc v1.0.1 // indirect - github.com/lestrrat-go/httprc v1.0.4 // indirect + github.com/lestrrat-go/httprc v1.0.5 // indirect github.com/lestrrat-go/iter v1.0.2 // indirect github.com/lestrrat-go/option v1.0.1 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect @@ -365,7 +363,7 @@ require ( github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/stoewer/go-strcase v1.2.0 // indirect - github.com/stretchr/objx v0.5.0 // indirect + github.com/stretchr/objx v0.5.2 // indirect github.com/tklauser/go-sysconf v0.3.10 // indirect github.com/tklauser/numcpus v0.4.0 // indirect github.com/urso/diag v0.0.0-20200210123136-21b3cc8eb797 // indirect diff --git a/go.sum b/go.sum index 0f351d3aaab..b761171beaf 100644 --- a/go.sum +++ b/go.sum @@ -101,8 +101,8 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbL github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.3.0/go.mod h1:tZoQYdDZNOiIjdSn0dVWVfl0NEPGOJqVLzSrcFk4Is0= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0/go.mod h1:ON4tFdPTwRcgWEaVDrN3584Ef+b7GgSJaXxe5fW9t4M= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2 h1:c4k2FIYIh4xtwqrQwV0Ct1v5+ehlNXj5NI/MWVsiTkQ= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.2/go.mod h1:5FDJtLEO/GxwNgUxbwrY3LP0pEoThTQJtk2oysdXHxM= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 h1:fb8kj/Dh4CSwgsOzHeZY4Xh68cFVbzXx+ONXGMY//4w= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0/go.mod h1:uReU2sSxZExRPBAg3qKzmAucSi51+SP1OhohieR821Q= github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0/go.mod h1:bhXu1AjYL+wutSL/kpSq6s7733q2Rb0yuot9Zgfqa/0= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 h1:BMAjVKJM0U/CYF27gA0ZMmXGkOcvfFtD0oHVZ1TIPRI= @@ -111,10 +111,10 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2 github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.1/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 h1:LqbJ/WzJUwBf8UiaSzgX7aMclParm9/5Vgp+TY51uBQ= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2/go.mod h1:yInRyqWXAuaPrgI7p70+lDDgh3mlBohis29jGMISnmc= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.8.0 h1:0nGmzwBv5ougvzfGPCO2ljFRHvun57KpNrVCMrlk0ns= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.8.0/go.mod h1:gYq8wyDgv6JLhGbAU6gg8amCPgQWRE+aCvrV2gyzdfs= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.6.0 h1:AAIdAyPkFff6XTct2lQCxOWN/+LnA41S7kIkzKaMbyE= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.6.0/go.mod h1:noQIdW75SiQFB3mSFJBr4iRRH83S9skaFiBv4C0uEs0= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement v1.1.0 h1:1MRED2aeLx/BPHC23XRtr8Mk6zcc70HNRYPQ73R0gHw= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement v1.1.0/go.mod h1:Am1cUioOk0HdZIsjpXJkQ4RIeQbwYsW6LkNIc5z/5XY= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2 h1:mLY+pNLjCUeKhgnAJWAKhEUQM+RJQo2H1fuGSw1Ky1E= @@ -442,8 +442,8 @@ github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLI github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/cilium/ebpf v0.13.2 h1:uhLimLX+jF9BTPPvoCUYh/mBeoONkjgaJ9w9fn0mRj4= -github.com/cilium/ebpf v0.13.2/go.mod h1:DHp1WyrLeiBh19Cf/tfiSMhqheEiK8fXFZ4No0P1Hso= +github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4= +github.com/cilium/ebpf v0.12.3/go.mod h1:TctK1ivibvI3znr66ljgi4hqOT8EYQjz1KWBfb1UVgM= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= @@ -672,18 +672,18 @@ github.com/elastic/bayeux v1.0.5 h1:UceFq01ipmT3S8DzFK+uVAkbCdiPR0Bqei8qIGmUeY0= github.com/elastic/bayeux v1.0.5/go.mod h1:CSI4iP7qeo5MMlkznGvYKftp8M7qqP/3nzmVZoXHY68= github.com/elastic/dhcp v0.0.0-20200227161230-57ec251c7eb3 h1:lnDkqiRFKm0rxdljqrj3lotWinO9+jFmeDXIC4gvIQs= github.com/elastic/dhcp v0.0.0-20200227161230-57ec251c7eb3/go.mod h1:aPqzac6AYkipvp4hufTyMj5PDIphF3+At8zr7r51xjY= -github.com/elastic/ebpfevents v0.6.0 h1:BrL3m7JFK7U6h2jkbk3xAWWs//IZnugCHEDds5u2v68= -github.com/elastic/ebpfevents v0.6.0/go.mod h1:ESG9gw7N+n5yCCMgdg1IIJENKWSmX7+X0Fi9GUs9nvU= +github.com/elastic/ebpfevents v0.4.0 h1:M80eAeJnzvGQgU9cjJqkjFca9pjM3aq/TuZxJeom4bI= +github.com/elastic/ebpfevents v0.4.0/go.mod h1:o21z5xup/9dK8u0Hg9bZRflSqqj1Zu5h2dg2hSTcUPQ= github.com/elastic/elastic-agent-autodiscover v0.6.7 h1:+KVjltN0rPsBrU8b156gV4lOTBgG/vt0efFCFARrf3g= github.com/elastic/elastic-agent-autodiscover v0.6.7/go.mod h1:hFeFqneS2r4jD0/QzGkrNk0YVdN0JGh7lCWdsH7zcI4= -github.com/elastic/elastic-agent-client/v7 v7.6.0 h1:FEn6FjzynW4TIQo5G096Tr7xYK/P5LY9cSS6wRbXZTc= -github.com/elastic/elastic-agent-client/v7 v7.6.0/go.mod h1:GlUKrbVd/O1CRAZonpBeN3J0RlVqP6VGcrBjFWca+aM= +github.com/elastic/elastic-agent-client/v7 v7.8.1 h1:J9wZc/0mUvSEok0X5iR5+n60Jgb+AWooKddb3XgPWqM= +github.com/elastic/elastic-agent-client/v7 v7.8.1/go.mod h1:axl1nkdqc84YRFkeJGD9jExKNPUrOrzf3DFo2m653nY= github.com/elastic/elastic-agent-libs v0.7.5 h1:4UMqB3BREvhwecYTs/L23oQp1hs/XUkcunPlmTZn5yg= github.com/elastic/elastic-agent-libs v0.7.5/go.mod h1:pGMj5myawdqu+xE+WKvM5FQzKQ/MonikkWOzoFTJxaU= github.com/elastic/elastic-agent-shipper-client v0.5.1-0.20230228231646-f04347b666f3 h1:sb+25XJn/JcC9/VL8HX4r4QXSUq4uTNzGS2kxOE7u1U= github.com/elastic/elastic-agent-shipper-client v0.5.1-0.20230228231646-f04347b666f3/go.mod h1:rWarFM7qYxJKsi9WcV6ONcFjH/NA3niDNpTxO+8/GVI= -github.com/elastic/elastic-agent-system-metrics v0.9.1 h1:r0ofKHgPpl+W09ie7tzGcCDC0d4NZbQUv37rSgHf4FM= -github.com/elastic/elastic-agent-system-metrics v0.9.1/go.mod h1:9C1UEfj0P687HAzZepHszN6zXA+2tN2Lx3Osvq1zby8= +github.com/elastic/elastic-agent-system-metrics v0.9.2 h1:/tvTKOt55EerU0WwGFoDhBlyWLgxyv7d8xCbny0bciw= +github.com/elastic/elastic-agent-system-metrics v0.9.2/go.mod h1:VfJnKw4Jqrd9ddljXCwaGKJgN+7ADyyGk089NaXVsf0= github.com/elastic/elastic-transport-go/v8 v8.4.0 h1:EKYiH8CHd33BmMna2Bos1rDNMM89+hdgcymI+KzJCGE= github.com/elastic/elastic-transport-go/v8 v8.4.0/go.mod h1:YLHer5cj0csTzNFXoNQ8qhtGY1GTvSqPnKWKaqQE3Hk= github.com/elastic/fsevents v0.0.0-20181029231046-e1d381a4d270 h1:cWPqxlPtir4RoQVCpGSRXmLqjEHpJKbR60rxh1nQZY4= @@ -711,18 +711,18 @@ github.com/elastic/go-sfdc v0.0.0-20201201191151-3190c381b3e1 h1:KS+lvT/rUS8Z4++ github.com/elastic/go-sfdc v0.0.0-20201201191151-3190c381b3e1/go.mod h1:/FB/tWFyF33vmdjwIwqAKu9QMVFVEjeoWi9V6eUcQEQ= github.com/elastic/go-structform v0.0.10 h1:oy08o/Ih2hHTkNcRY/1HhaYvIp5z6t8si8gnCJPDo1w= github.com/elastic/go-structform v0.0.10/go.mod h1:CZWf9aIRYY5SuKSmOhtXScE5uQiLZNqAFnwKR4OrIM4= -github.com/elastic/go-sysinfo v1.11.2 h1:mcm4OSYVMyws6+n2HIVMGkln5HOpo5Ie1ZmbbNn0jg4= -github.com/elastic/go-sysinfo v1.11.2/go.mod h1:GKqR8bbMK/1ITnez9NIsIfXQr25aLhRJa7AfT8HpBFQ= -github.com/elastic/go-ucfg v0.8.6 h1:stUeyh2goTgGX+/wb9gzKvTv0YB0231LTpKUgCKj4U0= -github.com/elastic/go-ucfg v0.8.6/go.mod h1:4E8mPOLSUV9hQ7sgLEJ4bvt0KhMuDJa8joDT2QGAEKA= +github.com/elastic/go-sysinfo v1.13.1 h1:U5Jlx6c/rLkR72O8wXXXo1abnGlWGJU/wbzNJ2AfQa4= +github.com/elastic/go-sysinfo v1.13.1/go.mod h1:GKqR8bbMK/1ITnez9NIsIfXQr25aLhRJa7AfT8HpBFQ= +github.com/elastic/go-ucfg v0.8.7 h1:/bKaN553LY3MsfEIz2XOEEs+tRw03TzJCARrnVPpOyc= +github.com/elastic/go-ucfg v0.8.7/go.mod h1:4E8mPOLSUV9hQ7sgLEJ4bvt0KhMuDJa8joDT2QGAEKA= github.com/elastic/go-windows v1.0.1 h1:AlYZOldA+UJ0/2nBuqWdo90GFCgG9xuyw9SYzGUtJm0= github.com/elastic/go-windows v1.0.1/go.mod h1:FoVvqWSun28vaDQPbj2Elfc0JahhPB7WQEGa3c814Ss= github.com/elastic/gopacket v1.1.20-0.20211202005954-d412fca7f83a h1:8WfL/X6fK11iyX5t3Dd9dDMMNqPfEZNc//JsWGIhEgQ= github.com/elastic/gopacket v1.1.20-0.20211202005954-d412fca7f83a/go.mod h1:riddUzxTSBpJXk3qBHtYr4qOhFhT6k/1c0E3qkQjQpA= -github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4= -github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= -github.com/elastic/mito v1.8.0 h1:i3GOtcnNuEEH2XMqnQdPvNjIBA8m0VKuTTfvusfCfnU= -github.com/elastic/mito v1.8.0/go.mod h1:n7AvUVtYQQXb8fq87FI8z67TNzuhwBV3kHBkDT1qJYQ= +github.com/elastic/gosigar v0.14.3 h1:xwkKwPia+hSfg9GqrCUKYdId102m9qTJIIr7egmK/uo= +github.com/elastic/gosigar v0.14.3/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= +github.com/elastic/mito v1.10.0 h1:LhkzBXarU32zAf24k3HOWki0DIoxsNWbVYY6vyHk2RQ= +github.com/elastic/mito v1.10.0/go.mod h1:n7AvUVtYQQXb8fq87FI8z67TNzuhwBV3kHBkDT1qJYQ= github.com/elastic/ristretto v0.1.1-0.20220602190459-83b0895ca5b3 h1:ChPwRVv1RR4a0cxoGjKcyWjTEpxYfm5gydMIzo32cAw= github.com/elastic/ristretto v0.1.1-0.20220602190459-83b0895ca5b3/go.mod h1:RAy2GVV4sTWVlNMavv3xhLsk18rxhfhDnombTe6EF5c= github.com/elastic/sarama v1.19.1-0.20220310193331-ebc2b0d8eef3 h1:FzA0/n4iMt8ojGDGRoiFPSHFvvdVIvxOxyLtiFnrLBM= @@ -775,8 +775,8 @@ github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15/go.mod h1:tPg4cp github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.5 h1:dfYrrRyLtiqT9GyKXgdh+k4inNeTvmGbuSgZ3lx3GhA= +github.com/frankban/quicktest v1.14.5/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= github.com/gabriel-vasile/mimetype v1.4.1/go.mod h1:05Vi0w3Y9c/lNvJOdmIwvrrAhX3rYhfQQCaf9VJcv7M= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= @@ -922,8 +922,6 @@ github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE github.com/go-openapi/validate v0.20.2/go.mod h1:e7OJoKNgd0twXZwIn0A43tHbvIcr/rZIVCbJBpTUoY0= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= -github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= github.com/go-sourcemap/sourcemap v2.1.2+incompatible h1:0b/xya7BKGhXuqFESKM4oIiRo9WOt2ebz7KxfreD6ug= github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= @@ -1385,12 +1383,12 @@ github.com/lestrrat-go/blackmagic v1.0.2 h1:Cg2gVSc9h7sz9NOByczrbUvLopQmXrfFx//N github.com/lestrrat-go/blackmagic v1.0.2/go.mod h1:UrEqBzIR2U6CnzVyUtfM6oZNMt/7O7Vohk2J0OGSAtU= github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= -github.com/lestrrat-go/httprc v1.0.4 h1:bAZymwoZQb+Oq8MEbyipag7iSq6YIga8Wj6GOiJGdI8= -github.com/lestrrat-go/httprc v1.0.4/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= +github.com/lestrrat-go/httprc v1.0.5 h1:bsTfiH8xaKOJPrg1R+E3iE/AWZr/x0Phj9PBTG/OLUk= +github.com/lestrrat-go/httprc v1.0.5/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= -github.com/lestrrat-go/jwx/v2 v2.0.19 h1:ekv1qEZE6BVct89QA+pRF6+4pCpfVrOnEJnTnT4RXoY= -github.com/lestrrat-go/jwx/v2 v2.0.19/go.mod h1:l3im3coce1lL2cDeAjqmaR+Awx+X8Ih+2k8BuHNJ4CU= +github.com/lestrrat-go/jwx/v2 v2.0.21 h1:jAPKupy4uHgrHFEdjVjNkUgoBKtVDgrQPB/h55FHrR0= +github.com/lestrrat-go/jwx/v2 v2.0.21/go.mod h1:09mLW8zto6bWL9GbwnqAli+ArLf+5M33QLQPDggkUWM= github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -1645,6 +1643,7 @@ github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1737,9 +1736,8 @@ github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rootless-containers/rootlesskit v1.1.0 h1:cRaRIYxY8oce4eE/zeAUZhgKu/4tU1p9YHN4+suwV7M= github.com/rootless-containers/rootlesskit v1.1.0/go.mod h1:H+o9ndNe7tS91WqU0/+vpvc+VaCd7TCIWaJjnV0ujUo= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= @@ -1839,8 +1837,9 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= @@ -1852,8 +1851,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -2073,8 +2072,8 @@ golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2385,8 +2384,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2396,8 +2395,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2688,8 +2687,8 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -2883,4 +2882,4 @@ sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZa sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= \ No newline at end of file From 1740c80022cf4a034301a3a111086bbb2abc16c6 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 3 Apr 2024 12:40:03 +0530 Subject: [PATCH 115/172] fix pipelines and field mappings with new dashboards --- ...9aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json | 68 ++-- ...f0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 81 +++-- ...50440-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 38 +-- ...da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 56 ++-- .../module/salesforce/apex/_meta/fields.yml | 207 ++++++------ .../module/salesforce/apex/config/apex.yml | 7 - .../salesforce/apex/ingest/pipeline.yml | 295 ++++++++++++++---- x-pack/filebeat/module/salesforce/fields.go | 2 +- .../module/salesforce/login/_meta/fields.yml | 78 ++--- .../module/salesforce/login/config/login.yml | 7 - .../salesforce/login/ingest/eventlogfile.yml | 6 +- .../salesforce/logout/config/logout.yml | 7 - .../config/setupaudittrail.yml | 7 - .../setupaudittrail/ingest/pipeline.yml | 25 +- 14 files changed, 521 insertions(+), 363 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json index b75d5cb8517..087684c68ec 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json @@ -215,7 +215,7 @@ "y": 0 }, "panelIndex": "0e854818-b5d3-4758-b099-04d68167678a", - "title": "Login success rate [Logs Salesforce]", + "title": "Login success rate [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -386,7 +386,7 @@ "y": 0 }, "panelIndex": "e75fee04-c83e-48ad-83bd-498189cabec7", - "title": "Failed login attempts [Logs Salesforce]", + "title": "Failed login attempts [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -609,7 +609,7 @@ "y": 9 }, "panelIndex": "e780606f-6362-497e-9e17-940937ead5bf", - "title": "Login over time [Logs Salesforce]", + "title": "Login over time [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -781,7 +781,7 @@ "y": 24 }, "panelIndex": "27d96d74-bfe5-4676-84fc-0f7e24594b5a", - "title": "Total login events over time [Logs Salesforce]", + "title": "Total login events over time [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -942,7 +942,7 @@ "y": 41 }, "panelIndex": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6", - "title": "Distribution of type of users [Logs Salesforce]", + "title": "Distribution of type of users [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1104,7 +1104,7 @@ "y": 41 }, "panelIndex": "4b6641b7-fa2a-4d84-a9f6-e358000702dc", - "title": "Activity by browser/client [Logs Salesforce]", + "title": "Activity by browser/client [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1120,17 +1120,17 @@ }, { "id": "filebeat-*", - "name": "696f7220-4f11-4c84-bfad-d2abdb595843", + "name": "0014db45-cedd-457a-8afa-590e2868cb24", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "5a4850c8-9bba-423e-8a12-6cbe09cae6f7", + "name": "448602a9-394f-4efc-b521-bd376c28bdbc", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "98986eae-7d8b-45ba-8bd4-5b6564dab9d9", + "name": "f8ab7947-48a5-4645-8a99-7be331ae65f1", "type": "index-pattern" } ], @@ -1223,10 +1223,10 @@ }, "89013969-6f87-4f17-9239-4c3ef1cc72e5": { "customLabel": true, - "dataType": "string", + "dataType": "number", "filter": { "language": "kuery", - "query": "\"salesforce.login.db_total_time\": *" + "query": "\"salesforce.login.db_time.total\": *" }, "isBucketed": false, "label": "DB total time (ms)", @@ -1234,8 +1234,8 @@ "params": { "sortField": "@timestamp" }, - "scale": "ordinal", - "sourceField": "salesforce.login.db_total_time" + "scale": "ratio", + "sourceField": "salesforce.login.db_time.total" } }, "incompleteColumns": {} @@ -1252,7 +1252,7 @@ "alias": null, "disabled": false, "field": "event.action", - "index": "696f7220-4f11-4c84-bfad-d2abdb595843", + "index": "0014db45-cedd-457a-8afa-590e2868cb24", "key": "event.action", "negate": false, "params": { @@ -1274,7 +1274,7 @@ "alias": null, "disabled": false, "field": "event.outcome", - "index": "5a4850c8-9bba-423e-8a12-6cbe09cae6f7", + "index": "448602a9-394f-4efc-b521-bd376c28bdbc", "key": "event.outcome", "negate": false, "type": "exists", @@ -1294,7 +1294,7 @@ "alias": null, "disabled": false, "field": "event.dataset", - "index": "98986eae-7d8b-45ba-8bd4-5b6564dab9d9", + "index": "f8ab7947-48a5-4645-8a99-7be331ae65f1", "key": "event.dataset", "negate": false, "params": { @@ -1361,7 +1361,7 @@ "y": 71 }, "panelIndex": "b2b60887-159a-4a2f-a477-eece1cda9620", - "title": "Login events table [Logs Salesforce]", + "title": "Login events table [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1535,7 +1535,7 @@ "y": 56 }, "panelIndex": "6115a6d5-d780-4272-b952-2af28343a5b6", - "title": "Top 10 Application type by user count [Logs Salesforce]", + "title": "Top 10 application type by user count [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1718,7 +1718,7 @@ "y": 71 }, "panelIndex": "4a2b88af-ad1a-416d-9553-d21b23882c22", - "title": "Top 10 IP addresses by request count [Logs Salesforce]", + "title": "Top 10 IP addresses by request count [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1941,15 +1941,15 @@ "hidePanelTitles": false, "isLayerTOCOpen": true, "mapBuffer": { - "maxLat": 89.78601, - "maxLon": 540, - "minLat": -85.05113, - "minLon": -720 + "maxLat": 66.51326, + "maxLon": 180, + "minLat": 0, + "minLon": -180 }, "mapCenter": { - "lat": 18.34294, - "lon": -110.39069, - "zoom": 0.29 + "lat": 35.84709, + "lon": 9.06803, + "zoom": 2.13 }, "openTOCDetails": [] }, @@ -1961,7 +1961,7 @@ "y": 88 }, "panelIndex": "bc6b147a-bd41-4f00-affe-4a7b7fbaab7a", - "title": "Login activity by region [Logs Salesforce]", + "title": "Login activity by region [Filebeat Salesforce]", "type": "map", "version": "8.10.0" }, @@ -2107,7 +2107,7 @@ "y": 56 }, "panelIndex": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6", - "title": "Top 10 Postal code by user count [Logs Salesforce]", + "title": "Top 10 postal code by user count [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" } @@ -2123,7 +2123,7 @@ "version": 1 }, "coreMigrationVersion": "8.8.0", - "created_at": "2024-03-26T07:09:58.704Z", + "created_at": "2024-04-03T06:59:40.737Z", "id": "salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg", "managed": false, "references": [ @@ -2229,17 +2229,17 @@ }, { "id": "filebeat-*", - "name": "b2b60887-159a-4a2f-a477-eece1cda9620:696f7220-4f11-4c84-bfad-d2abdb595843", + "name": "b2b60887-159a-4a2f-a477-eece1cda9620:0014db45-cedd-457a-8afa-590e2868cb24", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "b2b60887-159a-4a2f-a477-eece1cda9620:5a4850c8-9bba-423e-8a12-6cbe09cae6f7", + "name": "b2b60887-159a-4a2f-a477-eece1cda9620:448602a9-394f-4efc-b521-bd376c28bdbc", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "b2b60887-159a-4a2f-a477-eece1cda9620:98986eae-7d8b-45ba-8bd4-5b6564dab9d9", + "name": "b2b60887-159a-4a2f-a477-eece1cda9620:f8ab7947-48a5-4645-8a99-7be331ae65f1", "type": "index-pattern" }, { @@ -2295,6 +2295,6 @@ ], "type": "dashboard", "typeMigrationVersion": "8.9.0", - "updated_at": "2024-03-26T07:09:58.704Z", - "version": "Wzk3MjAsMl0=" + "updated_at": "2024-04-03T06:59:40.737Z", + "version": "WzEwMDIwLDJd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json index 074fbe714c8..5717dbadbe3 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -187,7 +187,7 @@ "y": 0 }, "panelIndex": "6b1afef8-3be5-4fca-a0c4-690a14979551", - "title": "Calls against the organization limit [Logs Salesforce]]", + "title": "Calls against the organization limit [Filebeat Salesforce]]", "type": "lens", "version": "8.10.0" }, @@ -319,7 +319,7 @@ "y": 0 }, "panelIndex": "8039ad1b-bbc7-4d77-bcff-77ef0299a766", - "title": "Distribution of request status [Logs Salesforce]", + "title": "Distribution of request status [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -452,7 +452,7 @@ "y": 0 }, "panelIndex": "00d05ee3-74f4-4621-9dc7-04fde76b86d9", - "title": "Responses by media type [Logs Salesforce]", + "title": "Responses by media type [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -603,7 +603,7 @@ "y": 15 }, "panelIndex": "0a33a409-0f61-42be-82ca-7ef8b8ec052f", - "title": "Top 10 apex triggers over time [Logs Salesforce]", + "title": "Top 10 apex triggers over time [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -613,7 +613,7 @@ "description": "", "references": [ { - "id": "logs-*", + "id": "filebeat-*", "name": "indexpattern-datasource-layer-1ddfa426-0787-44a0-a6d4-7ba89384d487", "type": "index-pattern" }, @@ -777,7 +777,7 @@ "y": 32 }, "panelIndex": "b8767bce-c060-4957-acfa-9f289be40643", - "title": "Apex performance over time [Logs Salesforce]", + "title": "Apex performance over time [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -936,7 +936,8 @@ "type": "lens", "visualizationType": "lnsXY" }, - "enhancements": {} + "enhancements": {}, + "hidePanelTitles": false }, "gridData": { "h": 16, @@ -946,6 +947,7 @@ "y": 49 }, "panelIndex": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa", + "title": "Top 10 SOQL queries per entry point [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1117,7 +1119,7 @@ "y": 65 }, "panelIndex": "36b2995c-f5ba-4699-b660-f5546cefd2a6", - "title": "Trigger trends over time [Logs Salesforce]", + "title": "Trigger trends over time [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1270,7 +1272,7 @@ "y": 65 }, "panelIndex": "ac98a6ec-c930-45a7-b1aa-0877e2f8d281", - "title": "Number of triggers by type [Logs Salesforce]", + "title": "Number of triggers by type [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1407,7 +1409,7 @@ "y": 81 }, "panelIndex": "5bbe083c-eff1-4abd-b3a2-012303c07523", - "title": "Requests per user type [Logs Salesforce]", + "title": "Requests per user type [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1545,7 +1547,7 @@ "y": 81 }, "panelIndex": "97d94d13-e382-434e-99cb-dbff367cce72", - "title": "Responses per user agent [Logs Salesforce]", + "title": "Responses per user agent [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1717,7 +1719,7 @@ "y": 97 }, "panelIndex": "04f06541-b6cf-4a31-865e-361ff701a4c0", - "title": "Triggers by entity categorization [Logs Salesforce]", + "title": "Triggers by entity categorization [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1846,7 +1848,7 @@ "y": 97 }, "panelIndex": "a2b4090c-077d-495a-b002-0aceddb498c7", - "title": "Top 10 entry points by request count [Logs Salesforce]", + "title": "Top 10 entry points by request count [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1862,12 +1864,12 @@ }, { "id": "filebeat-*", - "name": "47046562-1692-4cd3-bdce-9f034779516d", + "name": "f5e31933-76e5-4f4f-ba08-13e0d6d86c33", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "7493a672-4e03-4ab9-b641-b745a6c8ba7a", + "name": "01e5ec14-b8db-4040-80e7-75bc9979071e", "type": "index-pattern" } ], @@ -1881,7 +1883,8 @@ "35da24b7-398e-433a-85d9-49e7862e0813", "2128b4e0-6345-485e-a410-87fa7ed6e610", "20bb0e74-5ce7-4e96-9840-bb8cb4dd08c0", - "2b4a5fc5-a0ac-4b56-8543-677eb5793a5b" + "2b4a5fc5-a0ac-4b56-8543-677eb5793a5b", + "2bcf9e0d-7b52-44f6-a7ad-ad9209c599cc" ], "columns": { "20bb0e74-5ce7-4e96-9840-bb8cb4dd08c0": { @@ -1932,6 +1935,28 @@ "scale": "ordinal", "sourceField": "salesforce.apex.throughput" }, + "2bcf9e0d-7b52-44f6-a7ad-ad9209c599cc": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "\"salesforce.apex.execute.ms\": *" + }, + "isBucketed": false, + "label": "Execute time (ms)", + "operationType": "last_value", + "params": { + "format": { + "id": "number", + "params": { + "decimals": 0 + } + }, + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "salesforce.apex.execute.ms" + }, "35da24b7-398e-433a-85d9-49e7862e0813": { "customLabel": true, "dataType": "string", @@ -1941,7 +1966,7 @@ "params": { "missingBucket": false, "orderBy": { - "columnId": "fc521fd6-0696-4f71-bdd7-371cd87c0169", + "columnId": "2128b4e0-6345-485e-a410-87fa7ed6e610", "type": "column" }, "orderDirection": "desc", @@ -1969,7 +1994,7 @@ "meta": { "alias": null, "disabled": false, - "index": "47046562-1692-4cd3-bdce-9f034779516d", + "index": "f5e31933-76e5-4f4f-ba08-13e0d6d86c33", "key": "event.action", "negate": false, "params": { @@ -1990,7 +2015,7 @@ "meta": { "alias": null, "disabled": false, - "index": "7493a672-4e03-4ab9-b641-b745a6c8ba7a", + "index": "01e5ec14-b8db-4040-80e7-75bc9979071e", "key": "event.dataset", "negate": false, "params": { @@ -2031,6 +2056,10 @@ "alignment": "center", "columnId": "2128b4e0-6345-485e-a410-87fa7ed6e610", "isTransposed": false + }, + { + "columnId": "2bcf9e0d-7b52-44f6-a7ad-ad9209c599cc", + "isTransposed": false } ], "headerRowHeight": "auto", @@ -2058,7 +2087,7 @@ "y": 113 }, "panelIndex": "1304595e-5a54-471b-9a24-9bb9e42e0a76", - "title": "Top 10 external calls [Logs Salesforce]", + "title": "Top 10 external calls [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" } @@ -2074,7 +2103,7 @@ "version": 1 }, "coreMigrationVersion": "8.8.0", - "created_at": "2024-03-14T10:59:53.912Z", + "created_at": "2024-04-03T07:05:38.117Z", "id": "salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg", "managed": false, "references": [ @@ -2129,7 +2158,7 @@ "type": "index-pattern" }, { - "id": "logs-*", + "id": "filebeat-*", "name": "b8767bce-c060-4957-acfa-9f289be40643:indexpattern-datasource-layer-1ddfa426-0787-44a0-a6d4-7ba89384d487", "type": "index-pattern" }, @@ -2220,12 +2249,12 @@ }, { "id": "filebeat-*", - "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:47046562-1692-4cd3-bdce-9f034779516d", + "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:f5e31933-76e5-4f4f-ba08-13e0d6d86c33", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:7493a672-4e03-4ab9-b641-b745a6c8ba7a", + "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:01e5ec14-b8db-4040-80e7-75bc9979071e", "type": "index-pattern" }, { @@ -2236,6 +2265,6 @@ ], "type": "dashboard", "typeMigrationVersion": "8.9.0", - "updated_at": "2024-03-14T10:59:53.912Z", - "version": "WzkzODksMl0=" + "updated_at": "2024-04-03T07:05:38.117Z", + "version": "WzEwMDI0LDJd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json index 97d8be0fa5e..014165f084e 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -188,7 +188,7 @@ "y": 0 }, "panelIndex": "ed7da063-bcce-4f03-a2f8-5f5e61679c94", - "title": "Percentage of user initiated logout [Logs Salesforce]", + "title": "Percentage of user initiated logout [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -204,7 +204,7 @@ }, { "id": "filebeat-*", - "name": "928cfc22-397c-4d18-892d-7a619ea18b6b", + "name": "a82a2f79-e3d6-4c70-8dfe-3658ebff7021", "type": "index-pattern" } ], @@ -271,7 +271,7 @@ "alias": null, "disabled": false, "field": "event.dataset", - "index": "928cfc22-397c-4d18-892d-7a619ea18b6b", + "index": "a82a2f79-e3d6-4c70-8dfe-3658ebff7021", "key": "event.dataset", "negate": false, "params": { @@ -326,7 +326,7 @@ "y": 0 }, "panelIndex": "3c17916f-f16e-4ac8-bccf-73ecd11f212e", - "title": "Session levels used while logging out [Logs Salesforce]", + "title": "Session levels used while logging out [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -502,7 +502,7 @@ "y": 10 }, "panelIndex": "e0bbbc54-6b58-4290-bf0c-2197bacc9d57", - "title": "Logout over time [Logs Salesforce]", + "title": "Logout over time [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -640,7 +640,7 @@ "y": 23 }, "panelIndex": "b01bd690-ed72-4ca8-9b6f-9c81d338ccee", - "title": "Distribution of session types [Logs Salesforce]", + "title": "Distribution of session types [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -797,7 +797,7 @@ "y": 23 }, "panelIndex": "aa5b3dcc-cf05-47d1-9e8f-7619950d6de1", - "title": "Top 10 IP addresses by Logout request count [Logs Salesforce]", + "title": "Top 10 IP addresses by Logout request count [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -1020,15 +1020,15 @@ "hidePanelTitles": false, "isLayerTOCOpen": true, "mapBuffer": { - "maxLat": 89.99075, - "maxLon": 900, - "minLat": -85.05113, - "minLon": -900 + "maxLat": 31.95216, + "maxLon": 112.5, + "minLat": 11.1784, + "minLon": 45 }, "mapCenter": { - "lat": 39.90974, - "lon": -42.96266, - "zoom": 0 + "lat": 23.62555, + "lon": 78.34794, + "zoom": 4.45 }, "openTOCDetails": [] }, @@ -1040,7 +1040,7 @@ "y": 38 }, "panelIndex": "f6c9b613-b31a-4ba9-ad94-188afa349528", - "title": "Logout activity by region [Logs Salesforce]", + "title": "Logout activity by region [Filebeat Salesforce]", "type": "map", "version": "8.10.0" } @@ -1056,7 +1056,7 @@ "version": 1 }, "coreMigrationVersion": "8.8.0", - "created_at": "2024-03-26T06:34:07.388Z", + "created_at": "2024-04-03T07:01:35.658Z", "id": "salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg", "managed": false, "references": [ @@ -1077,7 +1077,7 @@ }, { "id": "filebeat-*", - "name": "3c17916f-f16e-4ac8-bccf-73ecd11f212e:928cfc22-397c-4d18-892d-7a619ea18b6b", + "name": "3c17916f-f16e-4ac8-bccf-73ecd11f212e:a82a2f79-e3d6-4c70-8dfe-3658ebff7021", "type": "index-pattern" }, { @@ -1123,6 +1123,6 @@ ], "type": "dashboard", "typeMigrationVersion": "8.9.0", - "updated_at": "2024-03-26T06:34:07.388Z", - "version": "Wzk2OTYsMl0=" + "updated_at": "2024-04-03T07:01:35.658Z", + "version": "WzEwMDIyLDJd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json index ffeacbdf8fe..467d77da69e 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -36,7 +36,7 @@ }, { "id": "filebeat-*", - "name": "8880374b-3372-4782-b014-d3c841f7094f", + "name": "ddbc97e6-00ec-4164-9ef4-467b69d0c5a9", "type": "index-pattern" } ], @@ -47,37 +47,29 @@ "layers": { "d9d1a80f-da0d-4de3-b81b-915a1451dfae": { "columnOrder": [ - "c330a448-da57-4033-9575-6fc498a6a00e", + "54511a48-3c24-4b01-88e1-5aa4c625d7aa", "de7e5b08-824f-4884-b4af-4cca15a26500", "aebdaa57-11d2-4742-b5d1-8c9359992816" ], "columns": { - "aebdaa57-11d2-4742-b5d1-8c9359992816": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Request count", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "c330a448-da57-4033-9575-6fc498a6a00e": { + "54511a48-3c24-4b01-88e1-5aa4c625d7aa": { "customLabel": true, "dataType": "string", "isBucketed": true, "label": "Actions", "operationType": "terms", "params": { + "exclude": [], + "excludeIsRegex": false, + "include": [], + "includeIsRegex": false, "missingBucket": false, "orderBy": { "columnId": "aebdaa57-11d2-4742-b5d1-8c9359992816", "type": "column" }, "orderDirection": "desc", - "otherBucket": false, + "otherBucket": true, "parentFormat": { "id": "terms" }, @@ -86,6 +78,18 @@ "scale": "ordinal", "sourceField": "event.action" }, + "aebdaa57-11d2-4742-b5d1-8c9359992816": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "params": { + "emptyAsNull": true + }, + "scale": "ratio", + "sourceField": "___records___" + }, "de7e5b08-824f-4884-b4af-4cca15a26500": { "dataType": "string", "isBucketed": true, @@ -121,7 +125,7 @@ "meta": { "alias": null, "disabled": false, - "index": "8880374b-3372-4782-b014-d3c841f7094f", + "index": "ddbc97e6-00ec-4164-9ef4-467b69d0c5a9", "key": "event.dataset", "negate": false, "params": { @@ -153,7 +157,7 @@ "seriesType": "bar_stacked", "showGridlines": false, "splitAccessor": "de7e5b08-824f-4884-b4af-4cca15a26500", - "xAccessor": "c330a448-da57-4033-9575-6fc498a6a00e" + "xAccessor": "54511a48-3c24-4b01-88e1-5aa4c625d7aa" } ], "legend": { @@ -180,7 +184,7 @@ "y": 0 }, "panelIndex": "86d0aa67-c1da-4027-9368-9d0c7b393ee7", - "title": "Top 10 Actions performed by delegated users [Logs Salesforce]", + "title": "Top 10 actions performed by delegated users [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -317,7 +321,7 @@ "y": 0 }, "panelIndex": "86eca459-ead0-451d-a319-db689af6fecd", - "title": "Top 10 Sections affected [Logs Salesforce]", + "title": "Top 10 sections affected [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -489,7 +493,7 @@ "y": 15 }, "panelIndex": "0e7e3952-b099-4b91-b6f3-9e0239707f87", - "title": "Top 10 Actions over time [Logs Salesforce]", + "title": "Top 10 actions over time [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" }, @@ -696,7 +700,7 @@ "y": 30 }, "panelIndex": "86bc6d31-3998-4a2e-ad1e-e2c373abeca8", - "title": "Changes made in the setup [Logs Salesforce]", + "title": "Changes made in the setup [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" } @@ -712,7 +716,7 @@ "version": 1 }, "coreMigrationVersion": "8.8.0", - "created_at": "2024-03-14T10:59:36.255Z", + "created_at": "2024-04-01T08:19:33.765Z", "id": "salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg", "managed": false, "references": [ @@ -723,7 +727,7 @@ }, { "id": "filebeat-*", - "name": "86d0aa67-c1da-4027-9368-9d0c7b393ee7:8880374b-3372-4782-b014-d3c841f7094f", + "name": "86d0aa67-c1da-4027-9368-9d0c7b393ee7:ddbc97e6-00ec-4164-9ef4-467b69d0c5a9", "type": "index-pattern" }, { @@ -764,6 +768,6 @@ ], "type": "dashboard", "typeMigrationVersion": "8.9.0", - "updated_at": "2024-03-14T10:59:36.255Z", - "version": "WzkzODYsMl0=" + "updated_at": "2024-04-01T08:19:33.765Z", + "version": "Wzk3NzMsMl0=" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml index 85344b1cabb..f56dd255414 100644 --- a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml @@ -15,192 +15,163 @@ fields: - name: document_id type: keyword - description: > - Unique Id. + description: Unique Id. - name: action type: keyword - description: > - Action performed by the callout. + description: Action performed by the callout. - name: callout_time - type: keyword - description: > - Time spent waiting on webservice callouts, in milliseconds. + type: float + description: Time spent waiting on webservice callouts, in milliseconds. + unit: ms + metric_type: gauge - name: class_name type: keyword - description: > - The Apex class name. If the class is part of a managed package, this string includes the package namespace. + description: The Apex class name. If the class is part of a managed package, this string includes the package namespace. - name: client_name type: keyword - description: > - The name of the client that's using Salesforce services. This field is an optional parameter that can be passed in API calls. If blank, the caller didnt specify a client in the CallOptions header. + description: The name of the client that's using Salesforce services. This field is an optional parameter that can be passed in API calls. If blank, the caller didnt specify a client in the CallOptions header. - name: cpu_time - type: keyword - description: > - The CPU time in milliseconds used to complete the request. + type: float + description: The CPU time in milliseconds used to complete the request. + unit: ms + metric_type: gauge - name: db_blocks - type: keyword - description: > - Indicates how much activity is occurring in the database. A high value for this field suggests that adding indexes or filters on your queries would benefit performance. + type: long + description: Indicates how much activity is occurring in the database. A high value for this field suggests that adding indexes or filters on your queries would benefit performance. + metric_type: gauge - name: db_cpu_time - type: keyword - description: > - The CPU time in milliseconds to complete the request. Indicates the amount of activity taking place in the database layer during the request. - - name: db_total_time - type: keyword - description: > - Time (in milliseconds) spent waiting for database processing in aggregate for all operations in the request. Compare this field to CPU_TIME to determine whether performance issues are occurring in the database layer or in your own code. + type: float + description: The CPU time in milliseconds to complete the request. Indicates the amount of activity taking place in the database layer during the request. + unit: ms + metric_type: gauge + - name: db_time.total + type: float + description: Time (in milliseconds) spent waiting for database processing in aggregate for all operations in the request. Compare this field to CPU_TIME to determine whether performance issues are occurring in the database layer or in your own code. + unit: ms + metric_type: gauge - name: entity type: keyword - description: > - Name of the external object being accessed. + description: Name of the external object being accessed. - name: entity_name type: keyword - description: > - The name of the object affected by the trigger. + description: The name of the object affected by the trigger. - name: entry_point type: keyword - description: > - The entry point for this Apex execution. + description: The entry point for this Apex execution. - name: event_type type: keyword - description: > - The type of event. The value is always ApexCallout. - - name: execute_ms - type: keyword - description: > - How long it took (in milliseconds) for Salesforce to prepare and execute the query. Available in API version 42.0 and later. - - name: fetch_ms - type: keyword - description: > - How long it took (in milliseconds) to retrieve the query results from the external system. Available in API version 42.0 and later. + description: The type of event. + - name: execute.ms + type: float + description: How long it took (in milliseconds) for Salesforce to prepare and execute the query. Available in API version 42.0 and later. + unit: ms + metric_type: gauge + - name: fetch.ms + type: float + description: How long it took (in milliseconds) to retrieve the query results from the external system. Available in API version 42.0 and later. + unit: ms + metric_type: gauge - name: filter type: keyword - description: > - Field expressions to filter which rows to return. Corresponds to WHERE in SOQL queries. + description: Field expressions to filter which rows to return. Corresponds to WHERE in SOQL queries. - name: is_long_running_request type: keyword - description: > - Indicates whether the request is counted against your org's concurrent long-running Apex request limit (true) or not (false). + description: Indicates whether the request is counted against your org's concurrent long-running Apex request limit (true) or not (false). - name: limit - type: keyword - description: > - Maximum number of rows to return for a query. Corresponds to LIMIT in SOQL queries. - - name: limit_usage_percent - type: keyword - description: > - The percentage of Apex SOAP calls that were made against the organization's limit. + type: long + description: Maximum number of rows to return for a query. Corresponds to LIMIT in SOQL queries. + - name: limit_usage.pct + type: float + description: The percentage of Apex SOAP calls that were made against the organization's limit. + unit: percent + metric_type: gauge - name: login_key type: keyword - description: > - The string that ties together all events in a given user's login session. It starts with a login event and ends with either a logout event or the user session expiring. + description: The string that ties together all events in a given user's login session. It starts with a login event and ends with either a logout event or the user session expiring. - name: media_type type: keyword - description: > - The media type of the response. + description: The media type of the response. - name: message type: keyword - description: > - Error or warning message associated with the failed call. + description: Error or warning message associated with the failed call. - name: method_name type: keyword - description: > - The name of the calling Apex method. - - name: number_fields - type: keyword - description: > - The number of fields or columns, where applicable. - - name: number_soql_queries - type: keyword - description: > - The number of SOQL queries that were executed during the event. + description: The name of the calling Apex method. + - name: fields.count + type: long + description: The number of fields or columns, where applicable. + - name: soql_queries.count + type: long + description: The number of SOQL queries that were executed during the event. - name: offset - type: keyword - description: > - Number of rows to skip when paging through a result set. Corresponds to OFFSET in SOQL queries. + type: long + description: Number of rows to skip when paging through a result set. Corresponds to OFFSET in SOQL queries. - name: orderby type: keyword - description: > - Field or column to use for sorting query results, and whether to sort the results in ascending (default) or descending order. Corresponds to ORDER BY in SOQL queries. + description: Field or column to use for sorting query results, and whether to sort the results in ascending (default) or descending order. Corresponds to ORDER BY in SOQL queries. - name: organization_id type: keyword - description: > - The 15-character ID of the organization. + description: The 15-character ID of the organization. - name: query type: keyword - description: > - The SOQL query, if one was performed. + description: The SOQL query, if one was performed. - name: quiddity type: keyword - description: > - The type of outer execution associated with this event. + description: The type of outer execution associated with this event. - name: request.id type: keyword - description: > - The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same REQUEST_ID. + description: The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same REQUEST_ID. - name: request.status type: keyword - description: > - The status of the request for a page view or user interface action. + description: The status of the request for a page view or user interface action. - name: rows.total - type: keyword - description: > - Total number of records in the result set. The value is always -1 if the custom adapter's DataSource.Provider class doesn't declare the QUERY_TOTAL_SIZE capability. + type: long + description: Total number of records in the result set. The value is always -1 if the custom adapter's DataSource.Provider class doesn't declare the QUERY_TOTAL_SIZE capability. - name: rows.fetched - type: keyword - description: > - Number of rows fetched by the callout. Available in API version 42.0 and later. + type: long + description: Number of rows fetched by the callout. Available in API version 42.0 and later. - name: rows.processed - type: keyword - description: > - The number of rows that were processed in the request. + type: long + description: The number of rows that were processed in the request. - name: run_time - type: keyword - description: > - Not used for this event type. Use the TIME field instead. + type: float + description: The amount of time that the request took in milliseconds. + unit: ms + metric_type: gauge - name: select type: keyword - description: > - Comma-separated list of fields being queried. Corresponds to SELECT in SOQL queries. + description: Comma-separated list of fields being queried. Corresponds to SELECT in SOQL queries. - name: subqueries type: keyword - description: > - Reserved for future use. + description: Reserved for future use. - name: throughput - type: keyword - description: > - Number of records retrieved in one second. + type: float + description: Number of records retrieved in one second. + metric_type: gauge - name: trigger type: group fields: - name: id type: keyword - description: > - The 15-character ID of the trigger that was fired. + description: The 15-character ID of the trigger that was fired. - name: name type: keyword - description: > - For triggers coming from managed packages, TRIGGER_NAME includes a namespace prefix separated with a . character. If no namespace prefix is present, the trigger is from an unmanaged trigger. + description: For triggers coming from managed packages, TRIGGER_NAME includes a namespace prefix separated with a . character. If no namespace prefix is present, the trigger is from an unmanaged trigger. - name: type type: keyword - description: > - The type of this trigger. + description: The type of this trigger. - name: type type: keyword - description: > - The type of Apex callout. + description: The type of Apex callout. - name: uri type: keyword - description: > - The URI of the page that's receiving the request. - - name: uri_id_derived + description: The URI of the page that's receiving the request. + - name: uri_derived_id type: keyword - description: > - The 18-character case-safe ID of the URI of the page that's receiving the request. + description: The 18-character case-safe ID of the URI of the page that's receiving the request. - name: user_agent type: keyword - description: > - The numeric code for the type of client used to make the request (for example, the browser, application, or API). + description: The numeric code for the type of client used to make the request (for example, the browser, application, or API). - name: user_id_derived type: keyword - description: > - The 18-character case-safe ID of the user who's using Salesforce services through the UI or the API. + description: The 18-character case-safe ID of the user who's using Salesforce services through the UI or the API. \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/apex/config/apex.yml b/x-pack/filebeat/module/salesforce/apex/config/apex.yml index d9489514913..dc59d3f5d45 100644 --- a/x-pack/filebeat/module/salesforce/apex/config/apex.yml +++ b/x-pack/filebeat/module/salesforce/apex/config/apex.yml @@ -33,13 +33,6 @@ tags: {{.tags | tojson}} publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - add_fields: target: salesforce fields: diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index ea2dedba6d6..eb166e370d6 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -1,13 +1,31 @@ --- description: Pipeline for parsing Salesforce apex logs processors: +- json: + field: message + target_field: json + ignore_failure: true +- set: + field: event.original + value: '{{{message}}}' + ignore_empty_value: true + if: 'ctx.event?.original == null' +- fingerprint: + fields: + - json.REQUEST_ID + - json.SESSION_KEY + - json.TIMESTAMP_DERIVED + - json.USER_ID + target_field: _id + ignore_missing: true +- set: + field: ecs.version + value: "8.5.0" + ignore_failure: true + ignore_empty_value: true - set: field: event.ingested value: '{{_ingest.timestamp}}' -- remove: - field: - - message - ignore_missing: true - set: field: salesforce.apex.document_id copy_from: _id @@ -21,149 +39,275 @@ processors: ignore_failure: true - rename: + field: json.ACTION + target_field: salesforce.apex.action + ignore_missing: true + ignore_failure: true +- convert: field: json.CALLOUT_TIME target_field: salesforce.apex.callout_time + type: float ignore_missing: true + ignore_failure: true +- rename: + field: json.CLASS_NAME + target_field: salesforce.apex.class_name + ignore_missing: true + ignore_failure: true - rename: + field: json.CLIENT_NAME + target_field: salesforce.apex.client_name + ignore_missing: true + ignore_failure: true +- convert: field: json.CPU_TIME target_field: salesforce.apex.cpu_time + type: float ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.DB_BLOCKS target_field: salesforce.apex.db_blocks + type: long ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.DB_CPU_TIME target_field: salesforce.apex.db_cpu_time + type: float ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.DB_TOTAL_TIME - target_field: salesforce.apex.db_total_time + target_field: salesforce.apex.db_time.total + type: float ignore_missing: true + ignore_failure: true +- rename: + field: json.ENTITY + target_field: salesforce.apex.entity + ignore_missing: true + ignore_failure: true - rename: field: json.ENTITY_NAME target_field: salesforce.apex.entity_name ignore_missing: true + ignore_failure: true - rename: field: json.ENTRY_POINT target_field: salesforce.apex.entry_point ignore_missing: true + ignore_failure: true - rename: field: json.EVENT_TYPE target_field: salesforce.apex.event_type ignore_missing: true + ignore_failure: true +- convert: + field: json.EXECUTE_MS + target_field: salesforce.apex.execute.ms + type: float + ignore_missing: true + ignore_failure: true +- convert: + field: json.FETCH_MS + target_field: salesforce.apex.fetch.ms + type: long + ignore_missing: true + ignore_failure: true +- rename: + field: json.FILTER + target_field: salesforce.apex.filter + ignore_missing: true + ignore_failure: true - rename: field: json.IS_LONG_RUNNING_REQUEST target_field: salesforce.apex.is_long_running_request ignore_missing: true + ignore_failure: true - rename: field: json.LOGIN_KEY target_field: salesforce.apex.login_key ignore_missing: true + ignore_failure: true +- convert: + field: json.LIMIT + target_field: salesforce.apex.limit + type: long + ignore_missing: true + ignore_failure: true +- convert: + field: json.LIMIT_USAGE_PERCENT + target_field: salesforce.apex.limit_usage.pct + type: float + ignore_missing: true + ignore_failure: true - rename: field: json.MEDIA_TYPE target_field: salesforce.apex.media_type ignore_missing: true + ignore_failure: true +- rename: + field: json.MESSAGE + target_field: salesforce.apex.message + ignore_missing: true + ignore_failure: true - rename: field: json.METHOD_NAME target_field: salesforce.apex.method_name ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.NUMBER_FIELDS - target_field: salesforce.apex.number_fields + target_field: salesforce.apex.fields.count + type: long ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.NUMBER_SOQL_QUERIES - target_field: salesforce.apex.number_soql_queries + target_field: salesforce.apex.soql_queries.count + type: long ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.OFFSET target_field: salesforce.apex.offset + type: long ignore_missing: true + ignore_failure: true - rename: field: json.ORDERBY target_field: salesforce.apex.orderby ignore_missing: true + ignore_failure: true - rename: field: json.ORGANIZATION_ID target_field: salesforce.apex.organization_id ignore_missing: true + ignore_failure: true - rename: field: json.QUERY target_field: salesforce.apex.query ignore_missing: true + ignore_failure: true - rename: field: json.QUIDDITY target_field: salesforce.apex.quiddity ignore_missing: true + ignore_failure: true - rename: field: json.REQUEST_ID target_field: salesforce.apex.request.id ignore_missing: true + ignore_failure: true - rename: field: json.REQUEST_STATUS target_field: salesforce.apex.request.status ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.ROWS target_field: salesforce.apex.rows.total + type: long ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.ROWS_FETCHED target_field: salesforce.apex.rows.fetched + type: long ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.ROWS_PROCESSED target_field: salesforce.apex.rows.processed + type: long ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.RUN_TIME target_field: salesforce.apex.run_time + type: float ignore_missing: true + ignore_failure: true - rename: field: json.SELECT target_field: salesforce.apex.select ignore_missing: true + ignore_failure: true - rename: field: json.SUBQUERIES target_field: salesforce.apex.subqueries ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.THROUGHPUT target_field: salesforce.apex.throughput + type: float ignore_missing: true + ignore_failure: true - rename: field: json.TRIGGER_ID target_field: salesforce.apex.trigger.id ignore_missing: true + ignore_failure: true - rename: field: json.TRIGGER_NAME target_field: salesforce.apex.trigger.name ignore_missing: true + ignore_failure: true - rename: field: json.TRIGGER_TYPE target_field: salesforce.apex.trigger.type ignore_missing: true + ignore_failure: true - rename: field: json.TYPE target_field: salesforce.apex.type ignore_missing: true + ignore_failure: true - rename: field: json.URI target_field: salesforce.apex.uri ignore_missing: true + ignore_failure: true - rename: field: json.URI_ID_DERIVED - target_field: salesforce.apex.uri_id_derived + target_field: salesforce.apex.uri_derived_id ignore_missing: true + ignore_failure: true - rename: field: json.USER_AGENT target_field: salesforce.apex.user_agent ignore_missing: true + ignore_failure: true +- script: + description: Set request user agent value from user agent numeric code. + lang: painless + ignore_failure: true + source: | + Map map = new HashMap(); + map.put("100", "Internet Explorer"); + map.put("110", "Firefox"); + map.put("130", "Chrome"); + map.put("140", "Safari"); + map.put("150", "Opera"); + map.put("160", "Android"); + map.put("170", "Netscape"); + map.put("180", "Webkit"); + map.put("190", "Gecko"); + map.put("230", "Blackberry"); + map.put("240", "Good Access"); + map.put("999", "Unknown"); + String temp = map.get(ctx.salesforce.apex.user_agent.substring(0,3)); + if (temp != null) { + ctx.salesforce.apex.user_agent = temp; + } + if: 'ctx.salesforce?.apex?.user_agent != null' - rename: field: json.USER_ID_DERIVED target_field: salesforce.apex.user_id_derived ignore_missing: true + ignore_failure: true ####################### ## ECS Event Mapping ## @@ -183,76 +327,83 @@ processors: field: event.type value: "connection" if: 'ctx?.salesforce?.apex?.event_type != "ApexExecution"' + ignore_failure: true + ignore_empty_value: true - set: field: event.category - value: "network" + value: ["network"] if: 'ctx?.salesforce?.apex?.event_type != "ApexTrigger" && ctx?.salesforce?.apex?.event_type != "ApexExecution"' + ignore_failure: true + ignore_empty_value: true - script: - if: ctx?.salesforce?.apex?.event_type != null && ctx?.salesforce?.apex?.event_type != "" - lang: painless - source: | + description: Set event.action field based on the type of Apex event received. + if: ctx?.salesforce?.apex?.event_type != null && ctx?.salesforce?.apex?.event_type != "" + lang: painless + source: | def eventType = ctx?.salesforce?.apex?.event_type?.toLowerCase(); Map referenceTable = [ - "apexcallout": "apex-callout", - "apextrigger": "apex-trigger", - "apexexecution": "apex-execution", - "apexrestApi": "apex-rest", - "apexsoap": "apex-soap", - "externalcustomapexcallout": ["apex-external-custom-callout"] + "apexcallout": "apex-callout", + "apextrigger": "apex-trigger", + "apexexecution": "apex-execution", + "apexrestApi": "apex-rest", + "apexsoap": "apex-soap", + "externalcustomapexcallout": ["apex-external-custom-callout"] ]; - ctx.event.action = referenceTable[eventType]; -- rename: +- convert: field: json.TIME target_field: event.duration - if: 'ctx?.salesforce?.apex?.event_type == "ApexCallout" && ctx?.json?.TIME != ""' -- rename: + type: long + if: 'ctx.salesforce?.apex?.event_type == "ApexCallout" && ctx.json?.TIME != ""' + ignore_failure: true +- convert: field: json.EXEC_TIME target_field: event.duration - if: '(ctx?.salesforce?.apex?.event_type == "ApexTrigger" || ctx?.salesforce?.apex?.event_type == "ApexExecution") && ctx?.json?.EXEC_TIME != ""' -- rename: + type: long + if: '(ctx.salesforce?.apex?.event_type == "ApexTrigger" || ctx.salesforce?.apex?.event_type == "ApexExecution") && ctx.json?.EXEC_TIME != ""' + ignore_failure: true +- convert: field: salesforce.apex.run_time target_field: event.duration - if: '(ctx?.salesforce?.apex?.event_type == "ApexRestApi" || ctx?.salesforce?.apex?.event_type == "ApexSoap") && ctx?.salesforce?.apex?.run_time != ""' -- rename: + type: float + if: '(ctx.salesforce?.apex?.event_type == "ApexRestApi" || ctx.salesforce?.apex?.event_type == "ApexSoap") && ctx.salesforce?.apex?.run_time != ""' + ignore_failure: true +- convert: field: json.TOTAL_MS target_field: event.duration - if: 'ctx?.salesforce?.apex?.event_type == "ExternalCustomApexCallout" && ctx?.json?.TOTAL_MS != ""' - -- set: - field: event.outcome - value: success - if: 'ctx?.json?.SUCCESS == "1" && ctx?.json?.SUCCESS != null' - ignore_failure: true -- set: - field: event.outcome - value: failure - if: 'ctx?.json?.SUCCESS != "1" && ctx?.json?.SUCCESS != null' + type: long + if: 'ctx.salesforce?.apex?.event_type == "ExternalCustomApexCallout" && ctx.json?.TOTAL_MS != ""' ignore_failure: true + + - set: field: event.outcome - value: success - if: 'ctx?.json?.STATUS == "1" && ctx?.json?.STATUS != null' + value: "success" + if: '(ctx.json?.SUCCESS == "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS == "1" && ctx.json?.STATUS != null)' ignore_failure: true + ignore_empty_value: true - set: field: event.outcome - value: failure - if: 'ctx?.json?.STATUS != "1" && ctx?.json?.STATUS != null' + value: "failure" + if: '(ctx.json?.SUCCESS != "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS != "1" && ctx.json?.STATUS != null)' ignore_failure: true + ignore_empty_value: true - rename: field: json.URL target_field: event.url + if: 'ctx.salesforce?.apex?.event_type == "ApexCallout"' ignore_missing: true - if: 'ctx?.salesforce?.apex?.event_type == "ApexCallout"' + ignore_failure: true - rename: field: salesforce.apex.uri target_field: event.url + if: 'ctx.salesforce?.apex?.event_type != "ApexCallout" && ctx.salesforce?.apex?.event_type != "ExternalCustomApexCallout"' ignore_missing: true - if: 'ctx?.salesforce?.apex?.event_type != "ApexCallout" && ctx?.salesforce?.apex?.event_type != "ExternalCustomApexCallout"' + ignore_failure: true ###################### ## ECS User Mapping ## @@ -262,9 +413,15 @@ processors: field: json.USER_ID target_field: user.id ignore_missing: true -- rename: + ignore_failure: true +- set: + value: ["{{{json.USER_TYPE}}}"] + field: user.roles + ignore_failure: true + ignore_empty_value: true +- remove: field: json.USER_TYPE - target_field: user.roles + ignore_failure: true ignore_missing: true ######################## @@ -275,8 +432,9 @@ processors: - rename: field: json.CLIENT_IP target_field: source.ip + if: 'ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != "" && ctx.json?.CLIENT_IP != null' ignore_missing: true - if: 'ctx?.json?.CLIENT_IP != "Salesforce.com IP" && ctx?.json?.CLIENT_IP != "" && ctx?.json?.CLIENT_IP != null' + ignore_failure: true ############################ ## ECS Source.Geo Mapping ## @@ -286,8 +444,9 @@ processors: - geoip: field: source.ip target_field: source.geo + if: 'ctx.source?.ip != "Salesforce.com IP" && ctx.source?.ip != "" && ctx.source?.ip != null' ignore_missing: true - if: 'ctx?.source?.ip != "Salesforce.com IP" && ctx?.source?.ip != "" && ctx?.source?.ip != null' + ignore_failure: true ############################ ## ECS Related.ip Mapping ## @@ -308,18 +467,25 @@ processors: field: json.METHOD target_field: http.request.method ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.REQUEST_SIZE target_field: http.request.bytes + type: long ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.RESPONSE_SIZE target_field: http.response.bytes + type: long ignore_missing: true -- rename: + ignore_failure: true +- convert: field: json.STATUS_CODE target_field: http.response.status_code + type: long ignore_missing: true + ignore_failure: true ############# ## Cleanup ## @@ -345,6 +511,13 @@ processors: - remove: field: - json + - message + ignore_missing: true + ignore_failure: true +- remove: + field: event.original + if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" + ignore_failure: true ignore_missing: true on_failure: - set: diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index eee4d645cff..ab9da9b20eb 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } diff --git a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml index 3cb1110e3ca..fecbd0af232 100644 --- a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml @@ -6,87 +6,75 @@ fields: - name: document_id type: keyword - description: > - Unique Id. + description: Unique Id. - name: application type: keyword - description: > - The application used to access the org. Possible values include: AppExchange, Browser, Salesforce for iOS, Salesforce Developers API Explorer, N/A + description: The application used to access the organization. - name: api type: group fields: - name: type type: keyword - description: > - The type of Salesforce API request. + description: The type of Salesforce API request. - name: version type: keyword - description: > - The version of the Salesforce API that's being used. + description: The version of the Salesforce API that's being used. - name: auth type: group fields: - name: service_id type: keyword - description: > - The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. + description: The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. - name: method_reference type: keyword - description: > - The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. + description: The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. - name: login_key type: keyword - description: > - The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. + description: The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. - name: client_version type: keyword - description: > - The version number of the login client. If no version number is available, “Unknown” is returned. + description: The version number of the login client. If no version number is available, “Unknown” is returned. - name: client_ip type: keyword - description: > - The IP address of the client that’s using Salesforce services. A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP”. + description: The IP address of the client that’s using Salesforce services. A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP”. - name: cpu_time - type: keyword - description: > - The CPU time in milliseconds used to complete the request. This field indicates the amount of activity taking place in the app server layer. - - name: db_total.time - type: keyword - description: > - The time in nanoseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and DB_CPU_TIME. Compare this field to CPU_TIME to determine whether performance issues are occurring in the database layer or in your own code. + type: long + description: The CPU time in milliseconds used to complete the request. This field indicates the amount of activity taking place in the app server layer. + metric_type: gauge + unit: ms + - name: db_time.total + type: double + description: The time in milliseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and db_time.total. Compare this field to cpu_time to determine whether performance issues are occurring in the database layer or in your own code. + metric_type: gauge + unit: ms - name: event_type type: keyword - description: > - The type of event. The value is always Login. + description: The type of event. The value is always Login. - name: organization_id type: keyword - description: > - The 15-character ID of the organization. + description: The 15-character ID of the organization. - name: request_id type: keyword - description: > - The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same REQUEST_ID. + description: The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same REQUEST_ID. - name: request_status type: keyword - description: > - The status of the request for a page view or user interface action. + description: The status of the request for a page view or user interface action. - name: run_time - type: keyword - description: > - The amount of time that the request took in milliseconds. + type: long + description: The amount of time that the request took in milliseconds. + metric_type: gauge + unit: ms - name: uri_id_derived type: keyword - description: > - The 18-character case insensitive ID of the URI of the page that’s receiving the request. + description: The 18-character case insensitive ID of the URI of the page that’s receiving the request. - name: user_id_derived type: keyword - description: > - The 18-character case insensitive ID of the user who’s using Salesforce services through the UI or the API. + description: The 18-character case insensitive ID of the user who’s using Salesforce services through the UI or the API. - name: evaluation_time - type: keyword - description: > - The amount of time it took to evaluate the transaction security policy, in milliseconds. + type: float + description: The amount of time it took to evaluate the transaction security policy, in milliseconds. + metric_type: gauge + unit: ms - name: login_type type: keyword - description: > - The type of login used to access the session. + description: The type of login used to access the session. diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml index 1301f55f200..200b1d4467e 100644 --- a/x-pack/filebeat/module/salesforce/login/config/login.yml +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -41,13 +41,6 @@ tags: {{.tags | tojson}} publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - add_fields: target: salesforce fields: diff --git a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml index a84d768cbb2..b9e8c6cdc17 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml @@ -92,19 +92,19 @@ processors: ignore_missing: true - convert: field: json.RUN_TIME - type: float + type: long target_field: salesforce.login.run_time ignore_failure: true ignore_missing: true - convert: field: json.CPU_TIME - type: float + type: long target_field: salesforce.login.cpu_time ignore_failure: true ignore_missing: true - convert: field: json.DB_TOTAL_TIME - type: float + type: long target_field: salesforce.login.db_time.total ignore_failure: true ignore_missing: true diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml index 5064b0d3624..56a6dd0a40e 100644 --- a/x-pack/filebeat/module/salesforce/logout/config/logout.yml +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -41,13 +41,6 @@ tags: {{.tags | tojson}} publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - add_fields: target: salesforce fields: diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml index 7dac61ee8e7..3c65ed2e715 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -33,13 +33,6 @@ tags: {{.tags | tojson}} publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: - - decode_json_fields: - fields: [message] - target: "json" - - add_fields: - target: '' - fields: - ecs.version: 1.12.0 - add_fields: target: salesforce fields: diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index 2e5029c99a3..f7776e8e3b7 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -1,6 +1,10 @@ --- description: Pipeline for parsing Salesforce SetupAuditTrail logs processors: +- json: + field: message + target_field: json + ignore_failure: true - set: field: event.ingested value: '{{_ingest.timestamp}}' @@ -8,6 +12,7 @@ processors: field: message target_field: event.original ignore_missing: true + if: 'ctx.event?.original == null' - set: field: salesforce.setup_audit_trail.document_id copy_from: _id @@ -57,18 +62,26 @@ processors: ## ECS Event Mapping ## ####################### +- set: + field: ecs.version + value: "8.5.0" + ignore_failure: true + ignore_empty_value: true - rename: field: json.Id target_field: event.id ignore_missing: true + ignore_failure: true - rename: field: json.Action target_field: event.action ignore_missing: true + ignore_failure: true - rename: field: json.attributes.url target_field: event.url - ignore_missing: true + ignore_missing: true + ignore_failure: true - date: field: json.CreatedDate target_field: event.created @@ -77,16 +90,24 @@ processors: ignore_failure: true - set: field: event.type - value: "admin" + value: ["admin"] + ignore_failure: true + ignore_empty_value: true - set: field: event.kind value: "event" + ignore_failure: true + ignore_empty_value: true - set: field: event.dataset value: "salesforce.setupaudittrail" + ignore_failure: true + ignore_empty_value: true - set: field: event.module value: "salesforce" + ignore_failure: true + ignore_empty_value: true ###################### ## ECS User Mapping ## From 424673b5effbc094d7179d2320cf344eec457b00 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 4 Apr 2024 01:34:09 +0530 Subject: [PATCH 116/172] Fix and improve ingest pipelines --- .../salesforce/apex/ingest/pipeline.yml | 138 +++++++++--------- .../salesforce/login/ingest/default.yml | 76 +++++----- .../salesforce/login/ingest/eventlogfile.yml | 68 ++++----- .../module/salesforce/login/ingest/object.yml | 58 ++++---- .../salesforce/logout/ingest/object.yml | 25 +++- .../setupaudittrail/ingest/pipeline.yml | 75 ++++++---- 6 files changed, 228 insertions(+), 212 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index eb166e370d6..db8ec1aa493 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -7,7 +7,7 @@ processors: ignore_failure: true - set: field: event.original - value: '{{{message}}}' + copy_from: message ignore_empty_value: true if: 'ctx.event?.original == null' - fingerprint: @@ -17,6 +17,7 @@ processors: - json.TIMESTAMP_DERIVED - json.USER_ID target_field: _id + ignore_failure: true ignore_missing: true - set: field: ecs.version @@ -25,7 +26,7 @@ processors: ignore_empty_value: true - set: field: event.ingested - value: '{{_ingest.timestamp}}' + copy_from: _ingest.timestamp - set: field: salesforce.apex.document_id copy_from: _id @@ -283,26 +284,26 @@ processors: - script: description: Set request user agent value from user agent numeric code. lang: painless + params: + user_agent_map: + "100": "Internet Explorer" + "110": "Firefox" + "130": "Chrome" + "140": "Safari" + "150": "Opera" + "160": "Android" + "170": "Netscape" + "180": "Webkit" + "190": "Gecko" + "230": "Blackberry" + "240": "Good Access" + "999": "Unknown" + if: 'ctx.salesforce?.apex?.user_agent != null' ignore_failure: true source: | - Map map = new HashMap(); - map.put("100", "Internet Explorer"); - map.put("110", "Firefox"); - map.put("130", "Chrome"); - map.put("140", "Safari"); - map.put("150", "Opera"); - map.put("160", "Android"); - map.put("170", "Netscape"); - map.put("180", "Webkit"); - map.put("190", "Gecko"); - map.put("230", "Blackberry"); - map.put("240", "Good Access"); - map.put("999", "Unknown"); - String temp = map.get(ctx.salesforce.apex.user_agent.substring(0,3)); - if (temp != null) { - ctx.salesforce.apex.user_agent = temp; - } - if: 'ctx.salesforce?.apex?.user_agent != null' + if (params.user_agent_map.containsKey(ctx.salesforce.apex.user_agent.substring(0,3))) { + ctx.salesforce.apex.user_agent = params.user_agent_map[ctx.salesforce.apex.user_agent.substring(0,3)]; + } - rename: field: json.USER_ID_DERIVED target_field: salesforce.apex.user_id_derived @@ -313,97 +314,95 @@ processors: ## ECS Event Mapping ## ####################### -- set: - field: event.dataset - value: "salesforce.apex" - set: field: event.kind - value: "event" -- set: - field: event.module - value: "salesforce" - + value: event + if: ctx.event?.kind == null - set: field: event.type - value: "connection" - if: 'ctx?.salesforce?.apex?.event_type != "ApexExecution"' + value: connection + if: ctx.salesforce?.apex?.event_type != "ApexExecution" ignore_failure: true - ignore_empty_value: true - -- set: +- append: field: event.category - value: ["network"] - if: 'ctx?.salesforce?.apex?.event_type != "ApexTrigger" && ctx?.salesforce?.apex?.event_type != "ApexExecution"' + value: network + if: ctx.salesforce?.apex?.event_type != "ApexTrigger" && ctx.salesforce?.apex?.event_type != "ApexExecution" + allow_duplicates: false ignore_failure: true - ignore_empty_value: true - - script: description: Set event.action field based on the type of Apex event received. - if: ctx?.salesforce?.apex?.event_type != null && ctx?.salesforce?.apex?.event_type != "" + if: ctx.salesforce?.apex?.event_type != null lang: painless + ignore_failure: true + params: + event_action_map: + apexcallout: apex-callout + apextrigger: apex-trigger + apexexecution: apex-execution + apexrestapi: apex-rest + apexsoap: apex-soap + externalcustomapexcallout: apex-external-custom-callout source: | - def eventType = ctx?.salesforce?.apex?.event_type?.toLowerCase(); - Map referenceTable = [ - "apexcallout": "apex-callout", - "apextrigger": "apex-trigger", - "apexexecution": "apex-execution", - "apexrestApi": "apex-rest", - "apexsoap": "apex-soap", - "externalcustomapexcallout": ["apex-external-custom-callout"] - ]; - ctx.event.action = referenceTable[eventType]; - + def eventType = ctx?.salesforce?.apex?.event_type?.toLowerCase(); + if (params.event_action_map.containsKey(eventType)) { + ctx.event.action = params.event_action_map[eventType]; + } - convert: field: json.TIME target_field: event.duration type: long - if: 'ctx.salesforce?.apex?.event_type == "ApexCallout" && ctx.json?.TIME != ""' + if: ctx.salesforce?.apex?.event_type == "ApexCallout" && ctx.json?.TIME != null ignore_failure: true - convert: field: json.EXEC_TIME target_field: event.duration type: long - if: '(ctx.salesforce?.apex?.event_type == "ApexTrigger" || ctx.salesforce?.apex?.event_type == "ApexExecution") && ctx.json?.EXEC_TIME != ""' + if: (ctx.salesforce?.apex?.event_type == "ApexTrigger" || ctx.salesforce?.apex?.event_type == "ApexExecution") && ctx.json?.EXEC_TIME != null ignore_failure: true - convert: field: salesforce.apex.run_time target_field: event.duration type: float - if: '(ctx.salesforce?.apex?.event_type == "ApexRestApi" || ctx.salesforce?.apex?.event_type == "ApexSoap") && ctx.salesforce?.apex?.run_time != ""' + if: (ctx.salesforce?.apex?.event_type == "ApexRestApi" || ctx.salesforce?.apex?.event_type == "ApexSoap") && ctx.salesforce?.apex?.run_time != null ignore_failure: true - convert: field: json.TOTAL_MS target_field: event.duration type: long - if: 'ctx.salesforce?.apex?.event_type == "ExternalCustomApexCallout" && ctx.json?.TOTAL_MS != ""' + if: ctx.salesforce?.apex?.event_type == "ExternalCustomApexCallout" && ctx.json?.TOTAL_MS != null ignore_failure: true - - set: field: event.outcome - value: "success" - if: '(ctx.json?.SUCCESS == "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS == "1" && ctx.json?.STATUS != null)' + value: success + if: (ctx.json?.SUCCESS == "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS == "1" && ctx.json?.STATUS != null) ignore_failure: true - ignore_empty_value: true - set: field: event.outcome - value: "failure" - if: '(ctx.json?.SUCCESS != "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS != "1" && ctx.json?.STATUS != null)' + value: failure + if: (ctx.json?.SUCCESS != "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS != "1" && ctx.json?.STATUS != null) ignore_failure: true - ignore_empty_value: true - rename: field: json.URL target_field: event.url - if: 'ctx.salesforce?.apex?.event_type == "ApexCallout"' + if: ctx.salesforce?.apex?.event_type == "ApexCallout" ignore_missing: true ignore_failure: true - rename: field: salesforce.apex.uri target_field: event.url - if: 'ctx.salesforce?.apex?.event_type != "ApexCallout" && ctx.salesforce?.apex?.event_type != "ExternalCustomApexCallout"' + if: ctx.salesforce?.apex?.event_type != "ApexCallout" && ctx.salesforce?.apex?.event_type != "ExternalCustomApexCallout" ignore_missing: true ignore_failure: true +- set: + field: event.dataset + value: salesforce.apex + if: ctx.event?.dataset == null +- set: + field: event.module + value: salesforce + if: ctx.event?.module == null ###################### ## ECS User Mapping ## @@ -414,25 +413,24 @@ processors: target_field: user.id ignore_missing: true ignore_failure: true -- set: - value: ["{{{json.USER_TYPE}}}"] +- append: field: user.roles + value: "{{{json.USER_TYPE}}}" + allow_duplicates: false ignore_failure: true - ignore_empty_value: true - remove: field: json.USER_TYPE - ignore_failure: true ignore_missing: true ######################## ## ECS Source Mapping ## ######################## -# A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP” +# A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" - rename: field: json.CLIENT_IP target_field: source.ip - if: 'ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != "" && ctx.json?.CLIENT_IP != null' + if: ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != null ignore_missing: true ignore_failure: true @@ -440,11 +438,11 @@ processors: ## ECS Source.Geo Mapping ## ############################ -# A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP” +# A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" - geoip: field: source.ip target_field: source.geo - if: 'ctx.source?.ip != "Salesforce.com IP" && ctx.source?.ip != "" && ctx.source?.ip != null' + if: ctx.source?.ip != "Salesforce.com IP" && ctx.source?.ip != null ignore_missing: true ignore_failure: true diff --git a/x-pack/filebeat/module/salesforce/login/ingest/default.yml b/x-pack/filebeat/module/salesforce/login/ingest/default.yml index 0f2034d6d04..de05a712a2b 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/default.yml @@ -7,7 +7,7 @@ processors: ignore_failure: true - set: field: event.original - value: '{{{message}}}' + copy_from: message ignore_empty_value: true if: 'ctx.event?.original == null' - set: @@ -20,6 +20,7 @@ processors: - json.TIMESTAMP_DERIVED - json.USER_ID target_field: _id + ignore_failure: true ignore_missing: true - set: field: ecs.version @@ -30,90 +31,89 @@ processors: field: salesforce.login.document_id copy_from: _id ignore_empty_value: true - - pipeline: - if: ctx.event.provider == "Object" + if: ctx.event?.provider == "Object" name: '{< IngestPipeline "object" >}' + ignore_missing_pipeline: true - pipeline: - if: ctx.event.provider == "EventLogFile" + if: ctx.event?.provider == "EventLogFile" name: '{< IngestPipeline "eventlogfile" >}' - -- set: - field: event.type - value: ["info"] - ignore_failure: true - ignore_empty_value: true + ignore_missing_pipeline: true - set: field: event.kind value: event ignore_failure: true - ignore_empty_value: true + if: ctx.event?.kind == null +- set: + field: event.type + value: ["info"] + ignore_failure: true + if: ctx.event?.type == null - set: field: event.action value: login-attempt ignore_failure: true - ignore_empty_value: true + if: ctx.event?.action == null - set: field: event.category - value: [authentication] + value: authentication ignore_failure: true - ignore_empty_value: true + if: ctx.event?.category == null - set: field: event.dataset value: salesforce.login ignore_failure: true - ignore_empty_value: true + if: ctx.event?.dataset == null - set: field: event.module - value: "salesforce" + value: salesforce ignore_failure: true - ignore_empty_value: true + if: ctx.event?.module == null - append: field: related.ip value: '{{{source.ip}}}' - if: ctx?.source?.ip != null allow_duplicates: false ignore_failure: true + if: ctx.source?.ip != null - append: field: related.ip value: '{{{salesforce.login.client_ip}}}' - if: 'ctx.salesforce?.login?.client_ip != "Salesforce.com IP" && ctx.salesforce?.login?.client_ip != null' allow_duplicates: false ignore_failure: true - + if: ctx.salesforce?.login?.client_ip != null && ctx.salesforce.login.client_ip != "Salesforce.com IP" - remove: field: event.original - if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" ignore_failure: true - ignore_missing: true + if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" - script: description: Drops null/empty values recursively. lang: painless + ignore_failure: true source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return (((Map) object).size() == 0); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return (((List) object).length == 0); - } - return false; + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return ((Map) object).isEmpty(); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return ((List) object).isEmpty(); } - dropEmptyFields(ctx); + return false; + } + dropEmptyFields(ctx); - remove: field: - - json - - message - ignore_failure: true + - json + - message ignore_missing: true on_failure: - set: field: event.kind value: pipeline_error + override: true - append: field: error.message - value: '{{{ _ingest.on_failure_message }}}' + value: '{{{ _ingest.on_failure_message }}}' \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml index b9e8c6cdc17..d1afee69ebe 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml @@ -15,25 +15,23 @@ processors: - script: description: Set api type value from api type character. lang: painless + params: + api_type_map: + D: "Apex Class" + E: "SOAP Enterprise" + I: "SOAP Cross Instance" + M: "SOAP Metadata" + O: "Old SOAP" + P: "SOAP Partner" + S: "SOAP Apex" + T: "SOAP Tooling" + X: "XmlRPC" + f: "Feed" + l: "Live Agent" + p: "SOAP ClientSync" ignore_failure: true source: | - Map map = new HashMap(); - map.put("D", "Apex Class"); - map.put("E", "SOAP Enterprise"); - map.put("I", "SOAP Cross Instance"); - map.put("M", "SOAP Metadata"); - map.put("O", "Old SOAP"); - map.put("P", "SOAP Partner"); - map.put("S", "SOAP Apex"); - map.put("T", "SOAP Tooling"); - map.put("X", "XmlRPC"); - map.put("f", "Feed"); - map.put("l", "Live Agent"); - map.put("p", "SOAP ClientSync"); - String temp = map.get(ctx.salesforce?.login?.api?.type); - if (temp != null) { - ctx.salesforce.login.api.type = temp; - } + ctx.salesforce.login.api.type = params.api_type_map.getOrDefault(ctx.salesforce?.login?.api?.type, ctx.salesforce.login.api.type); - rename: field: json.AUTHENTICATION_METHOD_REFERENCE target_field: salesforce.login.auth.service_id @@ -47,19 +45,17 @@ processors: - script: description: Set request status value from request status character. lang: painless + params: + request_status_map: + S: "Success" + F: "Failure" + U: "Undefined" + A: "Authorization Error" + R: "Redirect" + N: "Not Found" ignore_failure: true source: | - Map map = new HashMap(); - map.put("S", "Success"); - map.put("F", "Failure"); - map.put("U", "Undefined"); - map.put("A", "Authorization Error"); - map.put("R", "Redirect"); - map.put("N", "Not Found"); - String temp = map.get(ctx.salesforce?.login?.request_status); - if (temp != null) { - ctx.salesforce.login.request_status = temp; - } + ctx.salesforce.login.request_status = params.request_status_map.getOrDefault(ctx.salesforce?.login?.request_status, ctx.salesforce.login.request_status); - rename: field: json.API_VERSION target_field: salesforce.login.api.version @@ -113,12 +109,8 @@ processors: lang: painless ignore_failure: true source: | - def convert(def nanos){ - def ms = (nanos/1000000); - return ms; - } - if(ctx.salesforce?.login?.db_time?.total != null || ctx.salesforce?.login?.db_time?.total != ""){ - ctx.salesforce.login.db_time.total = convert(ctx.salesforce.login.db_time.total); + if (ctx.salesforce?.login?.db_time?.total != null) { + ctx.salesforce.login.db_time.total = ctx.salesforce.login.db_time.total / 1000000; } - rename: field: json.CLIENT_IP @@ -163,9 +155,9 @@ processors: ignore_failure: true ignore_empty_value: true - remove: - field: json.USER_TYPE - ignore_failure: true - ignore_missing: true + field: json.USER_TYPE + ignore_failure: true + ignore_missing: true - rename: field: json.SOURCE_IP target_field: source.ip @@ -199,4 +191,4 @@ on_failure: value: pipeline_error - append: field: error.message - value: '{{{ _ingest.on_failure_message }}}' + value: '{{{ _ingest.on_failure_message }}}' \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/login/ingest/object.yml b/x-pack/filebeat/module/salesforce/login/ingest/object.yml index fefd86cd5fa..2ef952739b4 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/object.yml @@ -6,7 +6,10 @@ processors: target_field: "@timestamp" formats: - ISO8601 - ignore_failure: true + on_failure: + - append: + field: error.message + value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" - rename: field: json.AuthServiceId target_field: salesforce.login.auth.service_id @@ -14,7 +17,7 @@ processors: ignore_missing: true - convert: field: json.EvaluationTime - type: float + type: double target_field: salesforce.login.evaluation_time ignore_failure: true ignore_missing: true @@ -23,11 +26,6 @@ processors: target_field: salesforce.login.client_version ignore_failure: true ignore_missing: true -- rename: - field: cometd.channel_name - target_field: salesforce.login.channel_name - ignore_failure: true - ignore_missing: true - rename: field: json.LoginGeoId target_field: salesforce.login.geo_id @@ -101,21 +99,22 @@ processors: - set: field: event.outcome value: success - if: 'ctx?.json?.Status == "Success" && ctx?.json?.Status != null' - ignore_failure: true + if: 'ctx.json?.Status == "Success"' ignore_empty_value: true - set: field: event.outcome value: failure - if: 'ctx?.json?.Status != "Success" && ctx?.json?.Status != null' - ignore_failure: true + if: 'ctx.json?.Status != "Success" && ctx.json?.Status != null' ignore_empty_value: true - date: field: json.CreatedDate target_field: event.created - formats: + formats: - ISO8601 - ignore_failure: true + on_failure: + - append: + field: error.message + value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" - rename: field: json.LoginUrl target_field: event.url @@ -132,20 +131,23 @@ processors: ignore_failure: true ignore_missing: true - set: - value: ["{{{json.UserType}}}"] field: user.roles - ignore_failure: true + value: '{{{json.UserType}}}' + if: ctx.json?.UserType != null ignore_empty_value: true - remove: - field: json.UserType - ignore_failure: true - ignore_missing: true + field: json.UserType + ignore_failure: true + ignore_missing: true - convert: field: json.SourceIp - type: ip target_field: source.ip - ignore_missing: true + type: ip ignore_failure: true + on_failure: + - append: + field: error.message + value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" - rename: field: json.LoginLatitude target_field: source.geo.location.lat @@ -203,7 +205,7 @@ processors: ignore_missing: true - rename: field: json.AdditionalInfo - target_field: http.request.body.content + target_field: salesforce.login.additional_info ignore_failure: true ignore_missing: true - rename: @@ -212,15 +214,19 @@ processors: ignore_failure: true ignore_missing: true - dissect: - pattern: "%{tls.version_protocol} %{tls.version}" field: json.TlsProtocol + pattern: '%{tls.version_protocol} %{tls.version}' ignore_failure: true ignore_missing: true + on_failure: + - append: + field: error.message + value: "Failed to dissect TlsProtocol: {{{_ingest.on_failure_message}}}" on_failure: -- set: - field: event.kind - value: pipeline_error - append: field: error.message - value: '{{{ _ingest.on_failure_message }}}' + value: "Pipeline failed to process this event: {{{_ingest.on_failure_message}}}" +- set: + field: event.kind + value: pipeline_error \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml index 6f8db59a2b3..4d13c404f1e 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml @@ -6,23 +6,26 @@ processors: target_field: "@timestamp" formats: - ISO8601 - ignore_failure: true -- rename: + on_failure: + - append: + field: error.message + value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" +- rename: field: json.RelatedEventIdentifier target_field: salesforce.logout.related_event_identifier ignore_missing: true ignore_failure: true -- rename: +- rename: field: json.LoginKey target_field: salesforce.logout.login_key ignore_missing: true ignore_failure: true -- rename: +- rename: field: json.SessionLevel target_field: salesforce.logout.session.level ignore_missing: true ignore_failure: true -- rename: +- rename: field: json.SessionKey target_field: salesforce.logout.session.key ignore_missing: true @@ -30,9 +33,12 @@ processors: - date: field: json.CreatedDate target_field: event.created - formats: + formats: - ISO8601 - ignore_failure: true + on_failure: + - append: + field: error.message + value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" - rename: field: json.Username target_field: user.email @@ -48,7 +54,10 @@ processors: type: ip target_field: source.ip ignore_missing: true - ignore_failure: true + on_failure: + - append: + field: error.message + value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" on_failure: - set: diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index f7776e8e3b7..2beb570f661 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -7,12 +7,19 @@ processors: ignore_failure: true - set: field: event.ingested - value: '{{_ingest.timestamp}}' + copy_from: _ingest.timestamp - rename: field: message target_field: event.original + ignore_failure: true + if: ctx.event?.original == null +- fingerprint: + fields: + - json.Id + - json.CreatedDate + target_field: _id + ignore_failure: true ignore_missing: true - if: 'ctx.event?.original == null' - set: field: salesforce.setup_audit_trail.document_id copy_from: _id @@ -25,38 +32,45 @@ processors: - ISO8601 ignore_failure: true -- rename: - field: json.attributes.type - target_field: salesforce.setup_audit_trail.event_type - ignore_missing: true +- set: + field: salesforce.setup_audit_trail.event_type + copy_from: json.attributes.type + ignore_empty_value: true - rename: field: json.CreatedByContext target_field: salesforce.setup_audit_trail.created_by_context ignore_missing: true + ignore_failure: true - rename: field: json.CreatedById target_field: salesforce.setup_audit_trail.created_by_id ignore_missing: true + ignore_failure: true - rename: field: json.CreatedByIssuer target_field: salesforce.setup_audit_trail.created_by_issuer ignore_missing: true + ignore_failure: true - rename: field: json.DelegateUser target_field: salesforce.setup_audit_trail.delegate_user ignore_missing: true + ignore_failure: true - rename: field: json.Display target_field: salesforce.setup_audit_trail.display ignore_missing: true + ignore_failure: true - rename: field: json.ResponsibleNamespacePrefix target_field: salesforce.setup_audit_trail.responsible_namespace_prefix ignore_missing: true + ignore_failure: true - rename: field: json.Section target_field: salesforce.setup_audit_trail.section ignore_missing: true + ignore_failure: true ####################### ## ECS Event Mapping ## @@ -66,7 +80,6 @@ processors: field: ecs.version value: "8.5.0" ignore_failure: true - ignore_empty_value: true - rename: field: json.Id target_field: event.id @@ -77,37 +90,33 @@ processors: target_field: event.action ignore_missing: true ignore_failure: true -- rename: - field: json.attributes.url - target_field: event.url - ignore_missing: true - ignore_failure: true +- set: + field: event.url + copy_from: json.attributes.url + ignore_empty_value: true - date: field: json.CreatedDate target_field: event.created - formats: + formats: - ISO8601 ignore_failure: true -- set: +- append: field: event.type - value: ["admin"] + value: admin + allow_duplicates: false ignore_failure: true - ignore_empty_value: true - set: field: event.kind - value: "event" - ignore_failure: true - ignore_empty_value: true + value: event + if: ctx.event?.kind == null - set: field: event.dataset - value: "salesforce.setupaudittrail" - ignore_failure: true - ignore_empty_value: true + value: salesforce.setupaudittrail + if: ctx.event?.dataset == null - set: field: event.module - value: "salesforce" - ignore_failure: true - ignore_empty_value: true + value: salesforce + if: ctx.event?.module == null ###################### ## ECS User Mapping ## @@ -116,12 +125,12 @@ processors: - set: field: user.id copy_from: salesforce.setup_audit_trail.created_by_id - ignore_failure: true ignore_empty_value: true - dissect: field: salesforce.setup_audit_trail.display pattern: "For user %{user.name}, %{?}" ignore_failure: true + ignore_missing: true ############# ## Cleanup ## @@ -130,31 +139,33 @@ processors: - script: description: Drops null/empty values recursively lang: painless + ignore_failure: true source: | boolean dropEmptyFields(Object object) { if (object == null || object == "") { return true; } else if (object instanceof Map) { ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return (((Map) object).size() == 0); + return ((Map) object).isEmpty(); } else if (object instanceof List) { ((List) object).removeIf(value -> dropEmptyFields(value)); - return (((List) object).length == 0); + return ((List) object).isEmpty(); } return false; } dropEmptyFields(ctx); - remove: field: - - json - - message + - json + - message ignore_missing: true - remove: field: event.original - if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" + if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" ignore_failure: true ignore_missing: true + on_failure: - set: field: error.message - value: '{{_ingest.on_failure_message}}' + value: '{{ _ingest.on_failure_message }}' \ No newline at end of file From 091a691af56d327edf9e29a8ce52882eb1d8b34b Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 4 Apr 2024 10:57:07 +0530 Subject: [PATCH 117/172] Fix and improve ingest pipelines --- .../module/salesforce/setupaudittrail/ingest/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index 2beb570f661..ca757f70b3c 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -168,4 +168,4 @@ processors: on_failure: - set: field: error.message - value: '{{ _ingest.on_failure_message }}' \ No newline at end of file + value: '{{{ _ingest.on_failure_message }}}' \ No newline at end of file From 3ac4435a2f1de42eb6396f8f6e19e96469bc57df Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Apr 2024 13:21:45 +0530 Subject: [PATCH 118/172] Improve doc --- .../module/salesforce/_meta/docs.asciidoc | 214 +++++++++++------- 1 file changed, 135 insertions(+), 79 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index e2630d05d38..1033cb95a49 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -1,3 +1,5 @@ +Here is the updated asciidoc file with the definitions of `var.authentication.user_password_flow` and `var.authentication.jwt_bearer_flow` added: + [role="xpack"] :modulename: salesforce @@ -5,28 +7,29 @@ == Salesforce module -This is a module for Salesforce logs. -It collects the logs using the following two different types of inputs: - -- `salesforce` input: collects real-time and historical data using Salesforce REST API. +The Salesforce module collects logs from a Salesforce instance using the Salesforce REST API. It supports real-time and historical data collection for various log types including login, logout, Apex, and setup audit trails. -It includes the following filesets for receiving logs: +The module provides the following filesets for receiving logs: -- `login` fileset: supports Salesforce Login logs received from the EventLogFile and Event Monitoring using Salesforce REST API. -- `logout` fileset: supports Salesforce Logout logs received from the EventLogFile and Event Monitoring using Salesforce REST API. -- `apex` fileset: supports Salesforce Apex logs received from the the EventLogFile using Salesforce REST API. -- `setupaudittrail` fileset: supports logs generated when admins make in your org’s Setup area, collected using Salesforce REST API. +- `login` fileset: Collects Salesforce Login logs from EventLogFile and Event Monitoring. +- `logout` fileset: Collects Salesforce Logout logs from EventLogFile and Event Monitoring. +- `apex` fileset: Collects Salesforce Apex logs from EventLogFile. +- `setupaudittrail` fileset: Collects logs generated when admins make changes in your org's Setup area. -Note: -- We can leverage the inputs provided above to collect the rest of the events from the Salesforce REST API. -- The default value of `var.real_time_interval` or `var.elf_interval` is 5m/1h. It is important to exercise caution when reducing the interval, as it directly affects the API rate limit of the Salesforce instance. Salesforce API rate limit is ~1000 API calls per hour. Hence if user goes with lower limit of `var.real_time_interval` or `var.elf_interval`, the Salesforce API rate limit will exceed and any additional API requests beyond the limit will result in an error response from the Salesforce API. The error message will typically indicate that the rate limit has been exceeded. Please refer to the following link for the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit]. +[IMPORTANT] +==== +The default interval for collecting logs (`var.real_time_interval` or `var.elf_interval`) is 5m/1h. Exercise caution when reducing this interval, as it directly impacts the Salesforce API rate limit of ~1000 calls per hour. Exceeding the limit will result in errors from the Salesforce API. Refer to the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit] documentation for more details. +==== include::../include/what-happens.asciidoc[] include::../include/gs-link.asciidoc[] [float] -==== `login` fileset settings +=== Fileset settings + +[float] +==== `login` fileset Example config: @@ -67,7 +70,7 @@ include::../include/var-paths.asciidoc[] *`var.initial_interval`*:: -The initial interval for the `login` fileset. It defines the time window in which the `login` fileset collects logs of historical data. +The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). *`var.api_version`*:: @@ -75,27 +78,35 @@ The API version of the Salesforce instance. *`var.authentication`*:: -Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. +Authentication config for connecting to Salesforce API. Supports JWT or user-password auth flows. + +*`var.authentication.jwt_bearer_flow.enabled`*:: + +Set to true to use JWT authentication. *`var.authentication.jwt_bearer_flow.client.id`*:: -The client id for JWT authentication. +The client ID for JWT authentication. *`var.authentication.jwt_bearer_flow.client.username`*:: -The username used for JWT authentication. +The username for JWT authentication. *`var.authentication.jwt_bearer_flow.client.key_path`*:: -Path to the client key for JWT authentication. +Path to the client key file for JWT authentication. -*`var.authentication.jwt_bearer_flow.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.url`*:: The audience URL for JWT authentication. +*`var.authentication.user_password_flow.enabled`*:: + +Set to true to use user-password authentication. + *`var.authentication.user_password_flow.client.id`*:: -The client id for user-password authentication. +The client ID for user-password authentication. *`var.authentication.user_password_flow.client.secret`*:: @@ -103,42 +114,42 @@ The client secret for user-password authentication. *`var.authentication.user_password_flow.token_url`*:: -The token URL for user-password authentication. +The Salesforce token URL for user-password authentication. *`var.authentication.user_password_flow.username`*:: -The username used for user-password authentication. +The Salesforce username for authentication. *`var.authentication.user_password_flow.password`*:: -The password used for user-password authentication. +The password for the Salesforce user. *`var.url`*:: -The URL of the Saleforce instance. +The URL of the Salesforce instance. *`var.event_log_file`*:: -Set to true to enable event log file data collection. Module will use EventLogFile data collection method. +Set to true to collect logs from EventLogFile (historical data). *`var.elf_interval`*:: -The Period for fetching event log file data, i.e. 1s/1m/1h. +Interval for collecting EventLogFile logs, e.g. 1h or 5m. *`var.log_file_interval`*:: -The interval type of EventLogFile data collection. Either Hourly or Daily. +Either "Hourly" or "Daily". The time interval of each log file from EventLogFile. *`var.real_time`*:: -Set to true to enable real-time data collection. +Set to true to collect real-time data collection. *`var.real_time_interval`*:: -The Period for fetching real-time data, i.e. 1s/1m/1h. +Interval for collecting real-time logs, e.g. 30s or 5m. [float] -==== `logout` fileset settings +==== `logout` fileset Example config: @@ -179,7 +190,7 @@ include::../include/var-paths.asciidoc[] *`var.initial_interval`*:: -The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. +The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). *`var.api_version`*:: @@ -187,27 +198,35 @@ The API version of the Salesforce instance. *`var.authentication`*:: -Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. +Authentication config for connecting to Salesforce API. Supports JWT or user-password auth flows. + +*`var.authentication.jwt_bearer_flow.enabled`*:: + +Set to true to use JWT authentication. *`var.authentication.jwt_bearer_flow.client.id`*:: -The client id for JWT authentication. +The client ID for JWT authentication. *`var.authentication.jwt_bearer_flow.client.username`*:: -The username used for JWT authentication. +The username for JWT authentication. *`var.authentication.jwt_bearer_flow.client.key_path`*:: -Path to the client key for JWT authentication. +Path to the client key file for JWT authentication. -*`var.authentication.jwt_bearer_flow.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.url`*:: The audience URL for JWT authentication. +*`var.authentication.user_password_flow.enabled`*:: + +Set to true to use user-password authentication. + *`var.authentication.user_password_flow.client.id`*:: -The client id for user-password authentication. +The client ID for user-password authentication. *`var.authentication.user_password_flow.client.secret`*:: @@ -215,42 +234,42 @@ The client secret for user-password authentication. *`var.authentication.user_password_flow.token_url`*:: -The token URL for user-password authentication. +The Salesforce token URL for user-password authentication. *`var.authentication.user_password_flow.username`*:: -The username used for user-password authentication. +The Salesforce username for authentication. *`var.authentication.user_password_flow.password`*:: -The password used for user-password authentication. +The password for the Salesforce user. *`var.url`*:: -The URL of the Saleforce instance. +The URL of the Salesforce instance. *`var.event_log_file`*:: -Set to true to enable event log file data collection. Module will use EventLogFile data collection method. +Set to true to collect logs from EventLogFile (historical data). *`var.elf_interval`*:: -The Period for fetching event log file data, i.e. 1s/1m/1h. +Interval for collecting EventLogFile logs, e.g. 1h or 5m. *`var.log_file_interval`*:: -The interval type of EventLogFile data collection. Either Hourly or Daily. +Either "Hourly" or "Daily". The time interval of each log file from EventLogFile. *`var.real_time`*:: -Set to true to enable real-time data collection. +Set to true to collect real-time data collection. *`var.real_time_interval`*:: -The Period for fetching real-time data, i.e. 1s/1m/1h. +Interval for collecting real-time logs, e.g. 30s or 5m. [float] -==== `setupaudittrail` fileset settings +==== `setupaudittrail` fileset Example config: @@ -287,7 +306,7 @@ include::../include/var-paths.asciidoc[] *`var.initial_interval`*:: -The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. +The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). *`var.api_version`*:: @@ -295,27 +314,35 @@ The API version of the Salesforce instance. *`var.authentication`*:: -Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. +Authentication config for connecting to Salesforce API. Supports JWT or user-password auth flows. + +*`var.authentication.jwt_bearer_flow.enabled`*:: + +Set to true to use JWT authentication. *`var.authentication.jwt_bearer_flow.client.id`*:: -The client id for JWT authentication. +The client ID for JWT authentication. *`var.authentication.jwt_bearer_flow.client.username`*:: -The username used for JWT authentication. +The username for JWT authentication. *`var.authentication.jwt_bearer_flow.client.key_path`*:: -Path to the client key for JWT authentication. +Path to the client key file for JWT authentication. -*`var.authentication.jwt_bearer_flow.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.url`*:: The audience URL for JWT authentication. +*`var.authentication.user_password_flow.enabled`*:: + +Set to true to use user-password authentication. + *`var.authentication.user_password_flow.client.id`*:: -The client id for user-password authentication. +The client ID for user-password authentication. *`var.authentication.user_password_flow.client.secret`*:: @@ -323,30 +350,30 @@ The client secret for user-password authentication. *`var.authentication.user_password_flow.token_url`*:: -The token URL for user-password authentication. +The Salesforce token URL for user-password authentication. *`var.authentication.user_password_flow.username`*:: -The username used for user-password authentication. +The Salesforce username for authentication. *`var.authentication.user_password_flow.password`*:: -The password used for user-password authentication. +The password for the Salesforce user. *`var.url`*:: -The URL of the Saleforce instance. +The URL of the Salesforce instance. *`var.real_time`*:: -Set to true to enable real-time data collection. +Set to true to collect real-time data collection. *`var.real_time_interval`*:: -The Period for fetching real-time data, i.e. 1s/1m/1h. +Interval for collecting real-time logs, e.g. 30s or 5m. [float] -==== `apex` fileset settings +==== `apex` fileset Example config: @@ -385,7 +412,7 @@ include::../include/var-paths.asciidoc[] *`var.initial_interval`*:: -The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. +The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). *`var.api_version`*:: @@ -393,27 +420,35 @@ The API version of the Salesforce instance. *`var.authentication`*:: -Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. +Authentication config for connecting to Salesforce API. Supports JWT or user-password auth flows. + +*`var.authentication.jwt_bearer_flow.enabled`*:: + +Set to true to use JWT authentication. *`var.authentication.jwt_bearer_flow.client.id`*:: -The client id for JWT authentication. +The client ID for JWT authentication. *`var.authentication.jwt_bearer_flow.client.username`*:: -The username used for JWT authentication. +The username for JWT authentication. *`var.authentication.jwt_bearer_flow.client.key_path`*:: -Path to the client key for JWT authentication. +Path to the client key file for JWT authentication. -*`var.authentication.jwt_bearer_flow.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.url`*:: The audience URL for JWT authentication. +*`var.authentication.user_password_flow.enabled`*:: + +Set to true to use user-password authentication. + *`var.authentication.user_password_flow.client.id`*:: -The client id for user-password authentication. +The client ID for user-password authentication. *`var.authentication.user_password_flow.client.secret`*:: @@ -421,43 +456,64 @@ The client secret for user-password authentication. *`var.authentication.user_password_flow.token_url`*:: -The token URL for user-password authentication. +The Salesforce token URL for user-password authentication. *`var.authentication.user_password_flow.username`*:: -The username used for user-password authentication. +The Salesforce username for authentication. *`var.authentication.user_password_flow.password`*:: -The password used for user-password authentication. +The password for the Salesforce user. *`var.url`*:: -The URL of the Saleforce instance. +The URL of the Salesforce instance. *`var.event_log_file`*:: -Set to true to enable event log file data collection. Module will use EventLogFile data collection method. +Set to true to collect logs from EventLogFile (historical data). *`var.elf_interval`*:: -The Period for fetching event log file data, i.e. 1s/1m/1h. +Interval for collecting EventLogFile logs, e.g. 1h or 5m. *`var.log_file_interval`*:: -The interval type of EventLogFile data collection. Either Hourly or Daily. +Either "Hourly" or "Daily". The time interval of each log file from EventLogFile. [float] -=== Example dashboard +=== Example dashboards + +The Salesforce module includes several predefined dashboards: -This Salesforce module comes with several predefined dashboards, including Login, Logout, Apex, and Setup Audit Trails Dashboards. For example: +- Login Dashboard: Visualizes login activity and trends. +- Logout Dashboard: Visualizes logout activity and trends. +- Apex Dashboard: Visualizes Apex executions and errors. +- Setup Audit Trail Dashboard: Shows changes made in the Setup area. image::./images/filebeat-salesforce-login-dashboard.png[] image::./images/filebeat-salesforce-logout-dashboard.png[] -:has-dashboards!: +Access these dashboards in Kibana by going to Management -> Kibana -> Dashboards and searching for "Salesforce". + +[float] +=== Troubleshooting + +Here are some common issues and how to resolve them: + +*Hitting Salesforce API limits*:: +Reduce the values of `var.real_time_interval` and `var.elf_interval` to poll the API less frequently. Monitor the API usage in your Salesforce instance. + +*Connectivity issues*:: +Verify the `var.url` is correct. Check that the user credentials are valid and have the necessary permissions. Ensure network connectivity between the Elastic Agent and Salesforce instance. + +*Not seeing any data*:: +Check the Elastic Agent logs for errors. Verify the module configuration is correct, the filesets are enabled, and the intervals are reasonable. Confirm there is log activity in Salesforce for the log types being collected. + +:has-dashboards!: :fileset_ex!: -:modulename!: +:modulename!: \ No newline at end of file From 2b9b75f8600c25bbb2218164d6cd37850d0c12c6 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Apr 2024 13:25:39 +0530 Subject: [PATCH 119/172] Improve config file --- .../module/salesforce/_meta/config.yml | 66 +++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/config.yml b/x-pack/filebeat/module/salesforce/_meta/config.yml index 725514d1a05..23d55f73962 100644 --- a/x-pack/filebeat/module/salesforce/_meta/config.yml +++ b/x-pack/filebeat/module/salesforce/_meta/config.yml @@ -3,20 +3,20 @@ # Common Configurations: # - enabled: Set to true to enable ingestion of Salesforce module fileset # - initial_interval: Initial interval for log collection. This setting determines the time period for which the logs will be initially collected when the ingestion process starts, i.e. 1d/h/m/s -# - api_version: API version for Salesforce, version should be grater than 46.0 +# - api_version: API version for Salesforce, version should be greater than 46.0 # Authentication Configurations: # User-Password Authentication: -# - enabled: Set to false if user-password authentication is enabled -# - client.id: Client ID for JWT and user-password authentication +# - enabled: Set to true to enable user-password authentication +# - client.id: Client ID for user-password authentication # - client.secret: Client secret for user-password authentication # - token_url: Token URL for user-password authentication -# - user: Username for user-password authentication +# - username: Username for user-password authentication # - password: Password for user-password authentication # JWT Authentication: -# - enabled: Set to true if JWT authentication is enabled -# - client.id: Client ID for JWT and user-password authentication +# - enabled: Set to true to enable JWT authentication +# - client.id: Client ID for JWT authentication # - client.username: Username for JWT authentication # - client.key_path: Path to client key for JWT authentication # - url: Audience URL for JWT authentication @@ -41,23 +41,23 @@ user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" - + var.event_log_file: true var.elf_interval: 1h - var.log_file_interval: Hourly - + var.log_file_interval: "Hourly" + login: enabled: false var.initial_interval: 1d @@ -67,22 +67,22 @@ user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" var.event_log_file: true var.elf_interval: 1h - var.log_file_interval: Hourly + var.log_file_interval: "Hourly" var.real_time: true var.real_time_interval: 5m @@ -96,23 +96,23 @@ user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" var.event_log_file: true var.elf_interval: 1h - var.log_file_interval: Hourly - + var.log_file_interval: "Hourly" + var.real_time: true var.real_time_interval: 5m @@ -125,18 +125,18 @@ user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" var.real_time: true - var.real_time_interval: 5m + var.real_time_interval: 5m \ No newline at end of file From 1758371fc2cc264fd405412b84eaf76a95af7974 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Apr 2024 14:01:08 +0530 Subject: [PATCH 120/172] Improve and fix bugs for APEX fileset --- .../module/salesforce/apex/_meta/fields.yml | 38 ++++++------- .../salesforce/apex/ingest/pipeline.yml | 55 +++++++++---------- 2 files changed, 44 insertions(+), 49 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml index f56dd255414..4caf038a2b7 100644 --- a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml @@ -15,13 +15,13 @@ fields: - name: document_id type: keyword - description: Unique Id. + description: Unique ID of the Apex document. - name: action type: keyword description: Action performed by the callout. - name: callout_time type: float - description: Time spent waiting on webservice callouts, in milliseconds. + description: Time spent waiting on web service callouts, in milliseconds. unit: ms metric_type: gauge - name: class_name @@ -29,7 +29,7 @@ description: The Apex class name. If the class is part of a managed package, this string includes the package namespace. - name: client_name type: keyword - description: The name of the client that's using Salesforce services. This field is an optional parameter that can be passed in API calls. If blank, the caller didnt specify a client in the CallOptions header. + description: The name of the client that's using Salesforce services. This field is an optional parameter that can be passed in API calls. If blank, the caller didn't specify a client in the CallOptions header. - name: cpu_time type: float description: The CPU time in milliseconds used to complete the request. @@ -44,9 +44,9 @@ description: The CPU time in milliseconds to complete the request. Indicates the amount of activity taking place in the database layer during the request. unit: ms metric_type: gauge - - name: db_time.total + - name: db_total_time type: float - description: Time (in milliseconds) spent waiting for database processing in aggregate for all operations in the request. Compare this field to CPU_TIME to determine whether performance issues are occurring in the database layer or in your own code. + description: Time (in milliseconds) spent waiting for database processing in aggregate for all operations in the request. Compare this field to cpu_time to determine whether performance issues are occurring in the database layer or in your own code. unit: ms metric_type: gauge - name: entity @@ -61,12 +61,12 @@ - name: event_type type: keyword description: The type of event. - - name: execute.ms + - name: execute_ms type: float description: How long it took (in milliseconds) for Salesforce to prepare and execute the query. Available in API version 42.0 and later. unit: ms metric_type: gauge - - name: fetch.ms + - name: fetch_ms type: float description: How long it took (in milliseconds) to retrieve the query results from the external system. Available in API version 42.0 and later. unit: ms @@ -75,12 +75,12 @@ type: keyword description: Field expressions to filter which rows to return. Corresponds to WHERE in SOQL queries. - name: is_long_running_request - type: keyword + type: boolean description: Indicates whether the request is counted against your org's concurrent long-running Apex request limit (true) or not (false). - name: limit type: long description: Maximum number of rows to return for a query. Corresponds to LIMIT in SOQL queries. - - name: limit_usage.pct + - name: limit_usage_pct type: float description: The percentage of Apex SOAP calls that were made against the organization's limit. unit: percent @@ -92,15 +92,15 @@ type: keyword description: The media type of the response. - name: message - type: keyword + type: text description: Error or warning message associated with the failed call. - name: method_name type: keyword description: The name of the calling Apex method. - - name: fields.count + - name: fields_count type: long description: The number of fields or columns, where applicable. - - name: soql_queries.count + - name: soql_queries_count type: long description: The number of SOQL queries that were executed during the event. - name: offset @@ -118,19 +118,19 @@ - name: quiddity type: keyword description: The type of outer execution associated with this event. - - name: request.id + - name: request_id type: keyword - description: The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same REQUEST_ID. - - name: request.status + description: The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same request_id. + - name: request_status type: keyword description: The status of the request for a page view or user interface action. - - name: rows.total + - name: rows_total type: long description: Total number of records in the result set. The value is always -1 if the custom adapter's DataSource.Provider class doesn't declare the QUERY_TOTAL_SIZE capability. - - name: rows.fetched + - name: rows_fetched type: long description: Number of rows fetched by the callout. Available in API version 42.0 and later. - - name: rows.processed + - name: rows_processed type: long description: The number of rows that were processed in the request. - name: run_time @@ -156,7 +156,7 @@ description: The 15-character ID of the trigger that was fired. - name: name type: keyword - description: For triggers coming from managed packages, TRIGGER_NAME includes a namespace prefix separated with a . character. If no namespace prefix is present, the trigger is from an unmanaged trigger. + description: For triggers coming from managed packages, trigger_name includes a namespace prefix separated with a . character. If no namespace prefix is present, the trigger is from an unmanaged trigger. - name: type type: keyword description: The type of this trigger. diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index db8ec1aa493..93b2e9d2d8d 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -1,5 +1,5 @@ --- -description: Pipeline for parsing Salesforce apex logs +description: Pipeline for parsing Salesforce Apex logs processors: - json: field: message @@ -31,19 +31,16 @@ processors: field: salesforce.apex.document_id copy_from: _id ignore_empty_value: true - - date: field: json.TIMESTAMP_DERIVED target_field: "@timestamp" formats: - ISO8601 ignore_failure: true - - rename: field: json.ACTION target_field: salesforce.apex.action ignore_missing: true - ignore_failure: true - convert: field: json.CALLOUT_TIME target_field: salesforce.apex.callout_time @@ -80,7 +77,7 @@ processors: ignore_failure: true - convert: field: json.DB_TOTAL_TIME - target_field: salesforce.apex.db_time.total + target_field: salesforce.apex.db_total_time type: float ignore_missing: true ignore_failure: true @@ -106,14 +103,14 @@ processors: ignore_failure: true - convert: field: json.EXECUTE_MS - target_field: salesforce.apex.execute.ms + target_field: salesforce.apex.execute_ms type: float ignore_missing: true ignore_failure: true - convert: field: json.FETCH_MS - target_field: salesforce.apex.fetch.ms - type: long + target_field: salesforce.apex.fetch_ms + type: float ignore_missing: true ignore_failure: true - rename: @@ -139,7 +136,7 @@ processors: ignore_failure: true - convert: field: json.LIMIT_USAGE_PERCENT - target_field: salesforce.apex.limit_usage.pct + target_field: salesforce.apex.limit_usage_pct type: float ignore_missing: true ignore_failure: true @@ -160,13 +157,13 @@ processors: ignore_failure: true - convert: field: json.NUMBER_FIELDS - target_field: salesforce.apex.fields.count + target_field: salesforce.apex.fields_count type: long ignore_missing: true ignore_failure: true - convert: field: json.NUMBER_SOQL_QUERIES - target_field: salesforce.apex.soql_queries.count + target_field: salesforce.apex.soql_queries_count type: long ignore_missing: true ignore_failure: true @@ -198,29 +195,29 @@ processors: ignore_failure: true - rename: field: json.REQUEST_ID - target_field: salesforce.apex.request.id + target_field: salesforce.apex.request_id ignore_missing: true ignore_failure: true - rename: field: json.REQUEST_STATUS - target_field: salesforce.apex.request.status + target_field: salesforce.apex.request_status ignore_missing: true ignore_failure: true - convert: field: json.ROWS - target_field: salesforce.apex.rows.total + target_field: salesforce.apex.rows_total type: long ignore_missing: true ignore_failure: true - convert: field: json.ROWS_FETCHED - target_field: salesforce.apex.rows.fetched + target_field: salesforce.apex.rows_fetched type: long ignore_missing: true ignore_failure: true - convert: field: json.ROWS_PROCESSED - target_field: salesforce.apex.rows.processed + target_field: salesforce.apex.rows_processed type: long ignore_missing: true ignore_failure: true @@ -248,17 +245,17 @@ processors: ignore_failure: true - rename: field: json.TRIGGER_ID - target_field: salesforce.apex.trigger.id + target_field: salesforce.apex.trigger_id ignore_missing: true ignore_failure: true - rename: field: json.TRIGGER_NAME - target_field: salesforce.apex.trigger.name + target_field: salesforce.apex.trigger_name ignore_missing: true ignore_failure: true - rename: field: json.TRIGGER_TYPE - target_field: salesforce.apex.trigger.type + target_field: salesforce.apex.trigger_type ignore_missing: true ignore_failure: true - rename: @@ -301,8 +298,8 @@ processors: if: 'ctx.salesforce?.apex?.user_agent != null' ignore_failure: true source: | - if (params.user_agent_map.containsKey(ctx.salesforce.apex.user_agent.substring(0,3))) { - ctx.salesforce.apex.user_agent = params.user_agent_map[ctx.salesforce.apex.user_agent.substring(0,3)]; + if (params.user_agent_map.containsKey(ctx.salesforce.apex.user_agent.toString().substring(0,3))) { + ctx.salesforce.apex.user_agent = params.user_agent_map[ctx.salesforce.apex.user_agent.toString().substring(0,3)]; } - rename: field: json.USER_ID_DERIVED @@ -350,13 +347,13 @@ processors: - convert: field: json.TIME target_field: event.duration - type: long + type: float if: ctx.salesforce?.apex?.event_type == "ApexCallout" && ctx.json?.TIME != null ignore_failure: true - convert: field: json.EXEC_TIME target_field: event.duration - type: long + type: float if: (ctx.salesforce?.apex?.event_type == "ApexTrigger" || ctx.salesforce?.apex?.event_type == "ApexExecution") && ctx.json?.EXEC_TIME != null ignore_failure: true - convert: @@ -368,10 +365,9 @@ processors: - convert: field: json.TOTAL_MS target_field: event.duration - type: long + type: float if: ctx.salesforce?.apex?.event_type == "ExternalCustomApexCallout" && ctx.json?.TOTAL_MS != null ignore_failure: true - - set: field: event.outcome value: success @@ -382,7 +378,6 @@ processors: value: failure if: (ctx.json?.SUCCESS != "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS != "1" && ctx.json?.STATUS != null) ignore_failure: true - - rename: field: json.URL target_field: event.url @@ -402,7 +397,7 @@ processors: - set: field: event.module value: salesforce - if: ctx.event?.module == null + if: ctx.event?.module == null ###################### ## ECS User Mapping ## @@ -435,7 +430,7 @@ processors: ignore_failure: true ############################ -## ECS Source.Geo Mapping ## +## ECS source.geo Mapping ## ############################ # A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" @@ -447,7 +442,7 @@ processors: ignore_failure: true ############################ -## ECS Related.ip Mapping ## +## ECS related.ip Mapping ## ############################ - append: @@ -520,4 +515,4 @@ processors: on_failure: - set: field: error.message - value: '{{_ingest.on_failure_message}}' + value: '{{_ingest.on_failure_message}}' \ No newline at end of file From 6400690659e20a958eec5fead2dbf4b9a00cf302 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Fri, 5 Apr 2024 15:54:40 +0530 Subject: [PATCH 121/172] update setup audit trail pipeline --- .../setupaudittrail/ingest/pipeline.yml | 323 +++++++++--------- 1 file changed, 165 insertions(+), 158 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index ca757f70b3c..3b0aaf89f8b 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -1,171 +1,178 @@ --- description: Pipeline for parsing Salesforce SetupAuditTrail logs processors: -- json: - field: message - target_field: json - ignore_failure: true -- set: - field: event.ingested - copy_from: _ingest.timestamp -- rename: - field: message - target_field: event.original - ignore_failure: true - if: ctx.event?.original == null -- fingerprint: - fields: - - json.Id - - json.CreatedDate - target_field: _id - ignore_failure: true - ignore_missing: true -- set: - field: salesforce.setup_audit_trail.document_id - copy_from: _id - ignore_empty_value: true + - json: + field: message + target_field: json + on_failure: + - drop: {} -- date: - field: json.CreatedDate - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true + - set: + field: event.ingested + copy_from: _ingest.timestamp + - rename: + field: message + target_field: event.original + ignore_failure: true + if: "ctx.event?.original == null" + - set: + field: salesforce.setup_audit_trail.document_id + copy_from: _id + ignore_empty_value: true + - fingerprint: + fields: + - json.Id + - json.CreatedDate + target_field: _id + ignore_failure: true + ignore_missing: true -- set: - field: salesforce.setup_audit_trail.event_type - copy_from: json.attributes.type - ignore_empty_value: true -- rename: - field: json.CreatedByContext - target_field: salesforce.setup_audit_trail.created_by_context - ignore_missing: true - ignore_failure: true -- rename: - field: json.CreatedById - target_field: salesforce.setup_audit_trail.created_by_id - ignore_missing: true - ignore_failure: true -- rename: - field: json.CreatedByIssuer - target_field: salesforce.setup_audit_trail.created_by_issuer - ignore_missing: true - ignore_failure: true -- rename: - field: json.DelegateUser - target_field: salesforce.setup_audit_trail.delegate_user - ignore_missing: true - ignore_failure: true -- rename: - field: json.Display - target_field: salesforce.setup_audit_trail.display - ignore_missing: true - ignore_failure: true -- rename: - field: json.ResponsibleNamespacePrefix - target_field: salesforce.setup_audit_trail.responsible_namespace_prefix - ignore_missing: true - ignore_failure: true -- rename: - field: json.Section - target_field: salesforce.setup_audit_trail.section - ignore_missing: true - ignore_failure: true + - date: + field: json.CreatedDate + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - set: + field: "@timestamp" + value: "{{_ingest.timestamp}}" + - set: + field: error.message + value: "Failed to parse CreatedDate: {{json.CreatedDate}}" -####################### -## ECS Event Mapping ## -####################### + # Normalize field names + - set: + field: salesforce.setup_audit_trail.event_type + copy_from: json.attributes.type + ignore_missing: true + - rename: + field: json.CreatedByContext + target_field: salesforce.setup_audit_trail.created_by_context + ignore_missing: true + - rename: + field: json.CreatedById + target_field: salesforce.setup_audit_trail.created_by_id + ignore_missing: true + - rename: + field: json.CreatedByIssuer + target_field: salesforce.setup_audit_trail.created_by_issuer + ignore_missing: true + - rename: + field: json.DelegateUser + target_field: salesforce.setup_audit_trail.delegate_user + ignore_missing: true + - rename: + field: json.Display + target_field: salesforce.setup_audit_trail.display + ignore_missing: true + - rename: + field: json.ResponsibleNamespacePrefix + target_field: salesforce.setup_audit_trail.responsible_namespace_prefix + ignore_missing: true + - rename: + field: json.Section + target_field: salesforce.setup_audit_trail.section + ignore_missing: true -- set: - field: ecs.version - value: "8.5.0" - ignore_failure: true -- rename: - field: json.Id - target_field: event.id - ignore_missing: true - ignore_failure: true -- rename: - field: json.Action - target_field: event.action - ignore_missing: true - ignore_failure: true -- set: - field: event.url - copy_from: json.attributes.url - ignore_empty_value: true -- date: - field: json.CreatedDate - target_field: event.created - formats: - - ISO8601 - ignore_failure: true -- append: - field: event.type - value: admin - allow_duplicates: false - ignore_failure: true -- set: - field: event.kind - value: event - if: ctx.event?.kind == null -- set: - field: event.dataset - value: salesforce.setupaudittrail - if: ctx.event?.dataset == null -- set: - field: event.module - value: salesforce - if: ctx.event?.module == null + ####################### + ## ECS Event Mapping ## + ####################### -###################### -## ECS User Mapping ## -###################### + - set: + field: ecs.version + value: "8.5.0" + ignore_failure: true + ignore_empty_value: true + - rename: + field: json.Id + target_field: event.id + ignore_missing: true + ignore_failure: true + - rename: + field: json.Action + target_field: event.action + ignore_missing: true + ignore_failure: true + - rename: + field: json.attributes.url + target_field: event.url + ignore_missing: true + ignore_failure: true + - date: + field: json.CreatedDate + target_field: event.created + formats: + - ISO8601 + ignore_failure: true + - set: + field: event.type + value: ["admin"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.kind + value: "event" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.dataset + value: "salesforce.setupaudittrail" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.module + value: salesforce + ignore_failure: true + ignore_empty_value: true -- set: - field: user.id - copy_from: salesforce.setup_audit_trail.created_by_id - ignore_empty_value: true -- dissect: - field: salesforce.setup_audit_trail.display - pattern: "For user %{user.name}, %{?}" - ignore_failure: true - ignore_missing: true + ###################### + ## ECS User Mapping ## + ###################### -############# -## Cleanup ## -############# + - set: + field: user.id + copy_from: salesforce.setup_audit_trail.created_by_id + ignore_failure: true + ignore_empty_value: true + - dissect: + field: salesforce.setup_audit_trail.display + pattern: "For user %{user.name}, %{?}" + ignore_failure: true -- script: - description: Drops null/empty values recursively - lang: painless - ignore_failure: true - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return ((Map) object).isEmpty(); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return ((List) object).isEmpty(); - } - return false; - } - dropEmptyFields(ctx); -- remove: - field: - - json - - message - ignore_missing: true -- remove: - field: event.original - if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" - ignore_failure: true - ignore_missing: true + ############# + ## Cleanup ## + ############# + + # Drop empty fields + - script: + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return ((Map) object).isEmpty(); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return ((List) object).isEmpty(); + } + return false; + } + dropEmptyFields(ctx); + + - remove: + field: + - json + - message + ignore_missing: true + - remove: + field: event.original + if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" + ignore_failure: true + ignore_missing: true on_failure: -- set: - field: error.message - value: '{{{ _ingest.on_failure_message }}}' \ No newline at end of file + - set: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" From 0adf7ca9677ed092d4c0e93220ff2736ac50c827 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Fri, 5 Apr 2024 16:21:09 +0530 Subject: [PATCH 122/172] update logout pipeline --- .../salesforce/logout/ingest/default.yml | 229 +++++---- .../salesforce/logout/ingest/eventlogfile.yml | 465 +++++++++--------- .../salesforce/logout/ingest/object.yml | 126 ++--- 3 files changed, 418 insertions(+), 402 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml index 212ad3b2452..bb5439283cf 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml @@ -1,117 +1,128 @@ --- description: Pipeline for parsing Salesforce Logout logs. processors: -- json: - field: message - target_field: json - ignore_failure: true -- set: - field: event.original - value: '{{{message}}}' - ignore_empty_value: true - if: 'ctx.event?.original == null' -- set: - field: event.ingested - value: '{{_ingest.timestamp}}' -- fingerprint: - fields: - - json.REQUEST_ID - - json.SESSION_KEY - - json.TIMESTAMP_DERIVED - - json.USER_ID - target_field: _id - ignore_missing: true -- set: - field: ecs.version - value: "8.5.0" - ignore_failure: true - ignore_empty_value: true -- set: - field: salesforce.login.document_id - copy_from: _id - ignore_empty_value: true + - json: + field: message + target_field: json + on_failure: + - append: + field: error.message + value: "Failed to parse JSON: {{{_ingest.on_failure_message}}}" + - set: + field: event.original + copy_from: message + ignore_empty_value: true + if: "ctx.event?.original == null" + - set: + field: event.ingested + value: "{{_ingest.timestamp}}" + - fingerprint: + fields: + - json.REQUEST_ID + - json.SESSION_KEY + - json.TIMESTAMP_DERIVED + - json.USER_ID + target_field: _id + ignore_missing: true + ignore_failure: true + - set: + field: ecs.version + value: "8.5.0" + ignore_failure: true + ignore_empty_value: true + - set: + field: salesforce.login.document_id + copy_from: _id + ignore_empty_value: true -- pipeline: - if: ctx.event.provider == "Object" - name: '{< IngestPipeline "object" >}' -- pipeline: - if: ctx.event.provider == "EventLogFile" - name: '{< IngestPipeline "eventlogfile" >}' + - pipeline: + name: '{< IngestPipeline "object" >}' + if: ctx.event.provider == "Object" + - pipeline: + name: '{< IngestPipeline "eventlogfile" >}' + if: ctx.event.provider == "EventLogFile" -- set: - field: event.type - value: ["info"] - ignore_failure: true - ignore_empty_value: true -- set: - field: event.kind - value: "event" - ignore_failure: true - ignore_empty_value: true -- set: - field: event.action - value: "logout" - ignore_failure: true - ignore_empty_value: true -- set: - field: event.category - value: ["authentication"] - ignore_failure: true - ignore_empty_value: true -- set: - field: event.dataset - value: "salesforce.logout" - ignore_failure: true - ignore_empty_value: true -- set: - field: event.module - value: "salesforce" - ignore_failure: true - ignore_empty_value: true -- geoip: - field: source.ip - target_field: source.geo - ignore_missing: true -- append: - field: related.ip - value: '{{{source.ip}}}' - if: ctx?.source?.ip != null - allow_duplicates: false - ignore_failure: true + - set: + field: event.type + value: ["info"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.kind + value: "event" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.action + value: "logout" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.category + value: ["authentication"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.dataset + value: "salesforce.logout" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.module + value: "salesforce" + ignore_failure: true + ignore_empty_value: true + - geoip: + field: source.ip + target_field: source.geo + ignore_missing: true + - append: + field: related.ip + value: "{{{source.ip}}}" + if: ctx?.source?.ip != null + allow_duplicates: false + ignore_failure: true -- remove: - field: event.original - if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" - ignore_failure: true - ignore_missing: true -- script: - description: Drops null/empty values recursively. - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return (((Map) object).size() == 0); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return (((List) object).length == 0); - } - return false; - } - dropEmptyFields(ctx); -- remove: - field: - - json - - message - ignore_failure: true - ignore_missing: true + ############# + ## Cleanup ## + ############# + + # Drop empty fields + - script: + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return ((Map) object).isEmpty(); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return ((List) object).isEmpty(); + } + return false; + } + dropEmptyFields(ctx); + - remove: + field: + - json + - message + ignore_failure: true + ignore_missing: true + - remove: + field: event.original + if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" + ignore_failure: true + ignore_missing: true on_failure: -- set: - field: event.kind - value: pipeline_error -- append: - field: error.message - value: '{{{ _ingest.on_failure_message }}}' + - set: + field: event.kind + value: pipeline_error + - set: + field: error.message + value: "{{{_ingest.on_failure_message}}}" + - set: + field: error.type + value: "{{{_ingest.on_failure_processor_type}}}" diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml index 8abd4f3bc6d..7a6af8caad8 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml @@ -1,235 +1,240 @@ --- description: Pipeline for parsing Salesforce Logout (EventLogFile) logs. processors: -- date: - field: json.TIMESTAMP_DERIVED - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true -- rename: - field: json.SESSION_TYPE - target_field: salesforce.logout.session.type - ignore_failure: true - ignore_missing: true -- script: - description: Set session type value from session type character. - lang: painless - ignore_failure: true - source: | - Map map = new HashMap(); - map.put("A", "API"); - map.put("I", "APIOnlyUser"); - map.put("N", "ChatterNetworks"); - map.put("Z", "ChatterNetworksAPIOnly"); - map.put("C", "Content"); - map.put("P", "OauthApprovalUI"); - map.put("O", "Oauth2"); - map.put("T", "SiteStudio"); - map.put("R", "SitePreview"); - map.put("S", "SubstituteUser"); - map.put("B", "TempContentExchange"); - map.put("G", "TempOauthAccessTokenFrontdoor"); - map.put("Y", "TempVisualforceExchange"); - map.put("F", "TempUIFrontdoor"); - map.put("U", "UI"); - map.put("E", "UserSite"); - map.put("V", "Visualforce"); - map.put("W", "WDC_API"); - String temp = map.get(ctx.salesforce?.logout?.session?.type); - if (temp != null) { - ctx.salesforce.logout.session.type = temp; - } -- rename: - field: json.EVENT_TYPE - target_field: salesforce.logout.event_type - ignore_failure: true - ignore_missing: true -- rename: - field: json.SESSION_LEVEL - target_field: salesforce.logout.session.level - ignore_failure: true - ignore_missing: true -- script: - description: Set session level value from session level integer. - lang: painless - ignore_failure: true - source: | - Map map = new HashMap(); - map.put("1", "Standard Session"); - map.put("2", "High-Assurance Session"); - String temp = map.get(ctx.salesforce?.logout?.session?.level); - if (temp != null){ - ctx.salesforce.logout.session.level = temp; - } -- rename: - field: json.BROWSER_TYPE - target_field: salesforce.logout.browser_type - ignore_failure: true - ignore_missing: true -- rename: - field: json.PLATFORM_TYPE - target_field: salesforce.logout.platform_type - ignore_failure: true - ignore_missing: true -- script: - description: Set platform type value from platform type integers. - lang: painless - ignore_failure: true - source: | - Map map = new HashMap(); - map.put("1000", "Windows"); - map.put("1008", "Windows 2003"); - map.put("1013", "Windows 8.1"); - map.put("1015", "Windows 10"); - map.put("2003", "Macintosh/Apple OSX"); - map.put("4000", "Linux"); - map.put("5005", "Android"); - map.put("5006", "iPhone"); - map.put("5007", "iPad"); - map.put("5200", "Android 10.0"); - String temp = map.get(ctx.salesforce?.logout?.platform_type); - if (temp != null) { - ctx.salesforce.logout.platform_type = temp; - } -- rename: - field: json.RESOLUTION_TYPE - target_field: salesforce.logout.resolution_type - ignore_failure: true - ignore_missing: true -- rename: - field: json.APP_TYPE - target_field: salesforce.logout.app_type - ignore_failure: true - ignore_missing: true -- script: - description: Set application type value from application type integers. - lang: painless - ignore_failure: true - source: | - Map map = new HashMap(); - map.put("1000", "Application"); - map.put("1007", "SFDC Application"); - map.put("1014", "Chat"); - map.put("2501", "CTI"); - map.put("2514", "OAuth"); - map.put("3475", "SFDC Partner Portal"); - String temp = map.get(ctx.salesforce?.logout?.app_type); - if (temp != null) { - ctx.salesforce.logout.app_type = temp; - } -- rename: - field: json.CLIENT_VERSION - target_field: salesforce.logout.client_version - ignore_failure: true - ignore_missing: true -- rename: - field: json.API_TYPE - target_field: salesforce.logout.api.type - ignore_failure: true - ignore_missing: true -- script: - description: Set api type value from api type character. - lang: painless - ignore_failure: true - source: | - Map map = new HashMap(); - map.put("D", "Apex Class"); - map.put("E", "SOAP Enterprise"); - map.put("I", "SOAP Cross Instance"); - map.put("M", "SOAP Metadata"); - map.put("O", "Old SOAP"); - map.put("P", "SOAP Partner"); - map.put("S", "SOAP Apex"); - map.put("T", "SOAP Tooling"); - map.put("X", "XmlRPC"); - map.put("f", "Feed"); - map.put("l", "Live Agent"); - map.put("p", "SOAP ClientSync"); - String temp = map.get(ctx.salesforce?.logout?.api?.type); - if (temp != null) { - ctx.salesforce.logout.api.type = temp; - } -- rename: - field: json.API_VERSION - target_field: salesforce.logout.api.version - ignore_failure: true - ignore_missing: true -- rename: - field: json.USER_INITIATED_LOGOUT - target_field: salesforce.logout.user_initiated_logout - ignore_failure: true - ignore_missing: true -- rename: - field: json.LOGIN_KEY - target_field: salesforce.logout.login_key - ignore_failure: true - ignore_missing: true -- rename: - field: json.USER_ID - target_field: salesforce.logout.user_id - ignore_failure: true - ignore_missing: true -- rename: - field: json.ORGANIZATION_ID - target_field: salesforce.logout.organization_id - ignore_failure: true - ignore_missing: true -- rename: - field: json.REQUEST_ID - target_field: event.code - ignore_failure: true - ignore_missing: true -- rename: - field: json.USER_TYPE - target_field: user.roles - ignore_failure: true - ignore_missing: true -- script: - description: Set user roles value from user roles character. - lang: painless - ignore_failure: true - source: | - Map map = new HashMap(); - map.put("A", "Automated Process"); - map.put("b", "High Volume Portal"); - map.put("C", "Customer Portal User"); - map.put("D", "External Who"); - map.put("F", "Self-Service"); - map.put("G", "Guest"); - map.put("L", "Package License Manager"); - map.put("N", "Salesforce to Salesforce"); - map.put("n", "CSN Only"); - map.put("O", "Power Custom"); - map.put("o", "Custom"); - map.put("P", "Partner"); - map.put("p", "Customer Portal Manager"); - map.put("S", "Standard"); - map.put("X", "Salesforce Administrator"); - String temp = map.get(ctx.user?.roles); - if (temp != null) { - ctx.user.roles = [temp]; - } -- rename: - field: json.USER_ID_DERIVED - target_field: user.id - ignore_failure: true - ignore_missing: true -- rename: - field: json.CLIENT_IP - target_field: source.ip - ignore_failure: true - ignore_missing: true - if: 'ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != ""' -- geoip: - field: source.ip - target_field: source.geo - ignore_missing: true + - date: + field: json.TIMESTAMP_DERIVED + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse TIMESTAMP_DERIVED field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.SESSION_TYPE + target_field: salesforce.logout.session.type + ignore_missing: true + - script: + description: Set session type value from session type character. + lang: painless + source: | + def sessionTypes = [ + "A": "API", + "I": "APIOnlyUser", + "N": "ChatterNetworks", + "Z": "ChatterNetworksAPIOnly", + "C": "Content", + "P": "OauthApprovalUI", + "O": "Oauth2", + "T": "SiteStudio", + "R": "SitePreview", + "S": "SubstituteUser", + "B": "TempContentExchange", + "G": "TempOauthAccessTokenFrontdoor", + "Y": "TempVisualforceExchange", + "F": "TempUIFrontdoor", + "U": "UI", + "E": "UserSite", + "V": "Visualforce", + "W": "WDC_API" + ]; + def type = ctx.salesforce?.logout?.session?.type; + if (type != null && sessionTypes.containsKey(type)) { + ctx.salesforce.logout.session.type = sessionTypes.get(type); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.session.type: {{{_ingest.on_failure_message}}}" + - rename: + field: json.EVENT_TYPE + target_field: salesforce.logout.event_type + ignore_missing: true + - rename: + field: json.SESSION_LEVEL + target_field: salesforce.logout.session.level + ignore_missing: true + - script: + description: Set session level value from session level integer. + lang: painless + source: | + def levels = ["1": "Standard Session", "2": "High-Assurance Session"]; + def level = ctx.salesforce?.logout?.session?.level; + if (level != null && levels.containsKey(level)) { + ctx.salesforce.logout.session.level = levels.get(level); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.session.level: {{{_ingest.on_failure_message}}}" + - rename: + field: json.BROWSER_TYPE + target_field: salesforce.logout.browser_type + ignore_missing: true + - rename: + field: json.PLATFORM_TYPE + target_field: salesforce.logout.platform_type + ignore_missing: true + - script: + description: Set platform type value from platform type integers. + lang: painless + params: + platforms: + "1000": "Windows" + "1008": "Windows 2003" + "1013": "Windows 8.1" + "1015": "Windows 10" + "2003": "Macintosh/Apple OSX" + "4000": "Linux" + "5005": "Android" + "5006": "iPhone" + "5007": "iPad" + "5200": "Android 10.0" + source: | + def platform = ctx.salesforce?.logout?.platform_type; + if (platform != null && params.platforms.containsKey(platform)) { + ctx.salesforce.logout.platform_type = params.platforms.get(platform); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.platform_type: {{{_ingest.on_failure_message}}}" + - rename: + field: json.RESOLUTION_TYPE + target_field: salesforce.logout.resolution_type + ignore_missing: true + - rename: + field: json.APP_TYPE + target_field: salesforce.logout.app_type + ignore_missing: true + - script: + description: Set application type value from application type integers. + lang: painless + params: + appTypes: + "1000": "Application" + "1007": "SFDC Application" + "1014": "Chat" + "2501": "CTI" + "2514": "OAuth" + "3475": "SFDC Partner Portal" + source: | + def type = ctx.salesforce?.logout?.app_type; + if (type != null && params.appTypes.containsKey(type)) { + ctx.salesforce.logout.app_type = params.appTypes.get(type); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.app_type: {{{_ingest.on_failure_message}}}" + - rename: + field: json.CLIENT_VERSION + target_field: salesforce.logout.client_version + ignore_missing: true + - rename: + field: json.API_TYPE + target_field: salesforce.logout.api.type + ignore_missing: true + - script: + description: Set api type value from api type character. + lang: painless + params: + apiTypes: + "D": "Apex Class" + "E": "SOAP Enterprise" + "I": "SOAP Cross Instance" + "M": "SOAP Metadata" + "O": "Old SOAP" + "P": "SOAP Partner" + "S": "SOAP Apex" + "T": "SOAP Tooling" + "X": "XmlRPC" + "f": "Feed" + "l": "Live Agent" + "p": "SOAP ClientSync" + source: | + def type = ctx.salesforce?.logout?.api?.type; + if (type != null && params.apiTypes.containsKey(type)) { + ctx.salesforce.logout.api.type = params.apiTypes.get(type); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.api.type: {{{_ingest.on_failure_message}}}" + - rename: + field: json.API_VERSION + target_field: salesforce.logout.api.version + ignore_missing: true + - rename: + field: json.USER_INITIATED_LOGOUT + target_field: salesforce.logout.user_initiated_logout + ignore_missing: true + - rename: + field: json.LOGIN_KEY + target_field: salesforce.logout.login_key + ignore_missing: true + - rename: + field: json.USER_ID + target_field: salesforce.logout.user_id + ignore_missing: true + - rename: + field: json.ORGANIZATION_ID + target_field: salesforce.logout.organization_id + ignore_missing: true + - rename: + field: json.REQUEST_ID + target_field: event.code + ignore_missing: true + - rename: + field: json.USER_TYPE + target_field: user.roles + ignore_missing: true + - script: + description: Set user roles value from user roles character. + lang: painless + params: + userRoles: + "A": "Automated Process" + "b": "High Volume Portal" + "C": "Customer Portal User" + "D": "External Who" + "F": "Self-Service" + "G": "Guest" + "L": "Package License Manager" + "N": "Salesforce to Salesforce" + "n": "CSN Only" + "O": "Power Custom" + "o": "Custom" + "P": "Partner" + "p": "Customer Portal Manager" + "S": "Standard" + "X": "Salesforce Administrator" + source: | + def role = ctx.salesforce?.logout?.user?.roles; + if (role != null && params.userRoles.containsKey(role)) { + ctx.salesforce.logout.user.roles = [params.userRoles.get(role)]; + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.user.roles: {{{_ingest.on_failure_message}}}" + - rename: + field: json.USER_ID_DERIVED + target_field: user.id + ignore_missing: true + - rename: + field: json.CLIENT_IP + target_field: source.ip + ignore_missing: true + if: ctx.json?.CLIENT_IP != 'Salesforce.com IP' && ctx.json?.CLIENT_IP != null + - geoip: + field: source.ip + target_field: source.geo on_failure: -- set: - field: event.kind - value: pipeline_error -- append: - field: error.message - value: '{{{ _ingest.on_failure_message }}}' + - set: + field: event.kind + value: pipeline_error + - append: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml index 4d13c404f1e..350886ce9c3 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml @@ -1,68 +1,68 @@ --- description: Pipeline for parsing Salesforce Logout (Object) logs. processors: -- date: - field: json.EventDate - target_field: "@timestamp" - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" -- rename: - field: json.RelatedEventIdentifier - target_field: salesforce.logout.related_event_identifier - ignore_missing: true - ignore_failure: true -- rename: - field: json.LoginKey - target_field: salesforce.logout.login_key - ignore_missing: true - ignore_failure: true -- rename: - field: json.SessionLevel - target_field: salesforce.logout.session.level - ignore_missing: true - ignore_failure: true -- rename: - field: json.SessionKey - target_field: salesforce.logout.session.key - ignore_missing: true - ignore_failure: true -- date: - field: json.CreatedDate - target_field: event.created - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" -- rename: - field: json.Username - target_field: user.email - ignore_failure: true - ignore_missing: true -- rename: - field: json.UserId - target_field: user.id - ignore_failure: true - ignore_missing: true -- convert: - field: json.SourceIp - type: ip - target_field: source.ip - ignore_missing: true - on_failure: - - append: - field: error.message - value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" + - date: + field: json.EventDate + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.RelatedEventIdentifier + target_field: salesforce.logout.related_event_identifier + ignore_missing: true + ignore_failure: true + - rename: + field: json.LoginKey + target_field: salesforce.logout.login_key + ignore_missing: true + ignore_failure: true + - rename: + field: json.SessionLevel + target_field: salesforce.logout.session.level + ignore_missing: true + ignore_failure: true + - rename: + field: json.SessionKey + target_field: salesforce.logout.session.key + ignore_missing: true + ignore_failure: true + - date: + field: json.CreatedDate + target_field: event.created + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.Username + target_field: user.email + ignore_failure: true + ignore_missing: true + - rename: + field: json.UserId + target_field: user.id + ignore_failure: true + ignore_missing: true + - convert: + field: json.SourceIp + type: ip + target_field: source.ip + ignore_missing: true + on_failure: + - append: + field: error.message + value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" on_failure: -- set: - field: event.kind - value: pipeline_error -- append: - field: error.message - value: '{{{ _ingest.on_failure_message }}}' + - set: + field: event.kind + value: pipeline_error + - append: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" From 09149606a005ab558add3e932d2fc232e370573b Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Apr 2024 17:05:10 +0530 Subject: [PATCH 123/172] Update dashboard, docs, etc. --- x-pack/filebeat/filebeat.reference.yml | 67 +++++++++---------- .../module/salesforce/_meta/docs.asciidoc | 2 - ...f0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 20 +++--- ...ce_apex_execution.ndjson.log-expected.json | 2 +- ..._external_callout.ndjson.log-expected.json | 2 +- ...esforce_apex_rest.ndjson.log-expected.json | 4 +- ...esforce_apex_soap.ndjson.log-expected.json | 4 +- ...orce_apex_trigger.ndjson.log-expected.json | 8 +-- x-pack/filebeat/module/salesforce/fields.go | 2 +- .../modules.d/salesforce.yml.disabled | 66 +++++++++--------- 10 files changed, 87 insertions(+), 90 deletions(-) diff --git a/x-pack/filebeat/filebeat.reference.yml b/x-pack/filebeat/filebeat.reference.yml index a7538143824..08bd35a48d7 100644 --- a/x-pack/filebeat/filebeat.reference.yml +++ b/x-pack/filebeat/filebeat.reference.yml @@ -1883,20 +1883,20 @@ filebeat.modules: # Common Configurations: # - enabled: Set to true to enable ingestion of Salesforce module fileset # - initial_interval: Initial interval for log collection. This setting determines the time period for which the logs will be initially collected when the ingestion process starts, i.e. 1d/h/m/s -# - api_version: API version for Salesforce, version should be grater than 46.0 +# - api_version: API version for Salesforce, version should be greater than 46.0 # Authentication Configurations: # User-Password Authentication: -# - enabled: Set to false if user-password authentication is enabled -# - client.id: Client ID for JWT and user-password authentication +# - enabled: Set to true to enable user-password authentication +# - client.id: Client ID for user-password authentication # - client.secret: Client secret for user-password authentication # - token_url: Token URL for user-password authentication -# - user: Username for user-password authentication +# - username: Username for user-password authentication # - password: Password for user-password authentication # JWT Authentication: -# - enabled: Set to true if JWT authentication is enabled -# - client.id: Client ID for JWT and user-password authentication +# - enabled: Set to true to enable JWT authentication +# - client.id: Client ID for JWT authentication # - client.username: Username for JWT authentication # - client.key_path: Path to client key for JWT authentication # - url: Audience URL for JWT authentication @@ -1921,23 +1921,23 @@ filebeat.modules: user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" - + var.event_log_file: true var.elf_interval: 1h - var.log_file_interval: Hourly - + var.log_file_interval: "Hourly" + login: enabled: false var.initial_interval: 1d @@ -1947,22 +1947,22 @@ filebeat.modules: user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" var.event_log_file: true var.elf_interval: 1h - var.log_file_interval: Hourly + var.log_file_interval: "Hourly" var.real_time: true var.real_time_interval: 5m @@ -1976,23 +1976,23 @@ filebeat.modules: user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" var.event_log_file: true var.elf_interval: 1h - var.log_file_interval: Hourly - + var.log_file_interval: "Hourly" + var.real_time: true var.real_time_interval: 5m @@ -2005,22 +2005,21 @@ filebeat.modules: user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" var.real_time: true - var.real_time_interval: 5m - + var.real_time_interval: 5m #----------------------------- Google Santa Module ----------------------------- - module: santa log: diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index 1033cb95a49..edcea8701cf 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -1,5 +1,3 @@ -Here is the updated asciidoc file with the definitions of `var.authentication.user_password_flow` and `var.authentication.jwt_bearer_flow` added: - [role="xpack"] :modulename: salesforce diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json index 5717dbadbe3..3fd8a5482a7 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -487,7 +487,7 @@ "61308466-190f-4872-9976-8e5320f6eee6": { "dataType": "string", "isBucketed": true, - "label": "Top 10 values of salesforce.apex.trigger.name", + "label": "Top 10 values of salesforce.apex.trigger_name", "operationType": "terms", "params": { "missingBucket": false, @@ -503,7 +503,7 @@ "size": 10 }, "scale": "ordinal", - "sourceField": "salesforce.apex.trigger.name" + "sourceField": "salesforce.apex.trigger_name" }, "b00acfd3-e92b-4b7c-bf69-86e3ebf49971": { "dataType": "date", @@ -1007,7 +1007,7 @@ "bb7f05fd-4314-447c-87c9-7be78c2e3e71": { "dataType": "string", "isBucketed": true, - "label": "Top 10 values of salesforce.apex.trigger.type", + "label": "Top 10 values of salesforce.apex.trigger_type", "operationType": "terms", "params": { "missingBucket": false, @@ -1023,7 +1023,7 @@ "size": 10 }, "scale": "ordinal", - "sourceField": "salesforce.apex.trigger.type" + "sourceField": "salesforce.apex.trigger_type" } }, "incompleteColumns": {} @@ -1172,21 +1172,21 @@ { "input": { "language": "kuery", - "query": "salesforce.apex.trigger.type : *Update*" + "query": "salesforce.apex.trigger_type : *Update*" }, "label": "Updates" }, { "input": { "language": "kuery", - "query": "salesforce.apex.trigger.type : *Insert*" + "query": "salesforce.apex.trigger_type : *Insert*" }, "label": "Inserts" }, { "input": { "language": "kuery", - "query": "salesforce.apex.trigger.type : *Delete*" + "query": "salesforce.apex.trigger_type : *Delete*" }, "label": "Deletes" } @@ -1589,7 +1589,7 @@ "emptyAsNull": true }, "scale": "ratio", - "sourceField": "salesforce.apex.trigger.name" + "sourceField": "salesforce.apex.trigger_name" }, "67d65022-1482-4a0c-b68f-f9b134807989": { "dataType": "date", @@ -1940,7 +1940,7 @@ "dataType": "number", "filter": { "language": "kuery", - "query": "\"salesforce.apex.execute.ms\": *" + "query": "\"salesforce.apex.execute_ms\": *" }, "isBucketed": false, "label": "Execute time (ms)", @@ -1955,7 +1955,7 @@ "sortField": "@timestamp" }, "scale": "ratio", - "sourceField": "salesforce.apex.execute.ms" + "sourceField": "salesforce.apex.execute_ms" }, "35da24b7-398e-433a-85d9-49e7862e0813": { "customLabel": true, diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json index 4e7ff729436..04cffd43637 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json @@ -20,7 +20,7 @@ "salesforce.apex.number_soql_queries": 0, "salesforce.apex.organization_id": "00D5j000000VI3n", "salesforce.apex.quiddity": "V", - "salesforce.apex.request.id": "4fDkD4xoOfMXKFl1cJOo_V", + "salesforce.apex.request_id": "4fDkD4xoOfMXKFl1cJOo_V", "salesforce.apex.run_time": 162, "salesforce.apex.user_id_derived": "0055j000000utlPAAQ", "service.type": "salesforce", diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json index 5f671c6fdc2..2ba00f75776 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json @@ -19,7 +19,7 @@ "salesforce.apex.offset": 0, "salesforce.apex.orderby": "(Order:[columnName=ExternalId, direction=ASCENDING, tableName=HealthcareBlog], Order:[columnName=ExternalId, direction=ASCENDING, tableName=HealthcareBlog])", "salesforce.apex.organization_id": "00D5j000000VI3n", - "salesforce.apex.request.id": "TID:10799890000ce8142a", + "salesforce.apex.request_id": "TID:10799890000ce8142a", "salesforce.apex.select": "(ColumnSelection:[aggregation=NONE, columnName=DisplayUrl, tableName=HealthcareBlog], ColumnSelection:[aggregation=NONE, columnName=ExternalId, tableName=HealthcareBlog])", "service.type": "salesforce", "tags": [ diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json index a0258a90ff9..247ad54672e 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json @@ -25,8 +25,8 @@ "salesforce.apex.login_key": "ieC2BVibz9GliuON", "salesforce.apex.media_type": "application/json;charset=UTF-8", "salesforce.apex.organization_id": "00D5j000000VI3n", - "salesforce.apex.request.id": "4fMAJzbahOQk2kl1cJ0uSV", - "salesforce.apex.request.status": "S", + "salesforce.apex.request_id": "4fMAJzbahOQk2kl1cJ0uSV", + "salesforce.apex.request_status": "S", "salesforce.apex.user_agent": 5236, "salesforce.apex.user_id_derived": "0055j000000utlPAAQ", "service.type": "salesforce", diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json index 697c0a8c663..efeb62e2551 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json @@ -22,8 +22,8 @@ "salesforce.apex.login_key": "1HQDaq9tglsI4Nlo", "salesforce.apex.method_name": "getContactIdAndNames", "salesforce.apex.organization_id": "00D5j000000VI3n", - "salesforce.apex.request.id": "4fMTLXm8qV3kTVl1cJNxMV", - "salesforce.apex.request.status": "S", + "salesforce.apex.request_id": "4fMTLXm8qV3kTVl1cJNxMV", + "salesforce.apex.request_status": "S", "salesforce.apex.user_id_derived": "0055j000000utlPAAQ", "service.type": "salesforce", "source.ip": "43.224.11.237", diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json index b7483fbd3f5..c3ef0fd8673 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json @@ -15,10 +15,10 @@ "salesforce.apex.entity_name": "Book__c", "salesforce.apex.event_type": "ApexTrigger", "salesforce.apex.organization_id": "00D5j000000VI3n", - "salesforce.apex.request.id": "4fDkS1iz2_p5i-l1cJOqAV", - "salesforce.apex.trigger.id": "01q5j000000ClvF", - "salesforce.apex.trigger.name": "HelloWorldTrigger", - "salesforce.apex.trigger.type": "BeforeInsert", + "salesforce.apex.request_id": "4fDkS1iz2_p5i-l1cJOqAV", + "salesforce.apex.trigger_id": "01q5j000000ClvF", + "salesforce.apex.trigger_name": "HelloWorldTrigger", + "salesforce.apex.trigger_type": "BeforeInsert", "salesforce.apex.user_id_derived": "0055j000000utlPAAQ", "service.type": "salesforce", "tags": [ diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index ab9da9b20eb..1b936ea7f7c 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } diff --git a/x-pack/filebeat/modules.d/salesforce.yml.disabled b/x-pack/filebeat/modules.d/salesforce.yml.disabled index aa2d4f2e2d3..931a7249301 100644 --- a/x-pack/filebeat/modules.d/salesforce.yml.disabled +++ b/x-pack/filebeat/modules.d/salesforce.yml.disabled @@ -6,20 +6,20 @@ # Common Configurations: # - enabled: Set to true to enable ingestion of Salesforce module fileset # - initial_interval: Initial interval for log collection. This setting determines the time period for which the logs will be initially collected when the ingestion process starts, i.e. 1d/h/m/s -# - api_version: API version for Salesforce, version should be grater than 46.0 +# - api_version: API version for Salesforce, version should be greater than 46.0 # Authentication Configurations: # User-Password Authentication: -# - enabled: Set to false if user-password authentication is enabled -# - client.id: Client ID for JWT and user-password authentication +# - enabled: Set to true to enable user-password authentication +# - client.id: Client ID for user-password authentication # - client.secret: Client secret for user-password authentication # - token_url: Token URL for user-password authentication -# - user: Username for user-password authentication +# - username: Username for user-password authentication # - password: Password for user-password authentication # JWT Authentication: -# - enabled: Set to true if JWT authentication is enabled -# - client.id: Client ID for JWT and user-password authentication +# - enabled: Set to true to enable JWT authentication +# - client.id: Client ID for JWT authentication # - client.username: Username for JWT authentication # - client.key_path: Path to client key for JWT authentication # - url: Audience URL for JWT authentication @@ -44,23 +44,23 @@ user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" - + var.event_log_file: true var.elf_interval: 1h - var.log_file_interval: Hourly - + var.log_file_interval: "Hourly" + login: enabled: false var.initial_interval: 1d @@ -70,22 +70,22 @@ user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" var.event_log_file: true var.elf_interval: 1h - var.log_file_interval: Hourly + var.log_file_interval: "Hourly" var.real_time: true var.real_time_interval: 5m @@ -99,23 +99,23 @@ user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" var.event_log_file: true var.elf_interval: 1h - var.log_file_interval: Hourly - + var.log_file_interval: "Hourly" + var.real_time: true var.real_time_interval: 5m @@ -128,18 +128,18 @@ user_password_flow: enabled: true client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: client-secret + client.secret: "client-secret" token_url: "https://login.salesforce.com" - user: "abc.xyz@mail.com" + username: "abc.xyz@mail.com" password: "P@$$W0₹D" jwt_bearer_flow: - enabled: true + enabled: false client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" client.username: "abc.xyz@mail.com" - client.key_path: client_key.pem - url: https://login.salesforce.com + client.key_path: "client_key.pem" + url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" var.real_time: true - var.real_time_interval: 5m + var.real_time_interval: 5m \ No newline at end of file From 60dac038277f6cd21aa81702568af20f9f52b1e3 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 5 Apr 2024 17:25:19 +0530 Subject: [PATCH 124/172] Mage update --- filebeat/docs/fields.asciidoc | 153 +++++----------- filebeat/docs/modules/salesforce.asciidoc | 211 ++++++++++++++-------- 2 files changed, 175 insertions(+), 189 deletions(-) diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index bfc4a239abf..03fa40827a8 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -125119,8 +125119,7 @@ Fileset for ingesting Salesforce Apex logs. *`salesforce.apex.document_id`*:: + -- -Unique Id. - +Unique ID of the Apex document. type: keyword @@ -125131,7 +125130,6 @@ type: keyword -- Action performed by the callout. - type: keyword -- @@ -125139,10 +125137,9 @@ type: keyword *`salesforce.apex.callout_time`*:: + -- -Time spent waiting on webservice callouts, in milliseconds. - +Time spent waiting on web service callouts, in milliseconds. -type: keyword +type: float -- @@ -125151,7 +125148,6 @@ type: keyword -- The Apex class name. If the class is part of a managed package, this string includes the package namespace. - type: keyword -- @@ -125159,8 +125155,7 @@ type: keyword *`salesforce.apex.client_name`*:: + -- -The name of the client that's using Salesforce services. This field is an optional parameter that can be passed in API calls. If blank, the caller didnt specify a client in the CallOptions header. - +The name of the client that's using Salesforce services. This field is an optional parameter that can be passed in API calls. If blank, the caller didn't specify a client in the CallOptions header. type: keyword @@ -125171,8 +125166,7 @@ type: keyword -- The CPU time in milliseconds used to complete the request. - -type: keyword +type: float -- @@ -125181,8 +125175,7 @@ type: keyword -- Indicates how much activity is occurring in the database. A high value for this field suggests that adding indexes or filters on your queries would benefit performance. - -type: keyword +type: long -- @@ -125191,18 +125184,16 @@ type: keyword -- The CPU time in milliseconds to complete the request. Indicates the amount of activity taking place in the database layer during the request. - -type: keyword +type: float -- *`salesforce.apex.db_total_time`*:: + -- -Time (in milliseconds) spent waiting for database processing in aggregate for all operations in the request. Compare this field to CPU_TIME to determine whether performance issues are occurring in the database layer or in your own code. +Time (in milliseconds) spent waiting for database processing in aggregate for all operations in the request. Compare this field to cpu_time to determine whether performance issues are occurring in the database layer or in your own code. - -type: keyword +type: float -- @@ -125211,7 +125202,6 @@ type: keyword -- Name of the external object being accessed. - type: keyword -- @@ -125221,7 +125211,6 @@ type: keyword -- The name of the object affected by the trigger. - type: keyword -- @@ -125231,7 +125220,6 @@ type: keyword -- The entry point for this Apex execution. - type: keyword -- @@ -125239,8 +125227,7 @@ type: keyword *`salesforce.apex.event_type`*:: + -- -The type of event. The value is always ApexCallout. - +The type of event. type: keyword @@ -125251,8 +125238,7 @@ type: keyword -- How long it took (in milliseconds) for Salesforce to prepare and execute the query. Available in API version 42.0 and later. - -type: keyword +type: float -- @@ -125261,8 +125247,7 @@ type: keyword -- How long it took (in milliseconds) to retrieve the query results from the external system. Available in API version 42.0 and later. - -type: keyword +type: float -- @@ -125271,7 +125256,6 @@ type: keyword -- Field expressions to filter which rows to return. Corresponds to WHERE in SOQL queries. - type: keyword -- @@ -125281,8 +125265,7 @@ type: keyword -- Indicates whether the request is counted against your org's concurrent long-running Apex request limit (true) or not (false). - -type: keyword +type: boolean -- @@ -125291,18 +125274,16 @@ type: keyword -- Maximum number of rows to return for a query. Corresponds to LIMIT in SOQL queries. - -type: keyword +type: long -- -*`salesforce.apex.limit_usage_percent`*:: +*`salesforce.apex.limit_usage_pct`*:: + -- The percentage of Apex SOAP calls that were made against the organization's limit. - -type: keyword +type: float -- @@ -125311,7 +125292,6 @@ type: keyword -- The string that ties together all events in a given user's login session. It starts with a login event and ends with either a logout event or the user session expiring. - type: keyword -- @@ -125321,7 +125301,6 @@ type: keyword -- The media type of the response. - type: keyword -- @@ -125331,8 +125310,7 @@ type: keyword -- Error or warning message associated with the failed call. - -type: keyword +type: text -- @@ -125341,28 +125319,25 @@ type: keyword -- The name of the calling Apex method. - type: keyword -- -*`salesforce.apex.number_fields`*:: +*`salesforce.apex.fields_count`*:: + -- The number of fields or columns, where applicable. - -type: keyword +type: long -- -*`salesforce.apex.number_soql_queries`*:: +*`salesforce.apex.soql_queries_count`*:: + -- The number of SOQL queries that were executed during the event. - -type: keyword +type: long -- @@ -125371,8 +125346,7 @@ type: keyword -- Number of rows to skip when paging through a result set. Corresponds to OFFSET in SOQL queries. - -type: keyword +type: long -- @@ -125381,7 +125355,6 @@ type: keyword -- Field or column to use for sorting query results, and whether to sort the results in ascending (default) or descending order. Corresponds to ORDER BY in SOQL queries. - type: keyword -- @@ -125391,7 +125364,6 @@ type: keyword -- The 15-character ID of the organization. - type: keyword -- @@ -125401,7 +125373,6 @@ type: keyword -- The SOQL query, if one was performed. - type: keyword -- @@ -125411,68 +125382,61 @@ type: keyword -- The type of outer execution associated with this event. - type: keyword -- -*`salesforce.apex.request.id`*:: +*`salesforce.apex.request_id`*:: + -- -The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same REQUEST_ID. - +The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same request_id. type: keyword -- -*`salesforce.apex.request.status`*:: +*`salesforce.apex.request_status`*:: + -- The status of the request for a page view or user interface action. - type: keyword -- -*`salesforce.apex.rows.total`*:: +*`salesforce.apex.rows_total`*:: + -- Total number of records in the result set. The value is always -1 if the custom adapter's DataSource.Provider class doesn't declare the QUERY_TOTAL_SIZE capability. - -type: keyword +type: long -- -*`salesforce.apex.rows.fetched`*:: +*`salesforce.apex.rows_fetched`*:: + -- Number of rows fetched by the callout. Available in API version 42.0 and later. - -type: keyword +type: long -- -*`salesforce.apex.rows.processed`*:: +*`salesforce.apex.rows_processed`*:: + -- The number of rows that were processed in the request. - -type: keyword +type: long -- *`salesforce.apex.run_time`*:: + -- -Not used for this event type. Use the TIME field instead. - +The amount of time that the request took in milliseconds. -type: keyword +type: float -- @@ -125481,7 +125445,6 @@ type: keyword -- Comma-separated list of fields being queried. Corresponds to SELECT in SOQL queries. - type: keyword -- @@ -125491,7 +125454,6 @@ type: keyword -- Reserved for future use. - type: keyword -- @@ -125501,8 +125463,7 @@ type: keyword -- Number of records retrieved in one second. - -type: keyword +type: float -- @@ -125512,7 +125473,6 @@ type: keyword -- The 15-character ID of the trigger that was fired. - type: keyword -- @@ -125520,8 +125480,7 @@ type: keyword *`salesforce.apex.trigger.name`*:: + -- -For triggers coming from managed packages, TRIGGER_NAME includes a namespace prefix separated with a . character. If no namespace prefix is present, the trigger is from an unmanaged trigger. - +For triggers coming from managed packages, trigger_name includes a namespace prefix separated with a . character. If no namespace prefix is present, the trigger is from an unmanaged trigger. type: keyword @@ -125532,7 +125491,6 @@ type: keyword -- The type of this trigger. - type: keyword -- @@ -125542,7 +125500,6 @@ type: keyword -- The type of Apex callout. - type: keyword -- @@ -125552,17 +125509,15 @@ type: keyword -- The URI of the page that's receiving the request. - type: keyword -- -*`salesforce.apex.uri_id_derived`*:: +*`salesforce.apex.uri_derived_id`*:: + -- The 18-character case-safe ID of the URI of the page that's receiving the request. - type: keyword -- @@ -125572,7 +125527,6 @@ type: keyword -- The numeric code for the type of client used to make the request (for example, the browser, application, or API). - type: keyword -- @@ -125582,7 +125536,6 @@ type: keyword -- The 18-character case-safe ID of the user who's using Salesforce services through the UI or the API. - type: keyword -- @@ -125599,7 +125552,6 @@ Fileset for ingesting Salesforce Login (REST) logs. -- Unique Id. - type: keyword -- @@ -125607,8 +125559,7 @@ type: keyword *`salesforce.login.application`*:: + -- -The application used to access the org. Possible values include: AppExchange, Browser, Salesforce for iOS, Salesforce Developers API Explorer, N/A - +The application used to access the organization. type: keyword @@ -125620,7 +125571,6 @@ type: keyword -- The type of Salesforce API request. - type: keyword -- @@ -125630,7 +125580,6 @@ type: keyword -- The version of the Salesforce API that's being used. - type: keyword -- @@ -125641,7 +125590,6 @@ type: keyword -- The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. - type: keyword -- @@ -125651,7 +125599,6 @@ type: keyword -- The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. - type: keyword -- @@ -125661,7 +125608,6 @@ type: keyword -- The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. - type: keyword -- @@ -125671,7 +125617,6 @@ type: keyword -- The version number of the login client. If no version number is available, “Unknown” is returned. - type: keyword -- @@ -125681,7 +125626,6 @@ type: keyword -- The IP address of the client that’s using Salesforce services. A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP”. - type: keyword -- @@ -125691,18 +125635,16 @@ type: keyword -- The CPU time in milliseconds used to complete the request. This field indicates the amount of activity taking place in the app server layer. - -type: keyword +type: long -- -*`salesforce.login.db_total.time`*:: +*`salesforce.login.db_time.total`*:: + -- -The time in nanoseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and DB_CPU_TIME. Compare this field to CPU_TIME to determine whether performance issues are occurring in the database layer or in your own code. - +The time in milliseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and db_time.total. Compare this field to cpu_time to determine whether performance issues are occurring in the database layer or in your own code. -type: keyword +type: double -- @@ -125711,7 +125653,6 @@ type: keyword -- The type of event. The value is always Login. - type: keyword -- @@ -125721,7 +125662,6 @@ type: keyword -- The 15-character ID of the organization. - type: keyword -- @@ -125731,7 +125671,6 @@ type: keyword -- The unique ID of a single transaction. A transaction can contain one or more events. Each event in a given transaction has the same REQUEST_ID. - type: keyword -- @@ -125741,7 +125680,6 @@ type: keyword -- The status of the request for a page view or user interface action. - type: keyword -- @@ -125751,8 +125689,7 @@ type: keyword -- The amount of time that the request took in milliseconds. - -type: keyword +type: long -- @@ -125761,7 +125698,6 @@ type: keyword -- The 18-character case insensitive ID of the URI of the page that’s receiving the request. - type: keyword -- @@ -125771,7 +125707,6 @@ type: keyword -- The 18-character case insensitive ID of the user who’s using Salesforce services through the UI or the API. - type: keyword -- @@ -125781,8 +125716,7 @@ type: keyword -- The amount of time it took to evaluate the transaction security policy, in milliseconds. - -type: keyword +type: float -- @@ -125791,7 +125725,6 @@ type: keyword -- The type of login used to access the session. - type: keyword -- diff --git a/filebeat/docs/modules/salesforce.asciidoc b/filebeat/docs/modules/salesforce.asciidoc index b3930b4c5e1..a03b12fdf7f 100644 --- a/filebeat/docs/modules/salesforce.asciidoc +++ b/filebeat/docs/modules/salesforce.asciidoc @@ -12,28 +12,29 @@ This file is generated! See scripts/docs_collector.py == Salesforce module -This is a module for Salesforce logs. -It collects the logs using the following two different types of inputs: +The Salesforce module collects logs from a Salesforce instance using the Salesforce REST API. It supports real-time and historical data collection for various log types including login, logout, Apex, and setup audit trails. -- `salesforce` input: collects real-time and historical data using Salesforce REST API. +The module provides the following filesets for receiving logs: -It includes the following filesets for receiving logs: +- `login` fileset: Collects Salesforce Login logs from EventLogFile and Event Monitoring. +- `logout` fileset: Collects Salesforce Logout logs from EventLogFile and Event Monitoring. +- `apex` fileset: Collects Salesforce Apex logs from EventLogFile. +- `setupaudittrail` fileset: Collects logs generated when admins make changes in your org's Setup area. -- `login` fileset: supports Salesforce Login logs received from the EventLogFile and Event Monitoring using Salesforce REST API. -- `logout` fileset: supports Salesforce Logout logs received from the EventLogFile and Event Monitoring using Salesforce REST API. -- `apex` fileset: supports Salesforce Apex logs received from the the EventLogFile using Salesforce REST API. -- `setupaudittrail` fileset: supports logs generated when admins make in your org’s Setup area, collected using Salesforce REST API. - -Note: -- We can leverage the inputs provided above to collect the rest of the events from the Salesforce REST API. -- The default value of `var.real_time_interval` or `var.elf_interval` is 5m/1h. It is important to exercise caution when reducing the interval, as it directly affects the API rate limit of the Salesforce instance. Salesforce API rate limit is ~1000 API calls per hour. Hence if user goes with lower limit of `var.real_time_interval` or `var.elf_interval`, the Salesforce API rate limit will exceed and any additional API requests beyond the limit will result in an error response from the Salesforce API. The error message will typically indicate that the rate limit has been exceeded. Please refer to the following link for the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit]. +[IMPORTANT] +==== +The default interval for collecting logs (`var.real_time_interval` or `var.elf_interval`) is 5m/1h. Exercise caution when reducing this interval, as it directly impacts the Salesforce API rate limit of ~1000 calls per hour. Exceeding the limit will result in errors from the Salesforce API. Refer to the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit] documentation for more details. +==== include::../include/what-happens.asciidoc[] include::../include/gs-link.asciidoc[] [float] -==== `login` fileset settings +=== Fileset settings + +[float] +==== `login` fileset Example config: @@ -74,7 +75,7 @@ include::../include/var-paths.asciidoc[] *`var.initial_interval`*:: -The initial interval for the `login` fileset. It defines the time window in which the `login` fileset collects logs of historical data. +The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). *`var.api_version`*:: @@ -82,27 +83,35 @@ The API version of the Salesforce instance. *`var.authentication`*:: -Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. +Authentication config for connecting to Salesforce API. Supports JWT or user-password auth flows. + +*`var.authentication.jwt_bearer_flow.enabled`*:: + +Set to true to use JWT authentication. *`var.authentication.jwt_bearer_flow.client.id`*:: -The client id for JWT authentication. +The client ID for JWT authentication. *`var.authentication.jwt_bearer_flow.client.username`*:: -The username used for JWT authentication. +The username for JWT authentication. *`var.authentication.jwt_bearer_flow.client.key_path`*:: -Path to the client key for JWT authentication. +Path to the client key file for JWT authentication. -*`var.authentication.jwt_bearer_flow.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.url`*:: The audience URL for JWT authentication. +*`var.authentication.user_password_flow.enabled`*:: + +Set to true to use user-password authentication. + *`var.authentication.user_password_flow.client.id`*:: -The client id for user-password authentication. +The client ID for user-password authentication. *`var.authentication.user_password_flow.client.secret`*:: @@ -110,42 +119,42 @@ The client secret for user-password authentication. *`var.authentication.user_password_flow.token_url`*:: -The token URL for user-password authentication. +The Salesforce token URL for user-password authentication. *`var.authentication.user_password_flow.username`*:: -The username used for user-password authentication. +The Salesforce username for authentication. *`var.authentication.user_password_flow.password`*:: -The password used for user-password authentication. +The password for the Salesforce user. *`var.url`*:: -The URL of the Saleforce instance. +The URL of the Salesforce instance. *`var.event_log_file`*:: -Set to true to enable event log file data collection. Module will use EventLogFile data collection method. +Set to true to collect logs from EventLogFile (historical data). *`var.elf_interval`*:: -The Period for fetching event log file data, i.e. 1s/1m/1h. +Interval for collecting EventLogFile logs, e.g. 1h or 5m. *`var.log_file_interval`*:: -The interval type of EventLogFile data collection. Either Hourly or Daily. +Either "Hourly" or "Daily". The time interval of each log file from EventLogFile. *`var.real_time`*:: -Set to true to enable real-time data collection. +Set to true to collect real-time data collection. *`var.real_time_interval`*:: -The Period for fetching real-time data, i.e. 1s/1m/1h. +Interval for collecting real-time logs, e.g. 30s or 5m. [float] -==== `logout` fileset settings +==== `logout` fileset Example config: @@ -186,7 +195,7 @@ include::../include/var-paths.asciidoc[] *`var.initial_interval`*:: -The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. +The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). *`var.api_version`*:: @@ -194,27 +203,35 @@ The API version of the Salesforce instance. *`var.authentication`*:: -Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. +Authentication config for connecting to Salesforce API. Supports JWT or user-password auth flows. + +*`var.authentication.jwt_bearer_flow.enabled`*:: + +Set to true to use JWT authentication. *`var.authentication.jwt_bearer_flow.client.id`*:: -The client id for JWT authentication. +The client ID for JWT authentication. *`var.authentication.jwt_bearer_flow.client.username`*:: -The username used for JWT authentication. +The username for JWT authentication. *`var.authentication.jwt_bearer_flow.client.key_path`*:: -Path to the client key for JWT authentication. +Path to the client key file for JWT authentication. -*`var.authentication.jwt_bearer_flow.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.url`*:: The audience URL for JWT authentication. +*`var.authentication.user_password_flow.enabled`*:: + +Set to true to use user-password authentication. + *`var.authentication.user_password_flow.client.id`*:: -The client id for user-password authentication. +The client ID for user-password authentication. *`var.authentication.user_password_flow.client.secret`*:: @@ -222,42 +239,42 @@ The client secret for user-password authentication. *`var.authentication.user_password_flow.token_url`*:: -The token URL for user-password authentication. +The Salesforce token URL for user-password authentication. *`var.authentication.user_password_flow.username`*:: -The username used for user-password authentication. +The Salesforce username for authentication. *`var.authentication.user_password_flow.password`*:: -The password used for user-password authentication. +The password for the Salesforce user. *`var.url`*:: -The URL of the Saleforce instance. +The URL of the Salesforce instance. *`var.event_log_file`*:: -Set to true to enable event log file data collection. Module will use EventLogFile data collection method. +Set to true to collect logs from EventLogFile (historical data). *`var.elf_interval`*:: -The Period for fetching event log file data, i.e. 1s/1m/1h. +Interval for collecting EventLogFile logs, e.g. 1h or 5m. *`var.log_file_interval`*:: -The interval type of EventLogFile data collection. Either Hourly or Daily. +Either "Hourly" or "Daily". The time interval of each log file from EventLogFile. *`var.real_time`*:: -Set to true to enable real-time data collection. +Set to true to collect real-time data collection. *`var.real_time_interval`*:: -The Period for fetching real-time data, i.e. 1s/1m/1h. +Interval for collecting real-time logs, e.g. 30s or 5m. [float] -==== `setupaudittrail` fileset settings +==== `setupaudittrail` fileset Example config: @@ -294,7 +311,7 @@ include::../include/var-paths.asciidoc[] *`var.initial_interval`*:: -The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. +The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). *`var.api_version`*:: @@ -302,27 +319,35 @@ The API version of the Salesforce instance. *`var.authentication`*:: -Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. +Authentication config for connecting to Salesforce API. Supports JWT or user-password auth flows. + +*`var.authentication.jwt_bearer_flow.enabled`*:: + +Set to true to use JWT authentication. *`var.authentication.jwt_bearer_flow.client.id`*:: -The client id for JWT authentication. +The client ID for JWT authentication. *`var.authentication.jwt_bearer_flow.client.username`*:: -The username used for JWT authentication. +The username for JWT authentication. *`var.authentication.jwt_bearer_flow.client.key_path`*:: -Path to the client key for JWT authentication. +Path to the client key file for JWT authentication. -*`var.authentication.jwt_bearer_flow.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.url`*:: The audience URL for JWT authentication. +*`var.authentication.user_password_flow.enabled`*:: + +Set to true to use user-password authentication. + *`var.authentication.user_password_flow.client.id`*:: -The client id for user-password authentication. +The client ID for user-password authentication. *`var.authentication.user_password_flow.client.secret`*:: @@ -330,30 +355,30 @@ The client secret for user-password authentication. *`var.authentication.user_password_flow.token_url`*:: -The token URL for user-password authentication. +The Salesforce token URL for user-password authentication. *`var.authentication.user_password_flow.username`*:: -The username used for user-password authentication. +The Salesforce username for authentication. *`var.authentication.user_password_flow.password`*:: -The password used for user-password authentication. +The password for the Salesforce user. *`var.url`*:: -The URL of the Saleforce instance. +The URL of the Salesforce instance. *`var.real_time`*:: -Set to true to enable real-time data collection. +Set to true to collect real-time data collection. *`var.real_time_interval`*:: -The Period for fetching real-time data, i.e. 1s/1m/1h. +Interval for collecting real-time logs, e.g. 30s or 5m. [float] -==== `apex` fileset settings +==== `apex` fileset Example config: @@ -392,7 +417,7 @@ include::../include/var-paths.asciidoc[] *`var.initial_interval`*:: -The initial interval for the `logout` fileset. It defines the time window in which the `logout` fileset collects logs of historical data. +The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). *`var.api_version`*:: @@ -400,27 +425,35 @@ The API version of the Salesforce instance. *`var.authentication`*:: -Authentication configuration for Salesforce data collection. Current module supports JWT and User-Password authentication flows. +Authentication config for connecting to Salesforce API. Supports JWT or user-password auth flows. + +*`var.authentication.jwt_bearer_flow.enabled`*:: + +Set to true to use JWT authentication. *`var.authentication.jwt_bearer_flow.client.id`*:: -The client id for JWT authentication. +The client ID for JWT authentication. *`var.authentication.jwt_bearer_flow.client.username`*:: -The username used for JWT authentication. +The username for JWT authentication. *`var.authentication.jwt_bearer_flow.client.key_path`*:: -Path to the client key for JWT authentication. +Path to the client key file for JWT authentication. -*`var.authentication.jwt_bearer_flow.jwt_url`*:: +*`var.authentication.jwt_bearer_flow.url`*:: The audience URL for JWT authentication. +*`var.authentication.user_password_flow.enabled`*:: + +Set to true to use user-password authentication. + *`var.authentication.user_password_flow.client.id`*:: -The client id for user-password authentication. +The client ID for user-password authentication. *`var.authentication.user_password_flow.client.secret`*:: @@ -428,48 +461,68 @@ The client secret for user-password authentication. *`var.authentication.user_password_flow.token_url`*:: -The token URL for user-password authentication. +The Salesforce token URL for user-password authentication. *`var.authentication.user_password_flow.username`*:: -The username used for user-password authentication. +The Salesforce username for authentication. *`var.authentication.user_password_flow.password`*:: -The password used for user-password authentication. +The password for the Salesforce user. *`var.url`*:: -The URL of the Saleforce instance. +The URL of the Salesforce instance. *`var.event_log_file`*:: -Set to true to enable event log file data collection. Module will use EventLogFile data collection method. +Set to true to collect logs from EventLogFile (historical data). *`var.elf_interval`*:: -The Period for fetching event log file data, i.e. 1s/1m/1h. +Interval for collecting EventLogFile logs, e.g. 1h or 5m. *`var.log_file_interval`*:: -The interval type of EventLogFile data collection. Either Hourly or Daily. +Either "Hourly" or "Daily". The time interval of each log file from EventLogFile. [float] -=== Example dashboard +=== Example dashboards + +The Salesforce module includes several predefined dashboards: -This Salesforce module comes with several predefined dashboards, including Login, Logout, Apex, and Setup Audit Trails Dashboards. For example: +- Login Dashboard: Visualizes login activity and trends. +- Logout Dashboard: Visualizes logout activity and trends. +- Apex Dashboard: Visualizes Apex executions and errors. +- Setup Audit Trail Dashboard: Shows changes made in the Setup area. image::./images/filebeat-salesforce-login-dashboard.png[] image::./images/filebeat-salesforce-logout-dashboard.png[] -:has-dashboards!: +Access these dashboards in Kibana by going to Management -> Kibana -> Dashboards and searching for "Salesforce". + +[float] +=== Troubleshooting + +Here are some common issues and how to resolve them: + +*Hitting Salesforce API limits*:: +Reduce the values of `var.real_time_interval` and `var.elf_interval` to poll the API less frequently. Monitor the API usage in your Salesforce instance. + +*Connectivity issues*:: +Verify the `var.url` is correct. Check that the user credentials are valid and have the necessary permissions. Ensure network connectivity between the Elastic Agent and Salesforce instance. + +*Not seeing any data*:: +Check the Elastic Agent logs for errors. Verify the module configuration is correct, the filesets are enabled, and the intervals are reasonable. Confirm there is log activity in Salesforce for the log types being collected. + +:has-dashboards!: :fileset_ex!: :modulename!: - [float] === Fields From 2472c181db4aeab801ce74be2ebafc014c9a3811 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 8 Apr 2024 11:23:59 +0530 Subject: [PATCH 125/172] Maps are not able to stored as in Dashboard panelJSON, manually saved the maps to allow the check to pass --- ...9aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json | 290 +++--------------- ...f0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 26 +- ...50440-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 230 +------------- .../7229c570-f56b-11ee-81cc-878f4842770a.json | 229 ++++++++++++++ .../7ed92590-f56b-11ee-81cc-878f4842770a.json | 229 ++++++++++++++ 5 files changed, 519 insertions(+), 485 deletions(-) create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7229c570-f56b-11ee-81cc-878f4842770a.json create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7ed92590-f56b-11ee-81cc-878f4842770a.json diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json index 087684c68ec..e84a1f2d2d3 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json @@ -1722,249 +1722,6 @@ "type": "lens", "version": "8.10.0" }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "layerListJSON": [ - { - "alpha": 1, - "id": "3de98652-8d42-4415-91ca-d64b26bb6972", - "includeInFitToBounds": true, - "label": null, - "locale": "autoselect", - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "isAutoSelect": true, - "lightModeDefault": "road_map_desaturated", - "type": "EMS_TMS" - }, - "style": { - "color": "", - "type": "EMS_VECTOR_TILE" - }, - "type": "EMS_VECTOR_TILE", - "visible": true - }, - { - "alpha": 0.75, - "id": "546e11d2-db52-457b-8733-e1ee75c51fd8", - "includeInFitToBounds": true, - "joins": [], - "label": "Login Activity", - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "applyForceRefresh": true, - "applyGlobalQuery": true, - "applyGlobalTime": true, - "filterByMapBounds": true, - "geoField": "source.geo.location", - "id": "6d0ed8a8-d5de-4d2e-9e05-0fd4b7dc2384", - "indexPatternRefName": "layer_1_source_index_pattern", - "scalingType": "MVT", - "sortField": "", - "sortOrder": "desc", - "tooltipProperties": [], - "topHitsSize": 1, - "topHitsSplitField": "", - "type": "ES_SEARCH" - }, - "style": { - "isTimeAware": true, - "properties": { - "fillColor": { - "options": { - "color": "#54B399" - }, - "type": "STATIC" - }, - "icon": { - "options": { - "value": "marker" - }, - "type": "STATIC" - }, - "iconOrientation": { - "options": { - "orientation": 0 - }, - "type": "STATIC" - }, - "iconSize": { - "options": { - "size": 6 - }, - "type": "STATIC" - }, - "labelBorderColor": { - "options": { - "color": "#FFFFFF" - }, - "type": "STATIC" - }, - "labelBorderSize": { - "options": { - "size": "SMALL" - } - }, - "labelColor": { - "options": { - "color": "#000000" - }, - "type": "STATIC" - }, - "labelSize": { - "options": { - "size": 14 - }, - "type": "STATIC" - }, - "labelText": { - "options": { - "value": "" - }, - "type": "STATIC" - }, - "labelZoomRange": { - "options": { - "maxZoom": 24, - "minZoom": 0, - "useLayerZoomRange": true - } - }, - "lineColor": { - "options": { - "color": "#41937c" - }, - "type": "STATIC" - }, - "lineWidth": { - "options": { - "size": 1 - }, - "type": "STATIC" - }, - "symbolizeAs": { - "options": { - "value": "circle" - } - } - }, - "type": "VECTOR" - }, - "type": "MVT_VECTOR", - "visible": true - } - ], - "mapStateJSON": { - "adHocDataViews": [], - "center": { - "lat": 0, - "lon": -110.39069 - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "filebeat-*", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - }, - "refreshConfig": { - "interval": 900000, - "isPaused": false - }, - "settings": { - "autoFitToDataBounds": false, - "backgroundColor": "#ffffff", - "browserLocation": { - "zoom": 2 - }, - "customIcons": [], - "disableInteractive": false, - "disableTooltipControl": false, - "fixedLocation": { - "lat": 0, - "lon": 0, - "zoom": 2 - }, - "hideLayerControl": false, - "hideToolbarOverlay": false, - "hideViewControl": false, - "initialLocation": "LAST_SAVED_LOCATION", - "keydownScrollZoom": false, - "maxZoom": 24, - "minZoom": 0, - "showScaleControl": false, - "showSpatialFilters": true, - "showTimesliderToggleButton": true, - "spatialFiltersAlpa": 0.3, - "spatialFiltersFillColor": "#DA8B45", - "spatialFiltersLineColor": "#DA8B45" - }, - "timeFilters": { - "from": "now-7d/d", - "to": "now" - }, - "zoom": 0.61 - }, - "title": "", - "uiStateJSON": { - "isLayerTOCOpen": true, - "openTOCDetails": [] - } - }, - "enhancements": {}, - "hiddenLayers": [], - "hidePanelTitles": false, - "isLayerTOCOpen": true, - "mapBuffer": { - "maxLat": 66.51326, - "maxLon": 180, - "minLat": 0, - "minLon": -180 - }, - "mapCenter": { - "lat": 35.84709, - "lon": 9.06803, - "zoom": 2.13 - }, - "openTOCDetails": [] - }, - "gridData": { - "h": 15, - "i": "bc6b147a-bd41-4f00-affe-4a7b7fbaab7a", - "w": 48, - "x": 0, - "y": 88 - }, - "panelIndex": "bc6b147a-bd41-4f00-affe-4a7b7fbaab7a", - "title": "Login activity by region [Filebeat Salesforce]", - "type": "map", - "version": "8.10.0" - }, { "embeddableConfig": { "attributes": { @@ -2110,6 +1867,37 @@ "title": "Top 10 postal code by user count [Filebeat Salesforce]", "type": "lens", "version": "8.10.0" + }, + { + "embeddableConfig": { + "enhancements": {}, + "hiddenLayers": [], + "hidePanelTitles": false, + "isLayerTOCOpen": true, + "mapBuffer": { + "maxLat": 66.51326, + "maxLon": 180, + "minLat": 0, + "minLon": -180 + }, + "mapCenter": { + "lat": 35.84709, + "lon": 9.06803, + "zoom": 2.13 + }, + "openTOCDetails": [] + }, + "gridData": { + "h": 15, + "i": "f4ad5dba-0dad-46b7-9169-173128b61110", + "w": 48, + "x": 0, + "y": 88 + }, + "panelIndex": "f4ad5dba-0dad-46b7-9169-173128b61110", + "panelRefName": "panel_f4ad5dba-0dad-46b7-9169-173128b61110", + "type": "map", + "version": "8.10.0" } ], "refreshInterval": { @@ -2123,7 +1911,7 @@ "version": 1 }, "coreMigrationVersion": "8.8.0", - "created_at": "2024-04-03T06:59:40.737Z", + "created_at": "2024-04-08T05:47:15.677Z", "id": "salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg", "managed": false, "references": [ @@ -2272,11 +2060,6 @@ "name": "4a2b88af-ad1a-416d-9553-d21b23882c22:0d3528e5-e4b0-430d-8ed3-7c63b8bdb5cb", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "bc6b147a-bd41-4f00-affe-4a7b7fbaab7a:layer_1_source_index_pattern", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6:indexpattern-datasource-layer-75cb4ead-3ea9-4a50-b9e3-93a364e95f02", @@ -2287,6 +2070,11 @@ "name": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6:d110f063-ba9b-4d7e-9d00-124ef79bf704", "type": "index-pattern" }, + { + "id": "7229c570-f56b-11ee-81cc-878f4842770a", + "name": "f4ad5dba-0dad-46b7-9169-173128b61110:panel_f4ad5dba-0dad-46b7-9169-173128b61110", + "type": "map" + }, { "id": "filebeat-*", "name": "controlGroup_9d6785f0-b96d-4e35-8c17-3d7c90855bd2:optionsListDataView", @@ -2295,6 +2083,6 @@ ], "type": "dashboard", "typeMigrationVersion": "8.9.0", - "updated_at": "2024-04-03T06:59:40.737Z", - "version": "WzEwMDIwLDJd" + "updated_at": "2024-04-08T05:47:15.677Z", + "version": "WzEwMDYyLDJd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json index 3fd8a5482a7..2163e560567 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -487,7 +487,7 @@ "61308466-190f-4872-9976-8e5320f6eee6": { "dataType": "string", "isBucketed": true, - "label": "Top 10 values of salesforce.apex.trigger_name", + "label": "Top 10 values of salesforce.apex.trigger.name", "operationType": "terms", "params": { "missingBucket": false, @@ -503,7 +503,7 @@ "size": 10 }, "scale": "ordinal", - "sourceField": "salesforce.apex.trigger_name" + "sourceField": "salesforce.apex.trigger.name" }, "b00acfd3-e92b-4b7c-bf69-86e3ebf49971": { "dataType": "date", @@ -1007,7 +1007,7 @@ "bb7f05fd-4314-447c-87c9-7be78c2e3e71": { "dataType": "string", "isBucketed": true, - "label": "Top 10 values of salesforce.apex.trigger_type", + "label": "Top 10 values of salesforce.apex.trigger.type", "operationType": "terms", "params": { "missingBucket": false, @@ -1023,7 +1023,7 @@ "size": 10 }, "scale": "ordinal", - "sourceField": "salesforce.apex.trigger_type" + "sourceField": "salesforce.apex.trigger.type" } }, "incompleteColumns": {} @@ -1172,21 +1172,21 @@ { "input": { "language": "kuery", - "query": "salesforce.apex.trigger_type : *Update*" + "query": "salesforce.apex.trigger.type : *Update*" }, "label": "Updates" }, { "input": { "language": "kuery", - "query": "salesforce.apex.trigger_type : *Insert*" + "query": "salesforce.apex.trigger.type : *Insert*" }, "label": "Inserts" }, { "input": { "language": "kuery", - "query": "salesforce.apex.trigger_type : *Delete*" + "query": "salesforce.apex.trigger.type : *Delete*" }, "label": "Deletes" } @@ -1589,7 +1589,7 @@ "emptyAsNull": true }, "scale": "ratio", - "sourceField": "salesforce.apex.trigger_name" + "sourceField": "salesforce.apex.trigger.name" }, "67d65022-1482-4a0c-b68f-f9b134807989": { "dataType": "date", @@ -1940,7 +1940,7 @@ "dataType": "number", "filter": { "language": "kuery", - "query": "\"salesforce.apex.execute_ms\": *" + "query": "\"salesforce.apex.execute.ms\": *" }, "isBucketed": false, "label": "Execute time (ms)", @@ -1955,7 +1955,7 @@ "sortField": "@timestamp" }, "scale": "ratio", - "sourceField": "salesforce.apex.execute_ms" + "sourceField": "salesforce.apex.execute.ms" }, "35da24b7-398e-433a-85d9-49e7862e0813": { "customLabel": true, @@ -2103,7 +2103,7 @@ "version": 1 }, "coreMigrationVersion": "8.8.0", - "created_at": "2024-04-03T07:05:38.117Z", + "created_at": "2024-04-03T13:26:47.473Z", "id": "salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg", "managed": false, "references": [ @@ -2265,6 +2265,6 @@ ], "type": "dashboard", "typeMigrationVersion": "8.9.0", - "updated_at": "2024-04-03T07:05:38.117Z", - "version": "WzEwMDI0LDJd" + "updated_at": "2024-04-03T13:26:47.473Z", + "version": "WzEwMDQwLDJd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json index 014165f084e..9e4bb2f1b25 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -803,218 +803,6 @@ }, { "embeddableConfig": { - "attributes": { - "description": "", - "layerListJSON": [ - { - "alpha": 1, - "id": "3de98652-8d42-4415-91ca-d64b26bb6972", - "includeInFitToBounds": true, - "label": null, - "locale": "autoselect", - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "isAutoSelect": true, - "lightModeDefault": "road_map_desaturated", - "type": "EMS_TMS" - }, - "style": { - "color": "", - "type": "EMS_VECTOR_TILE" - }, - "type": "EMS_VECTOR_TILE", - "visible": true - }, - { - "alpha": 0.75, - "id": "546e11d2-db52-457b-8733-e1ee75c51fd8", - "includeInFitToBounds": true, - "joins": [], - "label": "Logout Activity", - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "applyForceRefresh": true, - "applyGlobalQuery": true, - "applyGlobalTime": true, - "filterByMapBounds": true, - "geoField": "source.geo.location", - "id": "6d0ed8a8-d5de-4d2e-9e05-0fd4b7dc2384", - "indexPatternRefName": "layer_1_source_index_pattern", - "scalingType": "MVT", - "sortField": "", - "sortOrder": "desc", - "tooltipProperties": [], - "topHitsSize": 1, - "topHitsSplitField": "", - "type": "ES_SEARCH" - }, - "style": { - "isTimeAware": true, - "properties": { - "fillColor": { - "options": { - "color": "#54B399" - }, - "type": "STATIC" - }, - "icon": { - "options": { - "value": "marker" - }, - "type": "STATIC" - }, - "iconOrientation": { - "options": { - "orientation": 0 - }, - "type": "STATIC" - }, - "iconSize": { - "options": { - "size": 6 - }, - "type": "STATIC" - }, - "labelBorderColor": { - "options": { - "color": "#FFFFFF" - }, - "type": "STATIC" - }, - "labelBorderSize": { - "options": { - "size": "SMALL" - } - }, - "labelColor": { - "options": { - "color": "#000000" - }, - "type": "STATIC" - }, - "labelSize": { - "options": { - "size": 14 - }, - "type": "STATIC" - }, - "labelText": { - "options": { - "value": "" - }, - "type": "STATIC" - }, - "labelZoomRange": { - "options": { - "maxZoom": 24, - "minZoom": 0, - "useLayerZoomRange": true - } - }, - "lineColor": { - "options": { - "color": "#41937c" - }, - "type": "STATIC" - }, - "lineWidth": { - "options": { - "size": 1 - }, - "type": "STATIC" - }, - "symbolizeAs": { - "options": { - "value": "circle" - } - } - }, - "type": "VECTOR" - }, - "type": "MVT_VECTOR", - "visible": true - } - ], - "mapStateJSON": { - "adHocDataViews": [], - "center": { - "lat": 0, - "lon": -42.96266 - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "filebeat-*", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - }, - "refreshConfig": { - "interval": 900000, - "isPaused": false - }, - "settings": { - "autoFitToDataBounds": false, - "backgroundColor": "#ffffff", - "browserLocation": { - "zoom": 2 - }, - "customIcons": [], - "disableInteractive": false, - "disableTooltipControl": false, - "fixedLocation": { - "lat": 0, - "lon": 0, - "zoom": 2 - }, - "hideLayerControl": false, - "hideToolbarOverlay": false, - "hideViewControl": false, - "initialLocation": "LAST_SAVED_LOCATION", - "keydownScrollZoom": false, - "maxZoom": 24, - "minZoom": 0, - "showScaleControl": false, - "showSpatialFilters": true, - "showTimesliderToggleButton": true, - "spatialFiltersAlpa": 0.3, - "spatialFiltersFillColor": "#DA8B45", - "spatialFiltersLineColor": "#DA8B45" - }, - "timeFilters": { - "from": "now-7d/d", - "to": "now" - }, - "zoom": 0.61 - }, - "title": "", - "uiStateJSON": { - "isLayerTOCOpen": true, - "openTOCDetails": [] - } - }, "enhancements": {}, "hiddenLayers": [], "hidePanelTitles": false, @@ -1034,13 +822,13 @@ }, "gridData": { "h": 15, - "i": "f6c9b613-b31a-4ba9-ad94-188afa349528", + "i": "da358c11-0183-4bdf-9d98-1f380530ba3f", "w": 48, "x": 0, "y": 38 }, - "panelIndex": "f6c9b613-b31a-4ba9-ad94-188afa349528", - "title": "Logout activity by region [Filebeat Salesforce]", + "panelIndex": "da358c11-0183-4bdf-9d98-1f380530ba3f", + "panelRefName": "panel_da358c11-0183-4bdf-9d98-1f380530ba3f", "type": "map", "version": "8.10.0" } @@ -1056,7 +844,7 @@ "version": 1 }, "coreMigrationVersion": "8.8.0", - "created_at": "2024-04-03T07:01:35.658Z", + "created_at": "2024-04-08T05:47:36.007Z", "id": "salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg", "managed": false, "references": [ @@ -1111,9 +899,9 @@ "type": "index-pattern" }, { - "id": "filebeat-*", - "name": "f6c9b613-b31a-4ba9-ad94-188afa349528:layer_1_source_index_pattern", - "type": "index-pattern" + "id": "7ed92590-f56b-11ee-81cc-878f4842770a", + "name": "da358c11-0183-4bdf-9d98-1f380530ba3f:panel_da358c11-0183-4bdf-9d98-1f380530ba3f", + "type": "map" }, { "id": "filebeat-*", @@ -1123,6 +911,6 @@ ], "type": "dashboard", "typeMigrationVersion": "8.9.0", - "updated_at": "2024-04-03T07:01:35.658Z", - "version": "WzEwMDIyLDJd" + "updated_at": "2024-04-08T05:47:36.007Z", + "version": "WzEwMDY1LDJd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7229c570-f56b-11ee-81cc-878f4842770a.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7229c570-f56b-11ee-81cc-878f4842770a.json new file mode 100644 index 00000000000..3b9c1da039f --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7229c570-f56b-11ee-81cc-878f4842770a.json @@ -0,0 +1,229 @@ +{ + "attributes": { + "description": "", + "layerListJSON": [ + { + "alpha": 1, + "id": "3de98652-8d42-4415-91ca-d64b26bb6972", + "includeInFitToBounds": true, + "label": null, + "locale": "autoselect", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "lightModeDefault": "road_map_desaturated", + "type": "EMS_TMS" + }, + "style": { + "color": "", + "type": "EMS_VECTOR_TILE" + }, + "type": "EMS_VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "546e11d2-db52-457b-8733-e1ee75c51fd8", + "includeInFitToBounds": true, + "joins": [], + "label": "Login Activity", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyForceRefresh": true, + "applyGlobalQuery": true, + "applyGlobalTime": true, + "filterByMapBounds": true, + "geoField": "source.geo.location", + "id": "6d0ed8a8-d5de-4d2e-9e05-0fd4b7dc2384", + "indexPatternRefName": "layer_1_source_index_pattern", + "scalingType": "MVT", + "sortField": "", + "sortOrder": "desc", + "tooltipProperties": [], + "topHitsSize": 1, + "topHitsSplitField": "", + "type": "ES_SEARCH" + }, + "style": { + "isTimeAware": true, + "properties": { + "fillColor": { + "options": { + "color": "#54B399" + }, + "type": "STATIC" + }, + "icon": { + "options": { + "value": "marker" + }, + "type": "STATIC" + }, + "iconOrientation": { + "options": { + "orientation": 0 + }, + "type": "STATIC" + }, + "iconSize": { + "options": { + "size": 6 + }, + "type": "STATIC" + }, + "labelBorderColor": { + "options": { + "color": "#FFFFFF" + }, + "type": "STATIC" + }, + "labelBorderSize": { + "options": { + "size": "SMALL" + } + }, + "labelColor": { + "options": { + "color": "#000000" + }, + "type": "STATIC" + }, + "labelSize": { + "options": { + "size": 14 + }, + "type": "STATIC" + }, + "labelText": { + "options": { + "value": "" + }, + "type": "STATIC" + }, + "labelZoomRange": { + "options": { + "maxZoom": 24, + "minZoom": 0, + "useLayerZoomRange": true + } + }, + "lineColor": { + "options": { + "color": "#41937c" + }, + "type": "STATIC" + }, + "lineWidth": { + "options": { + "size": 1 + }, + "type": "STATIC" + }, + "symbolizeAs": { + "options": { + "value": "circle" + } + } + }, + "type": "VECTOR" + }, + "type": "MVT_VECTOR", + "visible": true + } + ], + "mapStateJSON": { + "adHocDataViews": [], + "center": { + "lat": 0, + "lon": -110.39069 + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "filebeat-*", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 900000, + "isPaused": false + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "customIcons": [], + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "keydownScrollZoom": false, + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-7d/d", + "to": "now" + }, + "zoom": 0.61 + }, + "title": "Login activity by region [Filebeat Salesforce]", + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-04-08T05:47:12.071Z", + "id": "7229c570-f56b-11ee-81cc-878f4842770a", + "managed": false, + "references": [ + { + "id": "filebeat-*", + "name": "layer_1_source_index_pattern", + "type": "index-pattern" + } + ], + "type": "map", + "typeMigrationVersion": "8.4.0", + "updated_at": "2024-04-08T05:47:12.071Z", + "version": "WzEwMDYxLDJd" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7ed92590-f56b-11ee-81cc-878f4842770a.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7ed92590-f56b-11ee-81cc-878f4842770a.json new file mode 100644 index 00000000000..e79c372cc3f --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7ed92590-f56b-11ee-81cc-878f4842770a.json @@ -0,0 +1,229 @@ +{ + "attributes": { + "description": "", + "layerListJSON": [ + { + "alpha": 1, + "id": "3de98652-8d42-4415-91ca-d64b26bb6972", + "includeInFitToBounds": true, + "label": null, + "locale": "autoselect", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "lightModeDefault": "road_map_desaturated", + "type": "EMS_TMS" + }, + "style": { + "color": "", + "type": "EMS_VECTOR_TILE" + }, + "type": "EMS_VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "546e11d2-db52-457b-8733-e1ee75c51fd8", + "includeInFitToBounds": true, + "joins": [], + "label": "Logout Activity", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyForceRefresh": true, + "applyGlobalQuery": true, + "applyGlobalTime": true, + "filterByMapBounds": true, + "geoField": "source.geo.location", + "id": "6d0ed8a8-d5de-4d2e-9e05-0fd4b7dc2384", + "indexPatternRefName": "layer_1_source_index_pattern", + "scalingType": "MVT", + "sortField": "", + "sortOrder": "desc", + "tooltipProperties": [], + "topHitsSize": 1, + "topHitsSplitField": "", + "type": "ES_SEARCH" + }, + "style": { + "isTimeAware": true, + "properties": { + "fillColor": { + "options": { + "color": "#54B399" + }, + "type": "STATIC" + }, + "icon": { + "options": { + "value": "marker" + }, + "type": "STATIC" + }, + "iconOrientation": { + "options": { + "orientation": 0 + }, + "type": "STATIC" + }, + "iconSize": { + "options": { + "size": 6 + }, + "type": "STATIC" + }, + "labelBorderColor": { + "options": { + "color": "#FFFFFF" + }, + "type": "STATIC" + }, + "labelBorderSize": { + "options": { + "size": "SMALL" + } + }, + "labelColor": { + "options": { + "color": "#000000" + }, + "type": "STATIC" + }, + "labelSize": { + "options": { + "size": 14 + }, + "type": "STATIC" + }, + "labelText": { + "options": { + "value": "" + }, + "type": "STATIC" + }, + "labelZoomRange": { + "options": { + "maxZoom": 24, + "minZoom": 0, + "useLayerZoomRange": true + } + }, + "lineColor": { + "options": { + "color": "#41937c" + }, + "type": "STATIC" + }, + "lineWidth": { + "options": { + "size": 1 + }, + "type": "STATIC" + }, + "symbolizeAs": { + "options": { + "value": "circle" + } + } + }, + "type": "VECTOR" + }, + "type": "MVT_VECTOR", + "visible": true + } + ], + "mapStateJSON": { + "adHocDataViews": [], + "center": { + "lat": 0, + "lon": -42.96266 + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "field": "event.dataset", + "index": "filebeat-*", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 900000, + "isPaused": false + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "customIcons": [], + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "keydownScrollZoom": false, + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-7d/d", + "to": "now" + }, + "zoom": 0.61 + }, + "title": "Logout activity by region [Filebeat Salesforce]", + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2024-04-08T05:47:33.353Z", + "id": "7ed92590-f56b-11ee-81cc-878f4842770a", + "managed": false, + "references": [ + { + "id": "filebeat-*", + "name": "layer_1_source_index_pattern", + "type": "index-pattern" + } + ], + "type": "map", + "typeMigrationVersion": "8.4.0", + "updated_at": "2024-04-08T05:47:33.353Z", + "version": "WzEwMDY0LDJd" +} \ No newline at end of file From 180d8c8b1f8eba8560781bd8b223263f6e2f84ca Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 8 Apr 2024 12:21:17 +0530 Subject: [PATCH 126/172] Fix docs --- filebeat/docs/fields.asciidoc | 70 +++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index 03fa40827a8..733533244bb 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -111136,6 +111136,13 @@ type: keyword -- +*`o365.audit.Activity`*:: ++ +-- +type: keyword + +-- + *`o365.audit.Actor`*:: + -- @@ -111360,6 +111367,13 @@ type: object -- +*`o365.audit.Experience`*:: ++ +-- +type: keyword + +-- + *`o365.audit.ExtendedProperties.*`*:: + -- @@ -111605,6 +111619,20 @@ type: keyword -- +*`o365.audit.ObjectDisplayName`*:: ++ +-- +type: keyword + +-- + +*`o365.audit.ObjectType`*:: ++ +-- +type: keyword + +-- + *`o365.audit.Operation`*:: + -- @@ -111612,6 +111640,20 @@ type: keyword -- +*`o365.audit.OperationId`*:: ++ +-- +type: keyword + +-- + +*`o365.audit.OperationProperties`*:: ++ +-- +type: object + +-- + *`o365.audit.OrganizationId`*:: + -- @@ -111661,6 +111703,13 @@ type: keyword -- +*`o365.audit.RequestId`*:: ++ +-- +type: keyword + +-- + *`o365.audit.ResultStatus`*:: + -- @@ -111801,6 +111850,13 @@ type: keyword -- +*`o365.audit.Timestamp`*:: ++ +-- +type: keyword + +-- + *`o365.audit.UniqueSharingId`*:: + -- @@ -111857,6 +111913,20 @@ type: keyword -- +*`o365.audit.WorkspaceId`*:: ++ +-- +type: keyword + +-- + +*`o365.audit.WorkspaceName`*:: ++ +-- +type: keyword + +-- + *`o365.audit.YammerNetworkId`*:: + -- From e2e631e709e8bd642e152b2ae6ddf4d75baf63a9 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 8 Apr 2024 16:41:52 +0530 Subject: [PATCH 127/172] Update dashboard --- ...f0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json index 2163e560567..02a35167e78 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json @@ -487,7 +487,7 @@ "61308466-190f-4872-9976-8e5320f6eee6": { "dataType": "string", "isBucketed": true, - "label": "Top 10 values of salesforce.apex.trigger.name", + "label": "Top 10 values of salesforce.apex.trigger_name", "operationType": "terms", "params": { "missingBucket": false, @@ -503,7 +503,7 @@ "size": 10 }, "scale": "ordinal", - "sourceField": "salesforce.apex.trigger.name" + "sourceField": "salesforce.apex.trigger_name" }, "b00acfd3-e92b-4b7c-bf69-86e3ebf49971": { "dataType": "date", @@ -1007,7 +1007,7 @@ "bb7f05fd-4314-447c-87c9-7be78c2e3e71": { "dataType": "string", "isBucketed": true, - "label": "Top 10 values of salesforce.apex.trigger.type", + "label": "Top 10 values of salesforce.apex.trigger_type", "operationType": "terms", "params": { "missingBucket": false, @@ -1023,7 +1023,7 @@ "size": 10 }, "scale": "ordinal", - "sourceField": "salesforce.apex.trigger.type" + "sourceField": "salesforce.apex.trigger_type" } }, "incompleteColumns": {} @@ -1172,21 +1172,21 @@ { "input": { "language": "kuery", - "query": "salesforce.apex.trigger.type : *Update*" + "query": "salesforce.apex.trigger_type : *Update*" }, "label": "Updates" }, { "input": { "language": "kuery", - "query": "salesforce.apex.trigger.type : *Insert*" + "query": "salesforce.apex.trigger_type : *Insert*" }, "label": "Inserts" }, { "input": { "language": "kuery", - "query": "salesforce.apex.trigger.type : *Delete*" + "query": "salesforce.apex.trigger_type : *Delete*" }, "label": "Deletes" } @@ -1589,7 +1589,7 @@ "emptyAsNull": true }, "scale": "ratio", - "sourceField": "salesforce.apex.trigger.name" + "sourceField": "salesforce.apex.trigger_name" }, "67d65022-1482-4a0c-b68f-f9b134807989": { "dataType": "date", @@ -1940,7 +1940,7 @@ "dataType": "number", "filter": { "language": "kuery", - "query": "\"salesforce.apex.execute.ms\": *" + "query": "\"salesforce.apex.execute_ms\": *" }, "isBucketed": false, "label": "Execute time (ms)", @@ -1955,7 +1955,7 @@ "sortField": "@timestamp" }, "scale": "ratio", - "sourceField": "salesforce.apex.execute.ms" + "sourceField": "salesforce.apex.execute_ms" }, "35da24b7-398e-433a-85d9-49e7862e0813": { "customLabel": true, From 9fa8e899de35814b8f72d5342ea07f5b696cad60 Mon Sep 17 00:00:00 2001 From: Kush Rana <89848966+kush-elastic@users.noreply.github.com> Date: Tue, 9 Apr 2024 18:51:40 +0530 Subject: [PATCH 128/172] Update x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml Co-authored-by: Aliabbas Attarwala <124054599+aliabbas-elastic@users.noreply.github.com> --- .../salesforce/setupaudittrail/config/setupaudittrail.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml index 3c65ed2e715..176d91ce97e 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -13,7 +13,8 @@ event_monitoring_method: enabled: {{ if .real_time }}true{{ else }}false{{ end }} interval: {{ .real_time_interval }} query: - default: SELECT FIELDS(STANDARD) FROM SetupAuditTrail{{ if .initial_interval }} WHERE CreatedDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]]{{ end }} ORDER BY CreatedDate ASC NULLS FIRST + default: SELECT FIELDS(STANDARD) FROM SetupAuditTrail{{ if .initial_interval }} WHERE CreatedDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05.000Z0700") ]]{{ end }} ORDER BY CreatedDate ASC NULLS FIRST + value: SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE CreatedDate > [[ .cursor.object.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST cursor: field: "CreatedDate" From 284d15e82c340ab83ff8faea6aa2468579d0426b Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 9 Apr 2024 21:07:20 +0530 Subject: [PATCH 129/172] Update docs --- filebeat/docs/filebeat-options.asciidoc | 3 ++ .../docs/inputs/input-salesforce.asciidoc | 43 +++++++++++++------ 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/filebeat/docs/filebeat-options.asciidoc b/filebeat/docs/filebeat-options.asciidoc index 1e9f9cac6e0..85ab2d5c669 100644 --- a/filebeat/docs/filebeat-options.asciidoc +++ b/filebeat/docs/filebeat-options.asciidoc @@ -88,6 +88,7 @@ You can configure {beatname_uc} to use the following inputs: * <<{beatname_lc}-input-netflow>> * <<{beatname_lc}-input-o365audit>> * <<{beatname_lc}-input-redis>> +* <<{beatname_lc}-input-salesforce>> * <<{beatname_lc}-input-stdin>> * <<{beatname_lc}-input-syslog>> * <<{beatname_lc}-input-tcp>> @@ -140,6 +141,8 @@ include::../../x-pack/filebeat/docs/inputs/input-o365audit.asciidoc[] include::inputs/input-redis.asciidoc[] +include::../../x-pack/filebeat/docs/inputs/input-salesforce.asciidoc[] + include::inputs/input-stdin.asciidoc[] include::inputs/input-syslog.asciidoc[] diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index 3b85b8511b6..fa74f1d3a00 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -11,21 +11,21 @@ Use the `salesforce` input to monitor Salesforce events either via the https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm[Salesforce EventLogFile (ELF) API] or the https://developer.salesforce.com/blogs/2020/05/introduction-to-real-time-event-monitoring[Salesforce Real-time event monitoring API]. Both use REST API (to execute SOQL queries in the Salesforce instance) under the hood to query the relevant objects to fetch the events. -Here the `input` have cursor state(s) that will be provided to the next execution of event monitoring to fetch the events from the last cursor state. The cursor states can be used to control the behaviour of the program. +The Salesforce input maintains cursor states between requests to track the last event retrieved in each execution. These cursor states are passed to the next event monitoring execution to resume fetching events from the last known position. The cursor states allow the input to pick up where it left off and provide control over the behavior of the input. -This input supports: +Here are some key points about how cursors are used in the Salesforce input: -* Auth -** OAuth2 -*** User-Password flow -*** JWT Bearer flow -* Event Monitoring -** EventLogFile (ELF) using REST API -** REST API for objects (Used for Setup Audit Trail and for monitoring real-time events) +- Separate cursor states are maintained for each configured event monitoring method (`event_log_file` and `object`). +- The cursor state stores the unique identifier of the last event retrieved, based on the `cursor.field` specified in the configuration. +- On the first run, the `query.default` is used to fetch an initial set of events. +- On subsequent runs, the `query.value` template is populated with the cursor state to fetch events since the last execution. +- If the input is restarted, it will resume from the last persisted cursor state rather than starting over from scratch. + +Using cursors allows the Salesforce input to reliably keep track of its progress and avoid missing or duplicating events across executions. The cursor field should be chosen carefully to have a monotonically increasing value for each new event. Event Monitoring methods are highly configurable and can be used to monitor any supported object or event log file. The input can be configured to monitor multiple objects or event log files at the same time. -Example configurations: +Example configuration: ["source","yaml",subs="attributes"] ---- @@ -78,6 +78,25 @@ There are two methods to fetch the events from the Salesforce instance: - object: This method is a general way of retrieving events from a Salesforce instance by using the REST API. It can be used for the SetupAuditTrail and for monitoring objects in real-time. In real-time event monitoring, subscribing to the events is a common practice, but the events are also stored in Salesforce org (if configured), specifically in big object tables that are preconfigured for each event type. To query the object, Salesforce's query language SOQL is used. +[Note] + +[discrete] + +==== Salesforce Objects and SOQL Query Field Ordering Limitations + +Each Salesforce Object contains a set of fields, but SOQL queries have restrictions on the fields that can be ordered and the specific ordering method. The Object description on the Salesforce Developers page provides information about these limitations. For instance, the Login Object only allows ordering by the EventDate field in descending order. + +Cursor Inputs for Data Collection Over Time + +When collecting data over time using cursors, the following cursor inputs are available: + +- object.first_event_time: This cursor input stores the cursor value from the first event encountered during data collection using the object method. +- object.last_event_time: This cursor input stores the cursor value from the last event encountered during data collection using the object method. +- event_log_file.first_event_time: This cursor input stores the cursor value from the first event encountered during data collection using the event log file method. +- event_log_file.last_event_time: This cursor input stores the cursor value from the last event encountered during data collection using the event log file method. + +By selecting one of the above cursor inputs, users can collect data from both the object and event log file in a desired order. The cursor configuration can be customized based on the user's specific requirements. + ==== Configuration options The `salesforce` input supports the following configuration options plus the @@ -113,7 +132,7 @@ There are two OAuth2 authentication flows supported: Whether to use the user-password flow for authentication. Default: `false`. -NOTE: Only one authentication flow can be enabled at a time. +[Note] Only one authentication flow can be enabled at a time. [string] ==== `auth.oauth2.user_password_flow.client.id` @@ -145,7 +164,7 @@ The password for the user-password flow. Whether to use the JWT bearer flow for authentication. Default: `false`. -NOTE: Only one authentication flow can be enabled at a time. +[Note] Only one authentication flow can be enabled at a time. [string] ==== `auth.oauth2.jwt_bearer_flow.client.id` From 837a81688d742e237a362c36ac0f9382103bd48c Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Tue, 9 Apr 2024 21:18:45 +0530 Subject: [PATCH 130/172] Fix NOTE blocks in docs --- .../docs/inputs/input-salesforce.asciidoc | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index fa74f1d3a00..172f8caf21f 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -74,15 +74,15 @@ The `salesforce` input is a long-running program that retrieves events from a Sa There are two methods to fetch the events from the Salesforce instance: -- event_log_file: https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm[EventLogFile] is a standard object in Salesforce and the event monitoring method uses the REST API under the hood to gather the Salesforce org's operational events from the object. There is a field EventType that helps distinguish between the types of operational events like — Login, Logout, etc. Uses Salesforce's query language SOQL to query the object. +- `event_log_file`: https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm[EventLogFile] is a standard object in Salesforce and the event monitoring method uses the REST API under the hood to gather the Salesforce org's operational events from the object. There is a field EventType that helps distinguish between the types of operational events like — Login, Logout, etc. Uses Salesforce's query language SOQL to query the object. -- object: This method is a general way of retrieving events from a Salesforce instance by using the REST API. It can be used for the SetupAuditTrail and for monitoring objects in real-time. In real-time event monitoring, subscribing to the events is a common practice, but the events are also stored in Salesforce org (if configured), specifically in big object tables that are preconfigured for each event type. To query the object, Salesforce's query language SOQL is used. +- `object`: This method is a general way of retrieving events from a Salesforce instance by using the REST API. It can be used for the SetupAuditTrail and for monitoring objects in real-time. In real-time event monitoring, subscribing to the events is a common practice, but the events are also stored in Salesforce org (if configured), specifically in big object tables that are preconfigured for each event type. To query the object, Salesforce's query language SOQL is used. -[Note] -[discrete] +[NOTE] +==== -==== Salesforce Objects and SOQL Query Field Ordering Limitations +*Salesforce Objects and SOQL Query Field Ordering Limitations* Each Salesforce Object contains a set of fields, but SOQL queries have restrictions on the fields that can be ordered and the specific ordering method. The Object description on the Salesforce Developers page provides information about these limitations. For instance, the Login Object only allows ordering by the EventDate field in descending order. @@ -90,13 +90,15 @@ Cursor Inputs for Data Collection Over Time When collecting data over time using cursors, the following cursor inputs are available: -- object.first_event_time: This cursor input stores the cursor value from the first event encountered during data collection using the object method. -- object.last_event_time: This cursor input stores the cursor value from the last event encountered during data collection using the object method. -- event_log_file.first_event_time: This cursor input stores the cursor value from the first event encountered during data collection using the event log file method. -- event_log_file.last_event_time: This cursor input stores the cursor value from the last event encountered during data collection using the event log file method. +- `object.first_event_time`: This cursor input stores the cursor value from the first event encountered during data collection using the object method. +- `object.last_event_time`: This cursor input stores the cursor value from the last event encountered during data collection using the object method. +- `event_log_file.first_event_time`: This cursor input stores the cursor value from the first event encountered during data collection using the event log file method. +- `event_log_file.last_event_time`: This cursor input stores the cursor value from the last event encountered during data collection using the event log file method. By selecting one of the above cursor inputs, users can collect data from both the object and event log file in a desired order. The cursor configuration can be customized based on the user's specific requirements. +==== + ==== Configuration options The `salesforce` input supports the following configuration options plus the @@ -132,7 +134,9 @@ There are two OAuth2 authentication flows supported: Whether to use the user-password flow for authentication. Default: `false`. -[Note] Only one authentication flow can be enabled at a time. +[NOTE] + +Only one authentication flow can be enabled at a time. [string] ==== `auth.oauth2.user_password_flow.client.id` @@ -164,7 +168,9 @@ The password for the user-password flow. Whether to use the JWT bearer flow for authentication. Default: `false`. -[Note] Only one authentication flow can be enabled at a time. +[NOTE] + +Only one authentication flow can be enabled at a time. [string] ==== `auth.oauth2.jwt_bearer_flow.client.id` From 1b5161121a08836dc3209bab33c7634c9cf1806a Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 10 Apr 2024 02:32:32 +0530 Subject: [PATCH 131/172] Remove extra spaces --- x-pack/filebeat/module/salesforce/apex/manifest.yml | 2 +- x-pack/filebeat/module/salesforce/login/manifest.yml | 2 +- .../salesforce/setupaudittrail/config/setupaudittrail.yml | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/manifest.yml b/x-pack/filebeat/module/salesforce/apex/manifest.yml index 4e49e38ca9f..d0753e7e38d 100644 --- a/x-pack/filebeat/module/salesforce/apex/manifest.yml +++ b/x-pack/filebeat/module/salesforce/apex/manifest.yml @@ -13,7 +13,7 @@ var: - name: initial_interval - name: log_file_interval default: Hourly - + ingest_pipeline: - ingest/pipeline.yml input: config/apex.yml diff --git a/x-pack/filebeat/module/salesforce/login/manifest.yml b/x-pack/filebeat/module/salesforce/login/manifest.yml index 444f6032092..46a625b308e 100644 --- a/x-pack/filebeat/module/salesforce/login/manifest.yml +++ b/x-pack/filebeat/module/salesforce/login/manifest.yml @@ -17,7 +17,7 @@ var: - name: initial_interval - name: log_file_interval default: Hourly - + ingest_pipeline: - ingest/default.yml - ingest/eventlogfile.yml diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml index 176d91ce97e..6814aa9298d 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/config/setupaudittrail.yml @@ -14,7 +14,6 @@ event_monitoring_method: interval: {{ .real_time_interval }} query: default: SELECT FIELDS(STANDARD) FROM SetupAuditTrail{{ if .initial_interval }} WHERE CreatedDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05.000Z0700") ]]{{ end }} ORDER BY CreatedDate ASC NULLS FIRST - value: SELECT FIELDS(STANDARD) FROM SetupAuditTrail WHERE CreatedDate > [[ .cursor.object.last_event_time ]] ORDER BY CreatedDate ASC NULLS FIRST cursor: field: "CreatedDate" From 97c5e4a58ca4b6c6622cd09b1035168e96fa93d0 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 10 Apr 2024 11:04:28 +0530 Subject: [PATCH 132/172] Update NOTICE.txt --- NOTICE.txt | 200 ++++++++++++++++++++++++++--------------------------- 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index b5a18ac031f..f846edfc9ec 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1742,11 +1742,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/Azure/azure-sdk-for-go/sdk/azcore -Version: v1.9.2 +Version: v1.9.0 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azcore@v1.9.2/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/azcore@v1.9.0/LICENSE.txt: MIT License @@ -1834,11 +1834,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 -Version: v4.8.0 +Version: v4.6.0 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4@v4.8.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4@v4.6.0/LICENSE.txt: MIT License @@ -12287,11 +12287,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/elastic/ebpfevents -Version: v0.6.0 +Version: v0.5.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/ebpfevents@v0.6.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/ebpfevents@v0.5.0/LICENSE.txt: The https://github.com/elastic/ebpfevents repository contains source code under various licenses: @@ -12524,11 +12524,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-a -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-client/v7 -Version: v7.6.0 +Version: v7.8.1 Licence type (autodetected): Elastic -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-client/v7@v7.6.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-client/v7@v7.8.1/LICENSE.txt: ELASTIC LICENSE AGREEMENT @@ -13071,11 +13071,11 @@ these terms. -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-system-metrics -Version: v0.9.1 +Version: v0.9.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.9.1/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.9.2/LICENSE.txt: Apache License Version 2.0, January 2004 @@ -15011,11 +15011,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/go-structform@v -------------------------------------------------------------------------------- Dependency : github.com/elastic/go-sysinfo -Version: v1.11.2 +Version: v1.13.1 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/go-sysinfo@v1.11.2/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/go-sysinfo@v1.13.1/LICENSE.txt: Apache License @@ -15223,11 +15223,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/go-sysinfo@v1.1 -------------------------------------------------------------------------------- Dependency : github.com/elastic/go-ucfg -Version: v0.8.6 +Version: v0.8.7 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/go-ucfg@v0.8.6/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/elastic/go-ucfg@v0.8.7/LICENSE: Apache License Version 2.0, January 2004 @@ -15434,11 +15434,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/go-ucfg@v0.8.6/ -------------------------------------------------------------------------------- Dependency : github.com/elastic/gosigar -Version: v0.14.2 +Version: v0.14.3 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/gosigar@v0.14.2/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/elastic/gosigar@v0.14.3/LICENSE: Apache License Version 2.0, January 2004 @@ -15645,11 +15645,11 @@ limitations under the License. -------------------------------------------------------------------------------- Dependency : github.com/elastic/mito -Version: v1.8.0 +Version: v1.10.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/mito@v1.8.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/elastic/mito@v1.10.0/LICENSE: Apache License @@ -20745,11 +20745,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/lestrrat-go/jwx/v2 -Version: v2.0.19 +Version: v2.0.21 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/lestrrat-go/jwx/v2@v2.0.19/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/lestrrat-go/jwx/v2@v2.0.21/LICENSE: The MIT License (MIT) @@ -22942,11 +22942,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : github.com/stretchr/testify -Version: v1.8.4 +Version: v1.9.0 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.8.4/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.9.0/LICENSE: MIT License @@ -25073,11 +25073,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : golang.org/x/crypto -Version: v0.19.0 +Version: v0.21.0 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/golang.org/x/crypto@v0.19.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/crypto@v0.21.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -25332,11 +25332,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : golang.org/x/sys -Version: v0.17.0 +Version: v0.18.0 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/golang.org/x/sys@v0.17.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/sys@v0.18.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. @@ -25978,11 +25978,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/grpc@v1.58.3/LIC -------------------------------------------------------------------------------- Dependency : google.golang.org/protobuf -Version: v1.31.0 +Version: v1.33.0 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.31.0/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.33.0/LICENSE: Copyright (c) 2018 The Go Authors. All rights reserved. @@ -29676,11 +29676,11 @@ Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-pipeline-g -------------------------------------------------------------------------------- Dependency : github.com/Azure/azure-sdk-for-go/sdk/internal -Version: v1.5.2 +Version: v1.5.0 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/internal@v1.5.2/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/!azure/azure-sdk-for-go/sdk/internal@v1.5.0/LICENSE.txt: MIT License @@ -29805,28 +29805,28 @@ Licence type (autodetected): MIT Contents of probable licence file $GOMODCACHE/github.com/!azure/go-amqp@v0.16.0/LICENSE: - MIT License - - Copyright (C) 2017 Kale Blankenship - Portions Copyright (C) Microsoft Corporation - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + MIT License + + Copyright (C) 2017 Kale Blankenship + Portions Copyright (C) Microsoft Corporation + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- @@ -31507,27 +31507,27 @@ Licence type (autodetected): MIT Contents of probable licence file $GOMODCACHE/github.com/!azure!a!d/microsoft-authentication-library-for-go@v1.1.1/LICENSE: - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE -------------------------------------------------------------------------------- @@ -31835,27 +31835,27 @@ Licence type (autodetected): MIT Contents of probable licence file $GOMODCACHE/github.com/akavel/rsrc@v0.8.0/LICENSE.txt: -The MIT License (MIT) - -Copyright (c) 2013-2017 The rsrc Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +The MIT License (MIT) + +Copyright (c) 2013-2017 The rsrc Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- @@ -46706,11 +46706,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/lestrrat-go/httprc -Version: v1.0.4 +Version: v1.0.5 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/lestrrat-go/httprc@v1.0.4/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/lestrrat-go/httprc@v1.0.5/LICENSE: MIT License @@ -50967,11 +50967,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/stretchr/objx -Version: v0.5.0 +Version: v0.5.2 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/stretchr/objx@v0.5.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/stretchr/objx@v0.5.2/LICENSE: The MIT License @@ -53972,11 +53972,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : golang.org/x/term -Version: v0.17.0 +Version: v0.18.0 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/golang.org/x/term@v0.17.0/LICENSE: +Contents of probable licence file $GOMODCACHE/golang.org/x/term@v0.18.0/LICENSE: Copyright (c) 2009 The Go Authors. All rights reserved. From b3f776ecfb0dea00bb34744901adc592157fff0a Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 10 Apr 2024 11:09:05 +0530 Subject: [PATCH 133/172] Add CHANGELOG entry --- CHANGELOG.next.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 511d79d578b..e465c288839 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -18,6 +18,7 @@ https://github.com/elastic/beats/compare/v8.8.1\...main[Check the HEAD diff] - Convert netflow input to API v2 and disable event normalisation {pull}37901[37901] - Introduce input/netmetrics and refactor netflow input metrics {pull}38055[38055] +- Update Salesforce module to use new Salesforce input. {pull}37509[37509] *Heartbeat* @@ -186,7 +187,6 @@ https://github.com/elastic/beats/compare/v8.8.1\...main[Check the HEAD diff] - Add request trace logging for chained API requests. {issue}37551[36551] {pull}37682[37682] - Relax TCP/UDP metric polling expectations to improve metric collection. {pull}37714[37714] - Add support for PEM-based Okta auth in HTTPJSON. {pull}37772[37772] -- Add Salesforce input. {pull}37331[37331] - Prevent complete loss of long request trace data. {issue}37826[37826] {pull}37836[37836] - Added experimental version of the Websocket Input. {pull}37774[37774] - Add support for PEM-based Okta auth in CEL. {pull}37813[37813] From 416cc0aa04f0e9f4c8c138de5458967f1d57a093 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 10 Apr 2024 11:15:50 +0530 Subject: [PATCH 134/172] Update doc --- x-pack/filebeat/docs/inputs/input-salesforce.asciidoc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index 172f8caf21f..a9cee4d5151 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -13,6 +13,17 @@ Use the `salesforce` input to monitor Salesforce events either via the https://d The Salesforce input maintains cursor states between requests to track the last event retrieved in each execution. These cursor states are passed to the next event monitoring execution to resume fetching events from the last known position. The cursor states allow the input to pick up where it left off and provide control over the behavior of the input. +Here are some supported authentication methods and event monitoring methods: + +* Authentication methods +** OAuth2 +*** User-Password flow +*** JWT Bearer flow + +* Event monitoring methods +** EventLogFile (ELF) using REST API +** REST API for objects (Used for Setup Audit Trail and for monitoring real-time events) + Here are some key points about how cursors are used in the Salesforce input: - Separate cursor states are maintained for each configured event monitoring method (`event_log_file` and `object`). From f52000851b57a5648ffb1936c802479a802b932a Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 10 Apr 2024 11:23:01 +0530 Subject: [PATCH 135/172] format configs and update dashboard IDs --- ...1659aef0-574c-11ec-8f0b-05e8b06e1b10.json} | 2 +- ...59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json} | 2 +- ...6c750440-5749-11ec-8f0b-05e8b06e1b10.json} | 2 +- ...790da810-5749-11ec-8f0b-05e8b06e1b10.json} | 2 +- .../salesforce/apex/ingest/pipeline.yml | 965 +++++++++--------- x-pack/filebeat/module/salesforce/fields.go | 2 +- .../salesforce/login/ingest/default.yml | 240 ++--- .../salesforce/login/ingest/eventlogfile.yml | 368 ++++--- .../module/salesforce/login/ingest/object.yml | 419 ++++---- .../salesforce/logout/ingest/object.yml | 6 - .../setupaudittrail/_meta/fields.yml | 4 - 11 files changed, 967 insertions(+), 1045 deletions(-) rename x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/{salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json => salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json} (99%) rename x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/{salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json => salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json} (99%) rename x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/{salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json => salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json} (99%) rename x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/{salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json => salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json} (99%) diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json similarity index 99% rename from x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json rename to x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json index e84a1f2d2d3..ad392387d51 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json @@ -1912,7 +1912,7 @@ }, "coreMigrationVersion": "8.8.0", "created_at": "2024-04-08T05:47:15.677Z", - "id": "salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10-pkg", + "id": "salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10", "managed": false, "references": [ { diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json similarity index 99% rename from x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json rename to x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json index 02a35167e78..96d71bc3faa 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json @@ -2104,7 +2104,7 @@ }, "coreMigrationVersion": "8.8.0", "created_at": "2024-04-03T13:26:47.473Z", - "id": "salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10-pkg", + "id": "salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10", "managed": false, "references": [ { diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json similarity index 99% rename from x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json rename to x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json index 9e4bb2f1b25..66c891871cf 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json @@ -845,7 +845,7 @@ }, "coreMigrationVersion": "8.8.0", "created_at": "2024-04-08T05:47:36.007Z", - "id": "salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10-pkg", + "id": "salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10", "managed": false, "references": [ { diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json similarity index 99% rename from x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json rename to x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json index 467d77da69e..d06b6233c7e 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json @@ -717,7 +717,7 @@ }, "coreMigrationVersion": "8.8.0", "created_at": "2024-04-01T08:19:33.765Z", - "id": "salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10-pkg", + "id": "salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10", "managed": false, "references": [ { diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index 93b2e9d2d8d..28da713cf7c 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -1,518 +1,483 @@ --- description: Pipeline for parsing Salesforce Apex logs processors: -- json: - field: message - target_field: json - ignore_failure: true -- set: - field: event.original - copy_from: message - ignore_empty_value: true - if: 'ctx.event?.original == null' -- fingerprint: - fields: - - json.REQUEST_ID - - json.SESSION_KEY - - json.TIMESTAMP_DERIVED - - json.USER_ID - target_field: _id - ignore_failure: true - ignore_missing: true -- set: - field: ecs.version - value: "8.5.0" - ignore_failure: true - ignore_empty_value: true -- set: - field: event.ingested - copy_from: _ingest.timestamp -- set: - field: salesforce.apex.document_id - copy_from: _id - ignore_empty_value: true -- date: - field: json.TIMESTAMP_DERIVED - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true -- rename: - field: json.ACTION - target_field: salesforce.apex.action - ignore_missing: true -- convert: - field: json.CALLOUT_TIME - target_field: salesforce.apex.callout_time - type: float - ignore_missing: true - ignore_failure: true -- rename: - field: json.CLASS_NAME - target_field: salesforce.apex.class_name - ignore_missing: true - ignore_failure: true -- rename: - field: json.CLIENT_NAME - target_field: salesforce.apex.client_name - ignore_missing: true - ignore_failure: true -- convert: - field: json.CPU_TIME - target_field: salesforce.apex.cpu_time - type: float - ignore_missing: true - ignore_failure: true -- convert: - field: json.DB_BLOCKS - target_field: salesforce.apex.db_blocks - type: long - ignore_missing: true - ignore_failure: true -- convert: - field: json.DB_CPU_TIME - target_field: salesforce.apex.db_cpu_time - type: float - ignore_missing: true - ignore_failure: true -- convert: - field: json.DB_TOTAL_TIME - target_field: salesforce.apex.db_total_time - type: float - ignore_missing: true - ignore_failure: true -- rename: - field: json.ENTITY - target_field: salesforce.apex.entity - ignore_missing: true - ignore_failure: true -- rename: - field: json.ENTITY_NAME - target_field: salesforce.apex.entity_name - ignore_missing: true - ignore_failure: true -- rename: - field: json.ENTRY_POINT - target_field: salesforce.apex.entry_point - ignore_missing: true - ignore_failure: true -- rename: - field: json.EVENT_TYPE - target_field: salesforce.apex.event_type - ignore_missing: true - ignore_failure: true -- convert: - field: json.EXECUTE_MS - target_field: salesforce.apex.execute_ms - type: float - ignore_missing: true - ignore_failure: true -- convert: - field: json.FETCH_MS - target_field: salesforce.apex.fetch_ms - type: float - ignore_missing: true - ignore_failure: true -- rename: - field: json.FILTER - target_field: salesforce.apex.filter - ignore_missing: true - ignore_failure: true -- rename: - field: json.IS_LONG_RUNNING_REQUEST - target_field: salesforce.apex.is_long_running_request - ignore_missing: true - ignore_failure: true -- rename: - field: json.LOGIN_KEY - target_field: salesforce.apex.login_key - ignore_missing: true - ignore_failure: true -- convert: - field: json.LIMIT - target_field: salesforce.apex.limit - type: long - ignore_missing: true - ignore_failure: true -- convert: - field: json.LIMIT_USAGE_PERCENT - target_field: salesforce.apex.limit_usage_pct - type: float - ignore_missing: true - ignore_failure: true -- rename: - field: json.MEDIA_TYPE - target_field: salesforce.apex.media_type - ignore_missing: true - ignore_failure: true -- rename: - field: json.MESSAGE - target_field: salesforce.apex.message - ignore_missing: true - ignore_failure: true -- rename: - field: json.METHOD_NAME - target_field: salesforce.apex.method_name - ignore_missing: true - ignore_failure: true -- convert: - field: json.NUMBER_FIELDS - target_field: salesforce.apex.fields_count - type: long - ignore_missing: true - ignore_failure: true -- convert: - field: json.NUMBER_SOQL_QUERIES - target_field: salesforce.apex.soql_queries_count - type: long - ignore_missing: true - ignore_failure: true -- convert: - field: json.OFFSET - target_field: salesforce.apex.offset - type: long - ignore_missing: true - ignore_failure: true -- rename: - field: json.ORDERBY - target_field: salesforce.apex.orderby - ignore_missing: true - ignore_failure: true -- rename: - field: json.ORGANIZATION_ID - target_field: salesforce.apex.organization_id - ignore_missing: true - ignore_failure: true -- rename: - field: json.QUERY - target_field: salesforce.apex.query - ignore_missing: true - ignore_failure: true -- rename: - field: json.QUIDDITY - target_field: salesforce.apex.quiddity - ignore_missing: true - ignore_failure: true -- rename: - field: json.REQUEST_ID - target_field: salesforce.apex.request_id - ignore_missing: true - ignore_failure: true -- rename: - field: json.REQUEST_STATUS - target_field: salesforce.apex.request_status - ignore_missing: true - ignore_failure: true -- convert: - field: json.ROWS - target_field: salesforce.apex.rows_total - type: long - ignore_missing: true - ignore_failure: true -- convert: - field: json.ROWS_FETCHED - target_field: salesforce.apex.rows_fetched - type: long - ignore_missing: true - ignore_failure: true -- convert: - field: json.ROWS_PROCESSED - target_field: salesforce.apex.rows_processed - type: long - ignore_missing: true - ignore_failure: true -- convert: - field: json.RUN_TIME - target_field: salesforce.apex.run_time - type: float - ignore_missing: true - ignore_failure: true -- rename: - field: json.SELECT - target_field: salesforce.apex.select - ignore_missing: true - ignore_failure: true -- rename: - field: json.SUBQUERIES - target_field: salesforce.apex.subqueries - ignore_missing: true - ignore_failure: true -- convert: - field: json.THROUGHPUT - target_field: salesforce.apex.throughput - type: float - ignore_missing: true - ignore_failure: true -- rename: - field: json.TRIGGER_ID - target_field: salesforce.apex.trigger_id - ignore_missing: true - ignore_failure: true -- rename: - field: json.TRIGGER_NAME - target_field: salesforce.apex.trigger_name - ignore_missing: true - ignore_failure: true -- rename: - field: json.TRIGGER_TYPE - target_field: salesforce.apex.trigger_type - ignore_missing: true - ignore_failure: true -- rename: - field: json.TYPE - target_field: salesforce.apex.type - ignore_missing: true - ignore_failure: true -- rename: - field: json.URI - target_field: salesforce.apex.uri - ignore_missing: true - ignore_failure: true -- rename: - field: json.URI_ID_DERIVED - target_field: salesforce.apex.uri_derived_id - ignore_missing: true - ignore_failure: true -- rename: - field: json.USER_AGENT - target_field: salesforce.apex.user_agent - ignore_missing: true - ignore_failure: true -- script: - description: Set request user agent value from user agent numeric code. - lang: painless - params: - user_agent_map: - "100": "Internet Explorer" - "110": "Firefox" - "130": "Chrome" - "140": "Safari" - "150": "Opera" - "160": "Android" - "170": "Netscape" - "180": "Webkit" - "190": "Gecko" - "230": "Blackberry" - "240": "Good Access" - "999": "Unknown" - if: 'ctx.salesforce?.apex?.user_agent != null' - ignore_failure: true - source: | - if (params.user_agent_map.containsKey(ctx.salesforce.apex.user_agent.toString().substring(0,3))) { - ctx.salesforce.apex.user_agent = params.user_agent_map[ctx.salesforce.apex.user_agent.toString().substring(0,3)]; - } -- rename: - field: json.USER_ID_DERIVED - target_field: salesforce.apex.user_id_derived - ignore_missing: true - ignore_failure: true + - json: + field: message + target_field: json + on_failure: + - append: + field: error.message + value: "Failed to parse JSON: {{{_ingest.on_failure_message}}}" + - set: + field: event.original + copy_from: message + ignore_empty_value: true + if: "ctx.event?.original == null" + - fingerprint: + fields: + - json.REQUEST_ID + - json.SESSION_KEY + - json.TIMESTAMP_DERIVED + - json.USER_ID + target_field: _id + ignore_failure: true + ignore_missing: true + - set: + field: ecs.version + value: "8.5.0" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.ingested + copy_from: _ingest.timestamp + - set: + field: salesforce.apex.document_id + copy_from: _id + ignore_empty_value: true + - date: + field: json.TIMESTAMP_DERIVED + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse TIMESTAMP_DERIVED field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.ACTION + target_field: salesforce.apex.action + ignore_missing: true + - convert: + field: json.CALLOUT_TIME + target_field: salesforce.apex.callout_time + type: float + ignore_missing: true + - rename: + field: json.CLASS_NAME + target_field: salesforce.apex.class_name + ignore_missing: true + - rename: + field: json.CLIENT_NAME + target_field: salesforce.apex.client_name + ignore_missing: true + - convert: + field: json.CPU_TIME + target_field: salesforce.apex.cpu_time + type: float + ignore_missing: true + - convert: + field: json.DB_BLOCKS + target_field: salesforce.apex.db_blocks + type: long + ignore_missing: true + - convert: + field: json.DB_CPU_TIME + target_field: salesforce.apex.db_cpu_time + type: float + ignore_missing: true + - convert: + field: json.DB_TOTAL_TIME + target_field: salesforce.apex.db_total_time + type: float + ignore_missing: true + - rename: + field: json.ENTITY + target_field: salesforce.apex.entity + ignore_missing: true + - rename: + field: json.ENTITY_NAME + target_field: salesforce.apex.entity_name + ignore_missing: true + - rename: + field: json.ENTRY_POINT + target_field: salesforce.apex.entry_point + ignore_missing: true + - rename: + field: json.EVENT_TYPE + target_field: salesforce.apex.event_type + ignore_missing: true + - convert: + field: json.EXECUTE_MS + target_field: salesforce.apex.execute_ms + type: float + ignore_missing: true + - convert: + field: json.FETCH_MS + target_field: salesforce.apex.fetch_ms + type: float + ignore_missing: true + - rename: + field: json.FILTER + target_field: salesforce.apex.filter + ignore_missing: true + - rename: + field: json.IS_LONG_RUNNING_REQUEST + target_field: salesforce.apex.is_long_running_request + ignore_missing: true + - rename: + field: json.LOGIN_KEY + target_field: salesforce.apex.login_key + ignore_missing: true + - convert: + field: json.LIMIT + target_field: salesforce.apex.limit + type: long + ignore_missing: true + - convert: + field: json.LIMIT_USAGE_PERCENT + target_field: salesforce.apex.limit_usage_pct + type: float + ignore_missing: true + - rename: + field: json.MEDIA_TYPE + target_field: salesforce.apex.media_type + ignore_missing: true + - rename: + field: json.MESSAGE + target_field: salesforce.apex.message + ignore_missing: true + - rename: + field: json.METHOD_NAME + target_field: salesforce.apex.method_name + ignore_missing: true + - convert: + field: json.NUMBER_FIELDS + target_field: salesforce.apex.fields_count + type: long + ignore_missing: true + - convert: + field: json.NUMBER_SOQL_QUERIES + target_field: salesforce.apex.soql_queries_count + type: long + ignore_missing: true + - convert: + field: json.OFFSET + target_field: salesforce.apex.offset + type: long + ignore_missing: true + - rename: + field: json.ORDERBY + target_field: salesforce.apex.orderby + ignore_missing: true + - rename: + field: json.ORGANIZATION_ID + target_field: salesforce.apex.organization_id + ignore_missing: true + - rename: + field: json.QUERY + target_field: salesforce.apex.query + ignore_missing: true + - rename: + field: json.QUIDDITY + target_field: salesforce.apex.quiddity + ignore_missing: true + - rename: + field: json.REQUEST_ID + target_field: salesforce.apex.request_id + ignore_missing: true + - rename: + field: json.REQUEST_STATUS + target_field: salesforce.apex.request_status + ignore_missing: true + - convert: + field: json.ROWS + target_field: salesforce.apex.rows_total + type: long + ignore_missing: true + - convert: + field: json.ROWS_FETCHED + target_field: salesforce.apex.rows_fetched + type: long + ignore_missing: true + - convert: + field: json.ROWS_PROCESSED + target_field: salesforce.apex.rows_processed + type: long + ignore_missing: true + - convert: + field: json.RUN_TIME + target_field: salesforce.apex.run_time + type: float + ignore_missing: true + - rename: + field: json.SELECT + target_field: salesforce.apex.select + ignore_missing: true + - rename: + field: json.SUBQUERIES + target_field: salesforce.apex.subqueries + ignore_missing: true + - convert: + field: json.THROUGHPUT + target_field: salesforce.apex.throughput + type: float + ignore_missing: true + - rename: + field: json.TRIGGER_ID + target_field: salesforce.apex.trigger_id + ignore_missing: true + - rename: + field: json.TRIGGER_NAME + target_field: salesforce.apex.trigger_name + ignore_missing: true + - rename: + field: json.TRIGGER_TYPE + target_field: salesforce.apex.trigger_type + ignore_missing: true + - rename: + field: json.TYPE + target_field: salesforce.apex.type + ignore_missing: true + - rename: + field: json.URI + target_field: salesforce.apex.uri + ignore_missing: true + - rename: + field: json.URI_ID_DERIVED + target_field: salesforce.apex.uri_derived_id + ignore_missing: true + - rename: + field: json.USER_AGENT + target_field: salesforce.apex.user_agent + ignore_missing: true + - script: + description: Set request user agent value from user agent numeric code. + lang: painless + params: + user_agent_map: + "100": "Internet Explorer" + "110": "Firefox" + "130": "Chrome" + "140": "Safari" + "150": "Opera" + "160": "Android" + "170": "Netscape" + "180": "Webkit" + "190": "Gecko" + "230": "Blackberry" + "240": "Good Access" + "999": "Unknown" + if: "ctx.salesforce?.apex?.user_agent != null" + source: | + if (params.user_agent_map.containsKey(ctx.salesforce.apex.user_agent.toString().substring(0,3))) { + ctx.salesforce.apex.user_agent = params.user_agent_map[ctx.salesforce.apex.user_agent.toString().substring(0,3)]; + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.apex.user_agent: {{{_ingest.on_failure_message}}}" + - rename: + field: json.USER_ID_DERIVED + target_field: salesforce.apex.user_id_derived + ignore_missing: true -####################### -## ECS Event Mapping ## -####################### + ####################### + ## ECS Event Mapping ## + ####################### -- set: - field: event.kind - value: event - if: ctx.event?.kind == null -- set: - field: event.type - value: connection - if: ctx.salesforce?.apex?.event_type != "ApexExecution" - ignore_failure: true -- append: - field: event.category - value: network - if: ctx.salesforce?.apex?.event_type != "ApexTrigger" && ctx.salesforce?.apex?.event_type != "ApexExecution" - allow_duplicates: false - ignore_failure: true -- script: - description: Set event.action field based on the type of Apex event received. - if: ctx.salesforce?.apex?.event_type != null - lang: painless - ignore_failure: true - params: - event_action_map: - apexcallout: apex-callout - apextrigger: apex-trigger - apexexecution: apex-execution - apexrestapi: apex-rest - apexsoap: apex-soap - externalcustomapexcallout: apex-external-custom-callout - source: | - def eventType = ctx?.salesforce?.apex?.event_type?.toLowerCase(); - if (params.event_action_map.containsKey(eventType)) { - ctx.event.action = params.event_action_map[eventType]; - } -- convert: - field: json.TIME - target_field: event.duration - type: float - if: ctx.salesforce?.apex?.event_type == "ApexCallout" && ctx.json?.TIME != null - ignore_failure: true -- convert: - field: json.EXEC_TIME - target_field: event.duration - type: float - if: (ctx.salesforce?.apex?.event_type == "ApexTrigger" || ctx.salesforce?.apex?.event_type == "ApexExecution") && ctx.json?.EXEC_TIME != null - ignore_failure: true -- convert: - field: salesforce.apex.run_time - target_field: event.duration - type: float - if: (ctx.salesforce?.apex?.event_type == "ApexRestApi" || ctx.salesforce?.apex?.event_type == "ApexSoap") && ctx.salesforce?.apex?.run_time != null - ignore_failure: true -- convert: - field: json.TOTAL_MS - target_field: event.duration - type: float - if: ctx.salesforce?.apex?.event_type == "ExternalCustomApexCallout" && ctx.json?.TOTAL_MS != null - ignore_failure: true -- set: - field: event.outcome - value: success - if: (ctx.json?.SUCCESS == "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS == "1" && ctx.json?.STATUS != null) - ignore_failure: true -- set: - field: event.outcome - value: failure - if: (ctx.json?.SUCCESS != "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS != "1" && ctx.json?.STATUS != null) - ignore_failure: true -- rename: - field: json.URL - target_field: event.url - if: ctx.salesforce?.apex?.event_type == "ApexCallout" - ignore_missing: true - ignore_failure: true -- rename: - field: salesforce.apex.uri - target_field: event.url - if: ctx.salesforce?.apex?.event_type != "ApexCallout" && ctx.salesforce?.apex?.event_type != "ExternalCustomApexCallout" - ignore_missing: true - ignore_failure: true -- set: - field: event.dataset - value: salesforce.apex - if: ctx.event?.dataset == null -- set: - field: event.module - value: salesforce - if: ctx.event?.module == null + - set: + field: event.kind + value: event + if: ctx.event?.kind == null + - set: + field: event.type + value: connection + if: ctx.salesforce?.apex?.event_type != "ApexExecution" + ignore_failure: true + - append: + field: event.category + value: network + if: ctx.salesforce?.apex?.event_type != "ApexTrigger" && ctx.salesforce?.apex?.event_type != "ApexExecution" + allow_duplicates: false + ignore_failure: true + - script: + description: Set event.action field based on the type of Apex event received. + if: ctx.salesforce?.apex?.event_type != null + lang: painless + params: + event_action_map: + apexcallout: apex-callout + apextrigger: apex-trigger + apexexecution: apex-execution + apexrestapi: apex-rest + apexsoap: apex-soap + externalcustomapexcallout: apex-external-custom-callout + source: | + def eventType = ctx?.salesforce?.apex?.event_type?.toLowerCase(); + if (params.event_action_map.containsKey(eventType)) { + ctx.event.action = params.event_action_map[eventType]; + } + on_failure: + - append: + field: error.message + value: "Failed to set event.action from salesforce.apex.event_type: {{{_ingest.on_failure_message}}}" + - convert: + field: json.TIME + target_field: event.duration + type: float + if: ctx.salesforce?.apex?.event_type == "ApexCallout" && ctx.json?.TIME != null + ignore_failure: true + - convert: + field: json.EXEC_TIME + target_field: event.duration + type: float + if: (ctx.salesforce?.apex?.event_type == "ApexTrigger" || ctx.salesforce?.apex?.event_type == "ApexExecution") && ctx.json?.EXEC_TIME != null + ignore_failure: true + - convert: + field: salesforce.apex.run_time + target_field: event.duration + type: float + if: (ctx.salesforce?.apex?.event_type == "ApexRestApi" || ctx.salesforce?.apex?.event_type == "ApexSoap") && ctx.salesforce?.apex?.run_time != null + ignore_failure: true + - convert: + field: json.TOTAL_MS + target_field: event.duration + type: float + if: ctx.salesforce?.apex?.event_type == "ExternalCustomApexCallout" && ctx.json?.TOTAL_MS != null + ignore_failure: true + - set: + field: event.outcome + value: success + if: (ctx.json?.SUCCESS == "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS == "1" && ctx.json?.STATUS != null) + ignore_failure: true + - set: + field: event.outcome + value: failure + if: (ctx.json?.SUCCESS != "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS != "1" && ctx.json?.STATUS != null) + ignore_failure: true + - rename: + field: json.URL + target_field: event.url + if: ctx.salesforce?.apex?.event_type == "ApexCallout" + ignore_missing: true + ignore_failure: true + - rename: + field: salesforce.apex.uri + target_field: event.url + if: ctx.salesforce?.apex?.event_type != "ApexCallout" && ctx.salesforce?.apex?.event_type != "ExternalCustomApexCallout" + ignore_missing: true + ignore_failure: true + - set: + field: event.dataset + value: salesforce.apex + if: ctx.event?.dataset == null + - set: + field: event.module + value: salesforce + if: ctx.event?.module == null -###################### -## ECS User Mapping ## -###################### + ###################### + ## ECS User Mapping ## + ###################### -- rename: - field: json.USER_ID - target_field: user.id - ignore_missing: true - ignore_failure: true -- append: - field: user.roles - value: "{{{json.USER_TYPE}}}" - allow_duplicates: false - ignore_failure: true -- remove: - field: json.USER_TYPE - ignore_missing: true + - rename: + field: json.USER_ID + target_field: user.id + ignore_missing: true + - append: + field: user.roles + value: "{{{json.USER_TYPE}}}" + allow_duplicates: false + - remove: + field: json.USER_TYPE + ignore_missing: true -######################## -## ECS Source Mapping ## -######################## + ######################## + ## ECS Source Mapping ## + ######################## -# A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" -- rename: - field: json.CLIENT_IP - target_field: source.ip - if: ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != null - ignore_missing: true - ignore_failure: true + # A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" + - rename: + field: json.CLIENT_IP + target_field: source.ip + if: ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != null + ignore_missing: true -############################ -## ECS source.geo Mapping ## -############################ + ############################ + ## ECS source.geo Mapping ## + ############################ -# A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" -- geoip: - field: source.ip - target_field: source.geo - if: ctx.source?.ip != "Salesforce.com IP" && ctx.source?.ip != null - ignore_missing: true - ignore_failure: true + # A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" + - geoip: + field: source.ip + target_field: source.geo + if: ctx.source?.ip != "Salesforce.com IP" && ctx.source?.ip != null + ignore_missing: true -############################ -## ECS related.ip Mapping ## -############################ + ############################ + ## ECS related.ip Mapping ## + ############################ -- append: - field: related.ip - value: "{{{source.ip}}}" - if: ctx?.source?.ip != null - allow_duplicates: false - ignore_failure: true + - append: + field: related.ip + value: "{{{source.ip}}}" + if: ctx?.source?.ip != null + allow_duplicates: false -###################### -## ECS HTTP Mapping ## -###################### + ###################### + ## ECS HTTP Mapping ## + ###################### -- rename: - field: json.METHOD - target_field: http.request.method - ignore_missing: true - ignore_failure: true -- convert: - field: json.REQUEST_SIZE - target_field: http.request.bytes - type: long - ignore_missing: true - ignore_failure: true -- convert: - field: json.RESPONSE_SIZE - target_field: http.response.bytes - type: long - ignore_missing: true - ignore_failure: true -- convert: - field: json.STATUS_CODE - target_field: http.response.status_code - type: long - ignore_missing: true - ignore_failure: true + - rename: + field: json.METHOD + target_field: http.request.method + ignore_missing: true + - convert: + field: json.REQUEST_SIZE + target_field: http.request.bytes + type: long + ignore_missing: true + - convert: + field: json.RESPONSE_SIZE + target_field: http.response.bytes + type: long + ignore_missing: true + - convert: + field: json.STATUS_CODE + target_field: http.response.status_code + type: long + ignore_missing: true -############# -## Cleanup ## -############# + ############# + ## Cleanup ## + ############# + + - script: + description: Drops null/empty values recursively + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return ((Map) object).isEmpty(); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return ((List) object).isEmpty(); + } + return false; + } + dropEmptyFields(ctx); + - remove: + field: + - json + - message + ignore_failure: true + ignore_missing: true + - remove: + field: event.original + if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" + ignore_failure: true + ignore_missing: true -- script: - description: Drops null/empty values recursively - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return (((Map) object).size() == 0); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return (((List) object).length == 0); - } - return false; - } - dropEmptyFields(ctx); -- remove: - field: - - json - - message - ignore_missing: true - ignore_failure: true -- remove: - field: event.original - if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" - ignore_failure: true - ignore_missing: true on_failure: -- set: - field: error.message - value: '{{_ingest.on_failure_message}}' \ No newline at end of file + - set: + field: event.kind + value: pipeline_error + - set: + field: error.message + value: "{{{_ingest.on_failure_message}}}" + - set: + field: error.type + value: "{{{_ingest.on_failure_processor_type}}}" diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index 1b936ea7f7c..28406000cd3 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } diff --git a/x-pack/filebeat/module/salesforce/login/ingest/default.yml b/x-pack/filebeat/module/salesforce/login/ingest/default.yml index de05a712a2b..f12465efa76 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/default.yml @@ -1,119 +1,131 @@ --- description: Pipeline for parsing Salesforce Login logs. processors: -- json: - field: message - target_field: json - ignore_failure: true -- set: - field: event.original - copy_from: message - ignore_empty_value: true - if: 'ctx.event?.original == null' -- set: - field: event.ingested - value: '{{_ingest.timestamp}}' -- fingerprint: - fields: - - json.REQUEST_ID - - json.SESSION_KEY - - json.TIMESTAMP_DERIVED - - json.USER_ID - target_field: _id - ignore_failure: true - ignore_missing: true -- set: - field: ecs.version - value: "8.5.0" - ignore_failure: true - ignore_empty_value: true -- set: - field: salesforce.login.document_id - copy_from: _id - ignore_empty_value: true -- pipeline: - if: ctx.event?.provider == "Object" - name: '{< IngestPipeline "object" >}' - ignore_missing_pipeline: true -- pipeline: - if: ctx.event?.provider == "EventLogFile" - name: '{< IngestPipeline "eventlogfile" >}' - ignore_missing_pipeline: true -- set: - field: event.kind - value: event - ignore_failure: true - if: ctx.event?.kind == null -- set: - field: event.type - value: ["info"] - ignore_failure: true - if: ctx.event?.type == null -- set: - field: event.action - value: login-attempt - ignore_failure: true - if: ctx.event?.action == null -- set: - field: event.category - value: authentication - ignore_failure: true - if: ctx.event?.category == null -- set: - field: event.dataset - value: salesforce.login - ignore_failure: true - if: ctx.event?.dataset == null -- set: - field: event.module - value: salesforce - ignore_failure: true - if: ctx.event?.module == null -- append: - field: related.ip - value: '{{{source.ip}}}' - allow_duplicates: false - ignore_failure: true - if: ctx.source?.ip != null -- append: - field: related.ip - value: '{{{salesforce.login.client_ip}}}' - allow_duplicates: false - ignore_failure: true - if: ctx.salesforce?.login?.client_ip != null && ctx.salesforce.login.client_ip != "Salesforce.com IP" -- remove: - field: event.original - ignore_failure: true - if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" -- script: - description: Drops null/empty values recursively. - lang: painless - ignore_failure: true - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return ((Map) object).isEmpty(); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return ((List) object).isEmpty(); - } - return false; - } - dropEmptyFields(ctx); -- remove: - field: - - json - - message - ignore_missing: true + - json: + field: message + target_field: json + on_failure: + - append: + field: error.message + value: "Failed to parse JSON: {{{_ingest.on_failure_message}}}" + - set: + field: event.original + copy_from: message + ignore_empty_value: true + if: "ctx.event?.original == null" + - set: + field: event.ingested + value: "{{_ingest.timestamp}}" + - fingerprint: + fields: + - json.REQUEST_ID + - json.SESSION_KEY + - json.TIMESTAMP_DERIVED + - json.USER_ID + target_field: _id + ignore_failure: true + ignore_missing: true + - set: + field: ecs.version + value: "8.5.0" + ignore_failure: true + ignore_empty_value: true + - set: + field: salesforce.login.document_id + copy_from: _id + ignore_empty_value: true + + - pipeline: + name: '{< IngestPipeline "object" >}' + if: ctx.event?.provider == "Object" + - pipeline: + name: '{< IngestPipeline "eventlogfile" >}' + if: ctx.event?.provider == "EventLogFile" + + - set: + field: event.type + value: ["info"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.kind + value: "event" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.action + value: "login-attempt" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.category + value: ["authentication"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.dataset + value: "salesforce.login" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.module + value: "salesforce" + ignore_failure: true + ignore_empty_value: true + - append: + field: related.ip + value: "{{{source.ip}}}" + allow_duplicates: false + ignore_failure: true + if: ctx.source?.ip != null + - append: + field: related.ip + value: "{{{salesforce.login.client_ip}}}" + allow_duplicates: false + ignore_failure: true + if: ctx.salesforce?.login?.client_ip != null && ctx.salesforce.login.client_ip != "Salesforce.com IP" + + ############# + ## Cleanup ## + ############# + + # Drop empty fields + - script: + description: Drops null/empty values recursively + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return ((Map) object).isEmpty(); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return ((List) object).isEmpty(); + } + return false; + } + dropEmptyFields(ctx); + - remove: + field: + - json + - message + ignore_failure: true + ignore_missing: true + - remove: + field: event.original + if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" + ignore_failure: true + ignore_missing: true on_failure: -- set: - field: event.kind - value: pipeline_error - override: true -- append: - field: error.message - value: '{{{ _ingest.on_failure_message }}}' \ No newline at end of file + - set: + field: event.kind + value: pipeline_error + - set: + field: error.message + value: "{{{_ingest.on_failure_message}}}" + - set: + field: error.type + value: "{{{_ingest.on_failure_processor_type}}}" diff --git a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml index d1afee69ebe..a6613895ec5 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml @@ -1,194 +1,184 @@ --- description: Pipeline for parsing Salesforce Login (EventLogFile) logs. processors: -- date: - field: json.TIMESTAMP_DERIVED - target_field: "@timestamp" - formats: - - ISO8601 - ignore_failure: true -- rename: - field: json.API_TYPE - target_field: salesforce.login.api.type - ignore_failure: true - ignore_missing: true -- script: - description: Set api type value from api type character. - lang: painless - params: - api_type_map: - D: "Apex Class" - E: "SOAP Enterprise" - I: "SOAP Cross Instance" - M: "SOAP Metadata" - O: "Old SOAP" - P: "SOAP Partner" - S: "SOAP Apex" - T: "SOAP Tooling" - X: "XmlRPC" - f: "Feed" - l: "Live Agent" - p: "SOAP ClientSync" - ignore_failure: true - source: | - ctx.salesforce.login.api.type = params.api_type_map.getOrDefault(ctx.salesforce?.login?.api?.type, ctx.salesforce.login.api.type); -- rename: - field: json.AUTHENTICATION_METHOD_REFERENCE - target_field: salesforce.login.auth.service_id - ignore_failure: true - ignore_missing: true -- rename: - field: json.REQUEST_STATUS - target_field: salesforce.login.request_status - ignore_failure: true - ignore_missing: true -- script: - description: Set request status value from request status character. - lang: painless - params: - request_status_map: - S: "Success" - F: "Failure" - U: "Undefined" - A: "Authorization Error" - R: "Redirect" - N: "Not Found" - ignore_failure: true - source: | - ctx.salesforce.login.request_status = params.request_status_map.getOrDefault(ctx.salesforce?.login?.request_status, ctx.salesforce.login.request_status); -- rename: - field: json.API_VERSION - target_field: salesforce.login.api.version - ignore_failure: true - ignore_missing: true -- rename: - field: json.USER_ID - target_field: salesforce.login.user_id - ignore_failure: true - ignore_missing: true -- rename: - field: json.LOGIN_KEY - target_field: salesforce.login.key - ignore_failure: true - ignore_missing: true -- rename: - field: json.EVENT_TYPE - target_field: salesforce.login.event_type - ignore_failure: true - ignore_missing: true -- rename: - field: json.REQUEST_ID - target_field: salesforce.login.request_id - ignore_failure: true - ignore_missing: true -- rename: - field: json.ORGANIZATION_ID - target_field: salesforce.login.organization_id - ignore_failure: true - ignore_missing: true -- convert: - field: json.RUN_TIME - type: long - target_field: salesforce.login.run_time - ignore_failure: true - ignore_missing: true -- convert: - field: json.CPU_TIME - type: long - target_field: salesforce.login.cpu_time - ignore_failure: true - ignore_missing: true -- convert: - field: json.DB_TOTAL_TIME - type: long - target_field: salesforce.login.db_time.total - ignore_failure: true - ignore_missing: true -- script: - description: Convert db_time.total field from nanos (nanoseconds) to ms (milliseconds). - lang: painless - ignore_failure: true - source: | - if (ctx.salesforce?.login?.db_time?.total != null) { - ctx.salesforce.login.db_time.total = ctx.salesforce.login.db_time.total / 1000000; - } -- rename: - field: json.CLIENT_IP - target_field: salesforce.login.client_ip - ignore_failure: true - ignore_missing: true -- rename: - field: json.URI_ID_DERIVED - target_field: salesforce.login.uri_derived_id - ignore_failure: true - ignore_missing: true -- rename: - field: json.URI - target_field: event.url - ignore_failure: true - ignore_missing: true -- set: - field: event.outcome - value: "success" - if: 'ctx.json?.LOGIN_STATUS == "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != null' - ignore_failure: true - ignore_empty_value: true -- set: - field: event.outcome - value: "failure" - if: 'ctx.json?.LOGIN_STATUS != "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != null' - ignore_failure: true - ignore_empty_value: true -- rename: - field: json.USER_NAME - target_field: user.email - ignore_missing: true - ignore_failure: true -- rename: - field: json.USER_ID_DERIVED - target_field: user.id - ignore_missing: true - ignore_failure: true -- set: - value: ["{{{json.USER_TYPE}}}"] - field: user.roles - ignore_failure: true - ignore_empty_value: true -- remove: - field: json.USER_TYPE - ignore_failure: true - ignore_missing: true -- rename: - field: json.SOURCE_IP - target_field: source.ip - ignore_missing: true - ignore_failure: true - if: 'ctx.json?.SOURCE_IP != "Salesforce.com IP"' -- geoip: - field: source.ip - target_field: source.geo - ignore_missing: true - ignore_failure: true -- rename: - field: json.BROWSER_TYPE - target_field: user_agent.name - ignore_missing: true - ignore_failure: true -- rename: - field: json.CIPHER_SUITE - target_field: tls.cipher - ignore_missing: true - ignore_failure: true -- dissect: - pattern: "%{tls.version_protocol}v%{tls.version}" - field: json.TLS_PROTOCOL - ignore_failure: true - ignore_missing: true + - date: + field: json.TIMESTAMP_DERIVED + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse TIMESTAMP_DERIVED field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.API_TYPE + target_field: salesforce.login.api.type + ignore_missing: true + - script: + description: Set api type value from api type character. + lang: painless + params: + api_type_map: + D: "Apex Class" + E: "SOAP Enterprise" + I: "SOAP Cross Instance" + M: "SOAP Metadata" + O: "Old SOAP" + P: "SOAP Partner" + S: "SOAP Apex" + T: "SOAP Tooling" + X: "XmlRPC" + f: "Feed" + l: "Live Agent" + p: "SOAP ClientSync" + source: | + ctx.salesforce.login.api.type = params.api_type_map.getOrDefault(ctx.salesforce?.login?.api?.type, ctx.salesforce.login.api.type); + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.login.api.type: {{{_ingest.on_failure_message}}}" + - rename: + field: json.AUTHENTICATION_METHOD_REFERENCE + target_field: salesforce.login.auth.service_id + ignore_missing: true + - rename: + field: json.REQUEST_STATUS + target_field: salesforce.login.request_status + ignore_missing: true + - script: + description: Set request status value from request status character. + lang: painless + params: + request_status_map: + S: "Success" + F: "Failure" + U: "Undefined" + A: "Authorization Error" + R: "Redirect" + N: "Not Found" + source: | + ctx.salesforce.login.request_status = params.request_status_map.getOrDefault(ctx.salesforce?.login?.request_status, ctx.salesforce.login.request_status); + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.login.request_status: {{{_ingest.on_failure_message}}}" + - rename: + field: json.API_VERSION + target_field: salesforce.login.api.version + ignore_missing: true + - rename: + field: json.USER_ID + target_field: salesforce.login.user_id + ignore_missing: true + - rename: + field: json.LOGIN_KEY + target_field: salesforce.login.key + ignore_missing: true + - rename: + field: json.EVENT_TYPE + target_field: salesforce.login.event_type + ignore_missing: true + - rename: + field: json.REQUEST_ID + target_field: salesforce.login.request_id + ignore_missing: true + - rename: + field: json.ORGANIZATION_ID + target_field: salesforce.login.organization_id + ignore_missing: true + - convert: + field: json.RUN_TIME + type: long + target_field: salesforce.login.run_time + ignore_missing: true + - convert: + field: json.CPU_TIME + type: long + target_field: salesforce.login.cpu_time + ignore_missing: true + - convert: + field: json.DB_TOTAL_TIME + type: long + target_field: salesforce.login.db_time.total + ignore_missing: true + - script: + description: Convert db_time.total field from nanos (nanoseconds) to ms (milliseconds). + lang: painless + source: | + if (ctx.salesforce?.login?.db_time?.total != null) { + ctx.salesforce.login.db_time.total = ctx.salesforce.login.db_time.total / 1000000; + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.login.db_time.total: {{{_ingest.on_failure_message}}}" + - rename: + field: json.CLIENT_IP + target_field: salesforce.login.client_ip + ignore_missing: true + - rename: + field: json.URI_ID_DERIVED + target_field: salesforce.login.uri_derived_id + ignore_missing: true + - rename: + field: json.URI + target_field: event.url + ignore_missing: true + - set: + field: event.outcome + value: "success" + if: 'ctx.json?.LOGIN_STATUS == "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != null' + ignore_empty_value: true + - set: + field: event.outcome + value: "failure" + if: 'ctx.json?.LOGIN_STATUS != "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != null' + ignore_empty_value: true + - rename: + field: json.USER_NAME + target_field: user.email + ignore_failure: true + - rename: + field: json.USER_ID_DERIVED + target_field: user.id + ignore_failure: true + - set: + value: ["{{{json.USER_TYPE}}}"] + field: user.roles + ignore_empty_value: true + - remove: + field: json.USER_TYPE + ignore_missing: true + - rename: + field: json.SOURCE_IP + target_field: source.ip + ignore_missing: true + if: 'ctx.json?.SOURCE_IP != "Salesforce.com IP"' + - geoip: + field: source.ip + target_field: source.geo + ignore_missing: true + ignore_failure: true + - rename: + field: json.BROWSER_TYPE + target_field: user_agent.name + ignore_missing: true + ignore_failure: true + - rename: + field: json.CIPHER_SUITE + target_field: tls.cipher + ignore_missing: true + ignore_failure: true + - dissect: + pattern: "%{tls.version_protocol}v%{tls.version}" + field: json.TLS_PROTOCOL + ignore_failure: true + ignore_missing: true on_failure: -- set: - field: event.kind - value: pipeline_error -- append: - field: error.message - value: '{{{ _ingest.on_failure_message }}}' \ No newline at end of file + - set: + field: event.kind + value: pipeline_error + - append: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" diff --git a/x-pack/filebeat/module/salesforce/login/ingest/object.yml b/x-pack/filebeat/module/salesforce/login/ingest/object.yml index 2ef952739b4..bb3e5f4c7a3 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/object.yml @@ -1,232 +1,197 @@ --- description: Pipeline for parsing Salesforce Login (Object) logs. processors: -- date: - field: json.EventDate - target_field: "@timestamp" - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" -- rename: - field: json.AuthServiceId - target_field: salesforce.login.auth.service_id - ignore_failure: true - ignore_missing: true -- convert: - field: json.EvaluationTime - type: double - target_field: salesforce.login.evaluation_time - ignore_failure: true - ignore_missing: true -- rename: - field: json.ClientVersion - target_field: salesforce.login.client_version - ignore_failure: true - ignore_missing: true -- rename: - field: json.LoginGeoId - target_field: salesforce.login.geo_id - ignore_failure: true - ignore_missing: true -- rename: - field: json.LoginHistoryId - target_field: salesforce.login.history_id - ignore_failure: true - ignore_missing: true -- rename: - field: json.ApiType - target_field: salesforce.login.api.type - ignore_failure: true - ignore_missing: true -- rename: - field: json.AuthMethodReference - target_field: salesforce.login.auth.method_reference - ignore_failure: true - ignore_missing: true -- rename: - field: json.LoginType - target_field: salesforce.login.type - ignore_failure: true - ignore_missing: true -- rename: - field: json.PolicyOutcome - target_field: salesforce.login.policy_outcome - ignore_failure: true - ignore_missing: true -- rename: - field: json.ApiVersion - target_field: salesforce.login.api.version - ignore_failure: true - ignore_missing: true -- rename: - field: json.EventIdentifier - target_field: event.id - ignore_failure: true - ignore_missing: true -- rename: - field: json.RelatedEventIdentifier - target_field: salesforce.login.related_event_identifier - ignore_failure: true - ignore_missing: true -- rename: - field: json.LoginKey - target_field: salesforce.login.key - ignore_failure: true - ignore_missing: true -- rename: - field: json.Application - target_field: salesforce.login.application - ignore_failure: true - ignore_missing: true -- rename: - field: json.PolicyId - target_field: salesforce.login.policy_id - ignore_failure: true - ignore_missing: true -- rename: - field: json.SessionLevel - target_field: salesforce.login.session.level - ignore_failure: true - ignore_missing: true -- rename: - field: json.SessionKey - target_field: salesforce.login.session.key - ignore_failure: true - ignore_missing: true -- set: - field: event.outcome - value: success - if: 'ctx.json?.Status == "Success"' - ignore_empty_value: true -- set: - field: event.outcome - value: failure - if: 'ctx.json?.Status != "Success" && ctx.json?.Status != null' - ignore_empty_value: true -- date: - field: json.CreatedDate - target_field: event.created - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" -- rename: - field: json.LoginUrl - target_field: event.url - ignore_failure: true - ignore_missing: true -- rename: - field: json.Username - target_field: user.email - ignore_failure: true - ignore_missing: true -- rename: - field: json.UserId - target_field: user.id - ignore_failure: true - ignore_missing: true -- set: - field: user.roles - value: '{{{json.UserType}}}' - if: ctx.json?.UserType != null - ignore_empty_value: true -- remove: - field: json.UserType - ignore_failure: true - ignore_missing: true -- convert: - field: json.SourceIp - target_field: source.ip - type: ip - ignore_failure: true - on_failure: - - append: - field: error.message - value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" -- rename: - field: json.LoginLatitude - target_field: source.geo.location.lat - ignore_failure: true - ignore_missing: true -- rename: - field: json.LoginLongitude - target_field: source.geo.location.lon - ignore_failure: true - ignore_missing: true -- geoip: - field: source.ip - target_field: source.geo - ignore_missing: true - if: '!ctx.source?.geo?.location?.containsKey("lat") && !ctx.source?.geo?.location?.containsKey("lon")' -- rename: - field: json.CountryIso - target_field: source.geo.country_iso_code - ignore_failure: true - ignore_missing: true -- rename: - field: json.PostalCode - target_field: source.geo.postal_code - ignore_failure: true - ignore_missing: true -- rename: - field: json.City - target_field: source.geo.city_name - ignore_failure: true - ignore_missing: true -- rename: - field: json.Subdivision - target_field: source.geo.region_name - ignore_failure: true - ignore_missing: true -- rename: - field: json.Country - target_field: source.geo.country_name - ignore_failure: true - ignore_missing: true -- rename: - field: json.Browser - target_field: user_agent.name - ignore_failure: true - ignore_missing: true -- rename: - field: json.Platform - target_field: user_agent.os.platform - ignore_failure: true - ignore_missing: true -- rename: - field: json.HttpMethod - target_field: http.request.method - ignore_failure: true - ignore_missing: true -- rename: - field: json.AdditionalInfo - target_field: salesforce.login.additional_info - ignore_failure: true - ignore_missing: true -- rename: - field: json.CipherSuite - target_field: tls.cipher - ignore_failure: true - ignore_missing: true -- dissect: - field: json.TlsProtocol - pattern: '%{tls.version_protocol} %{tls.version}' - ignore_failure: true - ignore_missing: true - on_failure: - - append: - field: error.message - value: "Failed to dissect TlsProtocol: {{{_ingest.on_failure_message}}}" + - date: + field: json.EventDate + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.AuthServiceId + target_field: salesforce.login.auth.service_id + ignore_missing: true + - convert: + field: json.EvaluationTime + type: double + target_field: salesforce.login.evaluation_time + ignore_missing: true + - rename: + field: json.ClientVersion + target_field: salesforce.login.client_version + ignore_missing: true + - rename: + field: json.LoginGeoId + target_field: salesforce.login.geo_id + ignore_missing: true + - rename: + field: json.LoginHistoryId + target_field: salesforce.login.history_id + ignore_missing: true + - rename: + field: json.ApiType + target_field: salesforce.login.api.type + ignore_missing: true + - rename: + field: json.AuthMethodReference + target_field: salesforce.login.auth.method_reference + ignore_missing: true + - rename: + field: json.LoginType + target_field: salesforce.login.type + ignore_missing: true + - rename: + field: json.PolicyOutcome + target_field: salesforce.login.policy_outcome + ignore_missing: true + - rename: + field: json.ApiVersion + target_field: salesforce.login.api.version + ignore_missing: true + - rename: + field: json.EventIdentifier + target_field: event.id + ignore_missing: true + - rename: + field: json.RelatedEventIdentifier + target_field: salesforce.login.related_event_identifier + ignore_missing: true + - rename: + field: json.LoginKey + target_field: salesforce.login.key + ignore_missing: true + - rename: + field: json.Application + target_field: salesforce.login.application + ignore_missing: true + - rename: + field: json.PolicyId + target_field: salesforce.login.policy_id + ignore_missing: true + - rename: + field: json.SessionLevel + target_field: salesforce.login.session.level + ignore_missing: true + - rename: + field: json.SessionKey + target_field: salesforce.login.session.key + ignore_missing: true + - set: + field: event.outcome + value: success + if: 'ctx.json?.Status == "Success"' + ignore_empty_value: true + - set: + field: event.outcome + value: failure + if: 'ctx.json?.Status != "Success" && ctx.json?.Status != null' + ignore_empty_value: true + - date: + field: json.CreatedDate + target_field: event.created + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.LoginUrl + target_field: event.url + ignore_missing: true + - rename: + field: json.Username + target_field: user.email + ignore_missing: true + - rename: + field: json.UserId + target_field: user.id + ignore_missing: true + - set: + field: user.roles + value: "{{{json.UserType}}}" + if: ctx.json?.UserType != null + ignore_empty_value: true + - remove: + field: json.UserType + ignore_missing: true + - convert: + field: json.SourceIp + target_field: source.ip + type: ip + on_failure: + - append: + field: error.message + value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" + - rename: + field: json.LoginLatitude + target_field: source.geo.location.lat + ignore_missing: true + - rename: + field: json.LoginLongitude + target_field: source.geo.location.lon + ignore_missing: true + - geoip: + field: source.ip + target_field: source.geo + ignore_missing: true + if: '!ctx.source?.geo?.location?.containsKey("lat") && !ctx.source?.geo?.location?.containsKey("lon")' + - rename: + field: json.CountryIso + target_field: source.geo.country_iso_code + ignore_missing: true + - rename: + field: json.PostalCode + target_field: source.geo.postal_code + ignore_missing: true + - rename: + field: json.City + target_field: source.geo.city_name + ignore_missing: true + - rename: + field: json.Subdivision + target_field: source.geo.region_name + ignore_missing: true + - rename: + field: json.Country + target_field: source.geo.country_name + ignore_missing: true + - rename: + field: json.Browser + target_field: user_agent.name + ignore_missing: true + - rename: + field: json.Platform + target_field: user_agent.os.platform + ignore_missing: true + - rename: + field: json.HttpMethod + target_field: http.request.method + ignore_missing: true + - rename: + field: json.AdditionalInfo + target_field: salesforce.login.additional_info + ignore_missing: true + - rename: + field: json.CipherSuite + target_field: tls.cipher + ignore_missing: true + - dissect: + field: json.TlsProtocol + pattern: "%{tls.version_protocol} %{tls.version}" + ignore_missing: true + on_failure: + - append: + field: error.message + value: "Failed to dissect TlsProtocol: {{{_ingest.on_failure_message}}}" on_failure: -- append: - field: error.message - value: "Pipeline failed to process this event: {{{_ingest.on_failure_message}}}" -- set: - field: event.kind - value: pipeline_error \ No newline at end of file + - set: + field: event.kind + value: pipeline_error + - append: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml index 350886ce9c3..c85fc6145cc 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml @@ -14,22 +14,18 @@ processors: field: json.RelatedEventIdentifier target_field: salesforce.logout.related_event_identifier ignore_missing: true - ignore_failure: true - rename: field: json.LoginKey target_field: salesforce.logout.login_key ignore_missing: true - ignore_failure: true - rename: field: json.SessionLevel target_field: salesforce.logout.session.level ignore_missing: true - ignore_failure: true - rename: field: json.SessionKey target_field: salesforce.logout.session.key ignore_missing: true - ignore_failure: true - date: field: json.CreatedDate target_field: event.created @@ -42,12 +38,10 @@ processors: - rename: field: json.Username target_field: user.email - ignore_failure: true ignore_missing: true - rename: field: json.UserId target_field: user.id - ignore_failure: true ignore_missing: true - convert: field: json.SourceIp diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml index a0e989d790b..b62ed83fd3e 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml @@ -32,10 +32,6 @@ type: keyword description: > The full description of changes made in Setup. For example, if the Action field has a value of PermSetCreate, the Display field has a value like “Created permission set MAD: with user license Salesforce. - - name: event_type - type: keyword - description: > - Event type. - name: responsible_namespace_prefix type: keyword description: > From 6ec275f49c90b41b00abb249dd39feddab765a2d Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 10 Apr 2024 11:35:26 +0530 Subject: [PATCH 136/172] Make checks happy --- filebeat/docs/fields.asciidoc | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index 733533244bb..3782df782ef 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -126051,16 +126051,6 @@ type: keyword The full description of changes made in Setup. For example, if the Action field has a value of PermSetCreate, the Display field has a value like “Created permission set MAD: with user license Salesforce. -type: keyword - --- - -*`salesforce.setup_audit_trail.event_type`*:: -+ --- -Event type. - - type: keyword -- From b8d10bdba194c0c5d3dae6811f7331cdeb06e65a Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 10 Apr 2024 16:50:24 +0530 Subject: [PATCH 137/172] Update ingest pipelines to add ignore_failure --- .../salesforce/apex/ingest/pipeline.yml | 56 +++++++++++++++++++ .../salesforce/login/ingest/eventlogfile.yml | 20 +++++++ .../module/salesforce/login/ingest/object.yml | 1 + .../salesforce/logout/ingest/eventlogfile.yml | 24 +++++++- .../salesforce/logout/ingest/object.yml | 6 ++ .../setupaudittrail/ingest/pipeline.yml | 13 ++++- 6 files changed, 114 insertions(+), 6 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index 28da713cf7c..f29a55f7b26 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -47,199 +47,244 @@ processors: field: json.ACTION target_field: salesforce.apex.action ignore_missing: true + ignore_failure: true - convert: field: json.CALLOUT_TIME target_field: salesforce.apex.callout_time type: float ignore_missing: true + ignore_failure: true - rename: field: json.CLASS_NAME target_field: salesforce.apex.class_name ignore_missing: true + ignore_failure: true - rename: field: json.CLIENT_NAME target_field: salesforce.apex.client_name ignore_missing: true + ignore_failure: true - convert: field: json.CPU_TIME target_field: salesforce.apex.cpu_time type: float ignore_missing: true + ignore_failure: true - convert: field: json.DB_BLOCKS target_field: salesforce.apex.db_blocks type: long ignore_missing: true + ignore_failure: true - convert: field: json.DB_CPU_TIME target_field: salesforce.apex.db_cpu_time type: float ignore_missing: true + ignore_failure: true - convert: field: json.DB_TOTAL_TIME target_field: salesforce.apex.db_total_time type: float ignore_missing: true + ignore_failure: true - rename: field: json.ENTITY target_field: salesforce.apex.entity ignore_missing: true + ignore_failure: true - rename: field: json.ENTITY_NAME target_field: salesforce.apex.entity_name ignore_missing: true + ignore_failure: true - rename: field: json.ENTRY_POINT target_field: salesforce.apex.entry_point ignore_missing: true + ignore_failure: true - rename: field: json.EVENT_TYPE target_field: salesforce.apex.event_type ignore_missing: true + ignore_failure: true - convert: field: json.EXECUTE_MS target_field: salesforce.apex.execute_ms type: float ignore_missing: true + ignore_failure: true - convert: field: json.FETCH_MS target_field: salesforce.apex.fetch_ms type: float ignore_missing: true + ignore_failure: true - rename: field: json.FILTER target_field: salesforce.apex.filter ignore_missing: true + ignore_failure: true - rename: field: json.IS_LONG_RUNNING_REQUEST target_field: salesforce.apex.is_long_running_request ignore_missing: true + ignore_failure: true - rename: field: json.LOGIN_KEY target_field: salesforce.apex.login_key ignore_missing: true + ignore_failure: true - convert: field: json.LIMIT target_field: salesforce.apex.limit type: long ignore_missing: true + ignore_failure: true - convert: field: json.LIMIT_USAGE_PERCENT target_field: salesforce.apex.limit_usage_pct type: float ignore_missing: true + ignore_failure: true - rename: field: json.MEDIA_TYPE target_field: salesforce.apex.media_type ignore_missing: true + ignore_failure: true - rename: field: json.MESSAGE target_field: salesforce.apex.message ignore_missing: true + ignore_failure: true - rename: field: json.METHOD_NAME target_field: salesforce.apex.method_name ignore_missing: true + ignore_failure: true - convert: field: json.NUMBER_FIELDS target_field: salesforce.apex.fields_count type: long ignore_missing: true + ignore_failure: true - convert: field: json.NUMBER_SOQL_QUERIES target_field: salesforce.apex.soql_queries_count type: long ignore_missing: true + ignore_failure: true - convert: field: json.OFFSET target_field: salesforce.apex.offset type: long ignore_missing: true + ignore_failure: true - rename: field: json.ORDERBY target_field: salesforce.apex.orderby ignore_missing: true + ignore_failure: true - rename: field: json.ORGANIZATION_ID target_field: salesforce.apex.organization_id ignore_missing: true + ignore_failure: true - rename: field: json.QUERY target_field: salesforce.apex.query ignore_missing: true + ignore_failure: true - rename: field: json.QUIDDITY target_field: salesforce.apex.quiddity ignore_missing: true + ignore_failure: true - rename: field: json.REQUEST_ID target_field: salesforce.apex.request_id ignore_missing: true + ignore_failure: true - rename: field: json.REQUEST_STATUS target_field: salesforce.apex.request_status ignore_missing: true + ignore_failure: true - convert: field: json.ROWS target_field: salesforce.apex.rows_total type: long ignore_missing: true + ignore_failure: true - convert: field: json.ROWS_FETCHED target_field: salesforce.apex.rows_fetched type: long ignore_missing: true + ignore_failure: true - convert: field: json.ROWS_PROCESSED target_field: salesforce.apex.rows_processed type: long ignore_missing: true + ignore_failure: true - convert: field: json.RUN_TIME target_field: salesforce.apex.run_time type: float ignore_missing: true + ignore_failure: true - rename: field: json.SELECT target_field: salesforce.apex.select ignore_missing: true + ignore_failure: true - rename: field: json.SUBQUERIES target_field: salesforce.apex.subqueries ignore_missing: true + ignore_failure: true - convert: field: json.THROUGHPUT target_field: salesforce.apex.throughput type: float ignore_missing: true + ignore_failure: true - rename: field: json.TRIGGER_ID target_field: salesforce.apex.trigger_id ignore_missing: true + ignore_failure: true - rename: field: json.TRIGGER_NAME target_field: salesforce.apex.trigger_name ignore_missing: true + ignore_failure: true - rename: field: json.TRIGGER_TYPE target_field: salesforce.apex.trigger_type ignore_missing: true + ignore_failure: true - rename: field: json.TYPE target_field: salesforce.apex.type ignore_missing: true + ignore_failure: true - rename: field: json.URI target_field: salesforce.apex.uri ignore_missing: true + ignore_failure: true - rename: field: json.URI_ID_DERIVED target_field: salesforce.apex.uri_derived_id ignore_missing: true + ignore_failure: true - rename: field: json.USER_AGENT target_field: salesforce.apex.user_agent ignore_missing: true + ignore_failure: true - script: description: Set request user agent value from user agent numeric code. lang: painless @@ -270,6 +315,7 @@ processors: field: json.USER_ID_DERIVED target_field: salesforce.apex.user_id_derived ignore_missing: true + ignore_failure: true ####################### ## ECS Event Mapping ## @@ -374,13 +420,16 @@ processors: field: json.USER_ID target_field: user.id ignore_missing: true + ignore_failure: true - append: field: user.roles value: "{{{json.USER_TYPE}}}" allow_duplicates: false + ignore_failure: true - remove: field: json.USER_TYPE ignore_missing: true + ignore_failure: true ######################## ## ECS Source Mapping ## @@ -392,6 +441,7 @@ processors: target_field: source.ip if: ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != null ignore_missing: true + ignore_failure: true ############################ ## ECS source.geo Mapping ## @@ -403,6 +453,7 @@ processors: target_field: source.geo if: ctx.source?.ip != "Salesforce.com IP" && ctx.source?.ip != null ignore_missing: true + ignore_failure: true ############################ ## ECS related.ip Mapping ## @@ -413,6 +464,7 @@ processors: value: "{{{source.ip}}}" if: ctx?.source?.ip != null allow_duplicates: false + ignore_failure: true ###################### ## ECS HTTP Mapping ## @@ -422,21 +474,25 @@ processors: field: json.METHOD target_field: http.request.method ignore_missing: true + ignore_failure: true - convert: field: json.REQUEST_SIZE target_field: http.request.bytes type: long ignore_missing: true + ignore_failure: true - convert: field: json.RESPONSE_SIZE target_field: http.response.bytes type: long ignore_missing: true + ignore_failure: true - convert: field: json.STATUS_CODE target_field: http.response.status_code type: long ignore_missing: true + ignore_failure: true ############# ## Cleanup ## diff --git a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml index a6613895ec5..8fccac8984c 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml @@ -14,6 +14,7 @@ processors: field: json.API_TYPE target_field: salesforce.login.api.type ignore_missing: true + ignore_failure: true - script: description: Set api type value from api type character. lang: painless @@ -41,10 +42,12 @@ processors: field: json.AUTHENTICATION_METHOD_REFERENCE target_field: salesforce.login.auth.service_id ignore_missing: true + ignore_failure: true - rename: field: json.REQUEST_STATUS target_field: salesforce.login.request_status ignore_missing: true + ignore_failure: true - script: description: Set request status value from request status character. lang: painless @@ -66,41 +69,50 @@ processors: field: json.API_VERSION target_field: salesforce.login.api.version ignore_missing: true + ignore_failure: true - rename: field: json.USER_ID target_field: salesforce.login.user_id ignore_missing: true + ignore_failure: true - rename: field: json.LOGIN_KEY target_field: salesforce.login.key ignore_missing: true + ignore_failure: true - rename: field: json.EVENT_TYPE target_field: salesforce.login.event_type ignore_missing: true + ignore_failure: true - rename: field: json.REQUEST_ID target_field: salesforce.login.request_id ignore_missing: true + ignore_failure: true - rename: field: json.ORGANIZATION_ID target_field: salesforce.login.organization_id ignore_missing: true + ignore_failure: true - convert: field: json.RUN_TIME type: long target_field: salesforce.login.run_time ignore_missing: true + ignore_failure: true - convert: field: json.CPU_TIME type: long target_field: salesforce.login.cpu_time ignore_missing: true + ignore_failure: true - convert: field: json.DB_TOTAL_TIME type: long target_field: salesforce.login.db_time.total ignore_missing: true + ignore_failure: true - script: description: Convert db_time.total field from nanos (nanoseconds) to ms (milliseconds). lang: painless @@ -116,14 +128,17 @@ processors: field: json.CLIENT_IP target_field: salesforce.login.client_ip ignore_missing: true + ignore_failure: true - rename: field: json.URI_ID_DERIVED target_field: salesforce.login.uri_derived_id ignore_missing: true + ignore_failure: true - rename: field: json.URI target_field: event.url ignore_missing: true + ignore_failure: true - set: field: event.outcome value: "success" @@ -137,22 +152,27 @@ processors: - rename: field: json.USER_NAME target_field: user.email + ignore_missing: true ignore_failure: true - rename: field: json.USER_ID_DERIVED target_field: user.id + ignore_missing: true ignore_failure: true - set: value: ["{{{json.USER_TYPE}}}"] field: user.roles ignore_empty_value: true + ignore_failure: true - remove: field: json.USER_TYPE ignore_missing: true + ignore_failure: true - rename: field: json.SOURCE_IP target_field: source.ip ignore_missing: true + ignore_failure: true if: 'ctx.json?.SOURCE_IP != "Salesforce.com IP"' - geoip: field: source.ip diff --git a/x-pack/filebeat/module/salesforce/login/ingest/object.yml b/x-pack/filebeat/module/salesforce/login/ingest/object.yml index bb3e5f4c7a3..660a41ecddf 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/object.yml @@ -122,6 +122,7 @@ processors: field: json.SourceIp target_field: source.ip type: ip + ignore_failure: true on_failure: - append: field: error.message diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml index 7a6af8caad8..d3c8c46e56b 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml @@ -14,6 +14,7 @@ processors: field: json.SESSION_TYPE target_field: salesforce.logout.session.type ignore_missing: true + ignore_failure: true - script: description: Set session type value from session type character. lang: painless @@ -27,7 +28,7 @@ processors: "P": "OauthApprovalUI", "O": "Oauth2", "T": "SiteStudio", - "R": "SitePreview", + "R": "SitePreview", "S": "SubstituteUser", "B": "TempContentExchange", "G": "TempOauthAccessTokenFrontdoor", @@ -50,10 +51,12 @@ processors: field: json.EVENT_TYPE target_field: salesforce.logout.event_type ignore_missing: true + ignore_failure: true - rename: field: json.SESSION_LEVEL target_field: salesforce.logout.session.level ignore_missing: true + ignore_failure: true - script: description: Set session level value from session level integer. lang: painless @@ -71,10 +74,12 @@ processors: field: json.BROWSER_TYPE target_field: salesforce.logout.browser_type ignore_missing: true + ignore_failure: true - rename: field: json.PLATFORM_TYPE target_field: salesforce.logout.platform_type ignore_missing: true + ignore_failure: true - script: description: Set platform type value from platform type integers. lang: painless @@ -91,7 +96,7 @@ processors: "5007": "iPad" "5200": "Android 10.0" source: | - def platform = ctx.salesforce?.logout?.platform_type; + def platform = ctx.salesforce?.logout?.platform_type; if (platform != null && params.platforms.containsKey(platform)) { ctx.salesforce.logout.platform_type = params.platforms.get(platform); } @@ -103,10 +108,12 @@ processors: field: json.RESOLUTION_TYPE target_field: salesforce.logout.resolution_type ignore_missing: true + ignore_failure: true - rename: field: json.APP_TYPE target_field: salesforce.logout.app_type ignore_missing: true + ignore_failure: true - script: description: Set application type value from application type integers. lang: painless @@ -131,10 +138,12 @@ processors: field: json.CLIENT_VERSION target_field: salesforce.logout.client_version ignore_missing: true + ignore_failure: true - rename: field: json.API_TYPE target_field: salesforce.logout.api.type ignore_missing: true + ignore_failure: true - script: description: Set api type value from api type character. lang: painless @@ -155,7 +164,7 @@ processors: source: | def type = ctx.salesforce?.logout?.api?.type; if (type != null && params.apiTypes.containsKey(type)) { - ctx.salesforce.logout.api.type = params.apiTypes.get(type); + ctx.salesforce.logout.api.type = params.apiTypes.get(type); } on_failure: - append: @@ -165,30 +174,37 @@ processors: field: json.API_VERSION target_field: salesforce.logout.api.version ignore_missing: true + ignore_failure: true - rename: field: json.USER_INITIATED_LOGOUT target_field: salesforce.logout.user_initiated_logout ignore_missing: true + ignore_failure: true - rename: field: json.LOGIN_KEY target_field: salesforce.logout.login_key ignore_missing: true + ignore_failure: true - rename: field: json.USER_ID target_field: salesforce.logout.user_id ignore_missing: true + ignore_failure: true - rename: field: json.ORGANIZATION_ID target_field: salesforce.logout.organization_id ignore_missing: true + ignore_failure: true - rename: field: json.REQUEST_ID target_field: event.code ignore_missing: true + ignore_failure: true - rename: field: json.USER_TYPE target_field: user.roles ignore_missing: true + ignore_failure: true - script: description: Set user roles value from user roles character. lang: painless @@ -222,11 +238,13 @@ processors: field: json.USER_ID_DERIVED target_field: user.id ignore_missing: true + ignore_failure: true - rename: field: json.CLIENT_IP target_field: source.ip ignore_missing: true if: ctx.json?.CLIENT_IP != 'Salesforce.com IP' && ctx.json?.CLIENT_IP != null + ignore_failure: true - geoip: field: source.ip target_field: source.geo diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml index c85fc6145cc..04e0840fce0 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml @@ -14,18 +14,22 @@ processors: field: json.RelatedEventIdentifier target_field: salesforce.logout.related_event_identifier ignore_missing: true + ignore_failure: true - rename: field: json.LoginKey target_field: salesforce.logout.login_key ignore_missing: true + ignore_failure: true - rename: field: json.SessionLevel target_field: salesforce.logout.session.level ignore_missing: true + ignore_failure: true - rename: field: json.SessionKey target_field: salesforce.logout.session.key ignore_missing: true + ignore_failure: true - date: field: json.CreatedDate target_field: event.created @@ -39,10 +43,12 @@ processors: field: json.Username target_field: user.email ignore_missing: true + ignore_failure: true - rename: field: json.UserId target_field: user.id ignore_missing: true + ignore_failure: true - convert: field: json.SourceIp type: ip diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index 3b0aaf89f8b..002b0c8e52f 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -48,30 +48,37 @@ processors: - rename: field: json.CreatedByContext target_field: salesforce.setup_audit_trail.created_by_context + ignore_failure: true ignore_missing: true - rename: field: json.CreatedById target_field: salesforce.setup_audit_trail.created_by_id + ignore_failure: true ignore_missing: true - rename: field: json.CreatedByIssuer target_field: salesforce.setup_audit_trail.created_by_issuer + ignore_failure: true ignore_missing: true - rename: field: json.DelegateUser target_field: salesforce.setup_audit_trail.delegate_user + ignore_failure: true ignore_missing: true - rename: field: json.Display target_field: salesforce.setup_audit_trail.display + ignore_failure: true ignore_missing: true - rename: field: json.ResponsibleNamespacePrefix target_field: salesforce.setup_audit_trail.responsible_namespace_prefix + ignore_failure: true ignore_missing: true - rename: field: json.Section target_field: salesforce.setup_audit_trail.section + ignore_failure: true ignore_missing: true ####################### @@ -86,18 +93,18 @@ processors: - rename: field: json.Id target_field: event.id - ignore_missing: true ignore_failure: true + ignore_missing: true - rename: field: json.Action target_field: event.action - ignore_missing: true ignore_failure: true + ignore_missing: true - rename: field: json.attributes.url target_field: event.url - ignore_missing: true ignore_failure: true + ignore_missing: true - date: field: json.CreatedDate target_field: event.created From dc412c65f826512e96d41041f7f91f01eed7c24e Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 10 Apr 2024 17:00:58 +0530 Subject: [PATCH 138/172] Improve sample config --- .../module/salesforce/_meta/config.yml | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/config.yml b/x-pack/filebeat/module/salesforce/_meta/config.yml index 23d55f73962..b5110376324 100644 --- a/x-pack/filebeat/module/salesforce/_meta/config.yml +++ b/x-pack/filebeat/module/salesforce/_meta/config.yml @@ -40,16 +40,16 @@ var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + client.id: "" + client.secret: "" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" @@ -66,16 +66,16 @@ var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.id: "" client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" @@ -95,16 +95,16 @@ var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.id: "" client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" @@ -124,16 +124,16 @@ var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.id: "" client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" From f3bfa967ec6b9c945b5371f942c6e47472056b58 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Wed, 10 Apr 2024 17:03:16 +0530 Subject: [PATCH 139/172] Upgrade to ecs 8.11.0 --- x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml | 2 +- x-pack/filebeat/module/salesforce/login/ingest/default.yml | 2 +- x-pack/filebeat/module/salesforce/logout/ingest/default.yml | 2 +- .../module/salesforce/setupaudittrail/ingest/pipeline.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index f29a55f7b26..ab1d5764cea 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -24,7 +24,7 @@ processors: ignore_missing: true - set: field: ecs.version - value: "8.5.0" + value: "8.11.0" ignore_failure: true ignore_empty_value: true - set: diff --git a/x-pack/filebeat/module/salesforce/login/ingest/default.yml b/x-pack/filebeat/module/salesforce/login/ingest/default.yml index f12465efa76..bf32bc16b1f 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/default.yml @@ -27,7 +27,7 @@ processors: ignore_missing: true - set: field: ecs.version - value: "8.5.0" + value: "8.11.0" ignore_failure: true ignore_empty_value: true - set: diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml index bb5439283cf..cdadc6d9876 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml @@ -27,7 +27,7 @@ processors: ignore_failure: true - set: field: ecs.version - value: "8.5.0" + value: "8.11.0" ignore_failure: true ignore_empty_value: true - set: diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index 002b0c8e52f..759bd345135 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -87,7 +87,7 @@ processors: - set: field: ecs.version - value: "8.5.0" + value: "8.11.0" ignore_failure: true ignore_empty_value: true - rename: From 76987a81e4552fa1dd14b5133def2efe425c175e Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 10 Apr 2024 18:16:32 +0530 Subject: [PATCH 140/172] fix logout geoip processor --- x-pack/filebeat/module/salesforce/logout/ingest/default.yml | 1 + .../filebeat/module/salesforce/logout/ingest/eventlogfile.yml | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml index cdadc6d9876..0e2dd00c283 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml @@ -76,6 +76,7 @@ processors: field: source.ip target_field: source.geo ignore_missing: true + ignore_failure: true - append: field: related.ip value: "{{{source.ip}}}" diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml index d3c8c46e56b..3b3e621c0af 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml @@ -245,9 +245,6 @@ processors: ignore_missing: true if: ctx.json?.CLIENT_IP != 'Salesforce.com IP' && ctx.json?.CLIENT_IP != null ignore_failure: true - - geoip: - field: source.ip - target_field: source.geo on_failure: - set: From a7ad6502f8ca0c674df20eae6007a3bff6440ab8 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Wed, 10 Apr 2024 18:24:39 +0530 Subject: [PATCH 141/172] add ignore_failure to possible failures processors --- .../module/salesforce/login/ingest/object.yml | 37 +++++++++++++++++++ .../setupaudittrail/ingest/pipeline.yml | 1 + 2 files changed, 38 insertions(+) diff --git a/x-pack/filebeat/module/salesforce/login/ingest/object.yml b/x-pack/filebeat/module/salesforce/login/ingest/object.yml index 660a41ecddf..e328457eef7 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/object.yml @@ -14,81 +14,100 @@ processors: field: json.AuthServiceId target_field: salesforce.login.auth.service_id ignore_missing: true + ignore_failure: true - convert: field: json.EvaluationTime type: double target_field: salesforce.login.evaluation_time ignore_missing: true + ignore_failure: true - rename: field: json.ClientVersion target_field: salesforce.login.client_version ignore_missing: true + ignore_failure: true - rename: field: json.LoginGeoId target_field: salesforce.login.geo_id ignore_missing: true + ignore_failure: true - rename: field: json.LoginHistoryId target_field: salesforce.login.history_id ignore_missing: true + ignore_failure: true - rename: field: json.ApiType target_field: salesforce.login.api.type ignore_missing: true + ignore_failure: true - rename: field: json.AuthMethodReference target_field: salesforce.login.auth.method_reference ignore_missing: true + ignore_failure: true - rename: field: json.LoginType target_field: salesforce.login.type ignore_missing: true + ignore_failure: true - rename: field: json.PolicyOutcome target_field: salesforce.login.policy_outcome ignore_missing: true + ignore_failure: true - rename: field: json.ApiVersion target_field: salesforce.login.api.version ignore_missing: true + ignore_failure: true - rename: field: json.EventIdentifier target_field: event.id ignore_missing: true + ignore_failure: true - rename: field: json.RelatedEventIdentifier target_field: salesforce.login.related_event_identifier ignore_missing: true + ignore_failure: true - rename: field: json.LoginKey target_field: salesforce.login.key ignore_missing: true + ignore_failure: true - rename: field: json.Application target_field: salesforce.login.application ignore_missing: true + ignore_failure: true - rename: field: json.PolicyId target_field: salesforce.login.policy_id ignore_missing: true + ignore_failure: true - rename: field: json.SessionLevel target_field: salesforce.login.session.level ignore_missing: true + ignore_failure: true - rename: field: json.SessionKey target_field: salesforce.login.session.key ignore_missing: true + ignore_failure: true - set: field: event.outcome value: success if: 'ctx.json?.Status == "Success"' ignore_empty_value: true + ignore_failure: true - set: field: event.outcome value: failure if: 'ctx.json?.Status != "Success" && ctx.json?.Status != null' ignore_empty_value: true + ignore_failure: true - date: field: json.CreatedDate target_field: event.created @@ -102,22 +121,27 @@ processors: field: json.LoginUrl target_field: event.url ignore_missing: true + ignore_failure: true - rename: field: json.Username target_field: user.email ignore_missing: true + ignore_failure: true - rename: field: json.UserId target_field: user.id ignore_missing: true + ignore_failure: true - set: field: user.roles value: "{{{json.UserType}}}" if: ctx.json?.UserType != null ignore_empty_value: true + ignore_failure: true - remove: field: json.UserType ignore_missing: true + ignore_failure: true - convert: field: json.SourceIp target_field: source.ip @@ -131,55 +155,68 @@ processors: field: json.LoginLatitude target_field: source.geo.location.lat ignore_missing: true + ignore_failure: true - rename: field: json.LoginLongitude target_field: source.geo.location.lon ignore_missing: true + ignore_failure: true - geoip: field: source.ip target_field: source.geo ignore_missing: true + ignore_failure: true if: '!ctx.source?.geo?.location?.containsKey("lat") && !ctx.source?.geo?.location?.containsKey("lon")' - rename: field: json.CountryIso target_field: source.geo.country_iso_code ignore_missing: true + ignore_failure: true - rename: field: json.PostalCode target_field: source.geo.postal_code ignore_missing: true + ignore_failure: true - rename: field: json.City target_field: source.geo.city_name ignore_missing: true + ignore_failure: true - rename: field: json.Subdivision target_field: source.geo.region_name ignore_missing: true + ignore_failure: true - rename: field: json.Country target_field: source.geo.country_name ignore_missing: true + ignore_failure: true - rename: field: json.Browser target_field: user_agent.name ignore_missing: true + ignore_failure: true - rename: field: json.Platform target_field: user_agent.os.platform ignore_missing: true + ignore_failure: true - rename: field: json.HttpMethod target_field: http.request.method ignore_missing: true + ignore_failure: true - rename: field: json.AdditionalInfo target_field: salesforce.login.additional_info ignore_missing: true + ignore_failure: true - rename: field: json.CipherSuite target_field: tls.cipher ignore_missing: true + ignore_failure: true - dissect: field: json.TlsProtocol pattern: "%{tls.version_protocol} %{tls.version}" diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index 759bd345135..f895349d19c 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -44,6 +44,7 @@ processors: - set: field: salesforce.setup_audit_trail.event_type copy_from: json.attributes.type + ignore_failure: true ignore_missing: true - rename: field: json.CreatedByContext From 5aeacfa7cf8805905df39695481e0816aa75b238 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 11 Apr 2024 13:53:34 +0530 Subject: [PATCH 142/172] fix pipelines and formatting --- .../salesforce/apex/ingest/pipeline.yml | 1040 ++++++++--------- .../salesforce/login/ingest/default.yml | 244 ++-- .../salesforce/login/ingest/eventlogfile.yml | 419 +++---- .../module/salesforce/login/ingest/object.yml | 460 ++++---- .../salesforce/logout/ingest/default.yml | 240 ++-- .../salesforce/logout/ingest/eventlogfile.yml | 500 ++++---- .../salesforce/logout/ingest/object.yml | 126 +- .../setupaudittrail/ingest/pipeline.yml | 341 +++--- 8 files changed, 1693 insertions(+), 1677 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index ab1d5764cea..6ca75e6735f 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -1,539 +1,539 @@ --- description: Pipeline for parsing Salesforce Apex logs processors: - - json: - field: message - target_field: json - on_failure: - - append: - field: error.message - value: "Failed to parse JSON: {{{_ingest.on_failure_message}}}" - - set: - field: event.original - copy_from: message - ignore_empty_value: true - if: "ctx.event?.original == null" - - fingerprint: - fields: - - json.REQUEST_ID - - json.SESSION_KEY - - json.TIMESTAMP_DERIVED - - json.USER_ID - target_field: _id - ignore_failure: true - ignore_missing: true - - set: - field: ecs.version - value: "8.11.0" - ignore_failure: true - ignore_empty_value: true - - set: - field: event.ingested - copy_from: _ingest.timestamp - - set: - field: salesforce.apex.document_id - copy_from: _id - ignore_empty_value: true - - date: - field: json.TIMESTAMP_DERIVED - target_field: "@timestamp" - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse TIMESTAMP_DERIVED field: {{{_ingest.on_failure_message}}}" - - rename: - field: json.ACTION - target_field: salesforce.apex.action - ignore_missing: true - ignore_failure: true - - convert: - field: json.CALLOUT_TIME - target_field: salesforce.apex.callout_time - type: float - ignore_missing: true - ignore_failure: true - - rename: - field: json.CLASS_NAME - target_field: salesforce.apex.class_name - ignore_missing: true - ignore_failure: true - - rename: - field: json.CLIENT_NAME - target_field: salesforce.apex.client_name - ignore_missing: true - ignore_failure: true - - convert: - field: json.CPU_TIME - target_field: salesforce.apex.cpu_time - type: float - ignore_missing: true - ignore_failure: true - - convert: - field: json.DB_BLOCKS - target_field: salesforce.apex.db_blocks - type: long - ignore_missing: true - ignore_failure: true - - convert: - field: json.DB_CPU_TIME - target_field: salesforce.apex.db_cpu_time - type: float - ignore_missing: true - ignore_failure: true - - convert: - field: json.DB_TOTAL_TIME - target_field: salesforce.apex.db_total_time - type: float - ignore_missing: true - ignore_failure: true - - rename: - field: json.ENTITY - target_field: salesforce.apex.entity - ignore_missing: true - ignore_failure: true - - rename: - field: json.ENTITY_NAME - target_field: salesforce.apex.entity_name - ignore_missing: true - ignore_failure: true - - rename: - field: json.ENTRY_POINT - target_field: salesforce.apex.entry_point - ignore_missing: true - ignore_failure: true - - rename: - field: json.EVENT_TYPE - target_field: salesforce.apex.event_type - ignore_missing: true - ignore_failure: true - - convert: - field: json.EXECUTE_MS - target_field: salesforce.apex.execute_ms - type: float - ignore_missing: true - ignore_failure: true - - convert: - field: json.FETCH_MS - target_field: salesforce.apex.fetch_ms - type: float - ignore_missing: true - ignore_failure: true - - rename: - field: json.FILTER - target_field: salesforce.apex.filter - ignore_missing: true - ignore_failure: true - - rename: - field: json.IS_LONG_RUNNING_REQUEST - target_field: salesforce.apex.is_long_running_request - ignore_missing: true - ignore_failure: true - - rename: - field: json.LOGIN_KEY - target_field: salesforce.apex.login_key - ignore_missing: true - ignore_failure: true - - convert: - field: json.LIMIT - target_field: salesforce.apex.limit - type: long - ignore_missing: true - ignore_failure: true - - convert: - field: json.LIMIT_USAGE_PERCENT - target_field: salesforce.apex.limit_usage_pct - type: float - ignore_missing: true - ignore_failure: true - - rename: - field: json.MEDIA_TYPE - target_field: salesforce.apex.media_type - ignore_missing: true - ignore_failure: true - - rename: - field: json.MESSAGE - target_field: salesforce.apex.message - ignore_missing: true - ignore_failure: true - - rename: - field: json.METHOD_NAME - target_field: salesforce.apex.method_name - ignore_missing: true - ignore_failure: true - - convert: - field: json.NUMBER_FIELDS - target_field: salesforce.apex.fields_count - type: long - ignore_missing: true - ignore_failure: true - - convert: - field: json.NUMBER_SOQL_QUERIES - target_field: salesforce.apex.soql_queries_count - type: long - ignore_missing: true - ignore_failure: true - - convert: - field: json.OFFSET - target_field: salesforce.apex.offset - type: long - ignore_missing: true - ignore_failure: true - - rename: - field: json.ORDERBY - target_field: salesforce.apex.orderby - ignore_missing: true - ignore_failure: true - - rename: - field: json.ORGANIZATION_ID - target_field: salesforce.apex.organization_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.QUERY - target_field: salesforce.apex.query - ignore_missing: true - ignore_failure: true - - rename: - field: json.QUIDDITY - target_field: salesforce.apex.quiddity - ignore_missing: true - ignore_failure: true - - rename: - field: json.REQUEST_ID - target_field: salesforce.apex.request_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.REQUEST_STATUS - target_field: salesforce.apex.request_status - ignore_missing: true - ignore_failure: true - - convert: - field: json.ROWS - target_field: salesforce.apex.rows_total - type: long - ignore_missing: true - ignore_failure: true - - convert: - field: json.ROWS_FETCHED - target_field: salesforce.apex.rows_fetched - type: long - ignore_missing: true - ignore_failure: true - - convert: - field: json.ROWS_PROCESSED - target_field: salesforce.apex.rows_processed - type: long - ignore_missing: true - ignore_failure: true - - convert: - field: json.RUN_TIME - target_field: salesforce.apex.run_time - type: float - ignore_missing: true - ignore_failure: true - - rename: - field: json.SELECT - target_field: salesforce.apex.select - ignore_missing: true - ignore_failure: true - - rename: - field: json.SUBQUERIES - target_field: salesforce.apex.subqueries - ignore_missing: true - ignore_failure: true - - convert: - field: json.THROUGHPUT - target_field: salesforce.apex.throughput - type: float - ignore_missing: true - ignore_failure: true - - rename: - field: json.TRIGGER_ID - target_field: salesforce.apex.trigger_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.TRIGGER_NAME - target_field: salesforce.apex.trigger_name - ignore_missing: true - ignore_failure: true - - rename: - field: json.TRIGGER_TYPE - target_field: salesforce.apex.trigger_type - ignore_missing: true - ignore_failure: true - - rename: - field: json.TYPE - target_field: salesforce.apex.type - ignore_missing: true - ignore_failure: true - - rename: - field: json.URI - target_field: salesforce.apex.uri - ignore_missing: true - ignore_failure: true - - rename: - field: json.URI_ID_DERIVED - target_field: salesforce.apex.uri_derived_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.USER_AGENT - target_field: salesforce.apex.user_agent - ignore_missing: true - ignore_failure: true - - script: - description: Set request user agent value from user agent numeric code. - lang: painless - params: - user_agent_map: - "100": "Internet Explorer" - "110": "Firefox" - "130": "Chrome" - "140": "Safari" - "150": "Opera" - "160": "Android" - "170": "Netscape" - "180": "Webkit" - "190": "Gecko" - "230": "Blackberry" - "240": "Good Access" - "999": "Unknown" - if: "ctx.salesforce?.apex?.user_agent != null" - source: | - if (params.user_agent_map.containsKey(ctx.salesforce.apex.user_agent.toString().substring(0,3))) { - ctx.salesforce.apex.user_agent = params.user_agent_map[ctx.salesforce.apex.user_agent.toString().substring(0,3)]; - } - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.apex.user_agent: {{{_ingest.on_failure_message}}}" - - rename: - field: json.USER_ID_DERIVED - target_field: salesforce.apex.user_id_derived - ignore_missing: true - ignore_failure: true + - json: + field: message + target_field: json + on_failure: + - append: + field: error.message + value: "Failed to parse JSON: {{{_ingest.on_failure_message}}}" + - set: + field: event.original + copy_from: message + ignore_empty_value: true + if: "ctx.event?.original == null" + - fingerprint: + fields: + - json.REQUEST_ID + - json.SESSION_KEY + - json.TIMESTAMP_DERIVED + - json.USER_ID + target_field: _id + ignore_failure: true + ignore_missing: true + - set: + field: ecs.version + value: "8.11.0" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.ingested + copy_from: _ingest.timestamp + - set: + field: salesforce.apex.document_id + copy_from: _id + ignore_empty_value: true + - date: + field: json.TIMESTAMP_DERIVED + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse TIMESTAMP_DERIVED field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.ACTION + target_field: salesforce.apex.action + ignore_missing: true + ignore_failure: true + - convert: + field: json.CALLOUT_TIME + target_field: salesforce.apex.callout_time + type: float + ignore_missing: true + ignore_failure: true + - rename: + field: json.CLASS_NAME + target_field: salesforce.apex.class_name + ignore_missing: true + ignore_failure: true + - rename: + field: json.CLIENT_NAME + target_field: salesforce.apex.client_name + ignore_missing: true + ignore_failure: true + - convert: + field: json.CPU_TIME + target_field: salesforce.apex.cpu_time + type: float + ignore_missing: true + ignore_failure: true + - convert: + field: json.DB_BLOCKS + target_field: salesforce.apex.db_blocks + type: long + ignore_missing: true + ignore_failure: true + - convert: + field: json.DB_CPU_TIME + target_field: salesforce.apex.db_cpu_time + type: float + ignore_missing: true + ignore_failure: true + - convert: + field: json.DB_TOTAL_TIME + target_field: salesforce.apex.db_total_time + type: float + ignore_missing: true + ignore_failure: true + - rename: + field: json.ENTITY + target_field: salesforce.apex.entity + ignore_missing: true + ignore_failure: true + - rename: + field: json.ENTITY_NAME + target_field: salesforce.apex.entity_name + ignore_missing: true + ignore_failure: true + - rename: + field: json.ENTRY_POINT + target_field: salesforce.apex.entry_point + ignore_missing: true + ignore_failure: true + - rename: + field: json.EVENT_TYPE + target_field: salesforce.apex.event_type + ignore_missing: true + ignore_failure: true + - convert: + field: json.EXECUTE_MS + target_field: salesforce.apex.execute_ms + type: float + ignore_missing: true + ignore_failure: true + - convert: + field: json.FETCH_MS + target_field: salesforce.apex.fetch_ms + type: float + ignore_missing: true + ignore_failure: true + - rename: + field: json.FILTER + target_field: salesforce.apex.filter + ignore_missing: true + ignore_failure: true + - rename: + field: json.IS_LONG_RUNNING_REQUEST + target_field: salesforce.apex.is_long_running_request + ignore_missing: true + ignore_failure: true + - rename: + field: json.LOGIN_KEY + target_field: salesforce.apex.login_key + ignore_missing: true + ignore_failure: true + - convert: + field: json.LIMIT + target_field: salesforce.apex.limit + type: long + ignore_missing: true + ignore_failure: true + - convert: + field: json.LIMIT_USAGE_PERCENT + target_field: salesforce.apex.limit_usage_pct + type: float + ignore_missing: true + ignore_failure: true + - rename: + field: json.MEDIA_TYPE + target_field: salesforce.apex.media_type + ignore_missing: true + ignore_failure: true + - rename: + field: json.MESSAGE + target_field: salesforce.apex.message + ignore_missing: true + ignore_failure: true + - rename: + field: json.METHOD_NAME + target_field: salesforce.apex.method_name + ignore_missing: true + ignore_failure: true + - convert: + field: json.NUMBER_FIELDS + target_field: salesforce.apex.fields_count + type: long + ignore_missing: true + ignore_failure: true + - convert: + field: json.NUMBER_SOQL_QUERIES + target_field: salesforce.apex.soql_queries_count + type: long + ignore_missing: true + ignore_failure: true + - convert: + field: json.OFFSET + target_field: salesforce.apex.offset + type: long + ignore_missing: true + ignore_failure: true + - rename: + field: json.ORDERBY + target_field: salesforce.apex.orderby + ignore_missing: true + ignore_failure: true + - rename: + field: json.ORGANIZATION_ID + target_field: salesforce.apex.organization_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.QUERY + target_field: salesforce.apex.query + ignore_missing: true + ignore_failure: true + - rename: + field: json.QUIDDITY + target_field: salesforce.apex.quiddity + ignore_missing: true + ignore_failure: true + - rename: + field: json.REQUEST_ID + target_field: salesforce.apex.request_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.REQUEST_STATUS + target_field: salesforce.apex.request_status + ignore_missing: true + ignore_failure: true + - convert: + field: json.ROWS + target_field: salesforce.apex.rows_total + type: long + ignore_missing: true + ignore_failure: true + - convert: + field: json.ROWS_FETCHED + target_field: salesforce.apex.rows_fetched + type: long + ignore_missing: true + ignore_failure: true + - convert: + field: json.ROWS_PROCESSED + target_field: salesforce.apex.rows_processed + type: long + ignore_missing: true + ignore_failure: true + - convert: + field: json.RUN_TIME + target_field: salesforce.apex.run_time + type: float + ignore_missing: true + ignore_failure: true + - rename: + field: json.SELECT + target_field: salesforce.apex.select + ignore_missing: true + ignore_failure: true + - rename: + field: json.SUBQUERIES + target_field: salesforce.apex.subqueries + ignore_missing: true + ignore_failure: true + - convert: + field: json.THROUGHPUT + target_field: salesforce.apex.throughput + type: float + ignore_missing: true + ignore_failure: true + - rename: + field: json.TRIGGER_ID + target_field: salesforce.apex.trigger_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.TRIGGER_NAME + target_field: salesforce.apex.trigger_name + ignore_missing: true + ignore_failure: true + - rename: + field: json.TRIGGER_TYPE + target_field: salesforce.apex.trigger_type + ignore_missing: true + ignore_failure: true + - rename: + field: json.TYPE + target_field: salesforce.apex.type + ignore_missing: true + ignore_failure: true + - rename: + field: json.URI + target_field: salesforce.apex.uri + ignore_missing: true + ignore_failure: true + - rename: + field: json.URI_ID_DERIVED + target_field: salesforce.apex.uri_derived_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.USER_AGENT + target_field: salesforce.apex.user_agent + ignore_missing: true + ignore_failure: true + - script: + description: Set request user agent value from user agent numeric code. + lang: painless + params: + user_agent_map: + "100": "Internet Explorer" + "110": "Firefox" + "130": "Chrome" + "140": "Safari" + "150": "Opera" + "160": "Android" + "170": "Netscape" + "180": "Webkit" + "190": "Gecko" + "230": "Blackberry" + "240": "Good Access" + "999": "Unknown" + if: "ctx.salesforce?.apex?.user_agent != null" + source: | + if (params.user_agent_map.containsKey(ctx.salesforce.apex.user_agent.toString().substring(0,3))) { + ctx.salesforce.apex.user_agent = params.user_agent_map[ctx.salesforce.apex.user_agent.toString().substring(0,3)]; + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.apex.user_agent: {{{_ingest.on_failure_message}}}" + - rename: + field: json.USER_ID_DERIVED + target_field: salesforce.apex.user_id_derived + ignore_missing: true + ignore_failure: true - ####################### - ## ECS Event Mapping ## - ####################### + ####################### + ## ECS Event Mapping ## + ####################### - - set: - field: event.kind - value: event - if: ctx.event?.kind == null - - set: - field: event.type - value: connection - if: ctx.salesforce?.apex?.event_type != "ApexExecution" - ignore_failure: true - - append: - field: event.category - value: network - if: ctx.salesforce?.apex?.event_type != "ApexTrigger" && ctx.salesforce?.apex?.event_type != "ApexExecution" - allow_duplicates: false - ignore_failure: true - - script: - description: Set event.action field based on the type of Apex event received. - if: ctx.salesforce?.apex?.event_type != null - lang: painless - params: - event_action_map: - apexcallout: apex-callout - apextrigger: apex-trigger - apexexecution: apex-execution - apexrestapi: apex-rest - apexsoap: apex-soap - externalcustomapexcallout: apex-external-custom-callout - source: | - def eventType = ctx?.salesforce?.apex?.event_type?.toLowerCase(); - if (params.event_action_map.containsKey(eventType)) { - ctx.event.action = params.event_action_map[eventType]; - } - on_failure: - - append: - field: error.message - value: "Failed to set event.action from salesforce.apex.event_type: {{{_ingest.on_failure_message}}}" - - convert: - field: json.TIME - target_field: event.duration - type: float - if: ctx.salesforce?.apex?.event_type == "ApexCallout" && ctx.json?.TIME != null - ignore_failure: true - - convert: - field: json.EXEC_TIME - target_field: event.duration - type: float - if: (ctx.salesforce?.apex?.event_type == "ApexTrigger" || ctx.salesforce?.apex?.event_type == "ApexExecution") && ctx.json?.EXEC_TIME != null - ignore_failure: true - - convert: - field: salesforce.apex.run_time - target_field: event.duration - type: float - if: (ctx.salesforce?.apex?.event_type == "ApexRestApi" || ctx.salesforce?.apex?.event_type == "ApexSoap") && ctx.salesforce?.apex?.run_time != null - ignore_failure: true - - convert: - field: json.TOTAL_MS - target_field: event.duration - type: float - if: ctx.salesforce?.apex?.event_type == "ExternalCustomApexCallout" && ctx.json?.TOTAL_MS != null - ignore_failure: true - - set: - field: event.outcome - value: success - if: (ctx.json?.SUCCESS == "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS == "1" && ctx.json?.STATUS != null) - ignore_failure: true - - set: - field: event.outcome - value: failure - if: (ctx.json?.SUCCESS != "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS != "1" && ctx.json?.STATUS != null) - ignore_failure: true - - rename: - field: json.URL - target_field: event.url - if: ctx.salesforce?.apex?.event_type == "ApexCallout" - ignore_missing: true - ignore_failure: true - - rename: - field: salesforce.apex.uri - target_field: event.url - if: ctx.salesforce?.apex?.event_type != "ApexCallout" && ctx.salesforce?.apex?.event_type != "ExternalCustomApexCallout" - ignore_missing: true - ignore_failure: true - - set: - field: event.dataset - value: salesforce.apex - if: ctx.event?.dataset == null - - set: - field: event.module - value: salesforce - if: ctx.event?.module == null + - set: + field: event.kind + value: event + if: ctx.event?.kind == null + - set: + field: event.type + value: connection + if: ctx.salesforce?.apex?.event_type != "ApexExecution" + ignore_failure: true + - append: + field: event.category + value: network + if: ctx.salesforce?.apex?.event_type != "ApexTrigger" && ctx.salesforce?.apex?.event_type != "ApexExecution" + allow_duplicates: false + ignore_failure: true + - script: + description: Set event.action field based on the type of Apex event received. + if: ctx.salesforce?.apex?.event_type != null + lang: painless + params: + event_action_map: + apexcallout: apex-callout + apextrigger: apex-trigger + apexexecution: apex-execution + apexrestapi: apex-rest + apexsoap: apex-soap + externalcustomapexcallout: apex-external-custom-callout + source: | + def eventType = ctx?.salesforce?.apex?.event_type?.toLowerCase(); + if (params.event_action_map.containsKey(eventType)) { + ctx.event.action = params.event_action_map[eventType]; + } + on_failure: + - append: + field: error.message + value: "Failed to set event.action from salesforce.apex.event_type: {{{_ingest.on_failure_message}}}" + - convert: + field: json.TIME + target_field: event.duration + type: float + if: ctx.salesforce?.apex?.event_type == "ApexCallout" && ctx.json?.TIME != null + ignore_failure: true + - convert: + field: json.EXEC_TIME + target_field: event.duration + type: float + if: (ctx.salesforce?.apex?.event_type == "ApexTrigger" || ctx.salesforce?.apex?.event_type == "ApexExecution") && ctx.json?.EXEC_TIME != null + ignore_failure: true + - convert: + field: salesforce.apex.run_time + target_field: event.duration + type: float + if: (ctx.salesforce?.apex?.event_type == "ApexRestApi" || ctx.salesforce?.apex?.event_type == "ApexSoap") && ctx.salesforce?.apex?.run_time != null + ignore_failure: true + - convert: + field: json.TOTAL_MS + target_field: event.duration + type: float + if: ctx.salesforce?.apex?.event_type == "ExternalCustomApexCallout" && ctx.json?.TOTAL_MS != null + ignore_failure: true + - set: + field: event.outcome + value: success + if: (ctx.json?.SUCCESS == "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS == "1" && ctx.json?.STATUS != null) + ignore_failure: true + - set: + field: event.outcome + value: failure + if: (ctx.json?.SUCCESS != "1" && ctx.json?.SUCCESS != null) || (ctx.json?.STATUS != "1" && ctx.json?.STATUS != null) + ignore_failure: true + - rename: + field: json.URL + target_field: event.url + if: ctx.salesforce?.apex?.event_type == "ApexCallout" + ignore_missing: true + ignore_failure: true + - rename: + field: salesforce.apex.uri + target_field: event.url + if: ctx.salesforce?.apex?.event_type != "ApexCallout" && ctx.salesforce?.apex?.event_type != "ExternalCustomApexCallout" + ignore_missing: true + ignore_failure: true + - set: + field: event.dataset + value: salesforce.apex + if: ctx.event?.dataset == null + - set: + field: event.module + value: salesforce + if: ctx.event?.module == null - ###################### - ## ECS User Mapping ## - ###################### + ###################### + ## ECS User Mapping ## + ###################### - - rename: - field: json.USER_ID - target_field: user.id - ignore_missing: true - ignore_failure: true - - append: - field: user.roles - value: "{{{json.USER_TYPE}}}" - allow_duplicates: false - ignore_failure: true - - remove: - field: json.USER_TYPE - ignore_missing: true - ignore_failure: true + - rename: + field: json.USER_ID + target_field: user.id + ignore_missing: true + ignore_failure: true + - append: + field: user.roles + value: "{{{json.USER_TYPE}}}" + allow_duplicates: false + ignore_failure: true + - remove: + field: json.USER_TYPE + ignore_missing: true + ignore_failure: true - ######################## - ## ECS Source Mapping ## - ######################## + ######################## + ## ECS Source Mapping ## + ######################## - # A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" - - rename: - field: json.CLIENT_IP - target_field: source.ip - if: ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != null - ignore_missing: true - ignore_failure: true + # A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" + - rename: + field: json.CLIENT_IP + target_field: source.ip + if: ctx.json?.CLIENT_IP != "Salesforce.com IP" && ctx.json?.CLIENT_IP != null + ignore_missing: true + ignore_failure: true - ############################ - ## ECS source.geo Mapping ## - ############################ + ############################ + ## ECS source.geo Mapping ## + ############################ - # A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" - - geoip: - field: source.ip - target_field: source.geo - if: ctx.source?.ip != "Salesforce.com IP" && ctx.source?.ip != null - ignore_missing: true - ignore_failure: true + # A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as "Salesforce.com IP" + - geoip: + field: source.ip + target_field: source.geo + if: ctx.source?.ip != "Salesforce.com IP" && ctx.source?.ip != null + ignore_missing: true + ignore_failure: true - ############################ - ## ECS related.ip Mapping ## - ############################ + ############################ + ## ECS related.ip Mapping ## + ############################ - - append: - field: related.ip - value: "{{{source.ip}}}" - if: ctx?.source?.ip != null - allow_duplicates: false - ignore_failure: true + - append: + field: related.ip + value: "{{{source.ip}}}" + if: ctx?.source?.ip != null + allow_duplicates: false + ignore_failure: true - ###################### - ## ECS HTTP Mapping ## - ###################### + ###################### + ## ECS HTTP Mapping ## + ###################### - - rename: - field: json.METHOD - target_field: http.request.method - ignore_missing: true - ignore_failure: true - - convert: - field: json.REQUEST_SIZE - target_field: http.request.bytes - type: long - ignore_missing: true - ignore_failure: true - - convert: - field: json.RESPONSE_SIZE - target_field: http.response.bytes - type: long - ignore_missing: true - ignore_failure: true - - convert: - field: json.STATUS_CODE - target_field: http.response.status_code - type: long - ignore_missing: true - ignore_failure: true + - rename: + field: json.METHOD + target_field: http.request.method + ignore_missing: true + ignore_failure: true + - convert: + field: json.REQUEST_SIZE + target_field: http.request.bytes + type: long + ignore_missing: true + ignore_failure: true + - convert: + field: json.RESPONSE_SIZE + target_field: http.response.bytes + type: long + ignore_missing: true + ignore_failure: true + - convert: + field: json.STATUS_CODE + target_field: http.response.status_code + type: long + ignore_missing: true + ignore_failure: true - ############# - ## Cleanup ## - ############# + ############# + ## Cleanup ## + ############# - - script: - description: Drops null/empty values recursively - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return ((Map) object).isEmpty(); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return ((List) object).isEmpty(); - } - return false; - } - dropEmptyFields(ctx); - - remove: - field: - - json - - message - ignore_failure: true - ignore_missing: true - - remove: - field: event.original - if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" - ignore_failure: true - ignore_missing: true + - script: + description: Drops null/empty values recursively + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return ((Map) object).isEmpty(); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return ((List) object).isEmpty(); + } + return false; + } + dropEmptyFields(ctx); + - remove: + field: + - json + - message + ignore_failure: true + ignore_missing: true + - remove: + field: event.original + if: "ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))" + ignore_failure: true + ignore_missing: true on_failure: - - set: - field: event.kind - value: pipeline_error - - set: - field: error.message - value: "{{{_ingest.on_failure_message}}}" - - set: - field: error.type - value: "{{{_ingest.on_failure_processor_type}}}" + - set: + field: event.kind + value: pipeline_error + - set: + field: error.message + value: "{{{_ingest.on_failure_message}}}" + - set: + field: error.type + value: "{{{_ingest.on_failure_processor_type}}}" diff --git a/x-pack/filebeat/module/salesforce/login/ingest/default.yml b/x-pack/filebeat/module/salesforce/login/ingest/default.yml index bf32bc16b1f..d60b7521900 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/default.yml @@ -1,131 +1,131 @@ --- description: Pipeline for parsing Salesforce Login logs. processors: - - json: - field: message - target_field: json - on_failure: - - append: - field: error.message - value: "Failed to parse JSON: {{{_ingest.on_failure_message}}}" - - set: - field: event.original - copy_from: message - ignore_empty_value: true - if: "ctx.event?.original == null" - - set: - field: event.ingested - value: "{{_ingest.timestamp}}" - - fingerprint: - fields: - - json.REQUEST_ID - - json.SESSION_KEY - - json.TIMESTAMP_DERIVED - - json.USER_ID - target_field: _id - ignore_failure: true - ignore_missing: true - - set: - field: ecs.version - value: "8.11.0" - ignore_failure: true - ignore_empty_value: true - - set: - field: salesforce.login.document_id - copy_from: _id - ignore_empty_value: true + - json: + field: message + target_field: json + on_failure: + - append: + field: error.message + value: "Failed to parse JSON: {{{_ingest.on_failure_message}}}" + - set: + field: event.original + copy_from: message + ignore_empty_value: true + if: "ctx.event?.original == null" + - set: + field: event.ingested + value: "{{_ingest.timestamp}}" + - fingerprint: + fields: + - json.REQUEST_ID + - json.SESSION_KEY + - json.TIMESTAMP_DERIVED + - json.USER_ID + target_field: _id + ignore_failure: true + ignore_missing: true + - set: + field: ecs.version + value: "8.11.0" + ignore_failure: true + ignore_empty_value: true + - set: + field: salesforce.login.document_id + copy_from: _id + ignore_empty_value: true - - pipeline: - name: '{< IngestPipeline "object" >}' - if: ctx.event?.provider == "Object" - - pipeline: - name: '{< IngestPipeline "eventlogfile" >}' - if: ctx.event?.provider == "EventLogFile" + - pipeline: + name: '{< IngestPipeline "object" >}' + if: ctx.event?.provider == "Object" + - pipeline: + name: '{< IngestPipeline "eventlogfile" >}' + if: ctx.event?.provider == "EventLogFile" - - set: - field: event.type - value: ["info"] - ignore_failure: true - ignore_empty_value: true - - set: - field: event.kind - value: "event" - ignore_failure: true - ignore_empty_value: true - - set: - field: event.action - value: "login-attempt" - ignore_failure: true - ignore_empty_value: true - - set: - field: event.category - value: ["authentication"] - ignore_failure: true - ignore_empty_value: true - - set: - field: event.dataset - value: "salesforce.login" - ignore_failure: true - ignore_empty_value: true - - set: - field: event.module - value: "salesforce" - ignore_failure: true - ignore_empty_value: true - - append: - field: related.ip - value: "{{{source.ip}}}" - allow_duplicates: false - ignore_failure: true - if: ctx.source?.ip != null - - append: - field: related.ip - value: "{{{salesforce.login.client_ip}}}" - allow_duplicates: false - ignore_failure: true - if: ctx.salesforce?.login?.client_ip != null && ctx.salesforce.login.client_ip != "Salesforce.com IP" + - set: + field: event.type + value: ["info"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.kind + value: "event" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.action + value: "login-attempt" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.category + value: ["authentication"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.dataset + value: "salesforce.login" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.module + value: "salesforce" + ignore_failure: true + ignore_empty_value: true + - append: + field: related.ip + value: "{{{source.ip}}}" + allow_duplicates: false + ignore_failure: true + if: ctx.source?.ip != null + - append: + field: related.ip + value: "{{{salesforce.login.client_ip}}}" + allow_duplicates: false + ignore_failure: true + if: ctx.salesforce?.login?.client_ip != null && ctx.salesforce.login.client_ip != "Salesforce.com IP" - ############# - ## Cleanup ## - ############# + ############# + ## Cleanup ## + ############# - # Drop empty fields - - script: - description: Drops null/empty values recursively - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return ((Map) object).isEmpty(); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return ((List) object).isEmpty(); - } - return false; - } - dropEmptyFields(ctx); - - remove: - field: - - json - - message - ignore_failure: true - ignore_missing: true - - remove: - field: event.original - if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" - ignore_failure: true - ignore_missing: true + # Drop empty fields + - script: + description: Drops null/empty values recursively + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return ((Map) object).isEmpty(); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return ((List) object).isEmpty(); + } + return false; + } + dropEmptyFields(ctx); + - remove: + field: + - json + - message + ignore_failure: true + ignore_missing: true + - remove: + field: event.original + if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" + ignore_failure: true + ignore_missing: true on_failure: - - set: - field: event.kind - value: pipeline_error - - set: - field: error.message - value: "{{{_ingest.on_failure_message}}}" - - set: - field: error.type - value: "{{{_ingest.on_failure_processor_type}}}" + - set: + field: event.kind + value: pipeline_error + - set: + field: error.message + value: "{{{_ingest.on_failure_message}}}" + - set: + field: error.type + value: "{{{_ingest.on_failure_processor_type}}}" diff --git a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml index 8fccac8984c..d01c4f86071 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml @@ -1,204 +1,221 @@ ---- description: Pipeline for parsing Salesforce Login (EventLogFile) logs. processors: - - date: - field: json.TIMESTAMP_DERIVED - target_field: "@timestamp" - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse TIMESTAMP_DERIVED field: {{{_ingest.on_failure_message}}}" - - rename: - field: json.API_TYPE - target_field: salesforce.login.api.type - ignore_missing: true - ignore_failure: true - - script: - description: Set api type value from api type character. - lang: painless - params: - api_type_map: - D: "Apex Class" - E: "SOAP Enterprise" - I: "SOAP Cross Instance" - M: "SOAP Metadata" - O: "Old SOAP" - P: "SOAP Partner" - S: "SOAP Apex" - T: "SOAP Tooling" - X: "XmlRPC" - f: "Feed" - l: "Live Agent" - p: "SOAP ClientSync" - source: | - ctx.salesforce.login.api.type = params.api_type_map.getOrDefault(ctx.salesforce?.login?.api?.type, ctx.salesforce.login.api.type); - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.login.api.type: {{{_ingest.on_failure_message}}}" - - rename: - field: json.AUTHENTICATION_METHOD_REFERENCE - target_field: salesforce.login.auth.service_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.REQUEST_STATUS - target_field: salesforce.login.request_status - ignore_missing: true - ignore_failure: true - - script: - description: Set request status value from request status character. - lang: painless - params: - request_status_map: - S: "Success" - F: "Failure" - U: "Undefined" - A: "Authorization Error" - R: "Redirect" - N: "Not Found" - source: | - ctx.salesforce.login.request_status = params.request_status_map.getOrDefault(ctx.salesforce?.login?.request_status, ctx.salesforce.login.request_status); - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.login.request_status: {{{_ingest.on_failure_message}}}" - - rename: - field: json.API_VERSION - target_field: salesforce.login.api.version - ignore_missing: true - ignore_failure: true - - rename: - field: json.USER_ID - target_field: salesforce.login.user_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.LOGIN_KEY - target_field: salesforce.login.key - ignore_missing: true - ignore_failure: true - - rename: - field: json.EVENT_TYPE - target_field: salesforce.login.event_type - ignore_missing: true - ignore_failure: true - - rename: - field: json.REQUEST_ID - target_field: salesforce.login.request_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.ORGANIZATION_ID - target_field: salesforce.login.organization_id - ignore_missing: true - ignore_failure: true - - convert: - field: json.RUN_TIME - type: long - target_field: salesforce.login.run_time - ignore_missing: true - ignore_failure: true - - convert: - field: json.CPU_TIME - type: long - target_field: salesforce.login.cpu_time - ignore_missing: true - ignore_failure: true - - convert: - field: json.DB_TOTAL_TIME - type: long - target_field: salesforce.login.db_time.total - ignore_missing: true - ignore_failure: true - - script: - description: Convert db_time.total field from nanos (nanoseconds) to ms (milliseconds). - lang: painless - source: | - if (ctx.salesforce?.login?.db_time?.total != null) { - ctx.salesforce.login.db_time.total = ctx.salesforce.login.db_time.total / 1000000; - } - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.login.db_time.total: {{{_ingest.on_failure_message}}}" - - rename: - field: json.CLIENT_IP - target_field: salesforce.login.client_ip - ignore_missing: true - ignore_failure: true - - rename: - field: json.URI_ID_DERIVED - target_field: salesforce.login.uri_derived_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.URI - target_field: event.url - ignore_missing: true - ignore_failure: true - - set: - field: event.outcome - value: "success" - if: 'ctx.json?.LOGIN_STATUS == "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != null' - ignore_empty_value: true - - set: - field: event.outcome - value: "failure" - if: 'ctx.json?.LOGIN_STATUS != "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != null' - ignore_empty_value: true - - rename: - field: json.USER_NAME - target_field: user.email - ignore_missing: true - ignore_failure: true - - rename: - field: json.USER_ID_DERIVED - target_field: user.id - ignore_missing: true - ignore_failure: true - - set: - value: ["{{{json.USER_TYPE}}}"] - field: user.roles - ignore_empty_value: true - ignore_failure: true - - remove: - field: json.USER_TYPE - ignore_missing: true - ignore_failure: true - - rename: - field: json.SOURCE_IP - target_field: source.ip - ignore_missing: true - ignore_failure: true - if: 'ctx.json?.SOURCE_IP != "Salesforce.com IP"' - - geoip: - field: source.ip - target_field: source.geo - ignore_missing: true - ignore_failure: true - - rename: - field: json.BROWSER_TYPE - target_field: user_agent.name - ignore_missing: true - ignore_failure: true - - rename: - field: json.CIPHER_SUITE - target_field: tls.cipher - ignore_missing: true - ignore_failure: true - - dissect: - pattern: "%{tls.version_protocol}v%{tls.version}" - field: json.TLS_PROTOCOL - ignore_failure: true - ignore_missing: true - + - date: + field: json.TIMESTAMP_DERIVED + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: >- + Failed to parse TIMESTAMP_DERIVED field: + {{{_ingest.on_failure_message}}} + - rename: + field: json.API_TYPE + target_field: salesforce.login.api.type + ignore_missing: true + ignore_failure: true + - script: + description: Set api type value from api type character. + lang: painless + params: + api_type_map: + D: Apex Class + E: SOAP Enterprise + I: SOAP Cross Instance + M: SOAP Metadata + O: Old SOAP + P: SOAP Partner + S: SOAP Apex + T: SOAP Tooling + X: XmlRPC + f: Feed + l: Live Agent + p: SOAP ClientSync + source: > + ctx.salesforce.login.api.type = + params.api_type_map.getOrDefault(ctx.salesforce?.login?.api?.type, + ctx.salesforce.login.api.type); + on_failure: + - append: + field: error.message + value: >- + Failed to set salesforce.login.api.type: + {{{_ingest.on_failure_message}}} + - rename: + field: json.AUTHENTICATION_METHOD_REFERENCE + target_field: salesforce.login.auth.service_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.REQUEST_STATUS + target_field: salesforce.login.request_status + ignore_missing: true + ignore_failure: true + - script: + description: Set request status value from request status character. + lang: painless + params: + request_status_map: + S: Success + F: Failure + U: Undefined + A: Authorization Error + R: Redirect + "N": Not Found + source: > + ctx.salesforce.login.request_status = + params.request_status_map.getOrDefault(ctx.salesforce?.login?.request_status, + ctx.salesforce.login.request_status); + on_failure: + - append: + field: error.message + value: >- + Failed to set salesforce.login.request_status: + {{{_ingest.on_failure_message}}} + - rename: + field: json.API_VERSION + target_field: salesforce.login.api.version + ignore_missing: true + ignore_failure: true + - rename: + field: json.USER_ID + target_field: salesforce.login.user_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.LOGIN_KEY + target_field: salesforce.login.key + ignore_missing: true + ignore_failure: true + - rename: + field: json.EVENT_TYPE + target_field: salesforce.login.event_type + ignore_missing: true + ignore_failure: true + - rename: + field: json.REQUEST_ID + target_field: salesforce.login.request_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.ORGANIZATION_ID + target_field: salesforce.login.organization_id + ignore_missing: true + ignore_failure: true + - convert: + field: json.RUN_TIME + type: long + target_field: salesforce.login.run_time + ignore_missing: true + ignore_failure: true + - convert: + field: json.CPU_TIME + type: long + target_field: salesforce.login.cpu_time + ignore_missing: true + ignore_failure: true + - convert: + field: json.DB_TOTAL_TIME + type: long + target_field: salesforce.login.db_time.total + ignore_missing: true + ignore_failure: true + - script: + description: >- + Convert db_time.total field from nanos (nanoseconds) to ms + (milliseconds). + lang: painless + source: | + if (ctx.salesforce?.login?.db_time?.total != null) { + ctx.salesforce.login.db_time.total = ctx.salesforce.login.db_time.total / 1000000; + } + on_failure: + - append: + field: error.message + value: >- + Failed to set salesforce.login.db_time.total: + {{{_ingest.on_failure_message}}} + - rename: + field: json.CLIENT_IP + target_field: salesforce.login.client_ip + ignore_missing: true + ignore_failure: true + - rename: + field: json.URI_ID_DERIVED + target_field: salesforce.login.uri_derived_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.URI + target_field: event.url + ignore_missing: true + ignore_failure: true + - set: + field: event.outcome + value: success + if: >- + ctx.json?.LOGIN_STATUS == "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != + null + ignore_empty_value: true + - set: + field: event.outcome + value: failure + if: >- + ctx.json?.LOGIN_STATUS != "LOGIN_NO_ERROR" && ctx.json?.LOGIN_STATUS != + null + ignore_empty_value: true + - rename: + field: json.USER_NAME + target_field: user.email + ignore_missing: true + ignore_failure: true + - rename: + field: json.USER_ID_DERIVED + target_field: user.id + ignore_missing: true + ignore_failure: true + - set: + value: + - "{{{json.USER_TYPE}}}" + field: user.roles + ignore_empty_value: true + ignore_failure: true + - remove: + field: json.USER_TYPE + ignore_missing: true + ignore_failure: true + - rename: + field: json.SOURCE_IP + target_field: source.ip + ignore_missing: true + ignore_failure: true + if: ctx.json?.SOURCE_IP != "Salesforce.com IP" + - geoip: + field: source.ip + target_field: source.geo + ignore_missing: true + ignore_failure: true + - rename: + field: json.BROWSER_TYPE + target_field: user_agent.name + ignore_missing: true + ignore_failure: true + - rename: + field: json.CIPHER_SUITE + target_field: tls.cipher + ignore_missing: true + ignore_failure: true + - dissect: + pattern: "%{tls.version_protocol}v%{tls.version}" + field: json.TLS_PROTOCOL + ignore_failure: true + ignore_missing: true on_failure: - - set: - field: event.kind - value: pipeline_error - - append: - field: error.message - value: "{{{ _ingest.on_failure_message }}}" + - set: + field: event.kind + value: pipeline_error + - append: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" diff --git a/x-pack/filebeat/module/salesforce/login/ingest/object.yml b/x-pack/filebeat/module/salesforce/login/ingest/object.yml index e328457eef7..f9d1ef745df 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/object.yml @@ -1,235 +1,235 @@ --- description: Pipeline for parsing Salesforce Login (Object) logs. processors: - - date: - field: json.EventDate - target_field: "@timestamp" - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" - - rename: - field: json.AuthServiceId - target_field: salesforce.login.auth.service_id - ignore_missing: true - ignore_failure: true - - convert: - field: json.EvaluationTime - type: double - target_field: salesforce.login.evaluation_time - ignore_missing: true - ignore_failure: true - - rename: - field: json.ClientVersion - target_field: salesforce.login.client_version - ignore_missing: true - ignore_failure: true - - rename: - field: json.LoginGeoId - target_field: salesforce.login.geo_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.LoginHistoryId - target_field: salesforce.login.history_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.ApiType - target_field: salesforce.login.api.type - ignore_missing: true - ignore_failure: true - - rename: - field: json.AuthMethodReference - target_field: salesforce.login.auth.method_reference - ignore_missing: true - ignore_failure: true - - rename: - field: json.LoginType - target_field: salesforce.login.type - ignore_missing: true - ignore_failure: true - - rename: - field: json.PolicyOutcome - target_field: salesforce.login.policy_outcome - ignore_missing: true - ignore_failure: true - - rename: - field: json.ApiVersion - target_field: salesforce.login.api.version - ignore_missing: true - ignore_failure: true - - rename: - field: json.EventIdentifier - target_field: event.id - ignore_missing: true - ignore_failure: true - - rename: - field: json.RelatedEventIdentifier - target_field: salesforce.login.related_event_identifier - ignore_missing: true - ignore_failure: true - - rename: - field: json.LoginKey - target_field: salesforce.login.key - ignore_missing: true - ignore_failure: true - - rename: - field: json.Application - target_field: salesforce.login.application - ignore_missing: true - ignore_failure: true - - rename: - field: json.PolicyId - target_field: salesforce.login.policy_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.SessionLevel - target_field: salesforce.login.session.level - ignore_missing: true - ignore_failure: true - - rename: - field: json.SessionKey - target_field: salesforce.login.session.key - ignore_missing: true - ignore_failure: true - - set: - field: event.outcome - value: success - if: 'ctx.json?.Status == "Success"' - ignore_empty_value: true - ignore_failure: true - - set: - field: event.outcome - value: failure - if: 'ctx.json?.Status != "Success" && ctx.json?.Status != null' - ignore_empty_value: true - ignore_failure: true - - date: - field: json.CreatedDate - target_field: event.created - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" - - rename: - field: json.LoginUrl - target_field: event.url - ignore_missing: true - ignore_failure: true - - rename: - field: json.Username - target_field: user.email - ignore_missing: true - ignore_failure: true - - rename: - field: json.UserId - target_field: user.id - ignore_missing: true - ignore_failure: true - - set: - field: user.roles - value: "{{{json.UserType}}}" - if: ctx.json?.UserType != null - ignore_empty_value: true - ignore_failure: true - - remove: - field: json.UserType - ignore_missing: true - ignore_failure: true - - convert: - field: json.SourceIp - target_field: source.ip - type: ip - ignore_failure: true - on_failure: - - append: - field: error.message - value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" - - rename: - field: json.LoginLatitude - target_field: source.geo.location.lat - ignore_missing: true - ignore_failure: true - - rename: - field: json.LoginLongitude - target_field: source.geo.location.lon - ignore_missing: true - ignore_failure: true - - geoip: - field: source.ip - target_field: source.geo - ignore_missing: true - ignore_failure: true - if: '!ctx.source?.geo?.location?.containsKey("lat") && !ctx.source?.geo?.location?.containsKey("lon")' - - rename: - field: json.CountryIso - target_field: source.geo.country_iso_code - ignore_missing: true - ignore_failure: true - - rename: - field: json.PostalCode - target_field: source.geo.postal_code - ignore_missing: true - ignore_failure: true - - rename: - field: json.City - target_field: source.geo.city_name - ignore_missing: true - ignore_failure: true - - rename: - field: json.Subdivision - target_field: source.geo.region_name - ignore_missing: true - ignore_failure: true - - rename: - field: json.Country - target_field: source.geo.country_name - ignore_missing: true - ignore_failure: true - - rename: - field: json.Browser - target_field: user_agent.name - ignore_missing: true - ignore_failure: true - - rename: - field: json.Platform - target_field: user_agent.os.platform - ignore_missing: true - ignore_failure: true - - rename: - field: json.HttpMethod - target_field: http.request.method - ignore_missing: true - ignore_failure: true - - rename: - field: json.AdditionalInfo - target_field: salesforce.login.additional_info - ignore_missing: true - ignore_failure: true - - rename: - field: json.CipherSuite - target_field: tls.cipher - ignore_missing: true - ignore_failure: true - - dissect: - field: json.TlsProtocol - pattern: "%{tls.version_protocol} %{tls.version}" - ignore_missing: true - on_failure: - - append: - field: error.message - value: "Failed to dissect TlsProtocol: {{{_ingest.on_failure_message}}}" + - date: + field: json.EventDate + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.AuthServiceId + target_field: salesforce.login.auth.service_id + ignore_missing: true + ignore_failure: true + - convert: + field: json.EvaluationTime + type: double + target_field: salesforce.login.evaluation_time + ignore_missing: true + ignore_failure: true + - rename: + field: json.ClientVersion + target_field: salesforce.login.client_version + ignore_missing: true + ignore_failure: true + - rename: + field: json.LoginGeoId + target_field: salesforce.login.geo_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.LoginHistoryId + target_field: salesforce.login.history_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.ApiType + target_field: salesforce.login.api.type + ignore_missing: true + ignore_failure: true + - rename: + field: json.AuthMethodReference + target_field: salesforce.login.auth.method_reference + ignore_missing: true + ignore_failure: true + - rename: + field: json.LoginType + target_field: salesforce.login.type + ignore_missing: true + ignore_failure: true + - rename: + field: json.PolicyOutcome + target_field: salesforce.login.policy_outcome + ignore_missing: true + ignore_failure: true + - rename: + field: json.ApiVersion + target_field: salesforce.login.api.version + ignore_missing: true + ignore_failure: true + - rename: + field: json.EventIdentifier + target_field: event.id + ignore_missing: true + ignore_failure: true + - rename: + field: json.RelatedEventIdentifier + target_field: salesforce.login.related_event_identifier + ignore_missing: true + ignore_failure: true + - rename: + field: json.LoginKey + target_field: salesforce.login.key + ignore_missing: true + ignore_failure: true + - rename: + field: json.Application + target_field: salesforce.login.application + ignore_missing: true + ignore_failure: true + - rename: + field: json.PolicyId + target_field: salesforce.login.policy_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.SessionLevel + target_field: salesforce.login.session.level + ignore_missing: true + ignore_failure: true + - rename: + field: json.SessionKey + target_field: salesforce.login.session.key + ignore_missing: true + ignore_failure: true + - set: + field: event.outcome + value: success + if: 'ctx.json?.Status == "Success"' + ignore_empty_value: true + ignore_failure: true + - set: + field: event.outcome + value: failure + if: 'ctx.json?.Status != "Success" && ctx.json?.Status != null' + ignore_empty_value: true + ignore_failure: true + - date: + field: json.CreatedDate + target_field: event.created + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.LoginUrl + target_field: event.url + ignore_missing: true + ignore_failure: true + - rename: + field: json.Username + target_field: user.email + ignore_missing: true + ignore_failure: true + - rename: + field: json.UserId + target_field: user.id + ignore_missing: true + ignore_failure: true + - set: + field: user.roles + value: "{{{json.UserType}}}" + if: ctx.json?.UserType != null + ignore_empty_value: true + ignore_failure: true + - remove: + field: json.UserType + ignore_missing: true + ignore_failure: true + - convert: + field: json.SourceIp + target_field: source.ip + type: ip + ignore_failure: true + on_failure: + - append: + field: error.message + value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" + - rename: + field: json.LoginLatitude + target_field: source.geo.location.lat + ignore_missing: true + ignore_failure: true + - rename: + field: json.LoginLongitude + target_field: source.geo.location.lon + ignore_missing: true + ignore_failure: true + - geoip: + field: source.ip + target_field: source.geo + ignore_missing: true + ignore_failure: true + if: '!ctx.source?.geo?.location?.containsKey("lat") && !ctx.source?.geo?.location?.containsKey("lon")' + - rename: + field: json.CountryIso + target_field: source.geo.country_iso_code + ignore_missing: true + ignore_failure: true + - rename: + field: json.PostalCode + target_field: source.geo.postal_code + ignore_missing: true + ignore_failure: true + - rename: + field: json.City + target_field: source.geo.city_name + ignore_missing: true + ignore_failure: true + - rename: + field: json.Subdivision + target_field: source.geo.region_name + ignore_missing: true + ignore_failure: true + - rename: + field: json.Country + target_field: source.geo.country_name + ignore_missing: true + ignore_failure: true + - rename: + field: json.Browser + target_field: user_agent.name + ignore_missing: true + ignore_failure: true + - rename: + field: json.Platform + target_field: user_agent.os.platform + ignore_missing: true + ignore_failure: true + - rename: + field: json.HttpMethod + target_field: http.request.method + ignore_missing: true + ignore_failure: true + - rename: + field: json.AdditionalInfo + target_field: salesforce.login.additional_info + ignore_missing: true + ignore_failure: true + - rename: + field: json.CipherSuite + target_field: tls.cipher + ignore_missing: true + ignore_failure: true + - dissect: + field: json.TlsProtocol + pattern: "%{tls.version_protocol} %{tls.version}" + ignore_missing: true + on_failure: + - append: + field: error.message + value: "Failed to dissect TlsProtocol: {{{_ingest.on_failure_message}}}" on_failure: - - set: - field: event.kind - value: pipeline_error - - append: - field: error.message - value: "{{{ _ingest.on_failure_message }}}" + - set: + field: event.kind + value: pipeline_error + - append: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml index 0e2dd00c283..c7e08c8f365 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml @@ -1,129 +1,129 @@ --- description: Pipeline for parsing Salesforce Logout logs. processors: - - json: - field: message - target_field: json - on_failure: - - append: - field: error.message - value: "Failed to parse JSON: {{{_ingest.on_failure_message}}}" - - set: - field: event.original - copy_from: message - ignore_empty_value: true - if: "ctx.event?.original == null" - - set: - field: event.ingested - value: "{{_ingest.timestamp}}" - - fingerprint: - fields: - - json.REQUEST_ID - - json.SESSION_KEY - - json.TIMESTAMP_DERIVED - - json.USER_ID - target_field: _id - ignore_missing: true - ignore_failure: true - - set: - field: ecs.version - value: "8.11.0" - ignore_failure: true - ignore_empty_value: true - - set: - field: salesforce.login.document_id - copy_from: _id - ignore_empty_value: true + - json: + field: message + target_field: json + on_failure: + - append: + field: error.message + value: "Failed to parse JSON: {{{_ingest.on_failure_message}}}" + - set: + field: event.original + copy_from: message + ignore_empty_value: true + if: "ctx.event?.original == null" + - set: + field: event.ingested + value: "{{_ingest.timestamp}}" + - fingerprint: + fields: + - json.REQUEST_ID + - json.SESSION_KEY + - json.TIMESTAMP_DERIVED + - json.USER_ID + target_field: _id + ignore_missing: true + ignore_failure: true + - set: + field: ecs.version + value: "8.11.0" + ignore_failure: true + ignore_empty_value: true + - set: + field: salesforce.login.document_id + copy_from: _id + ignore_empty_value: true - - pipeline: - name: '{< IngestPipeline "object" >}' - if: ctx.event.provider == "Object" - - pipeline: - name: '{< IngestPipeline "eventlogfile" >}' - if: ctx.event.provider == "EventLogFile" + - pipeline: + name: '{< IngestPipeline "object" >}' + if: ctx.event.provider == "Object" + - pipeline: + name: '{< IngestPipeline "eventlogfile" >}' + if: ctx.event.provider == "EventLogFile" - - set: - field: event.type - value: ["info"] - ignore_failure: true - ignore_empty_value: true - - set: - field: event.kind - value: "event" - ignore_failure: true - ignore_empty_value: true - - set: - field: event.action - value: "logout" - ignore_failure: true - ignore_empty_value: true - - set: - field: event.category - value: ["authentication"] - ignore_failure: true - ignore_empty_value: true - - set: - field: event.dataset - value: "salesforce.logout" - ignore_failure: true - ignore_empty_value: true - - set: - field: event.module - value: "salesforce" - ignore_failure: true - ignore_empty_value: true - - geoip: - field: source.ip - target_field: source.geo - ignore_missing: true - ignore_failure: true - - append: - field: related.ip - value: "{{{source.ip}}}" - if: ctx?.source?.ip != null - allow_duplicates: false - ignore_failure: true + - set: + field: event.type + value: ["info"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.kind + value: "event" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.action + value: "logout" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.category + value: ["authentication"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.dataset + value: "salesforce.logout" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.module + value: "salesforce" + ignore_failure: true + ignore_empty_value: true + - geoip: + field: source.ip + target_field: source.geo + ignore_missing: true + ignore_failure: true + - append: + field: related.ip + value: "{{{source.ip}}}" + if: ctx?.source?.ip != null + allow_duplicates: false + ignore_failure: true - ############# - ## Cleanup ## - ############# + ############# + ## Cleanup ## + ############# - # Drop empty fields - - script: - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return ((Map) object).isEmpty(); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return ((List) object).isEmpty(); - } - return false; - } - dropEmptyFields(ctx); - - remove: - field: - - json - - message - ignore_failure: true - ignore_missing: true - - remove: - field: event.original - if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" - ignore_failure: true - ignore_missing: true + # Drop empty fields + - script: + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return ((Map) object).isEmpty(); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return ((List) object).isEmpty(); + } + return false; + } + dropEmptyFields(ctx); + - remove: + field: + - json + - message + ignore_failure: true + ignore_missing: true + - remove: + field: event.original + if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" + ignore_failure: true + ignore_missing: true on_failure: - - set: - field: event.kind - value: pipeline_error - - set: - field: error.message - value: "{{{_ingest.on_failure_message}}}" - - set: - field: error.type - value: "{{{_ingest.on_failure_processor_type}}}" + - set: + field: event.kind + value: pipeline_error + - set: + field: error.message + value: "{{{_ingest.on_failure_message}}}" + - set: + field: error.type + value: "{{{_ingest.on_failure_processor_type}}}" diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml index 3b3e621c0af..699fa370219 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/eventlogfile.yml @@ -1,255 +1,255 @@ --- description: Pipeline for parsing Salesforce Logout (EventLogFile) logs. processors: - - date: - field: json.TIMESTAMP_DERIVED - target_field: "@timestamp" - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse TIMESTAMP_DERIVED field: {{{_ingest.on_failure_message}}}" - - rename: - field: json.SESSION_TYPE - target_field: salesforce.logout.session.type - ignore_missing: true - ignore_failure: true - - script: - description: Set session type value from session type character. - lang: painless - source: | - def sessionTypes = [ - "A": "API", - "I": "APIOnlyUser", - "N": "ChatterNetworks", - "Z": "ChatterNetworksAPIOnly", - "C": "Content", - "P": "OauthApprovalUI", - "O": "Oauth2", - "T": "SiteStudio", - "R": "SitePreview", - "S": "SubstituteUser", - "B": "TempContentExchange", - "G": "TempOauthAccessTokenFrontdoor", - "Y": "TempVisualforceExchange", - "F": "TempUIFrontdoor", - "U": "UI", - "E": "UserSite", - "V": "Visualforce", - "W": "WDC_API" - ]; - def type = ctx.salesforce?.logout?.session?.type; - if (type != null && sessionTypes.containsKey(type)) { - ctx.salesforce.logout.session.type = sessionTypes.get(type); - } - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.logout.session.type: {{{_ingest.on_failure_message}}}" - - rename: - field: json.EVENT_TYPE - target_field: salesforce.logout.event_type - ignore_missing: true - ignore_failure: true - - rename: - field: json.SESSION_LEVEL - target_field: salesforce.logout.session.level - ignore_missing: true - ignore_failure: true - - script: - description: Set session level value from session level integer. - lang: painless - source: | - def levels = ["1": "Standard Session", "2": "High-Assurance Session"]; - def level = ctx.salesforce?.logout?.session?.level; - if (level != null && levels.containsKey(level)) { - ctx.salesforce.logout.session.level = levels.get(level); - } - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.logout.session.level: {{{_ingest.on_failure_message}}}" - - rename: - field: json.BROWSER_TYPE - target_field: salesforce.logout.browser_type - ignore_missing: true - ignore_failure: true - - rename: - field: json.PLATFORM_TYPE - target_field: salesforce.logout.platform_type - ignore_missing: true - ignore_failure: true - - script: - description: Set platform type value from platform type integers. - lang: painless - params: - platforms: - "1000": "Windows" - "1008": "Windows 2003" - "1013": "Windows 8.1" - "1015": "Windows 10" - "2003": "Macintosh/Apple OSX" - "4000": "Linux" - "5005": "Android" - "5006": "iPhone" - "5007": "iPad" - "5200": "Android 10.0" - source: | - def platform = ctx.salesforce?.logout?.platform_type; - if (platform != null && params.platforms.containsKey(platform)) { - ctx.salesforce.logout.platform_type = params.platforms.get(platform); - } - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.logout.platform_type: {{{_ingest.on_failure_message}}}" - - rename: - field: json.RESOLUTION_TYPE - target_field: salesforce.logout.resolution_type - ignore_missing: true - ignore_failure: true - - rename: - field: json.APP_TYPE - target_field: salesforce.logout.app_type - ignore_missing: true - ignore_failure: true - - script: - description: Set application type value from application type integers. - lang: painless - params: - appTypes: - "1000": "Application" - "1007": "SFDC Application" - "1014": "Chat" - "2501": "CTI" - "2514": "OAuth" - "3475": "SFDC Partner Portal" - source: | - def type = ctx.salesforce?.logout?.app_type; - if (type != null && params.appTypes.containsKey(type)) { - ctx.salesforce.logout.app_type = params.appTypes.get(type); - } - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.logout.app_type: {{{_ingest.on_failure_message}}}" - - rename: - field: json.CLIENT_VERSION - target_field: salesforce.logout.client_version - ignore_missing: true - ignore_failure: true - - rename: - field: json.API_TYPE - target_field: salesforce.logout.api.type - ignore_missing: true - ignore_failure: true - - script: - description: Set api type value from api type character. - lang: painless - params: - apiTypes: - "D": "Apex Class" - "E": "SOAP Enterprise" - "I": "SOAP Cross Instance" - "M": "SOAP Metadata" - "O": "Old SOAP" - "P": "SOAP Partner" - "S": "SOAP Apex" - "T": "SOAP Tooling" - "X": "XmlRPC" - "f": "Feed" - "l": "Live Agent" - "p": "SOAP ClientSync" - source: | - def type = ctx.salesforce?.logout?.api?.type; - if (type != null && params.apiTypes.containsKey(type)) { - ctx.salesforce.logout.api.type = params.apiTypes.get(type); - } - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.logout.api.type: {{{_ingest.on_failure_message}}}" - - rename: - field: json.API_VERSION - target_field: salesforce.logout.api.version - ignore_missing: true - ignore_failure: true - - rename: - field: json.USER_INITIATED_LOGOUT - target_field: salesforce.logout.user_initiated_logout - ignore_missing: true - ignore_failure: true - - rename: - field: json.LOGIN_KEY - target_field: salesforce.logout.login_key - ignore_missing: true - ignore_failure: true - - rename: - field: json.USER_ID - target_field: salesforce.logout.user_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.ORGANIZATION_ID - target_field: salesforce.logout.organization_id - ignore_missing: true - ignore_failure: true - - rename: - field: json.REQUEST_ID - target_field: event.code - ignore_missing: true - ignore_failure: true - - rename: - field: json.USER_TYPE - target_field: user.roles - ignore_missing: true - ignore_failure: true - - script: - description: Set user roles value from user roles character. - lang: painless - params: - userRoles: - "A": "Automated Process" - "b": "High Volume Portal" - "C": "Customer Portal User" - "D": "External Who" - "F": "Self-Service" - "G": "Guest" - "L": "Package License Manager" - "N": "Salesforce to Salesforce" - "n": "CSN Only" - "O": "Power Custom" - "o": "Custom" - "P": "Partner" - "p": "Customer Portal Manager" - "S": "Standard" - "X": "Salesforce Administrator" - source: | - def role = ctx.salesforce?.logout?.user?.roles; - if (role != null && params.userRoles.containsKey(role)) { - ctx.salesforce.logout.user.roles = [params.userRoles.get(role)]; - } - on_failure: - - append: - field: error.message - value: "Failed to set salesforce.logout.user.roles: {{{_ingest.on_failure_message}}}" - - rename: - field: json.USER_ID_DERIVED - target_field: user.id - ignore_missing: true - ignore_failure: true - - rename: - field: json.CLIENT_IP - target_field: source.ip - ignore_missing: true - if: ctx.json?.CLIENT_IP != 'Salesforce.com IP' && ctx.json?.CLIENT_IP != null - ignore_failure: true + - date: + field: json.TIMESTAMP_DERIVED + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse TIMESTAMP_DERIVED field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.SESSION_TYPE + target_field: salesforce.logout.session.type + ignore_missing: true + ignore_failure: true + - script: + description: Set session type value from session type character. + lang: painless + source: | + def sessionTypes = [ + "A": "API", + "I": "APIOnlyUser", + "N": "ChatterNetworks", + "Z": "ChatterNetworksAPIOnly", + "C": "Content", + "P": "OauthApprovalUI", + "O": "Oauth2", + "T": "SiteStudio", + "R": "SitePreview", + "S": "SubstituteUser", + "B": "TempContentExchange", + "G": "TempOauthAccessTokenFrontdoor", + "Y": "TempVisualforceExchange", + "F": "TempUIFrontdoor", + "U": "UI", + "E": "UserSite", + "V": "Visualforce", + "W": "WDC_API" + ]; + def type = ctx.salesforce?.logout?.session?.type; + if (type != null && sessionTypes.containsKey(type)) { + ctx.salesforce.logout.session.type = sessionTypes.get(type); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.session.type: {{{_ingest.on_failure_message}}}" + - rename: + field: json.EVENT_TYPE + target_field: salesforce.logout.event_type + ignore_missing: true + ignore_failure: true + - rename: + field: json.SESSION_LEVEL + target_field: salesforce.logout.session.level + ignore_missing: true + ignore_failure: true + - script: + description: Set session level value from session level integer. + lang: painless + source: | + def levels = ["1": "Standard Session", "2": "High-Assurance Session"]; + def level = ctx.salesforce?.logout?.session?.level; + if (level != null && levels.containsKey(level)) { + ctx.salesforce.logout.session.level = levels.get(level); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.session.level: {{{_ingest.on_failure_message}}}" + - rename: + field: json.BROWSER_TYPE + target_field: salesforce.logout.browser_type + ignore_missing: true + ignore_failure: true + - rename: + field: json.PLATFORM_TYPE + target_field: salesforce.logout.platform_type + ignore_missing: true + ignore_failure: true + - script: + description: Set platform type value from platform type integers. + lang: painless + params: + platforms: + "1000": "Windows" + "1008": "Windows 2003" + "1013": "Windows 8.1" + "1015": "Windows 10" + "2003": "Macintosh/Apple OSX" + "4000": "Linux" + "5005": "Android" + "5006": "iPhone" + "5007": "iPad" + "5200": "Android 10.0" + source: | + def platform = ctx.salesforce?.logout?.platform_type; + if (platform != null && params.platforms.containsKey(platform)) { + ctx.salesforce.logout.platform_type = params.platforms.get(platform); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.platform_type: {{{_ingest.on_failure_message}}}" + - rename: + field: json.RESOLUTION_TYPE + target_field: salesforce.logout.resolution_type + ignore_missing: true + ignore_failure: true + - rename: + field: json.APP_TYPE + target_field: salesforce.logout.app_type + ignore_missing: true + ignore_failure: true + - script: + description: Set application type value from application type integers. + lang: painless + params: + appTypes: + "1000": "Application" + "1007": "SFDC Application" + "1014": "Chat" + "2501": "CTI" + "2514": "OAuth" + "3475": "SFDC Partner Portal" + source: | + def type = ctx.salesforce?.logout?.app_type; + if (type != null && params.appTypes.containsKey(type)) { + ctx.salesforce.logout.app_type = params.appTypes.get(type); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.app_type: {{{_ingest.on_failure_message}}}" + - rename: + field: json.CLIENT_VERSION + target_field: salesforce.logout.client_version + ignore_missing: true + ignore_failure: true + - rename: + field: json.API_TYPE + target_field: salesforce.logout.api.type + ignore_missing: true + ignore_failure: true + - script: + description: Set api type value from api type character. + lang: painless + params: + apiTypes: + "D": "Apex Class" + "E": "SOAP Enterprise" + "I": "SOAP Cross Instance" + "M": "SOAP Metadata" + "O": "Old SOAP" + "P": "SOAP Partner" + "S": "SOAP Apex" + "T": "SOAP Tooling" + "X": "XmlRPC" + "f": "Feed" + "l": "Live Agent" + "p": "SOAP ClientSync" + source: | + def type = ctx.salesforce?.logout?.api?.type; + if (type != null && params.apiTypes.containsKey(type)) { + ctx.salesforce.logout.api.type = params.apiTypes.get(type); + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.api.type: {{{_ingest.on_failure_message}}}" + - rename: + field: json.API_VERSION + target_field: salesforce.logout.api.version + ignore_missing: true + ignore_failure: true + - rename: + field: json.USER_INITIATED_LOGOUT + target_field: salesforce.logout.user_initiated_logout + ignore_missing: true + ignore_failure: true + - rename: + field: json.LOGIN_KEY + target_field: salesforce.logout.login_key + ignore_missing: true + ignore_failure: true + - rename: + field: json.USER_ID + target_field: salesforce.logout.user_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.ORGANIZATION_ID + target_field: salesforce.logout.organization_id + ignore_missing: true + ignore_failure: true + - rename: + field: json.REQUEST_ID + target_field: event.code + ignore_missing: true + ignore_failure: true + - rename: + field: json.USER_TYPE + target_field: user.roles + ignore_missing: true + ignore_failure: true + - script: + description: Set user roles value from user roles character. + lang: painless + params: + userRoles: + "A": "Automated Process" + "b": "High Volume Portal" + "C": "Customer Portal User" + "D": "External Who" + "F": "Self-Service" + "G": "Guest" + "L": "Package License Manager" + "N": "Salesforce to Salesforce" + "n": "CSN Only" + "O": "Power Custom" + "o": "Custom" + "P": "Partner" + "p": "Customer Portal Manager" + "S": "Standard" + "X": "Salesforce Administrator" + source: | + def role = ctx.salesforce?.logout?.user?.roles; + if (role != null && params.userRoles.containsKey(role)) { + ctx.salesforce.logout.user.roles = [params.userRoles.get(role)]; + } + on_failure: + - append: + field: error.message + value: "Failed to set salesforce.logout.user.roles: {{{_ingest.on_failure_message}}}" + - rename: + field: json.USER_ID_DERIVED + target_field: user.id + ignore_missing: true + ignore_failure: true + - rename: + field: json.CLIENT_IP + target_field: source.ip + ignore_missing: true + if: ctx.json?.CLIENT_IP != 'Salesforce.com IP' && ctx.json?.CLIENT_IP != null + ignore_failure: true on_failure: - - set: - field: event.kind - value: pipeline_error - - append: - field: error.message - value: "{{{ _ingest.on_failure_message }}}" + - set: + field: event.kind + value: pipeline_error + - append: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml index 04e0840fce0..059a8533751 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/object.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/object.yml @@ -1,68 +1,68 @@ --- description: Pipeline for parsing Salesforce Logout (Object) logs. processors: - - date: - field: json.EventDate - target_field: "@timestamp" - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" - - rename: - field: json.RelatedEventIdentifier - target_field: salesforce.logout.related_event_identifier - ignore_missing: true - ignore_failure: true - - rename: - field: json.LoginKey - target_field: salesforce.logout.login_key - ignore_missing: true - ignore_failure: true - - rename: - field: json.SessionLevel - target_field: salesforce.logout.session.level - ignore_missing: true - ignore_failure: true - - rename: - field: json.SessionKey - target_field: salesforce.logout.session.key - ignore_missing: true - ignore_failure: true - - date: - field: json.CreatedDate - target_field: event.created - formats: - - ISO8601 - on_failure: - - append: - field: error.message - value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" - - rename: - field: json.Username - target_field: user.email - ignore_missing: true - ignore_failure: true - - rename: - field: json.UserId - target_field: user.id - ignore_missing: true - ignore_failure: true - - convert: - field: json.SourceIp - type: ip - target_field: source.ip - ignore_missing: true - on_failure: - - append: - field: error.message - value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" + - date: + field: json.EventDate + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse EventDate field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.RelatedEventIdentifier + target_field: salesforce.logout.related_event_identifier + ignore_missing: true + ignore_failure: true + - rename: + field: json.LoginKey + target_field: salesforce.logout.login_key + ignore_missing: true + ignore_failure: true + - rename: + field: json.SessionLevel + target_field: salesforce.logout.session.level + ignore_missing: true + ignore_failure: true + - rename: + field: json.SessionKey + target_field: salesforce.logout.session.key + ignore_missing: true + ignore_failure: true + - date: + field: json.CreatedDate + target_field: event.created + formats: + - ISO8601 + on_failure: + - append: + field: error.message + value: "Failed to parse CreatedDate field: {{{_ingest.on_failure_message}}}" + - rename: + field: json.Username + target_field: user.email + ignore_missing: true + ignore_failure: true + - rename: + field: json.UserId + target_field: user.id + ignore_missing: true + ignore_failure: true + - convert: + field: json.SourceIp + type: ip + target_field: source.ip + ignore_missing: true + on_failure: + - append: + field: error.message + value: "Failed to convert SourceIp to IP: {{{_ingest.on_failure_message}}}" on_failure: - - set: - field: event.kind - value: pipeline_error - - append: - field: error.message - value: "{{{ _ingest.on_failure_message }}}" + - set: + field: event.kind + value: pipeline_error + - append: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index f895349d19c..cf0ee2626cf 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -1,186 +1,185 @@ --- description: Pipeline for parsing Salesforce SetupAuditTrail logs processors: - - json: - field: message - target_field: json - on_failure: - - drop: {} + - json: + field: message + target_field: json + on_failure: + - drop: {} - - set: - field: event.ingested - copy_from: _ingest.timestamp - - rename: - field: message - target_field: event.original - ignore_failure: true - if: "ctx.event?.original == null" - - set: - field: salesforce.setup_audit_trail.document_id - copy_from: _id - ignore_empty_value: true - - fingerprint: - fields: - - json.Id - - json.CreatedDate - target_field: _id - ignore_failure: true - ignore_missing: true + - set: + field: event.ingested + copy_from: _ingest.timestamp + - rename: + field: message + target_field: event.original + ignore_failure: true + if: "ctx.event?.original == null" + - set: + field: salesforce.setup_audit_trail.document_id + copy_from: _id + ignore_empty_value: true + - fingerprint: + fields: + - json.Id + - json.CreatedDate + target_field: _id + ignore_failure: true + ignore_missing: true - - date: - field: json.CreatedDate - target_field: "@timestamp" - formats: - - ISO8601 - on_failure: - - set: - field: "@timestamp" - value: "{{_ingest.timestamp}}" - - set: - field: error.message - value: "Failed to parse CreatedDate: {{json.CreatedDate}}" + - date: + field: json.CreatedDate + target_field: "@timestamp" + formats: + - ISO8601 + on_failure: + - set: + field: "@timestamp" + value: "{{_ingest.timestamp}}" + - set: + field: error.message + value: "Failed to parse CreatedDate: {{json.CreatedDate}}" - # Normalize field names - - set: - field: salesforce.setup_audit_trail.event_type - copy_from: json.attributes.type - ignore_failure: true - ignore_missing: true - - rename: - field: json.CreatedByContext - target_field: salesforce.setup_audit_trail.created_by_context - ignore_failure: true - ignore_missing: true - - rename: - field: json.CreatedById - target_field: salesforce.setup_audit_trail.created_by_id - ignore_failure: true - ignore_missing: true - - rename: - field: json.CreatedByIssuer - target_field: salesforce.setup_audit_trail.created_by_issuer - ignore_failure: true - ignore_missing: true - - rename: - field: json.DelegateUser - target_field: salesforce.setup_audit_trail.delegate_user - ignore_failure: true - ignore_missing: true - - rename: - field: json.Display - target_field: salesforce.setup_audit_trail.display - ignore_failure: true - ignore_missing: true - - rename: - field: json.ResponsibleNamespacePrefix - target_field: salesforce.setup_audit_trail.responsible_namespace_prefix - ignore_failure: true - ignore_missing: true - - rename: - field: json.Section - target_field: salesforce.setup_audit_trail.section - ignore_failure: true - ignore_missing: true + # Normalize field names + - set: + field: salesforce.setup_audit_trail.event_type + copy_from: json.attributes.type + ignore_failure: true + - rename: + field: json.CreatedByContext + target_field: salesforce.setup_audit_trail.created_by_context + ignore_failure: true + ignore_missing: true + - rename: + field: json.CreatedById + target_field: salesforce.setup_audit_trail.created_by_id + ignore_failure: true + ignore_missing: true + - rename: + field: json.CreatedByIssuer + target_field: salesforce.setup_audit_trail.created_by_issuer + ignore_failure: true + ignore_missing: true + - rename: + field: json.DelegateUser + target_field: salesforce.setup_audit_trail.delegate_user + ignore_failure: true + ignore_missing: true + - rename: + field: json.Display + target_field: salesforce.setup_audit_trail.display + ignore_failure: true + ignore_missing: true + - rename: + field: json.ResponsibleNamespacePrefix + target_field: salesforce.setup_audit_trail.responsible_namespace_prefix + ignore_failure: true + ignore_missing: true + - rename: + field: json.Section + target_field: salesforce.setup_audit_trail.section + ignore_failure: true + ignore_missing: true - ####################### - ## ECS Event Mapping ## - ####################### + ####################### + ## ECS Event Mapping ## + ####################### - - set: - field: ecs.version - value: "8.11.0" - ignore_failure: true - ignore_empty_value: true - - rename: - field: json.Id - target_field: event.id - ignore_failure: true - ignore_missing: true - - rename: - field: json.Action - target_field: event.action - ignore_failure: true - ignore_missing: true - - rename: - field: json.attributes.url - target_field: event.url - ignore_failure: true - ignore_missing: true - - date: - field: json.CreatedDate - target_field: event.created - formats: - - ISO8601 - ignore_failure: true - - set: - field: event.type - value: ["admin"] - ignore_failure: true - ignore_empty_value: true - - set: - field: event.kind - value: "event" - ignore_failure: true - ignore_empty_value: true - - set: - field: event.dataset - value: "salesforce.setupaudittrail" - ignore_failure: true - ignore_empty_value: true - - set: - field: event.module - value: salesforce - ignore_failure: true - ignore_empty_value: true + - set: + field: ecs.version + value: "8.11.0" + ignore_failure: true + ignore_empty_value: true + - rename: + field: json.Id + target_field: event.id + ignore_failure: true + ignore_missing: true + - rename: + field: json.Action + target_field: event.action + ignore_failure: true + ignore_missing: true + - rename: + field: json.attributes.url + target_field: event.url + ignore_failure: true + ignore_missing: true + - date: + field: json.CreatedDate + target_field: event.created + formats: + - ISO8601 + ignore_failure: true + - set: + field: event.type + value: ["admin"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.kind + value: "event" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.dataset + value: "salesforce.setupaudittrail" + ignore_failure: true + ignore_empty_value: true + - set: + field: event.module + value: salesforce + ignore_failure: true + ignore_empty_value: true - ###################### - ## ECS User Mapping ## - ###################### + ###################### + ## ECS User Mapping ## + ###################### - - set: - field: user.id - copy_from: salesforce.setup_audit_trail.created_by_id - ignore_failure: true - ignore_empty_value: true - - dissect: - field: salesforce.setup_audit_trail.display - pattern: "For user %{user.name}, %{?}" - ignore_failure: true + - set: + field: user.id + copy_from: salesforce.setup_audit_trail.created_by_id + ignore_failure: true + ignore_empty_value: true + - dissect: + field: salesforce.setup_audit_trail.display + pattern: "For user %{user.name}, %{?}" + ignore_failure: true - ############# - ## Cleanup ## - ############# + ############# + ## Cleanup ## + ############# - # Drop empty fields - - script: - lang: painless - source: | - boolean dropEmptyFields(Object object) { - if (object == null || object == "") { - return true; - } else if (object instanceof Map) { - ((Map) object).values().removeIf(value -> dropEmptyFields(value)); - return ((Map) object).isEmpty(); - } else if (object instanceof List) { - ((List) object).removeIf(value -> dropEmptyFields(value)); - return ((List) object).isEmpty(); - } - return false; - } - dropEmptyFields(ctx); + # Drop empty fields + - script: + lang: painless + source: | + boolean dropEmptyFields(Object object) { + if (object == null || object == "") { + return true; + } else if (object instanceof Map) { + ((Map) object).values().removeIf(value -> dropEmptyFields(value)); + return ((Map) object).isEmpty(); + } else if (object instanceof List) { + ((List) object).removeIf(value -> dropEmptyFields(value)); + return ((List) object).isEmpty(); + } + return false; + } + dropEmptyFields(ctx); - - remove: - field: - - json - - message - ignore_missing: true - - remove: - field: event.original - if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" - ignore_failure: true - ignore_missing: true + - remove: + field: + - json + - message + ignore_missing: true + - remove: + field: event.original + if: "ctx.tags == null || !ctx.tags.contains('preserve_original_event')" + ignore_failure: true + ignore_missing: true on_failure: - - set: - field: error.message - value: "{{{ _ingest.on_failure_message }}}" + - set: + field: error.message + value: "{{{ _ingest.on_failure_message }}}" From a2f013d2708b62cd35befd090244559d9a72994f Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 11 Apr 2024 16:55:53 +0530 Subject: [PATCH 143/172] add new Dashboard Apex --- ...6e6bee90-f7e6-11ee-9088-0f36517484ce.json} | 1449 ++++++------ ...-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json | 2088 ----------------- ...-6c750440-5749-11ec-8f0b-05e8b06e1b10.json | 916 -------- ...-790da810-5749-11ec-8f0b-05e8b06e1b10.json | 773 ------ .../7229c570-f56b-11ee-81cc-878f4842770a.json | 229 -- .../7ed92590-f56b-11ee-81cc-878f4842770a.json | 229 -- .../module/salesforce/apex/_meta/fields.yml | 23 +- x-pack/filebeat/module/salesforce/fields.go | 2 +- x-pack/filebeat/module/salesforce/module.yml | 10 +- 9 files changed, 758 insertions(+), 4961 deletions(-) rename x-pack/filebeat/module/salesforce/_meta/kibana/{8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json => 7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json} (69%) delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7229c570-f56b-11ee-81cc-878f4842770a.json delete mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7ed92590-f56b-11ee-81cc-878f4842770a.json diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json similarity index 69% rename from x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json rename to x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json index 96d71bc3faa..5976aa0b63b 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json @@ -1,12 +1,7 @@ { "attributes": { - "controlGroupInput": { - "chainingSystem": "HIERARCHICAL", - "controlStyle": "oneLine", - "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", - "panelsJSON": "{\"2c772825-53ca-4b0a-b3f1-3a444dab9ac6\":{\"type\":\"optionsListControl\",\"order\":0,\"grow\":true,\"width\":\"large\",\"explicitInput\":{\"id\":\"2c772825-53ca-4b0a-b3f1-3a444dab9ac6\",\"fieldName\":\"salesforce.instance_url\",\"title\":\"Instance URL\",\"grow\":true,\"width\":\"large\",\"enhancements\":{}}}}" - }, "description": "Salesforce Apex Data", + "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { "filter": [], @@ -19,74 +14,110 @@ "optionsJSON": { "hidePanelTitles": false, "syncColors": false, - "syncCursor": true, - "syncTooltips": false, "useMargins": true }, "panelsJSON": [ { "embeddableConfig": { - "attributes": { + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, "description": "", + "params": { + "controls": [ + { + "fieldName": "salesforce.instance_url", + "id": "1712824865887", + "indexPatternRefName": "control_2e30f60b-d451-4b0d-89eb-6ba01e94c2aa_0_index_pattern", + "label": "Instance URL", + "options": { + "dynamicOptions": true, + "multiselect": true, + "order": "desc", + "size": 5, + "type": "terms" + }, + "parent": "", + "type": "list" + } + ], + "pinFilters": false, + "updateFiltersOnChange": false, + "useTimeFilter": false + }, + "title": "", + "type": "input_control_vis", + "uiState": {} + } + }, + "gridData": { + "h": 5, + "i": "2e30f60b-d451-4b0d-89eb-6ba01e94c2aa", + "w": 48, + "x": 0, + "y": 0 + }, + "panelIndex": "2e30f60b-d451-4b0d-89eb-6ba01e94c2aa", + "type": "visualization", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-bfd4a8f4-653c-49f7-bd04-dd9efd1f9aee", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-f7a3c405-487c-4473-aeb5-c6f5e63de3db", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "1f72d747-4e35-45fc-a02a-a8dfde49d1ea", + "name": "filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "4684cf9e-b284-4945-9cb8-19ff055a9439", + "name": "filter-index-pattern-1", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "8438a007-7d70-44fb-89f9-c2137ee48436", + "name": "filter-index-pattern-2", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "bfd4a8f4-653c-49f7-bd04-dd9efd1f9aee": { + "f7a3c405-487c-4473-aeb5-c6f5e63de3db": { "columnOrder": [ - "9e1cad3b-eb20-4dd8-8011-94fb5c46c517", - "9e1cad3b-eb20-4dd8-8011-94fb5c46c517X0" + "c8b7de64-e628-4200-8520-1699a69f49af" ], "columns": { - "9e1cad3b-eb20-4dd8-8011-94fb5c46c517": { + "c8b7de64-e628-4200-8520-1699a69f49af": { "customLabel": true, "dataType": "number", "isBucketed": false, "label": "Calls against the organization limit", - "operationType": "formula", - "params": { - "formula": "count()", - "isFormulaBroken": false - }, - "references": [ - "9e1cad3b-eb20-4dd8-8011-94fb5c46c517X0" - ], - "scale": "ratio" - }, - "9e1cad3b-eb20-4dd8-8011-94fb5c46c517X0": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Part of Calls against the organization limit", "operationType": "count", - "params": { - "emptyAsNull": false - }, "scale": "ratio", - "sourceField": "___records___" + "sourceField": "Records" } }, "incompleteColumns": {} @@ -102,7 +133,7 @@ "meta": { "alias": null, "disabled": false, - "index": "1f72d747-4e35-45fc-a02a-a8dfde49d1ea", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -123,7 +154,7 @@ "meta": { "alias": null, "disabled": false, - "index": "4684cf9e-b284-4945-9cb8-19ff055a9439", + "indexRefName": "filter-index-pattern-1", "key": "salesforce.apex.is_long_running_request", "negate": true, "params": { @@ -141,95 +172,88 @@ "$state": { "store": "appState" }, + "exists": { + "field": "salesforce.apex.is_long_running_request" + }, "meta": { "alias": null, "disabled": false, - "index": "8438a007-7d70-44fb-89f9-c2137ee48436", + "indexRefName": "filter-index-pattern-2", "key": "salesforce.apex.is_long_running_request", "negate": false, - "type": "exists", - "value": "exists" - }, - "query": { - "exists": { - "field": "salesforce.apex.is_long_running_request" - } + "type": "exists" } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" }, "visualization": { - "accessor": "9e1cad3b-eb20-4dd8-8011-94fb5c46c517", - "colorMode": "None", - "layerId": "bfd4a8f4-653c-49f7-bd04-dd9efd1f9aee", - "layerType": "data", - "size": "l", - "textAlign": "center", - "titlePosition": "bottom" + "accessor": "c8b7de64-e628-4200-8520-1699a69f49af", + "layerId": "f7a3c405-487c-4473-aeb5-c6f5e63de3db", + "layerType": "data" } }, "title": "", "type": "lens", - "visualizationType": "lnsLegacyMetric" + "visualizationType": "lnsMetric" }, "enhancements": {}, "hidePanelTitles": true }, "gridData": { "h": 15, - "i": "6b1afef8-3be5-4fca-a0c4-690a14979551", - "w": 16, + "i": "7decef13-13b6-4eb2-bb2b-cd657951e930", + "w": 14, "x": 0, - "y": 0 + "y": 5 }, - "panelIndex": "6b1afef8-3be5-4fca-a0c4-690a14979551", + "panelIndex": "7decef13-13b6-4eb2-bb2b-cd657951e930", "title": "Calls against the organization limit [Filebeat Salesforce]]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-6b3e9ab2-2d33-46c3-9575-78a6bc8af75b", + "name": "indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ad7e49e7-de0f-4efb-ae3f-852498e24371", + "name": "indexpattern-datasource-layer-83c3e25a-134f-43bf-bca7-cd3c3d33eff3", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "6b3e9ab2-2d33-46c3-9575-78a6bc8af75b": { + "83c3e25a-134f-43bf-bca7-cd3c3d33eff3": { "columnOrder": [ - "d70ad4b5-d399-41ce-b3c1-e1314a80da88", - "4cfb821a-ad49-4dc4-ada1-cd7e4317242c" + "c55333c9-aa79-4829-8e41-34029ca8e56a", + "099c35b2-0b10-4026-8883-274a3bd24c10" ], "columns": { - "4cfb821a-ad49-4dc4-ada1-cd7e4317242c": { + "099c35b2-0b10-4026-8883-274a3bd24c10": { "dataType": "number", "isBucketed": false, "label": "Count of records", "operationType": "count", - "params": { - "emptyAsNull": true - }, "scale": "ratio", - "sourceField": "___records___" + "sourceField": "Records" }, - "d70ad4b5-d399-41ce-b3c1-e1314a80da88": { + "c55333c9-aa79-4829-8e41-34029ca8e56a": { + "customLabel": true, "dataType": "string", "isBucketed": true, "label": "Top 5 values of event.outcome", @@ -237,14 +261,11 @@ "params": { "missingBucket": false, "orderBy": { - "columnId": "4cfb821a-ad49-4dc4-ada1-cd7e4317242c", + "columnId": "099c35b2-0b10-4026-8883-274a3bd24c10", "type": "column" }, "orderDirection": "desc", "otherBucket": true, - "parentFormat": { - "id": "terms" - }, "size": 5 }, "scale": "ordinal", @@ -264,7 +285,7 @@ "meta": { "alias": null, "disabled": false, - "index": "ad7e49e7-de0f-4efb-ae3f-852498e24371", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -279,7 +300,6 @@ } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" @@ -288,17 +308,15 @@ "layers": [ { "categoryDisplay": "default", - "layerId": "6b3e9ab2-2d33-46c3-9575-78a6bc8af75b", + "groups": [ + "c55333c9-aa79-4829-8e41-34029ca8e56a" + ], + "layerId": "83c3e25a-134f-43bf-bca7-cd3c3d33eff3", "layerType": "data", "legendDisplay": "default", - "metrics": [ - "4cfb821a-ad49-4dc4-ada1-cd7e4317242c" - ], + "metric": "099c35b2-0b10-4026-8883-274a3bd24c10", "nestedLegend": false, - "numberDisplay": "percent", - "primaryGroups": [ - "d70ad4b5-d399-41ce-b3c1-e1314a80da88" - ] + "numberDisplay": "percent" } ], "shape": "pie" @@ -313,44 +331,47 @@ }, "gridData": { "h": 15, - "i": "8039ad1b-bbc7-4d77-bcff-77ef0299a766", - "w": 16, - "x": 16, - "y": 0 + "i": "7154e44a-c51d-4881-8d23-6d822a0bd77d", + "w": 17, + "x": 14, + "y": 5 }, - "panelIndex": "8039ad1b-bbc7-4d77-bcff-77ef0299a766", + "panelIndex": "7154e44a-c51d-4881-8d23-6d822a0bd77d", "title": "Distribution of request status [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-ce4e2479-29c1-4aa0-991e-0772b981e53e", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-23547c7a-8041-4b0a-856d-ffc03d80fbc0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "99e1f29f-d65d-4e43-8229-0e7dada3babc", + "name": "filter-index-pattern-0", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "ce4e2479-29c1-4aa0-991e-0772b981e53e": { + "23547c7a-8041-4b0a-856d-ffc03d80fbc0": { "columnOrder": [ - "7941b24c-6791-4993-b363-616eafaad185", - "ff53120c-8fee-489f-88a7-cdac245b92dd" + "55861941-7ec4-480b-800a-bae54e679ceb", + "ffcee30c-ac14-49a3-a634-04205ecc7788" ], "columns": { - "7941b24c-6791-4993-b363-616eafaad185": { + "55861941-7ec4-480b-800a-bae54e679ceb": { "customLabel": true, "dataType": "string", "isBucketed": true, @@ -359,29 +380,23 @@ "params": { "missingBucket": false, "orderBy": { - "columnId": "ff53120c-8fee-489f-88a7-cdac245b92dd", + "columnId": "ffcee30c-ac14-49a3-a634-04205ecc7788", "type": "column" }, "orderDirection": "desc", - "otherBucket": false, - "parentFormat": { - "id": "terms" - }, + "otherBucket": true, "size": 10 }, "scale": "ordinal", "sourceField": "salesforce.apex.media_type" }, - "ff53120c-8fee-489f-88a7-cdac245b92dd": { + "ffcee30c-ac14-49a3-a634-04205ecc7788": { "dataType": "number", "isBucketed": false, "label": "Count of records", "operationType": "count", - "params": { - "emptyAsNull": true - }, "scale": "ratio", - "sourceField": "___records___" + "sourceField": "Records" } }, "incompleteColumns": {} @@ -397,7 +412,7 @@ "meta": { "alias": null, "disabled": false, - "index": "99e1f29f-d65d-4e43-8229-0e7dada3babc", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -412,7 +427,6 @@ } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" @@ -421,17 +435,15 @@ "layers": [ { "categoryDisplay": "default", - "layerId": "ce4e2479-29c1-4aa0-991e-0772b981e53e", + "groups": [ + "55861941-7ec4-480b-800a-bae54e679ceb" + ], + "layerId": "23547c7a-8041-4b0a-856d-ffc03d80fbc0", "layerType": "data", "legendDisplay": "default", - "metrics": [ - "ff53120c-8fee-489f-88a7-cdac245b92dd" - ], + "metric": "ffcee30c-ac14-49a3-a634-04205ecc7788", "nestedLegend": false, - "numberDisplay": "percent", - "primaryGroups": [ - "7941b24c-6791-4993-b363-616eafaad185" - ] + "numberDisplay": "percent" } ], "shape": "pie" @@ -446,45 +458,49 @@ }, "gridData": { "h": 15, - "i": "00d05ee3-74f4-4621-9dc7-04fde76b86d9", - "w": 16, - "x": 32, - "y": 0 + "i": "73688f67-7274-4172-bc72-81581d1b1dc2", + "w": 17, + "x": 31, + "y": 5 }, - "panelIndex": "00d05ee3-74f4-4621-9dc7-04fde76b86d9", + "panelIndex": "73688f67-7274-4172-bc72-81581d1b1dc2", "title": "Responses by media type [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-197919f5-ef5b-4ae9-8432-cd2a91e337d2", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-2ea8d938-401b-4b61-92c4-c476e7d3e4bc", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "4c4c54fa-53f8-4d2d-acc2-387cf2f67f6a", + "name": "filter-index-pattern-0", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "197919f5-ef5b-4ae9-8432-cd2a91e337d2": { + "2ea8d938-401b-4b61-92c4-c476e7d3e4bc": { "columnOrder": [ - "61308466-190f-4872-9976-8e5320f6eee6", - "b00acfd3-e92b-4b7c-bf69-86e3ebf49971", - "d856470e-3075-4c79-a99b-77cb8fd0f5ea" + "5ca49fa3-e0db-4c3f-9116-b0cdba13b3fb", + "d665ca71-d578-4fc0-a7eb-b6c4ea8b31d9", + "69ea92d8-1db1-4dd6-b01f-8ed3937c9ab8" ], "columns": { - "61308466-190f-4872-9976-8e5320f6eee6": { + "5ca49fa3-e0db-4c3f-9116-b0cdba13b3fb": { + "customLabel": true, "dataType": "string", "isBucketed": true, "label": "Top 10 values of salesforce.apex.trigger_name", @@ -492,43 +508,35 @@ "params": { "missingBucket": false, "orderBy": { - "columnId": "d856470e-3075-4c79-a99b-77cb8fd0f5ea", + "columnId": "69ea92d8-1db1-4dd6-b01f-8ed3937c9ab8", "type": "column" }, "orderDirection": "desc", "otherBucket": true, - "parentFormat": { - "id": "terms" - }, "size": 10 }, "scale": "ordinal", "sourceField": "salesforce.apex.trigger_name" }, - "b00acfd3-e92b-4b7c-bf69-86e3ebf49971": { + "69ea92d8-1db1-4dd6-b01f-8ed3937c9ab8": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Apex Trigger", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "d665ca71-d578-4fc0-a7eb-b6c4ea8b31d9": { "dataType": "date", "isBucketed": true, "label": "@timestamp", "operationType": "date_histogram", "params": { - "dropPartials": false, - "includeEmptyRows": true, "interval": "auto" }, "scale": "interval", "sourceField": "@timestamp" - }, - "d856470e-3075-4c79-a99b-77cb8fd0f5ea": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Apex Trigger", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" } }, "incompleteColumns": {} @@ -544,7 +552,7 @@ "meta": { "alias": null, "disabled": false, - "index": "4c4c54fa-53f8-4d2d-acc2-387cf2f67f6a", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -559,7 +567,6 @@ } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" @@ -568,15 +575,15 @@ "layers": [ { "accessors": [ - "d856470e-3075-4c79-a99b-77cb8fd0f5ea" + "69ea92d8-1db1-4dd6-b01f-8ed3937c9ab8" ], - "layerId": "197919f5-ef5b-4ae9-8432-cd2a91e337d2", + "layerId": "2ea8d938-401b-4b61-92c4-c476e7d3e4bc", "layerType": "data", "position": "top", "seriesType": "line", "showGridlines": false, - "splitAccessor": "61308466-190f-4872-9976-8e5320f6eee6", - "xAccessor": "b00acfd3-e92b-4b7c-bf69-86e3ebf49971" + "splitAccessor": "5ca49fa3-e0db-4c3f-9116-b0cdba13b3fb", + "xAccessor": "d665ca71-d578-4fc0-a7eb-b6c4ea8b31d9" } ], "legend": { @@ -585,7 +592,13 @@ }, "preferredSeriesType": "line", "title": "Empty XY chart", - "valueLabels": "hide" + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } } }, "title": "", @@ -596,102 +609,105 @@ "hidePanelTitles": false }, "gridData": { - "h": 17, - "i": "0a33a409-0f61-42be-82ca-7ef8b8ec052f", + "h": 15, + "i": "be541fae-8b1f-40e5-9fcc-e552b3544773", "w": 48, "x": 0, - "y": 15 + "y": 20 }, - "panelIndex": "0a33a409-0f61-42be-82ca-7ef8b8ec052f", + "panelIndex": "be541fae-8b1f-40e5-9fcc-e552b3544773", "title": "Top 10 apex triggers over time [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-1ddfa426-0787-44a0-a6d4-7ba89384d487", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-dbfc2649-500a-4d9e-8035-f2094fc75c86", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-395b6aa2-d6cd-406e-9559-a0ed2b833854", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-9518bc3e-d87d-49f2-ba14-84a071cf9140", + "name": "filter-index-pattern-1", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "1ddfa426-0787-44a0-a6d4-7ba89384d487": { + "395b6aa2-d6cd-406e-9559-a0ed2b833854": { "columnOrder": [ - "189cd662-a8bb-44dd-b11c-a6006f3deb18", - "80b5b013-c11c-440a-af98-1d98a8c81eb4" + "7d694982-04a5-4e47-9aa9-eea47b40f505", + "7ac0b6dc-60e0-46b8-81f9-519459e354b3" ], "columns": { - "189cd662-a8bb-44dd-b11c-a6006f3deb18": { + "7ac0b6dc-60e0-46b8-81f9-519459e354b3": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Average run time", + "operationType": "average", + "scale": "ratio", + "sourceField": "salesforce.apex.run_time" + }, + "7d694982-04a5-4e47-9aa9-eea47b40f505": { "dataType": "date", "isBucketed": true, "label": "@timestamp", "operationType": "date_histogram", "params": { - "dropPartials": false, - "includeEmptyRows": true, "interval": "auto" }, "scale": "interval", "sourceField": "@timestamp" - }, - "80b5b013-c11c-440a-af98-1d98a8c81eb4": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Average run time", - "operationType": "average", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "salesforce.apex.run_time" } }, "incompleteColumns": {} }, - "9518bc3e-d87d-49f2-ba14-84a071cf9140": { + "dbfc2649-500a-4d9e-8035-f2094fc75c86": { "columnOrder": [ - "40d6a20f-660b-4268-b801-c1c46ff7ea34", - "65763421-d4aa-4e0d-8cfc-e7334715d1b9" + "ba09599b-cc6f-420b-bd27-e9126e585c0f", + "f6bac9bb-7015-41d6-8c02-ffede3aeba7e" ], "columns": { - "40d6a20f-660b-4268-b801-c1c46ff7ea34": { + "ba09599b-cc6f-420b-bd27-e9126e585c0f": { "dataType": "date", "isBucketed": true, "label": "@timestamp", "operationType": "date_histogram", "params": { - "dropPartials": false, - "includeEmptyRows": true, "interval": "auto" }, "scale": "interval", "sourceField": "@timestamp" }, - "65763421-d4aa-4e0d-8cfc-e7334715d1b9": { + "f6bac9bb-7015-41d6-8c02-ffede3aeba7e": { "customLabel": true, "dataType": "number", "isBucketed": false, "label": "Request count", "operationType": "count", - "params": { - "emptyAsNull": true - }, "scale": "ratio", - "sourceField": "___records___" + "sourceField": "Records" } }, "incompleteColumns": {} @@ -699,50 +715,96 @@ } } }, - "filters": [], - "internalReferences": [], + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + }, + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "salesforce.apex.run_time" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-1", + "key": "salesforce.apex.run_time", + "negate": false, + "type": "exists" + } + } + ], "query": { "language": "kuery", - "query": "event.dataset: salesforce.apex* AND salesforce.apex.run_time: *" + "query": "" }, "visualization": { "axisTitlesVisibilitySettings": { - "x": false, + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, "yLeft": true, "yRight": true }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, "layers": [ { "accessors": [ - "65763421-d4aa-4e0d-8cfc-e7334715d1b9" + "f6bac9bb-7015-41d6-8c02-ffede3aeba7e" ], - "layerId": "9518bc3e-d87d-49f2-ba14-84a071cf9140", + "layerId": "dbfc2649-500a-4d9e-8035-f2094fc75c86", "layerType": "data", "position": "top", - "seriesType": "bar", + "seriesType": "bar_stacked", "showGridlines": false, - "xAccessor": "40d6a20f-660b-4268-b801-c1c46ff7ea34", + "xAccessor": "ba09599b-cc6f-420b-bd27-e9126e585c0f", "yConfig": [ { - "axisMode": "left", "color": "#00e499", - "forAccessor": "65763421-d4aa-4e0d-8cfc-e7334715d1b9" + "forAccessor": "f6bac9bb-7015-41d6-8c02-ffede3aeba7e" } ] }, { "accessors": [ - "80b5b013-c11c-440a-af98-1d98a8c81eb4" + "7ac0b6dc-60e0-46b8-81f9-519459e354b3" ], - "layerId": "1ddfa426-0787-44a0-a6d4-7ba89384d487", + "layerId": "395b6aa2-d6cd-406e-9559-a0ed2b833854", "layerType": "data", "seriesType": "line", - "xAccessor": "189cd662-a8bb-44dd-b11c-a6006f3deb18", + "xAccessor": "7d694982-04a5-4e47-9aa9-eea47b40f505", "yConfig": [ { - "axisMode": "right", "color": "#ff3a66", - "forAccessor": "80b5b013-c11c-440a-af98-1d98a8c81eb4" + "forAccessor": "7ac0b6dc-60e0-46b8-81f9-519459e354b3" } ] } @@ -752,14 +814,18 @@ "position": "right" }, "preferredSeriesType": "bar_stacked", - "title": "Empty XY chart", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, "valueLabels": "hide", - "valuesInLegend": true, - "xTitle": "", - "yRightExtent": { - "mode": "dataBounds" + "yLeftExtent": { + "mode": "full" }, - "yRightTitle": "Average run time (ms)" + "yRightExtent": { + "mode": "full" + } } }, "title": "", @@ -770,62 +836,62 @@ "hidePanelTitles": false }, "gridData": { - "h": 17, - "i": "b8767bce-c060-4957-acfa-9f289be40643", + "h": 16, + "i": "fe66cbe2-e564-49ae-a724-6440517ceb3b", "w": 48, "x": 0, - "y": 32 + "y": 35 }, - "panelIndex": "b8767bce-c060-4957-acfa-9f289be40643", + "panelIndex": "fe66cbe2-e564-49ae-a724-6440517ceb3b", "title": "Apex performance over time [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-e5191636-4eda-47ed-a871-fbbeecb288b2", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-f73f968b-392e-4f0e-8c9b-351ad7370ddd", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "583c98ae-1213-41a0-b63a-b064df93a70a", + "name": "filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "5512a380-a0f0-43d4-8dc7-8664e8187b34", + "name": "filter-index-pattern-1", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "e5191636-4eda-47ed-a871-fbbeecb288b2": { + "f73f968b-392e-4f0e-8c9b-351ad7370ddd": { "columnOrder": [ - "d6544130-d324-4e62-8147-bf8206321aa2", - "c06e0b3b-14ec-4692-8b1d-1f695ee57620" + "e50a7586-31dd-47bd-8b42-2a02dd27aec9", + "148d81bd-6204-41a1-99d7-26580ab2a3e7" ], "columns": { - "c06e0b3b-14ec-4692-8b1d-1f695ee57620": { + "148d81bd-6204-41a1-99d7-26580ab2a3e7": { "customLabel": true, "dataType": "number", "isBucketed": false, "label": "SOQL queries", "operationType": "count", - "params": { - "emptyAsNull": true - }, "scale": "ratio", - "sourceField": "___records___" + "sourceField": "Records" }, - "d6544130-d324-4e62-8147-bf8206321aa2": { + "e50a7586-31dd-47bd-8b42-2a02dd27aec9": { "customLabel": true, "dataType": "string", "isBucketed": true, @@ -834,14 +900,11 @@ "params": { "missingBucket": false, "orderBy": { - "columnId": "c06e0b3b-14ec-4692-8b1d-1f695ee57620", + "columnId": "148d81bd-6204-41a1-99d7-26580ab2a3e7", "type": "column" }, "orderDirection": "desc", - "otherBucket": false, - "parentFormat": { - "id": "terms" - }, + "otherBucket": true, "size": 10 }, "scale": "ordinal", @@ -861,7 +924,7 @@ "meta": { "alias": null, "disabled": false, - "index": "583c98ae-1213-41a0-b63a-b064df93a70a", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -882,7 +945,7 @@ "meta": { "alias": null, "disabled": false, - "index": "5512a380-a0f0-43d4-8dc7-8664e8187b34", + "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -897,42 +960,40 @@ } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" }, "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, "layers": [ { "accessors": [ - "c06e0b3b-14ec-4692-8b1d-1f695ee57620" + "148d81bd-6204-41a1-99d7-26580ab2a3e7" ], - "layerId": "e5191636-4eda-47ed-a871-fbbeecb288b2", + "layerId": "f73f968b-392e-4f0e-8c9b-351ad7370ddd", "layerType": "data", "position": "top", "seriesType": "bar_stacked", "showGridlines": false, - "xAccessor": "d6544130-d324-4e62-8147-bf8206321aa2" + "xAccessor": "e50a7586-31dd-47bd-8b42-2a02dd27aec9" } ], "legend": { "isVisible": true, - "position": "right", - "showSingleSeries": true + "position": "right" }, "preferredSeriesType": "bar_stacked", "title": "Empty XY chart", "valueLabels": "hide", - "xTitle": "" + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } } }, - "title": "Top 10 SOQL queries per entry point [Logs Salesforce]", + "title": "", "type": "lens", "visualizationType": "lnsXY" }, @@ -941,70 +1002,49 @@ }, "gridData": { "h": 16, - "i": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa", + "i": "574ede56-2b30-49a5-8888-8ae368c856af", "w": 48, "x": 0, - "y": 49 + "y": 51 }, - "panelIndex": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa", + "panelIndex": "574ede56-2b30-49a5-8888-8ae368c856af", "title": "Top 10 SOQL queries per entry point [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-70a83117-8122-47eb-80e0-dc92fc2602bb", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-b53e356e-52be-419c-bf3d-282ec655706d", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "7140fce8-8a7e-4f59-9c44-52bfbb63a30b", + "name": "filter-index-pattern-0", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "70a83117-8122-47eb-80e0-dc92fc2602bb": { + "b53e356e-52be-419c-bf3d-282ec655706d": { "columnOrder": [ - "bb7f05fd-4314-447c-87c9-7be78c2e3e71", - "369b52fb-dcd6-4e19-bef8-adf4a5c73242", - "71d2e21f-621b-457b-b574-c8be7fb58b72" + "86ab6d3f-99be-44a8-9050-1a79992a7948", + "f3682f79-73a9-4bd4-aff4-d1be1c81f7dd", + "c231ae4b-9cb7-4bc1-96f2-06870e504081" ], "columns": { - "369b52fb-dcd6-4e19-bef8-adf4a5c73242": { - "dataType": "date", - "isBucketed": true, - "label": "@timestamp", - "operationType": "date_histogram", - "params": { - "dropPartials": false, - "includeEmptyRows": true, - "interval": "auto" - }, - "scale": "interval", - "sourceField": "@timestamp" - }, - "71d2e21f-621b-457b-b574-c8be7fb58b72": { + "86ab6d3f-99be-44a8-9050-1a79992a7948": { "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Trigger count", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "bb7f05fd-4314-447c-87c9-7be78c2e3e71": { "dataType": "string", "isBucketed": true, "label": "Top 10 values of salesforce.apex.trigger_type", @@ -1012,18 +1052,35 @@ "params": { "missingBucket": false, "orderBy": { - "columnId": "71d2e21f-621b-457b-b574-c8be7fb58b72", + "columnId": "c231ae4b-9cb7-4bc1-96f2-06870e504081", "type": "column" }, "orderDirection": "desc", "otherBucket": true, - "parentFormat": { - "id": "terms" - }, "size": 10 }, "scale": "ordinal", "sourceField": "salesforce.apex.trigger_type" + }, + "c231ae4b-9cb7-4bc1-96f2-06870e504081": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Trigger count", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "f3682f79-73a9-4bd4-aff4-d1be1c81f7dd": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" } }, "incompleteColumns": {} @@ -1039,7 +1096,7 @@ "meta": { "alias": null, "disabled": false, - "index": "7140fce8-8a7e-4f59-9c44-52bfbb63a30b", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -1054,40 +1111,23 @@ } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" }, "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "fittingFunction": "None", - "gridlinesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "labelsOrientation": { - "x": 0, - "yLeft": 0, - "yRight": 0 - }, "layers": [ { "accessors": [ - "71d2e21f-621b-457b-b574-c8be7fb58b72" + "c231ae4b-9cb7-4bc1-96f2-06870e504081" ], - "layerId": "70a83117-8122-47eb-80e0-dc92fc2602bb", + "layerId": "b53e356e-52be-419c-bf3d-282ec655706d", "layerType": "data", "position": "top", "seriesType": "line", "showGridlines": false, - "splitAccessor": "bb7f05fd-4314-447c-87c9-7be78c2e3e71", - "xAccessor": "369b52fb-dcd6-4e19-bef8-adf4a5c73242" + "splitAccessor": "86ab6d3f-99be-44a8-9050-1a79992a7948", + "xAccessor": "f3682f79-73a9-4bd4-aff4-d1be1c81f7dd" } ], "legend": { @@ -1095,13 +1135,14 @@ "position": "right" }, "preferredSeriesType": "line", - "tickLabelsVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, + "title": "Empty XY chart", "valueLabels": "hide", - "xTitle": "Trigger type" + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } } }, "title": "", @@ -1112,57 +1153,48 @@ "hidePanelTitles": false }, "gridData": { - "h": 16, - "i": "36b2995c-f5ba-4699-b660-f5546cefd2a6", + "h": 15, + "i": "f8ecb623-ff3c-4422-9f91-2676fe2e58e0", "w": 24, "x": 0, - "y": 65 + "y": 67 }, - "panelIndex": "36b2995c-f5ba-4699-b660-f5546cefd2a6", + "panelIndex": "f8ecb623-ff3c-4422-9f91-2676fe2e58e0", "title": "Trigger trends over time [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-70a83117-8122-47eb-80e0-dc92fc2602bb", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-b2559ffe-87f5-4f0e-a041-671ae182cad2", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "2bf12d97-e75b-4648-88f8-39892b8ca052", + "name": "filter-index-pattern-0", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "70a83117-8122-47eb-80e0-dc92fc2602bb": { + "b2559ffe-87f5-4f0e-a041-671ae182cad2": { "columnOrder": [ - "fa79fcac-32b6-4a66-8ead-cc5bf315c3ab", - "71d2e21f-621b-457b-b574-c8be7fb58b72" + "b3a46082-815b-44d5-a8ab-77b1f4aa3e39", + "bf492b8e-efdf-423a-a3c2-33b59eee9cc2" ], "columns": { - "71d2e21f-621b-457b-b574-c8be7fb58b72": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Trigger count", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "fa79fcac-32b6-4a66-8ead-cc5bf315c3ab": { + "b3a46082-815b-44d5-a8ab-77b1f4aa3e39": { "dataType": "string", "isBucketed": true, "label": "Filters", @@ -1193,6 +1225,15 @@ ] }, "scale": "ordinal" + }, + "bf492b8e-efdf-423a-a3c2-33b59eee9cc2": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Trigger count", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" } }, "incompleteColumns": {} @@ -1208,7 +1249,7 @@ "meta": { "alias": null, "disabled": false, - "index": "2bf12d97-e75b-4648-88f8-39892b8ca052", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -1223,7 +1264,6 @@ } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" @@ -1234,17 +1274,28 @@ "yLeft": true, "yRight": true }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, "layers": [ { "accessors": [ - "71d2e21f-621b-457b-b574-c8be7fb58b72" + "bf492b8e-efdf-423a-a3c2-33b59eee9cc2" ], - "layerId": "70a83117-8122-47eb-80e0-dc92fc2602bb", + "layerId": "b2559ffe-87f5-4f0e-a041-671ae182cad2", "layerType": "data", "position": "top", "seriesType": "bar_horizontal", "showGridlines": false, - "xAccessor": "fa79fcac-32b6-4a66-8ead-cc5bf315c3ab" + "xAccessor": "b3a46082-815b-44d5-a8ab-77b1f4aa3e39" } ], "legend": { @@ -1252,9 +1303,19 @@ "position": "right" }, "preferredSeriesType": "bar_horizontal", - "title": "Empty XY chart", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, "valueLabels": "hide", - "xTitle": "Trigger type" + "xTitle": "Trigger type", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } } }, "title": "", @@ -1265,45 +1326,48 @@ "hidePanelTitles": false }, "gridData": { - "h": 16, - "i": "ac98a6ec-c930-45a7-b1aa-0877e2f8d281", + "h": 15, + "i": "c713f492-059e-48c9-bddb-bfa5dff4379a", "w": 24, "x": 24, - "y": 65 + "y": 67 }, - "panelIndex": "ac98a6ec-c930-45a7-b1aa-0877e2f8d281", + "panelIndex": "c713f492-059e-48c9-bddb-bfa5dff4379a", "title": "Number of triggers by type [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "name": "indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "f0b44222-29c9-47aa-9645-36c7f020be1f", + "name": "indexpattern-datasource-layer-f2b00fda-234b-44d4-9ce5-7cd8c28efce3", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "0c3855f9-23b4-460b-9127-4ddcacbeaf97": { + "f2b00fda-234b-44d4-9ce5-7cd8c28efce3": { "columnOrder": [ - "1d579c7b-dca3-47eb-b48d-2f4d597d4767", - "f954088d-720b-41b9-89c1-4c686fee1d1a" + "844908c9-57a6-4468-b7bd-d7261afdc379", + "c20cc0fc-5742-405c-86e9-f535058df2b2" ], "columns": { - "1d579c7b-dca3-47eb-b48d-2f4d597d4767": { + "844908c9-57a6-4468-b7bd-d7261afdc379": { "customLabel": true, "dataType": "string", "isBucketed": true, @@ -1312,30 +1376,24 @@ "params": { "missingBucket": false, "orderBy": { - "columnId": "f954088d-720b-41b9-89c1-4c686fee1d1a", + "columnId": "c20cc0fc-5742-405c-86e9-f535058df2b2", "type": "column" }, "orderDirection": "desc", "otherBucket": true, - "parentFormat": { - "id": "terms" - }, "size": 10 }, "scale": "ordinal", "sourceField": "user.roles" }, - "f954088d-720b-41b9-89c1-4c686fee1d1a": { + "c20cc0fc-5742-405c-86e9-f535058df2b2": { "customLabel": true, "dataType": "number", "isBucketed": false, "label": "Requests count", "operationType": "count", - "params": { - "emptyAsNull": true - }, "scale": "ratio", - "sourceField": "___records___" + "sourceField": "Records" } }, "incompleteColumns": {} @@ -1351,7 +1409,7 @@ "meta": { "alias": null, "disabled": false, - "index": "f0b44222-29c9-47aa-9645-36c7f020be1f", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -1366,7 +1424,6 @@ } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" @@ -1375,23 +1432,29 @@ "layers": [ { "accessors": [ - "f954088d-720b-41b9-89c1-4c686fee1d1a" + "c20cc0fc-5742-405c-86e9-f535058df2b2" ], - "layerId": "0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "layerId": "f2b00fda-234b-44d4-9ce5-7cd8c28efce3", "layerType": "data", "position": "top", "seriesType": "bar", "showGridlines": false, - "xAccessor": "1d579c7b-dca3-47eb-b48d-2f4d597d4767" + "xAccessor": "844908c9-57a6-4468-b7bd-d7261afdc379" } ], "legend": { "isVisible": true, "position": "right" }, - "preferredSeriesType": "bar", + "preferredSeriesType": "bar_stacked", "title": "Empty XY chart", - "valueLabels": "hide" + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } } }, "title": "", @@ -1402,45 +1465,43 @@ "hidePanelTitles": false }, "gridData": { - "h": 16, - "i": "5bbe083c-eff1-4abd-b3a2-012303c07523", + "h": 15, + "i": "9d4bd40c-a3b5-4668-a58a-118e352c3ad2", "w": 24, "x": 0, - "y": 81 + "y": 82 }, - "panelIndex": "5bbe083c-eff1-4abd-b3a2-012303c07523", + "panelIndex": "9d4bd40c-a3b5-4668-a58a-118e352c3ad2", "title": "Requests per user type [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "name": "indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "f810d827-8c4a-4c9f-8487-3e3a67610219", + "name": "indexpattern-datasource-layer-7b43a22c-ad61-444d-a002-8cc4116b4854", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "0c3855f9-23b4-460b-9127-4ddcacbeaf97": { + "7b43a22c-ad61-444d-a002-8cc4116b4854": { "columnOrder": [ - "1d579c7b-dca3-47eb-b48d-2f4d597d4767", - "f954088d-720b-41b9-89c1-4c686fee1d1a" + "6619dbcd-313a-4a14-8991-8f4110656b5d", + "829d388d-4c2b-4e04-a26b-1a1ac2bdb434" ], "columns": { - "1d579c7b-dca3-47eb-b48d-2f4d597d4767": { + "6619dbcd-313a-4a14-8991-8f4110656b5d": { "customLabel": true, "dataType": "string", "isBucketed": true, @@ -1449,31 +1510,24 @@ "params": { "missingBucket": false, "orderBy": { - "columnId": "f954088d-720b-41b9-89c1-4c686fee1d1a", + "columnId": "829d388d-4c2b-4e04-a26b-1a1ac2bdb434", "type": "column" }, "orderDirection": "desc", "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "secondaryFields": [], "size": 10 }, "scale": "ordinal", "sourceField": "salesforce.apex.user_agent" }, - "f954088d-720b-41b9-89c1-4c686fee1d1a": { + "829d388d-4c2b-4e04-a26b-1a1ac2bdb434": { "customLabel": true, "dataType": "number", "isBucketed": false, "label": "Response count", "operationType": "count", - "params": { - "emptyAsNull": true - }, "scale": "ratio", - "sourceField": "___records___" + "sourceField": "Records" } }, "incompleteColumns": {} @@ -1481,30 +1535,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "f810d827-8c4a-4c9f-8487-3e3a67610219", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], - "internalReferences": [], + "filters": [], "query": { "language": "kuery", "query": "" @@ -1513,23 +1544,29 @@ "layers": [ { "accessors": [ - "f954088d-720b-41b9-89c1-4c686fee1d1a" + "829d388d-4c2b-4e04-a26b-1a1ac2bdb434" ], - "layerId": "0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "layerId": "7b43a22c-ad61-444d-a002-8cc4116b4854", "layerType": "data", "position": "top", "seriesType": "bar", "showGridlines": false, - "xAccessor": "1d579c7b-dca3-47eb-b48d-2f4d597d4767" + "xAccessor": "6619dbcd-313a-4a14-8991-8f4110656b5d" } ], "legend": { "isVisible": true, "position": "right" }, - "preferredSeriesType": "bar", + "preferredSeriesType": "bar_stacked", "title": "Empty XY chart", - "valueLabels": "hide" + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } } }, "title": "", @@ -1540,91 +1577,86 @@ "hidePanelTitles": false }, "gridData": { - "h": 16, - "i": "97d94d13-e382-434e-99cb-dbff367cce72", + "h": 15, + "i": "f26b8459-e1af-4cee-92ac-9e91348c2c16", "w": 24, "x": 24, - "y": 81 + "y": 82 }, - "panelIndex": "97d94d13-e382-434e-99cb-dbff367cce72", + "panelIndex": "f26b8459-e1af-4cee-92ac-9e91348c2c16", "title": "Responses per user agent [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-5e5e7f82-ace7-426a-975b-c01a009ccc21", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-92994644-eb5e-41a8-871b-b0911dcbf481", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "d41d8228-27a6-47d5-9228-311aae15c18f", + "name": "filter-index-pattern-0", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "5e5e7f82-ace7-426a-975b-c01a009ccc21": { + "92994644-eb5e-41a8-871b-b0911dcbf481": { "columnOrder": [ - "ffc42d57-84ce-42a8-966d-53b68f384ffd", - "67d65022-1482-4a0c-b68f-f9b134807989", - "30970875-b396-4f47-9b79-1defd279743f" + "04755ce2-d91a-4fe9-8384-3247ccdb2980", + "5ba3835a-9391-4298-8cc6-3c6fa0678e5b", + "452aad19-1d09-4cc3-9e86-b6a84a6d0b6c" ], "columns": { - "30970875-b396-4f47-9b79-1defd279743f": { + "04755ce2-d91a-4fe9-8384-3247ccdb2980": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Entity name", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "452aad19-1d09-4cc3-9e86-b6a84a6d0b6c", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.apex.entity_name" + }, + "452aad19-1d09-4cc3-9e86-b6a84a6d0b6c": { "customLabel": true, "dataType": "number", "isBucketed": false, "label": "Apex trigger name", "operationType": "unique_count", - "params": { - "emptyAsNull": true - }, "scale": "ratio", "sourceField": "salesforce.apex.trigger_name" }, - "67d65022-1482-4a0c-b68f-f9b134807989": { + "5ba3835a-9391-4298-8cc6-3c6fa0678e5b": { "dataType": "date", "isBucketed": true, "label": "@timestamp", "operationType": "date_histogram", "params": { - "dropPartials": false, - "includeEmptyRows": true, "interval": "auto" }, "scale": "interval", "sourceField": "@timestamp" - }, - "ffc42d57-84ce-42a8-966d-53b68f384ffd": { - "customLabel": true, - "dataType": "string", - "isBucketed": true, - "label": "Entity name", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "30970875-b396-4f47-9b79-1defd279743f", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "size": 10 - }, - "scale": "ordinal", - "sourceField": "salesforce.apex.entity_name" } }, "incompleteColumns": {} @@ -1640,7 +1672,7 @@ "meta": { "alias": null, "disabled": false, - "index": "d41d8228-27a6-47d5-9228-311aae15c18f", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -1655,40 +1687,23 @@ } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" }, "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "fittingFunction": "None", - "gridlinesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "labelsOrientation": { - "x": 0, - "yLeft": 0, - "yRight": 0 - }, "layers": [ { "accessors": [ - "30970875-b396-4f47-9b79-1defd279743f" + "452aad19-1d09-4cc3-9e86-b6a84a6d0b6c" ], - "layerId": "5e5e7f82-ace7-426a-975b-c01a009ccc21", + "layerId": "92994644-eb5e-41a8-871b-b0911dcbf481", "layerType": "data", "position": "top", "seriesType": "bar_stacked", "showGridlines": false, - "splitAccessor": "ffc42d57-84ce-42a8-966d-53b68f384ffd", - "xAccessor": "67d65022-1482-4a0c-b68f-f9b134807989" + "splitAccessor": "04755ce2-d91a-4fe9-8384-3247ccdb2980", + "xAccessor": "5ba3835a-9391-4298-8cc6-3c6fa0678e5b" } ], "legend": { @@ -1696,12 +1711,14 @@ "position": "right" }, "preferredSeriesType": "bar_stacked", - "tickLabelsVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" }, - "valueLabels": "hide" + "yRightExtent": { + "mode": "full" + } } }, "title": "", @@ -1712,74 +1729,70 @@ "hidePanelTitles": false }, "gridData": { - "h": 16, - "i": "04f06541-b6cf-4a31-865e-361ff701a4c0", + "h": 15, + "i": "cc5bf3a1-5a33-4204-8efc-32b2b1629e63", "w": 24, "x": 0, "y": 97 }, - "panelIndex": "04f06541-b6cf-4a31-865e-361ff701a4c0", + "panelIndex": "cc5bf3a1-5a33-4204-8efc-32b2b1629e63", "title": "Triggers by entity categorization [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-df249e19-0f2d-4700-96d3-0521bfff6614", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-84a0be7e-5127-485b-9ce2-9a9ba033a74c", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "3aacd3da-ed48-47df-b4ff-5e57de942969", + "name": "filter-index-pattern-0", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "df249e19-0f2d-4700-96d3-0521bfff6614": { + "84a0be7e-5127-485b-9ce2-9a9ba033a74c": { "columnOrder": [ - "cb7add83-b77d-41a2-9600-55954e7d271e", - "4d47a9d2-3346-4cca-9381-817a87cfe236" + "4282f56c-5d7a-49e2-aa89-8533831afb6b", + "270e21c6-f213-4df6-bbcc-a4735f99028d" ], "columns": { - "4d47a9d2-3346-4cca-9381-817a87cfe236": { + "270e21c6-f213-4df6-bbcc-a4735f99028d": { "customLabel": true, "dataType": "number", "isBucketed": false, "label": "Request count", "operationType": "count", - "params": { - "emptyAsNull": true - }, "scale": "ratio", - "sourceField": "___records___" + "sourceField": "Records" }, - "cb7add83-b77d-41a2-9600-55954e7d271e": { - "customLabel": true, + "4282f56c-5d7a-49e2-aa89-8533831afb6b": { "dataType": "string", "isBucketed": true, - "label": "Entry point", + "label": "Top values of salesforce.apex.entry_point", "operationType": "terms", "params": { "missingBucket": false, "orderBy": { - "columnId": "4d47a9d2-3346-4cca-9381-817a87cfe236", + "columnId": "270e21c6-f213-4df6-bbcc-a4735f99028d", "type": "column" }, "orderDirection": "desc", - "otherBucket": false, - "parentFormat": { - "id": "terms" - }, - "size": 10 + "otherBucket": true, + "size": 5 }, "scale": "ordinal", "sourceField": "salesforce.apex.entry_point" @@ -1798,7 +1811,7 @@ "meta": { "alias": null, "disabled": false, - "index": "3aacd3da-ed48-47df-b4ff-5e57de942969", + "indexRefName": "filter-index-pattern-0", "key": "event.dataset", "negate": false, "params": { @@ -1813,7 +1826,6 @@ } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" @@ -1821,16 +1833,15 @@ "visualization": { "columns": [ { - "columnId": "cb7add83-b77d-41a2-9600-55954e7d271e" + "columnId": "4282f56c-5d7a-49e2-aa89-8533831afb6b" }, { - "columnId": "4d47a9d2-3346-4cca-9381-817a87cfe236" + "columnId": "270e21c6-f213-4df6-bbcc-a4735f99028d", + "isTransposed": false } ], - "headerRowHeight": "auto", - "layerId": "df249e19-0f2d-4700-96d3-0521bfff6614", - "layerType": "data", - "rowHeight": "auto" + "layerId": "84a0be7e-5127-485b-9ce2-9a9ba033a74c", + "layerType": "data" } }, "title": "", @@ -1841,144 +1852,115 @@ "hidePanelTitles": false }, "gridData": { - "h": 16, - "i": "a2b4090c-077d-495a-b002-0aceddb498c7", + "h": 15, + "i": "5904bcb3-1616-422d-855e-a86e6a69f802", "w": 24, "x": 24, "y": 97 }, - "panelIndex": "a2b4090c-077d-495a-b002-0aceddb498c7", + "panelIndex": "5904bcb3-1616-422d-855e-a86e6a69f802", "title": "Top 10 entry points by request count [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" }, { "embeddableConfig": { "attributes": { - "description": "", "references": [ { "id": "filebeat-*", - "name": "indexpattern-datasource-layer-d0976ec2-a99a-4fb6-b537-d6822e644ebb", + "name": "indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "f5e31933-76e5-4f4f-ba08-13e0d6d86c33", + "name": "indexpattern-datasource-layer-be7d276c-1f0a-4697-a1bd-f92c2e835daa", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "01e5ec14-b8db-4040-80e7-75bc9979071e", + "name": "filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-1", "type": "index-pattern" } ], "state": { - "adHocDataViews": {}, "datasourceStates": { - "formBased": { + "indexpattern": { "layers": { - "d0976ec2-a99a-4fb6-b537-d6822e644ebb": { + "be7d276c-1f0a-4697-a1bd-f92c2e835daa": { "columnOrder": [ - "35da24b7-398e-433a-85d9-49e7862e0813", - "2128b4e0-6345-485e-a410-87fa7ed6e610", - "20bb0e74-5ce7-4e96-9840-bb8cb4dd08c0", - "2b4a5fc5-a0ac-4b56-8543-677eb5793a5b", - "2bcf9e0d-7b52-44f6-a7ad-ad9209c599cc" + "2ed13d2d-70a3-4fd2-af65-dd655d880ad7", + "6afeaef8-f180-4d7e-8913-591ccd00973f", + "e9363c6b-f32e-4d19-adb4-c14777faa3a4", + "c4c26acd-dbc6-4ba9-bd72-37847db71d7a", + "ffaaffdc-d4ab-4d83-a66d-f506436a18ac" ], "columns": { - "20bb0e74-5ce7-4e96-9840-bb8cb4dd08c0": { + "2ed13d2d-70a3-4fd2-af65-dd655d880ad7": { "customLabel": true, "dataType": "string", - "filter": { - "language": "kuery", - "query": "salesforce.apex.action: *" - }, - "isBucketed": false, - "label": "Action", - "operationType": "last_value", + "isBucketed": true, + "label": "Entity", + "operationType": "terms", "params": { - "sortField": "@timestamp" + "missingBucket": false, + "orderBy": { + "columnId": "6afeaef8-f180-4d7e-8913-591ccd00973f", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 }, "scale": "ordinal", - "sourceField": "salesforce.apex.action" + "sourceField": "salesforce.apex.entity" }, - "2128b4e0-6345-485e-a410-87fa7ed6e610": { + "6afeaef8-f180-4d7e-8913-591ccd00973f": { "customLabel": true, - "dataType": "date", - "filter": { - "language": "kuery", - "query": "@timestamp: *" - }, + "dataType": "number", "isBucketed": false, "label": "Timestamp", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "@timestamp" + }, + "c4c26acd-dbc6-4ba9-bd72-37847db71d7a": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Throughput", "operationType": "last_value", "params": { "sortField": "@timestamp" }, "scale": "ratio", - "sourceField": "@timestamp" + "sourceField": "salesforce.apex.throughput" }, - "2b4a5fc5-a0ac-4b56-8543-677eb5793a5b": { + "e9363c6b-f32e-4d19-adb4-c14777faa3a4": { "customLabel": true, "dataType": "string", - "filter": { - "language": "kuery", - "query": "salesforce.apex.throughput: *" - }, "isBucketed": false, - "label": "Throughput", + "label": "Action", "operationType": "last_value", "params": { "sortField": "@timestamp" }, "scale": "ordinal", - "sourceField": "salesforce.apex.throughput" + "sourceField": "salesforce.apex.action" }, - "2bcf9e0d-7b52-44f6-a7ad-ad9209c599cc": { + "ffaaffdc-d4ab-4d83-a66d-f506436a18ac": { "customLabel": true, "dataType": "number", - "filter": { - "language": "kuery", - "query": "\"salesforce.apex.execute_ms\": *" - }, "isBucketed": false, "label": "Execute time (ms)", - "operationType": "last_value", - "params": { - "format": { - "id": "number", - "params": { - "decimals": 0 - } - }, - "sortField": "@timestamp" - }, + "operationType": "median", "scale": "ratio", "sourceField": "salesforce.apex.execute_ms" - }, - "35da24b7-398e-433a-85d9-49e7862e0813": { - "customLabel": true, - "dataType": "string", - "isBucketed": true, - "label": "Entity", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "2128b4e0-6345-485e-a410-87fa7ed6e610", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "secondaryFields": [], - "size": 10 - }, - "scale": "ordinal", - "sourceField": "salesforce.apex.entity" } }, "incompleteColumns": {} @@ -1994,17 +1976,17 @@ "meta": { "alias": null, "disabled": false, - "index": "f5e31933-76e5-4f4f-ba08-13e0d6d86c33", - "key": "event.action", + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", "negate": false, "params": { - "query": "apex-external-custom-callout" + "query": "salesforce.apex" }, "type": "phrase" }, "query": { "match_phrase": { - "event.action": "apex-external-custom-callout" + "event.dataset": "salesforce.apex" } } }, @@ -2015,22 +1997,21 @@ "meta": { "alias": null, "disabled": false, - "index": "01e5ec14-b8db-4040-80e7-75bc9979071e", - "key": "event.dataset", + "indexRefName": "filter-index-pattern-1", + "key": "event.action", "negate": false, "params": { - "query": "salesforce.apex" + "query": "apex-external-custom-callout" }, "type": "phrase" }, "query": { "match_phrase": { - "event.dataset": "salesforce.apex" + "event.action": "apex-external-custom-callout" } } } ], - "internalReferences": [], "query": { "language": "kuery", "query": "" @@ -2038,38 +2019,28 @@ "visualization": { "columns": [ { - "alignment": "center", - "columnId": "35da24b7-398e-433a-85d9-49e7862e0813", + "columnId": "6afeaef8-f180-4d7e-8913-591ccd00973f", "isTransposed": false }, { - "alignment": "center", - "columnId": "20bb0e74-5ce7-4e96-9840-bb8cb4dd08c0", + "columnId": "e9363c6b-f32e-4d19-adb4-c14777faa3a4", "isTransposed": false }, { - "alignment": "center", - "columnId": "2b4a5fc5-a0ac-4b56-8543-677eb5793a5b", + "columnId": "c4c26acd-dbc6-4ba9-bd72-37847db71d7a", "isTransposed": false }, { - "alignment": "center", - "columnId": "2128b4e0-6345-485e-a410-87fa7ed6e610", + "columnId": "ffaaffdc-d4ab-4d83-a66d-f506436a18ac", "isTransposed": false }, { - "columnId": "2bcf9e0d-7b52-44f6-a7ad-ad9209c599cc", + "columnId": "2ed13d2d-70a3-4fd2-af65-dd655d880ad7", "isTransposed": false } ], - "headerRowHeight": "auto", - "layerId": "d0976ec2-a99a-4fb6-b537-d6822e644ebb", - "layerType": "data", - "paging": { - "enabled": true, - "size": 10 - }, - "rowHeight": "auto" + "layerId": "be7d276c-1f0a-4697-a1bd-f92c2e835daa", + "layerType": "data" } }, "title": "", @@ -2080,16 +2051,16 @@ "hidePanelTitles": false }, "gridData": { - "h": 14, - "i": "1304595e-5a54-471b-9a24-9bb9e42e0a76", + "h": 17, + "i": "fe451ecd-bfcd-443c-901c-0cef1a459179", "w": 48, "x": 0, - "y": 113 + "y": 112 }, - "panelIndex": "1304595e-5a54-471b-9a24-9bb9e42e0a76", + "panelIndex": "fe451ecd-bfcd-443c-901c-0cef1a459179", "title": "Top 10 external calls [Filebeat Salesforce]", "type": "lens", - "version": "8.10.0" + "version": "7.15.0" } ], "refreshInterval": { @@ -2102,169 +2073,239 @@ "title": "[Filebeat Salesforce] Apex Dashboard", "version": 1 }, - "coreMigrationVersion": "8.8.0", - "created_at": "2024-04-03T13:26:47.473Z", - "id": "salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10", - "managed": false, + "coreMigrationVersion": "7.15.0", + "id": "6e6bee90-f7e6-11ee-9088-0f36517484ce", + "migrationVersion": { + "dashboard": "7.15.0" + }, "references": [ { "id": "filebeat-*", - "name": "6b1afef8-3be5-4fca-a0c4-690a14979551:indexpattern-datasource-layer-bfd4a8f4-653c-49f7-bd04-dd9efd1f9aee", + "name": "2e30f60b-d451-4b0d-89eb-6ba01e94c2aa:control_2e30f60b-d451-4b0d-89eb-6ba01e94c2aa_0_index_pattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7decef13-13b6-4eb2-bb2b-cd657951e930:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7decef13-13b6-4eb2-bb2b-cd657951e930:indexpattern-datasource-layer-f7a3c405-487c-4473-aeb5-c6f5e63de3db", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7decef13-13b6-4eb2-bb2b-cd657951e930:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7decef13-13b6-4eb2-bb2b-cd657951e930:filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7decef13-13b6-4eb2-bb2b-cd657951e930:filter-index-pattern-2", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7154e44a-c51d-4881-8d23-6d822a0bd77d:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7154e44a-c51d-4881-8d23-6d822a0bd77d:indexpattern-datasource-layer-83c3e25a-134f-43bf-bca7-cd3c3d33eff3", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7154e44a-c51d-4881-8d23-6d822a0bd77d:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "73688f67-7274-4172-bc72-81581d1b1dc2:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "73688f67-7274-4172-bc72-81581d1b1dc2:indexpattern-datasource-layer-23547c7a-8041-4b0a-856d-ffc03d80fbc0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "73688f67-7274-4172-bc72-81581d1b1dc2:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "be541fae-8b1f-40e5-9fcc-e552b3544773:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "be541fae-8b1f-40e5-9fcc-e552b3544773:indexpattern-datasource-layer-2ea8d938-401b-4b61-92c4-c476e7d3e4bc", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "be541fae-8b1f-40e5-9fcc-e552b3544773:filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "6b1afef8-3be5-4fca-a0c4-690a14979551:1f72d747-4e35-45fc-a02a-a8dfde49d1ea", + "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "6b1afef8-3be5-4fca-a0c4-690a14979551:4684cf9e-b284-4945-9cb8-19ff055a9439", + "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:indexpattern-datasource-layer-dbfc2649-500a-4d9e-8035-f2094fc75c86", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "6b1afef8-3be5-4fca-a0c4-690a14979551:8438a007-7d70-44fb-89f9-c2137ee48436", + "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:indexpattern-datasource-layer-395b6aa2-d6cd-406e-9559-a0ed2b833854", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "8039ad1b-bbc7-4d77-bcff-77ef0299a766:indexpattern-datasource-layer-6b3e9ab2-2d33-46c3-9575-78a6bc8af75b", + "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "8039ad1b-bbc7-4d77-bcff-77ef0299a766:ad7e49e7-de0f-4efb-ae3f-852498e24371", + "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:filter-index-pattern-1", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "00d05ee3-74f4-4621-9dc7-04fde76b86d9:indexpattern-datasource-layer-ce4e2479-29c1-4aa0-991e-0772b981e53e", + "name": "574ede56-2b30-49a5-8888-8ae368c856af:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "00d05ee3-74f4-4621-9dc7-04fde76b86d9:99e1f29f-d65d-4e43-8229-0e7dada3babc", + "name": "574ede56-2b30-49a5-8888-8ae368c856af:indexpattern-datasource-layer-f73f968b-392e-4f0e-8c9b-351ad7370ddd", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "0a33a409-0f61-42be-82ca-7ef8b8ec052f:indexpattern-datasource-layer-197919f5-ef5b-4ae9-8432-cd2a91e337d2", + "name": "574ede56-2b30-49a5-8888-8ae368c856af:filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "0a33a409-0f61-42be-82ca-7ef8b8ec052f:4c4c54fa-53f8-4d2d-acc2-387cf2f67f6a", + "name": "574ede56-2b30-49a5-8888-8ae368c856af:filter-index-pattern-1", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "b8767bce-c060-4957-acfa-9f289be40643:indexpattern-datasource-layer-1ddfa426-0787-44a0-a6d4-7ba89384d487", + "name": "f8ecb623-ff3c-4422-9f91-2676fe2e58e0:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "b8767bce-c060-4957-acfa-9f289be40643:indexpattern-datasource-layer-9518bc3e-d87d-49f2-ba14-84a071cf9140", + "name": "f8ecb623-ff3c-4422-9f91-2676fe2e58e0:indexpattern-datasource-layer-b53e356e-52be-419c-bf3d-282ec655706d", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa:indexpattern-datasource-layer-e5191636-4eda-47ed-a871-fbbeecb288b2", + "name": "f8ecb623-ff3c-4422-9f91-2676fe2e58e0:filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa:583c98ae-1213-41a0-b63a-b064df93a70a", + "name": "c713f492-059e-48c9-bddb-bfa5dff4379a:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ddfe72ec-6854-4bf2-b50c-41e966e8b0fa:5512a380-a0f0-43d4-8dc7-8664e8187b34", + "name": "c713f492-059e-48c9-bddb-bfa5dff4379a:indexpattern-datasource-layer-b2559ffe-87f5-4f0e-a041-671ae182cad2", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "36b2995c-f5ba-4699-b660-f5546cefd2a6:indexpattern-datasource-layer-70a83117-8122-47eb-80e0-dc92fc2602bb", + "name": "c713f492-059e-48c9-bddb-bfa5dff4379a:filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "36b2995c-f5ba-4699-b660-f5546cefd2a6:7140fce8-8a7e-4f59-9c44-52bfbb63a30b", + "name": "9d4bd40c-a3b5-4668-a58a-118e352c3ad2:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ac98a6ec-c930-45a7-b1aa-0877e2f8d281:indexpattern-datasource-layer-70a83117-8122-47eb-80e0-dc92fc2602bb", + "name": "9d4bd40c-a3b5-4668-a58a-118e352c3ad2:indexpattern-datasource-layer-f2b00fda-234b-44d4-9ce5-7cd8c28efce3", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ac98a6ec-c930-45a7-b1aa-0877e2f8d281:2bf12d97-e75b-4648-88f8-39892b8ca052", + "name": "9d4bd40c-a3b5-4668-a58a-118e352c3ad2:filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "5bbe083c-eff1-4abd-b3a2-012303c07523:indexpattern-datasource-layer-0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "name": "f26b8459-e1af-4cee-92ac-9e91348c2c16:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "5bbe083c-eff1-4abd-b3a2-012303c07523:f0b44222-29c9-47aa-9645-36c7f020be1f", + "name": "f26b8459-e1af-4cee-92ac-9e91348c2c16:indexpattern-datasource-layer-7b43a22c-ad61-444d-a002-8cc4116b4854", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "97d94d13-e382-434e-99cb-dbff367cce72:indexpattern-datasource-layer-0c3855f9-23b4-460b-9127-4ddcacbeaf97", + "name": "cc5bf3a1-5a33-4204-8efc-32b2b1629e63:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "97d94d13-e382-434e-99cb-dbff367cce72:f810d827-8c4a-4c9f-8487-3e3a67610219", + "name": "cc5bf3a1-5a33-4204-8efc-32b2b1629e63:indexpattern-datasource-layer-92994644-eb5e-41a8-871b-b0911dcbf481", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "04f06541-b6cf-4a31-865e-361ff701a4c0:indexpattern-datasource-layer-5e5e7f82-ace7-426a-975b-c01a009ccc21", + "name": "cc5bf3a1-5a33-4204-8efc-32b2b1629e63:filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "04f06541-b6cf-4a31-865e-361ff701a4c0:d41d8228-27a6-47d5-9228-311aae15c18f", + "name": "5904bcb3-1616-422d-855e-a86e6a69f802:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "a2b4090c-077d-495a-b002-0aceddb498c7:indexpattern-datasource-layer-df249e19-0f2d-4700-96d3-0521bfff6614", + "name": "5904bcb3-1616-422d-855e-a86e6a69f802:indexpattern-datasource-layer-84a0be7e-5127-485b-9ce2-9a9ba033a74c", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "a2b4090c-077d-495a-b002-0aceddb498c7:3aacd3da-ed48-47df-b4ff-5e57de942969", + "name": "5904bcb3-1616-422d-855e-a86e6a69f802:filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:indexpattern-datasource-layer-d0976ec2-a99a-4fb6-b537-d6822e644ebb", + "name": "fe451ecd-bfcd-443c-901c-0cef1a459179:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:f5e31933-76e5-4f4f-ba08-13e0d6d86c33", + "name": "fe451ecd-bfcd-443c-901c-0cef1a459179:indexpattern-datasource-layer-be7d276c-1f0a-4697-a1bd-f92c2e835daa", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "1304595e-5a54-471b-9a24-9bb9e42e0a76:01e5ec14-b8db-4040-80e7-75bc9979071e", + "name": "fe451ecd-bfcd-443c-901c-0cef1a459179:filter-index-pattern-0", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "controlGroup_2c772825-53ca-4b0a-b3f1-3a444dab9ac6:optionsListDataView", + "name": "fe451ecd-bfcd-443c-901c-0cef1a459179:filter-index-pattern-1", "type": "index-pattern" } ], "type": "dashboard", - "typeMigrationVersion": "8.9.0", - "updated_at": "2024-04-03T13:26:47.473Z", - "version": "WzEwMDQwLDJd" + "updated_at": "2024-04-11T09:56:39.585Z", + "version": "WzY2OTcsMV0=" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index ad392387d51..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,2088 +0,0 @@ -{ - "attributes": { - "controlGroupInput": { - "chainingSystem": "HIERARCHICAL", - "controlStyle": "oneLine", - "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", - "panelsJSON": "{\"9d6785f0-b96d-4e35-8c17-3d7c90855bd2\":{\"type\":\"optionsListControl\",\"order\":0,\"grow\":true,\"width\":\"large\",\"explicitInput\":{\"id\":\"9d6785f0-b96d-4e35-8c17-3d7c90855bd2\",\"fieldName\":\"salesforce.instance_url\",\"title\":\"Instance URL\",\"grow\":true,\"width\":\"medium\",\"enhancements\":{}}}}" - }, - "description": "Salesforce Login Data", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "optionsJSON": { - "hidePanelTitles": false, - "syncColors": false, - "syncCursor": true, - "syncTooltips": false, - "useMargins": true - }, - "panelsJSON": [ - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "6d11832d-25d1-4c0f-8a37-713bc1c54586", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "9d8c8465-f2be-4bd6-a21c-0b6367261090", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5": { - "columnOrder": [ - "22579769-dcb6-457e-82b4-76eacc56deb8", - "22579769-dcb6-457e-82b4-76eacc56deb8X0", - "22579769-dcb6-457e-82b4-76eacc56deb8X1", - "22579769-dcb6-457e-82b4-76eacc56deb8X2" - ], - "columns": { - "22579769-dcb6-457e-82b4-76eacc56deb8": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Login success rate", - "operationType": "formula", - "params": { - "format": { - "id": "percent", - "params": { - "decimals": 2 - } - }, - "formula": "(count(kql='event.outcome : \"success\"')/count())", - "isFormulaBroken": false - }, - "references": [ - "22579769-dcb6-457e-82b4-76eacc56deb8X2" - ], - "scale": "ratio" - }, - "22579769-dcb6-457e-82b4-76eacc56deb8X0": { - "customLabel": true, - "dataType": "number", - "filter": { - "language": "kuery", - "query": "event.outcome : \"success\"" - }, - "isBucketed": false, - "label": "Part of Login success rate", - "operationType": "count", - "params": { - "emptyAsNull": false - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "22579769-dcb6-457e-82b4-76eacc56deb8X1": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Part of Login success rate", - "operationType": "count", - "params": { - "emptyAsNull": false - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "22579769-dcb6-457e-82b4-76eacc56deb8X2": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Part of Login success rate", - "operationType": "math", - "params": { - "tinymathAst": { - "args": [ - "22579769-dcb6-457e-82b4-76eacc56deb8X0", - "22579769-dcb6-457e-82b4-76eacc56deb8X1" - ], - "location": { - "max": 48, - "min": 0 - }, - "name": "divide", - "text": "(count(kql='event.outcome : \"success\"')/count())", - "type": "function" - } - }, - "references": [ - "22579769-dcb6-457e-82b4-76eacc56deb8X0", - "22579769-dcb6-457e-82b4-76eacc56deb8X1" - ], - "scale": "ratio" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.action", - "index": "6d11832d-25d1-4c0f-8a37-713bc1c54586", - "key": "event.action", - "negate": false, - "params": { - "query": "login-attempt" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "login-attempt" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "9d8c8465-f2be-4bd6-a21c-0b6367261090", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "accessor": "22579769-dcb6-457e-82b4-76eacc56deb8", - "layerId": "e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", - "layerType": "data", - "size": "l", - "textAlign": "center", - "titlePosition": "bottom" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsLegacyMetric" - }, - "enhancements": {}, - "hidePanelTitles": true - }, - "gridData": { - "h": 9, - "i": "0e854818-b5d3-4758-b099-04d68167678a", - "w": 24, - "x": 0, - "y": 0 - }, - "panelIndex": "0e854818-b5d3-4758-b099-04d68167678a", - "title": "Login success rate [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "202fa207-df51-44cd-895e-0b765f948b8a", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "28a2720d-e3b3-47b1-a86a-2f4dbbbe349a", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "b9e5a7d5-f88a-468b-939c-adcd1683da60", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5": { - "columnOrder": [ - "22579769-dcb6-457e-82b4-76eacc56deb8", - "22579769-dcb6-457e-82b4-76eacc56deb8X0" - ], - "columns": { - "22579769-dcb6-457e-82b4-76eacc56deb8": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Failed login attempts", - "operationType": "formula", - "params": { - "formula": "count()", - "isFormulaBroken": false - }, - "references": [ - "22579769-dcb6-457e-82b4-76eacc56deb8X0" - ], - "scale": "ratio" - }, - "22579769-dcb6-457e-82b4-76eacc56deb8X0": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Part of Failed login attempts", - "operationType": "count", - "params": { - "emptyAsNull": false - }, - "scale": "ratio", - "sourceField": "___records___" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.action", - "index": "202fa207-df51-44cd-895e-0b765f948b8a", - "key": "event.action", - "negate": false, - "params": { - "query": "login-attempt" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "login-attempt" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.outcome", - "index": "28a2720d-e3b3-47b1-a86a-2f4dbbbe349a", - "key": "event.outcome", - "negate": false, - "params": { - "query": "failure" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.outcome": "failure" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "b9e5a7d5-f88a-468b-939c-adcd1683da60", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "accessor": "22579769-dcb6-457e-82b4-76eacc56deb8", - "layerId": "e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", - "layerType": "data", - "size": "l", - "textAlign": "center", - "titlePosition": "bottom" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsLegacyMetric" - }, - "enhancements": {}, - "hidePanelTitles": true - }, - "gridData": { - "h": 9, - "i": "e75fee04-c83e-48ad-83bd-498189cabec7", - "w": 24, - "x": 24, - "y": 0 - }, - "panelIndex": "e75fee04-c83e-48ad-83bd-498189cabec7", - "title": "Failed login attempts [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-440fc980-229c-428f-b87b-78b25eeb6155", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "12ab72cc-7cf8-4f95-a4e8-089246cf5b1f", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "38a8140e-6374-4f09-ac8b-f73c71a17c1e", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "440fc980-229c-428f-b87b-78b25eeb6155": { - "columnOrder": [ - "f352fcbd-0e4a-4370-9e73-48616c476653", - "c1ff1268-7525-4784-b979-c05c5f137e75", - "24d3e40d-dba5-477a-9c98-85d41d66c0f6" - ], - "columns": { - "24d3e40d-dba5-477a-9c98-85d41d66c0f6": { - "customLabel": true, - "dataType": "number", - "filter": { - "language": "kuery", - "query": "event.outcome : \"failure\" " - }, - "isBucketed": false, - "label": "Failure", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "c1ff1268-7525-4784-b979-c05c5f137e75": { - "customLabel": true, - "dataType": "number", - "filter": { - "language": "kuery", - "query": "event.outcome : \"success\" " - }, - "isBucketed": false, - "label": "Success", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "f352fcbd-0e4a-4370-9e73-48616c476653": { - "dataType": "date", - "isBucketed": true, - "label": "@timestamp", - "operationType": "date_histogram", - "params": { - "dropPartials": false, - "includeEmptyRows": true, - "interval": "auto" - }, - "scale": "interval", - "sourceField": "@timestamp" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.action", - "index": "12ab72cc-7cf8-4f95-a4e8-089246cf5b1f", - "key": "event.action", - "negate": false, - "params": { - "query": "login-attempt" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "login-attempt" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "38a8140e-6374-4f09-ac8b-f73c71a17c1e", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "fillOpacity": 0, - "fittingFunction": "None", - "gridlinesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "labelsOrientation": { - "x": 0, - "yLeft": 0, - "yRight": 0 - }, - "layers": [ - { - "accessors": [ - "c1ff1268-7525-4784-b979-c05c5f137e75", - "24d3e40d-dba5-477a-9c98-85d41d66c0f6" - ], - "layerId": "440fc980-229c-428f-b87b-78b25eeb6155", - "layerType": "data", - "palette": { - "name": "default", - "type": "palette" - }, - "seriesType": "line", - "xAccessor": "f352fcbd-0e4a-4370-9e73-48616c476653", - "yConfig": [ - { - "axisMode": "left", - "color": "#68BC00", - "forAccessor": "c1ff1268-7525-4784-b979-c05c5f137e75" - }, - { - "color": "#e7664c", - "forAccessor": "24d3e40d-dba5-477a-9c98-85d41d66c0f6" - } - ] - } - ], - "legend": { - "isVisible": true, - "maxLines": 1, - "position": "right", - "shouldTruncate": true, - "showSingleSeries": true - }, - "preferredSeriesType": "bar_stacked", - "tickLabelsVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "valueLabels": "hide", - "valuesInLegend": true, - "yLeftExtent": { - "mode": "full" - }, - "yRightExtent": { - "mode": "full" - }, - "yTitle": "Requests" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "e780606f-6362-497e-9e17-940937ead5bf", - "w": 48, - "x": 0, - "y": 9 - }, - "panelIndex": "e780606f-6362-497e-9e17-940937ead5bf", - "title": "Login over time [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-9c7705b7-2344-40b4-a257-d8ced3dd0740", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "6c90d865-14e0-4f74-b8ca-2b03f341b440", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "45176e6f-c3b8-4fd0-a490-a6e59f5eabc3", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "9c7705b7-2344-40b4-a257-d8ced3dd0740": { - "columnOrder": [ - "8f42c063-bb66-4b3b-8f52-83103613cd09", - "68fb2e14-2d3c-49b3-a3d1-dadbf2e3d950" - ], - "columns": { - "68fb2e14-2d3c-49b3-a3d1-dadbf2e3d950": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Login Events", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "8f42c063-bb66-4b3b-8f52-83103613cd09": { - "dataType": "date", - "isBucketed": true, - "label": "@timestamp", - "operationType": "date_histogram", - "params": { - "dropPartials": false, - "includeEmptyRows": true, - "interval": "auto" - }, - "scale": "interval", - "sourceField": "@timestamp" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.action", - "index": "6c90d865-14e0-4f74-b8ca-2b03f341b440", - "key": "event.action", - "negate": false, - "params": { - "query": "login-attempt" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "login-attempt" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "45176e6f-c3b8-4fd0-a490-a6e59f5eabc3", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "gridlinesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "layers": [ - { - "accessors": [ - "68fb2e14-2d3c-49b3-a3d1-dadbf2e3d950" - ], - "layerId": "9c7705b7-2344-40b4-a257-d8ced3dd0740", - "layerType": "data", - "position": "top", - "seriesType": "bar", - "showGridlines": false, - "xAccessor": "8f42c063-bb66-4b3b-8f52-83103613cd09" - } - ], - "legend": { - "isVisible": true, - "position": "right" - }, - "preferredSeriesType": "bar", - "tickLabelsVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "title": "Empty XY chart", - "valueLabels": "hide", - "yTitle": "" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 17, - "i": "27d96d74-bfe5-4676-84fc-0f7e24594b5a", - "w": 48, - "x": 0, - "y": 24 - }, - "panelIndex": "27d96d74-bfe5-4676-84fc-0f7e24594b5a", - "title": "Total login events over time [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-c99534c3-c26a-4456-837b-3a71c0c9423e", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "0752e415-04f6-41fb-a9bd-0ea95119c23f", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "9d25551f-6855-484b-bcea-267ceefdb7fb", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "c99534c3-c26a-4456-837b-3a71c0c9423e": { - "columnOrder": [ - "424fcd8e-fd11-4d5b-8eec-6a20473e1134", - "9478baac-1153-4cda-a4b4-08db8af7580a" - ], - "columns": { - "424fcd8e-fd11-4d5b-8eec-6a20473e1134": { - "dataType": "string", - "isBucketed": true, - "label": "Top 10 values of user.roles", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "9478baac-1153-4cda-a4b4-08db8af7580a", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "secondaryFields": [], - "size": 10 - }, - "scale": "ordinal", - "sourceField": "user.roles" - }, - "9478baac-1153-4cda-a4b4-08db8af7580a": { - "dataType": "number", - "isBucketed": false, - "label": "Count of records", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.action", - "index": "0752e415-04f6-41fb-a9bd-0ea95119c23f", - "key": "event.action", - "negate": false, - "params": { - "query": "login-attempt" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "login-attempt" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "9d25551f-6855-484b-bcea-267ceefdb7fb", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "layers": [ - { - "categoryDisplay": "default", - "layerId": "c99534c3-c26a-4456-837b-3a71c0c9423e", - "layerType": "data", - "legendDisplay": "default", - "metrics": [ - "9478baac-1153-4cda-a4b4-08db8af7580a" - ], - "nestedLegend": false, - "numberDisplay": "percent", - "primaryGroups": [ - "424fcd8e-fd11-4d5b-8eec-6a20473e1134" - ] - } - ], - "shape": "pie" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsPie" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6", - "w": 24, - "x": 0, - "y": 41 - }, - "panelIndex": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6", - "title": "Distribution of type of users [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-fe97c656-f063-45c6-8d2c-f681b01b9c25", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "33aa1d73-6050-4e83-b4d1-7fc4ceb0b413", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "2ffe6379-bcec-4a04-baed-bc28009cb12c", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "fe97c656-f063-45c6-8d2c-f681b01b9c25": { - "columnOrder": [ - "429bdef4-3ab3-4826-aa68-2c13f0dc2557", - "a1b52fa9-f635-4caf-be9a-4b9cbdaf3a4d" - ], - "columns": { - "429bdef4-3ab3-4826-aa68-2c13f0dc2557": { - "customLabel": true, - "dataType": "string", - "isBucketed": true, - "label": "User Agent", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "a1b52fa9-f635-4caf-be9a-4b9cbdaf3a4d", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": false, - "parentFormat": { - "id": "terms" - }, - "size": 5 - }, - "scale": "ordinal", - "sourceField": "user_agent.name" - }, - "a1b52fa9-f635-4caf-be9a-4b9cbdaf3a4d": { - "customLabel": false, - "dataType": "number", - "isBucketed": false, - "label": "Count of records", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.action", - "index": "33aa1d73-6050-4e83-b4d1-7fc4ceb0b413", - "key": "event.action", - "negate": false, - "params": { - "query": "login-attempt" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "login-attempt" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "2ffe6379-bcec-4a04-baed-bc28009cb12c", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "layers": [ - { - "categoryDisplay": "default", - "layerId": "fe97c656-f063-45c6-8d2c-f681b01b9c25", - "layerType": "data", - "legendDisplay": "default", - "metrics": [ - "a1b52fa9-f635-4caf-be9a-4b9cbdaf3a4d" - ], - "nestedLegend": false, - "numberDisplay": "percent", - "primaryGroups": [ - "429bdef4-3ab3-4826-aa68-2c13f0dc2557" - ] - } - ], - "shape": "donut" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsPie" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "4b6641b7-fa2a-4d84-a9f6-e358000702dc", - "w": 24, - "x": 24, - "y": 41 - }, - "panelIndex": "4b6641b7-fa2a-4d84-a9f6-e358000702dc", - "title": "Activity by browser/client [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-26b85139-d8f7-4158-829c-eed584dc6310", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "0014db45-cedd-457a-8afa-590e2868cb24", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "448602a9-394f-4efc-b521-bd376c28bdbc", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "f8ab7947-48a5-4645-8a99-7be331ae65f1", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "26b85139-d8f7-4158-829c-eed584dc6310": { - "columnOrder": [ - "28fa192e-d9c2-4e4a-9b4a-d2bf6070d553", - "747231b5-9a00-4095-ba5c-61753b1aa507", - "3515b14c-c836-46d3-b3e3-1b27b0eca9d8", - "7bdaf495-4429-4383-b8f4-f8ed16130036", - "89013969-6f87-4f17-9239-4c3ef1cc72e5" - ], - "columns": { - "28fa192e-d9c2-4e4a-9b4a-d2bf6070d553": { - "dataType": "string", - "isBucketed": true, - "label": "Top 10000 values of salesforce.login.document_id", - "operationType": "terms", - "params": { - "exclude": [], - "excludeIsRegex": false, - "include": [], - "includeIsRegex": false, - "missingBucket": false, - "orderBy": { - "columnId": "747231b5-9a00-4095-ba5c-61753b1aa507", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "size": 10000 - }, - "scale": "ordinal", - "sourceField": "salesforce.login.document_id" - }, - "3515b14c-c836-46d3-b3e3-1b27b0eca9d8": { - "customLabel": true, - "dataType": "string", - "filter": { - "language": "kuery", - "query": "event.outcome: *" - }, - "isBucketed": false, - "label": "Request status", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ordinal", - "sourceField": "event.outcome" - }, - "747231b5-9a00-4095-ba5c-61753b1aa507": { - "customLabel": true, - "dataType": "date", - "filter": { - "language": "kuery", - "query": "@timestamp: *" - }, - "isBucketed": false, - "label": "Timestamp", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ratio", - "sourceField": "@timestamp" - }, - "7bdaf495-4429-4383-b8f4-f8ed16130036": { - "customLabel": true, - "dataType": "string", - "filter": { - "language": "kuery", - "query": "\"salesforce.login.run_time\": *" - }, - "isBucketed": false, - "label": "Run time (ms)", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ordinal", - "sourceField": "salesforce.login.run_time" - }, - "89013969-6f87-4f17-9239-4c3ef1cc72e5": { - "customLabel": true, - "dataType": "number", - "filter": { - "language": "kuery", - "query": "\"salesforce.login.db_time.total\": *" - }, - "isBucketed": false, - "label": "DB total time (ms)", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ratio", - "sourceField": "salesforce.login.db_time.total" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.action", - "index": "0014db45-cedd-457a-8afa-590e2868cb24", - "key": "event.action", - "negate": false, - "params": { - "query": "login-attempt" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "login-attempt" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.outcome", - "index": "448602a9-394f-4efc-b521-bd376c28bdbc", - "key": "event.outcome", - "negate": false, - "type": "exists", - "value": "exists" - }, - "query": { - "exists": { - "field": "event.outcome" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "f8ab7947-48a5-4645-8a99-7be331ae65f1", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "columns": [ - { - "columnId": "747231b5-9a00-4095-ba5c-61753b1aa507", - "isTransposed": false - }, - { - "columnId": "3515b14c-c836-46d3-b3e3-1b27b0eca9d8", - "isTransposed": false - }, - { - "columnId": "28fa192e-d9c2-4e4a-9b4a-d2bf6070d553", - "hidden": true, - "isTransposed": false - }, - { - "columnId": "7bdaf495-4429-4383-b8f4-f8ed16130036", - "isTransposed": false - }, - { - "columnId": "89013969-6f87-4f17-9239-4c3ef1cc72e5", - "isTransposed": false - } - ], - "layerId": "26b85139-d8f7-4158-829c-eed584dc6310", - "layerType": "data", - "paging": { - "enabled": true, - "size": 10 - } - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsDatatable" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 17, - "i": "b2b60887-159a-4a2f-a477-eece1cda9620", - "w": 24, - "x": 0, - "y": 71 - }, - "panelIndex": "b2b60887-159a-4a2f-a477-eece1cda9620", - "title": "Login events table [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-75cb4ead-3ea9-4a50-b9e3-93a364e95f02", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "baf37a2c-beae-4c2c-bbc5-bb3347c7f931", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "c6500332-3aa6-477c-8722-ea96526e85b6", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "75cb4ead-3ea9-4a50-b9e3-93a364e95f02": { - "columnOrder": [ - "8e5c4236-26b7-402d-b1ef-0af6d7028ebd", - "5a25315e-fd94-4e86-ba45-423bd31ab8bc" - ], - "columns": { - "5a25315e-fd94-4e86-ba45-423bd31ab8bc": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "User count", - "operationType": "unique_count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "user.email" - }, - "8e5c4236-26b7-402d-b1ef-0af6d7028ebd": { - "customLabel": true, - "dataType": "string", - "isBucketed": true, - "label": "Application type", - "operationType": "terms", - "params": { - "exclude": [], - "excludeIsRegex": false, - "include": [], - "includeIsRegex": false, - "missingBucket": false, - "orderBy": { - "columnId": "5a25315e-fd94-4e86-ba45-423bd31ab8bc", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "secondaryFields": [], - "size": 10 - }, - "scale": "ordinal", - "sourceField": "salesforce.login.application" - } - }, - "incompleteColumns": {}, - "sampling": 1 - } - } - }, - "textBased": { - "layers": {} - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.action", - "index": "baf37a2c-beae-4c2c-bbc5-bb3347c7f931", - "key": "event.action", - "negate": false, - "params": { - "query": "login-attempt" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "login-attempt" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "c6500332-3aa6-477c-8722-ea96526e85b6", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "layers": [ - { - "accessors": [ - "5a25315e-fd94-4e86-ba45-423bd31ab8bc" - ], - "layerId": "75cb4ead-3ea9-4a50-b9e3-93a364e95f02", - "layerType": "data", - "position": "top", - "seriesType": "bar_horizontal", - "showGridlines": false, - "xAccessor": "8e5c4236-26b7-402d-b1ef-0af6d7028ebd" - } - ], - "legend": { - "isVisible": true, - "position": "right" - }, - "preferredSeriesType": "bar_horizontal", - "title": "Empty XY chart", - "valueLabels": "hide" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "6115a6d5-d780-4272-b952-2af28343a5b6", - "w": 24, - "x": 24, - "y": 56 - }, - "panelIndex": "6115a6d5-d780-4272-b952-2af28343a5b6", - "title": "Top 10 application type by user count [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-21816ba6-c606-4532-9362-64890b01b81c", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "6778cb9a-4889-4d55-8300-0bd7584950f3", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "0d3528e5-e4b0-430d-8ed3-7c63b8bdb5cb", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "21816ba6-c606-4532-9362-64890b01b81c": { - "columnOrder": [ - "20cea7a4-2d2b-4a01-8591-e8aa9a80d6c3", - "9ab68795-f5bc-485c-b0db-9e8f87d5b992" - ], - "columns": { - "20cea7a4-2d2b-4a01-8591-e8aa9a80d6c3": { - "customLabel": true, - "dataType": "ip", - "isBucketed": true, - "label": "IP Addresses", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "9ab68795-f5bc-485c-b0db-9e8f87d5b992", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": false, - "parentFormat": { - "id": "terms" - }, - "size": 10 - }, - "scale": "ordinal", - "sourceField": "source.ip" - }, - "9ab68795-f5bc-485c-b0db-9e8f87d5b992": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Request count", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.action", - "index": "6778cb9a-4889-4d55-8300-0bd7584950f3", - "key": "event.action", - "negate": false, - "params": { - "query": "login-attempt" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "login-attempt" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "0d3528e5-e4b0-430d-8ed3-7c63b8bdb5cb", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "fittingFunction": "None", - "gridlinesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "labelsOrientation": { - "x": 0, - "yLeft": 0, - "yRight": 0 - }, - "layers": [ - { - "accessors": [ - "9ab68795-f5bc-485c-b0db-9e8f87d5b992" - ], - "layerId": "21816ba6-c606-4532-9362-64890b01b81c", - "layerType": "data", - "seriesType": "bar_horizontal", - "xAccessor": "20cea7a4-2d2b-4a01-8591-e8aa9a80d6c3" - } - ], - "legend": { - "isVisible": true, - "position": "right" - }, - "preferredSeriesType": "bar_horizontal", - "tickLabelsVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "valueLabels": "hide" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 17, - "i": "4a2b88af-ad1a-416d-9553-d21b23882c22", - "w": 24, - "x": 24, - "y": 71 - }, - "panelIndex": "4a2b88af-ad1a-416d-9553-d21b23882c22", - "title": "Top 10 IP addresses by request count [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-75cb4ead-3ea9-4a50-b9e3-93a364e95f02", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "d110f063-ba9b-4d7e-9d00-124ef79bf704", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "75cb4ead-3ea9-4a50-b9e3-93a364e95f02": { - "columnOrder": [ - "f21fe70c-96b7-452f-9bdd-d0066baba7de", - "5a25315e-fd94-4e86-ba45-423bd31ab8bc" - ], - "columns": { - "5a25315e-fd94-4e86-ba45-423bd31ab8bc": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "User count", - "operationType": "unique_count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "user.email" - }, - "f21fe70c-96b7-452f-9bdd-d0066baba7de": { - "customLabel": true, - "dataType": "string", - "isBucketed": true, - "label": "Postal code", - "operationType": "terms", - "params": { - "exclude": [], - "excludeIsRegex": false, - "include": [], - "includeIsRegex": false, - "missingBucket": false, - "orderBy": { - "columnId": "5a25315e-fd94-4e86-ba45-423bd31ab8bc", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "size": 10 - }, - "scale": "ordinal", - "sourceField": "source.geo.postal_code" - } - }, - "incompleteColumns": {}, - "sampling": 1 - } - } - }, - "textBased": { - "layers": {} - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "d110f063-ba9b-4d7e-9d00-124ef79bf704", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "layers": [ - { - "accessors": [ - "5a25315e-fd94-4e86-ba45-423bd31ab8bc" - ], - "layerId": "75cb4ead-3ea9-4a50-b9e3-93a364e95f02", - "layerType": "data", - "position": "top", - "seriesType": "bar_horizontal", - "showGridlines": false, - "xAccessor": "f21fe70c-96b7-452f-9bdd-d0066baba7de" - } - ], - "legend": { - "isVisible": true, - "position": "right" - }, - "preferredSeriesType": "bar_horizontal", - "title": "Empty XY chart", - "valueLabels": "hide" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6", - "w": 24, - "x": 0, - "y": 56 - }, - "panelIndex": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6", - "title": "Top 10 postal code by user count [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hiddenLayers": [], - "hidePanelTitles": false, - "isLayerTOCOpen": true, - "mapBuffer": { - "maxLat": 66.51326, - "maxLon": 180, - "minLat": 0, - "minLon": -180 - }, - "mapCenter": { - "lat": 35.84709, - "lon": 9.06803, - "zoom": 2.13 - }, - "openTOCDetails": [] - }, - "gridData": { - "h": 15, - "i": "f4ad5dba-0dad-46b7-9169-173128b61110", - "w": 48, - "x": 0, - "y": 88 - }, - "panelIndex": "f4ad5dba-0dad-46b7-9169-173128b61110", - "panelRefName": "panel_f4ad5dba-0dad-46b7-9169-173128b61110", - "type": "map", - "version": "8.10.0" - } - ], - "refreshInterval": { - "pause": true, - "value": 900000 - }, - "timeFrom": "now-7d/d", - "timeRestore": true, - "timeTo": "now", - "title": "[Filebeat Salesforce] Login Dashboard", - "version": 1 - }, - "coreMigrationVersion": "8.8.0", - "created_at": "2024-04-08T05:47:15.677Z", - "id": "salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10", - "managed": false, - "references": [ - { - "id": "filebeat-*", - "name": "0e854818-b5d3-4758-b099-04d68167678a:indexpattern-datasource-layer-e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "0e854818-b5d3-4758-b099-04d68167678a:6d11832d-25d1-4c0f-8a37-713bc1c54586", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "0e854818-b5d3-4758-b099-04d68167678a:9d8c8465-f2be-4bd6-a21c-0b6367261090", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "e75fee04-c83e-48ad-83bd-498189cabec7:indexpattern-datasource-layer-e1b2bc2f-ba01-4998-8cf8-a20d5e2f4da5", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "e75fee04-c83e-48ad-83bd-498189cabec7:202fa207-df51-44cd-895e-0b765f948b8a", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "e75fee04-c83e-48ad-83bd-498189cabec7:28a2720d-e3b3-47b1-a86a-2f4dbbbe349a", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "e75fee04-c83e-48ad-83bd-498189cabec7:b9e5a7d5-f88a-468b-939c-adcd1683da60", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "e780606f-6362-497e-9e17-940937ead5bf:indexpattern-datasource-layer-440fc980-229c-428f-b87b-78b25eeb6155", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "e780606f-6362-497e-9e17-940937ead5bf:12ab72cc-7cf8-4f95-a4e8-089246cf5b1f", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "e780606f-6362-497e-9e17-940937ead5bf:38a8140e-6374-4f09-ac8b-f73c71a17c1e", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "27d96d74-bfe5-4676-84fc-0f7e24594b5a:indexpattern-datasource-layer-9c7705b7-2344-40b4-a257-d8ced3dd0740", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "27d96d74-bfe5-4676-84fc-0f7e24594b5a:6c90d865-14e0-4f74-b8ca-2b03f341b440", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "27d96d74-bfe5-4676-84fc-0f7e24594b5a:45176e6f-c3b8-4fd0-a490-a6e59f5eabc3", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6:indexpattern-datasource-layer-c99534c3-c26a-4456-837b-3a71c0c9423e", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6:0752e415-04f6-41fb-a9bd-0ea95119c23f", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "9ea2b92f-5fb6-4a83-b198-5275565a4bd6:9d25551f-6855-484b-bcea-267ceefdb7fb", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "4b6641b7-fa2a-4d84-a9f6-e358000702dc:indexpattern-datasource-layer-fe97c656-f063-45c6-8d2c-f681b01b9c25", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "4b6641b7-fa2a-4d84-a9f6-e358000702dc:33aa1d73-6050-4e83-b4d1-7fc4ceb0b413", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "4b6641b7-fa2a-4d84-a9f6-e358000702dc:2ffe6379-bcec-4a04-baed-bc28009cb12c", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "b2b60887-159a-4a2f-a477-eece1cda9620:indexpattern-datasource-layer-26b85139-d8f7-4158-829c-eed584dc6310", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "b2b60887-159a-4a2f-a477-eece1cda9620:0014db45-cedd-457a-8afa-590e2868cb24", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "b2b60887-159a-4a2f-a477-eece1cda9620:448602a9-394f-4efc-b521-bd376c28bdbc", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "b2b60887-159a-4a2f-a477-eece1cda9620:f8ab7947-48a5-4645-8a99-7be331ae65f1", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "6115a6d5-d780-4272-b952-2af28343a5b6:indexpattern-datasource-layer-75cb4ead-3ea9-4a50-b9e3-93a364e95f02", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "6115a6d5-d780-4272-b952-2af28343a5b6:baf37a2c-beae-4c2c-bbc5-bb3347c7f931", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "6115a6d5-d780-4272-b952-2af28343a5b6:c6500332-3aa6-477c-8722-ea96526e85b6", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "4a2b88af-ad1a-416d-9553-d21b23882c22:indexpattern-datasource-layer-21816ba6-c606-4532-9362-64890b01b81c", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "4a2b88af-ad1a-416d-9553-d21b23882c22:6778cb9a-4889-4d55-8300-0bd7584950f3", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "4a2b88af-ad1a-416d-9553-d21b23882c22:0d3528e5-e4b0-430d-8ed3-7c63b8bdb5cb", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6:indexpattern-datasource-layer-75cb4ead-3ea9-4a50-b9e3-93a364e95f02", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "a841d405-e28f-4eea-b7a4-5cfc0299a0c6:d110f063-ba9b-4d7e-9d00-124ef79bf704", - "type": "index-pattern" - }, - { - "id": "7229c570-f56b-11ee-81cc-878f4842770a", - "name": "f4ad5dba-0dad-46b7-9169-173128b61110:panel_f4ad5dba-0dad-46b7-9169-173128b61110", - "type": "map" - }, - { - "id": "filebeat-*", - "name": "controlGroup_9d6785f0-b96d-4e35-8c17-3d7c90855bd2:optionsListDataView", - "type": "index-pattern" - } - ], - "type": "dashboard", - "typeMigrationVersion": "8.9.0", - "updated_at": "2024-04-08T05:47:15.677Z", - "version": "WzEwMDYyLDJd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index 66c891871cf..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,916 +0,0 @@ -{ - "attributes": { - "controlGroupInput": { - "chainingSystem": "HIERARCHICAL", - "controlStyle": "oneLine", - "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", - "panelsJSON": "{\"3cd3f5cb-afc6-4d36-b40b-37db0514e1bc\":{\"type\":\"optionsListControl\",\"order\":0,\"grow\":true,\"width\":\"large\",\"explicitInput\":{\"id\":\"3cd3f5cb-afc6-4d36-b40b-37db0514e1bc\",\"fieldName\":\"salesforce.instance_url\",\"title\":\"Instance URL\",\"grow\":true,\"width\":\"large\",\"enhancements\":{}}}}" - }, - "description": "Salesforce Logout Data", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "optionsJSON": { - "hidePanelTitles": false, - "syncColors": false, - "syncCursor": true, - "syncTooltips": false, - "useMargins": true - }, - "panelsJSON": [ - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-8a47b6d2-1dbb-4988-a641-8f88c4afa23e", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "991d4d23-b9bd-4703-af3a-fc289870fd2d", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "8a47b6d2-1dbb-4988-a641-8f88c4afa23e": { - "columnOrder": [ - "3813595f-613d-448b-a776-c8c2a0030e79", - "3813595f-613d-448b-a776-c8c2a0030e79X0", - "3813595f-613d-448b-a776-c8c2a0030e79X1", - "3813595f-613d-448b-a776-c8c2a0030e79X2" - ], - "columns": { - "3813595f-613d-448b-a776-c8c2a0030e79": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "User initiated logout", - "operationType": "formula", - "params": { - "format": { - "id": "percent", - "params": { - "decimals": 2 - } - }, - "formula": "count(kql='salesforce.logout.user_initiated_logout : \"1\" ')/count()", - "isFormulaBroken": false - }, - "references": [ - "3813595f-613d-448b-a776-c8c2a0030e79X2" - ], - "scale": "ratio" - }, - "3813595f-613d-448b-a776-c8c2a0030e79X0": { - "customLabel": true, - "dataType": "number", - "filter": { - "language": "kuery", - "query": "salesforce.logout.user_initiated_logout : \"1\" " - }, - "isBucketed": false, - "label": "Part of User initiated logout", - "operationType": "count", - "params": { - "emptyAsNull": false - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "3813595f-613d-448b-a776-c8c2a0030e79X1": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Part of User initiated logout", - "operationType": "count", - "params": { - "emptyAsNull": false - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "3813595f-613d-448b-a776-c8c2a0030e79X2": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Part of User initiated logout", - "operationType": "math", - "params": { - "tinymathAst": { - "args": [ - "3813595f-613d-448b-a776-c8c2a0030e79X0", - "3813595f-613d-448b-a776-c8c2a0030e79X1" - ], - "location": { - "max": 67, - "min": 0 - }, - "name": "divide", - "text": "count(kql='salesforce.logout.user_initiated_logout : \"1\" ')/count()", - "type": "function" - } - }, - "references": [ - "3813595f-613d-448b-a776-c8c2a0030e79X0", - "3813595f-613d-448b-a776-c8c2a0030e79X1" - ], - "scale": "ratio" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "991d4d23-b9bd-4703-af3a-fc289870fd2d", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "accessor": "3813595f-613d-448b-a776-c8c2a0030e79", - "colorMode": "None", - "layerId": "8a47b6d2-1dbb-4988-a641-8f88c4afa23e", - "layerType": "data", - "size": "l", - "titlePosition": "bottom" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsLegacyMetric" - }, - "enhancements": {}, - "hidePanelTitles": true - }, - "gridData": { - "h": 10, - "i": "ed7da063-bcce-4f03-a2f8-5f5e61679c94", - "w": 24, - "x": 0, - "y": 0 - }, - "panelIndex": "ed7da063-bcce-4f03-a2f8-5f5e61679c94", - "title": "Percentage of user initiated logout [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-071d449f-b93b-4b66-a79b-2ebdcc946a91", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "a82a2f79-e3d6-4c70-8dfe-3658ebff7021", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "071d449f-b93b-4b66-a79b-2ebdcc946a91": { - "columnOrder": [ - "82a7bef3-43f0-4d0b-bcbd-becfae9e327f", - "9ccd37bf-1f93-4896-afc5-06ae3f6f909f" - ], - "columns": { - "82a7bef3-43f0-4d0b-bcbd-becfae9e327f": { - "dataType": "string", - "isBucketed": true, - "label": "Top 5 values of salesforce.logout.session.level", - "operationType": "terms", - "params": { - "exclude": [], - "excludeIsRegex": false, - "include": [], - "includeIsRegex": false, - "missingBucket": false, - "orderBy": { - "columnId": "9ccd37bf-1f93-4896-afc5-06ae3f6f909f", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "size": 5 - }, - "scale": "ordinal", - "sourceField": "salesforce.logout.session.level" - }, - "9ccd37bf-1f93-4896-afc5-06ae3f6f909f": { - "customLabel": false, - "dataType": "number", - "isBucketed": false, - "label": "Count of records", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "a82a2f79-e3d6-4c70-8dfe-3658ebff7021", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "layers": [ - { - "categoryDisplay": "default", - "layerId": "071d449f-b93b-4b66-a79b-2ebdcc946a91", - "layerType": "data", - "legendDisplay": "default", - "metrics": [ - "9ccd37bf-1f93-4896-afc5-06ae3f6f909f" - ], - "nestedLegend": false, - "numberDisplay": "value", - "primaryGroups": [ - "82a7bef3-43f0-4d0b-bcbd-becfae9e327f" - ] - } - ], - "shape": "pie" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsPie" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 10, - "i": "3c17916f-f16e-4ac8-bccf-73ecd11f212e", - "w": 24, - "x": 24, - "y": 0 - }, - "panelIndex": "3c17916f-f16e-4ac8-bccf-73ecd11f212e", - "title": "Session levels used while logging out [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-c9c3c8ad-43ed-4058-ad02-3ad64efc5e8f", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "2353b84e-da0b-47de-8611-7d6335cab7f4", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "c9c3c8ad-43ed-4058-ad02-3ad64efc5e8f": { - "columnOrder": [ - "1046a81f-b268-4875-99c0-4130514d6828", - "92cb6b38-00c1-4c8b-b59f-0dbf9a1f760e" - ], - "columns": { - "1046a81f-b268-4875-99c0-4130514d6828": { - "dataType": "date", - "isBucketed": true, - "label": "@timestamp", - "operationType": "date_histogram", - "params": { - "dropPartials": false, - "includeEmptyRows": true, - "interval": "auto" - }, - "scale": "interval", - "sourceField": "@timestamp" - }, - "92cb6b38-00c1-4c8b-b59f-0dbf9a1f760e": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Count", - "operationType": "count", - "params": { - "emptyAsNull": true, - "format": { - "id": "number", - "params": { - "decimals": 0 - } - } - }, - "scale": "ratio", - "sourceField": "___records___" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "2353b84e-da0b-47de-8611-7d6335cab7f4", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": false, - "yRight": true - }, - "fillOpacity": 0.5, - "fittingFunction": "None", - "gridlinesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "labelsOrientation": { - "x": 0, - "yLeft": 0, - "yRight": 0 - }, - "layers": [ - { - "accessors": [ - "92cb6b38-00c1-4c8b-b59f-0dbf9a1f760e" - ], - "layerId": "c9c3c8ad-43ed-4058-ad02-3ad64efc5e8f", - "layerType": "data", - "palette": { - "name": "default", - "type": "palette" - }, - "seriesType": "line", - "xAccessor": "1046a81f-b268-4875-99c0-4130514d6828", - "yConfig": [ - { - "axisMode": "left", - "color": "#68BC00", - "forAccessor": "92cb6b38-00c1-4c8b-b59f-0dbf9a1f760e" - } - ] - } - ], - "legend": { - "isVisible": true, - "maxLines": 1, - "position": "right", - "shouldTruncate": true, - "showSingleSeries": true - }, - "preferredSeriesType": "line", - "tickLabelsVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "valueLabels": "hide", - "valuesInLegend": true, - "yLeftExtent": { - "mode": "full" - }, - "yRightExtent": { - "mode": "full" - }, - "yTitle": "" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 13, - "i": "e0bbbc54-6b58-4290-bf0c-2197bacc9d57", - "w": 48, - "x": 0, - "y": 10 - }, - "panelIndex": "e0bbbc54-6b58-4290-bf0c-2197bacc9d57", - "title": "Logout over time [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-53b4bc18-a6f2-4d8b-bf4b-24f553673f92", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "a0cf27f7-fad9-4af6-865d-d6c277520479", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "53b4bc18-a6f2-4d8b-bf4b-24f553673f92": { - "columnOrder": [ - "59346bf3-835e-4e58-9d3f-559141683d62", - "19b9fe7e-d3f1-40b7-a9b8-762233a8ba30" - ], - "columns": { - "19b9fe7e-d3f1-40b7-a9b8-762233a8ba30": { - "dataType": "number", - "isBucketed": false, - "label": "Count of records", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "59346bf3-835e-4e58-9d3f-559141683d62": { - "dataType": "string", - "isBucketed": true, - "label": "Top 5 values of salesforce.logout.session.type", - "operationType": "terms", - "params": { - "exclude": [], - "excludeIsRegex": false, - "include": [], - "includeIsRegex": false, - "missingBucket": false, - "orderBy": { - "columnId": "19b9fe7e-d3f1-40b7-a9b8-762233a8ba30", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "secondaryFields": [], - "size": 5 - }, - "scale": "ordinal", - "sourceField": "salesforce.logout.session.type" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "a0cf27f7-fad9-4af6-865d-d6c277520479", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "layers": [ - { - "categoryDisplay": "default", - "layerId": "53b4bc18-a6f2-4d8b-bf4b-24f553673f92", - "layerType": "data", - "legendDisplay": "default", - "metrics": [ - "19b9fe7e-d3f1-40b7-a9b8-762233a8ba30" - ], - "nestedLegend": false, - "numberDisplay": "percent", - "primaryGroups": [ - "59346bf3-835e-4e58-9d3f-559141683d62" - ] - } - ], - "shape": "treemap" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsPie" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "b01bd690-ed72-4ca8-9b6f-9c81d338ccee", - "w": 24, - "x": 0, - "y": 23 - }, - "panelIndex": "b01bd690-ed72-4ca8-9b6f-9c81d338ccee", - "title": "Distribution of session types [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-b6f7f9e3-33f9-40c4-8b8b-4196caa3e8db", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "9942d56b-8bcc-49ea-a7a8-a1c4b165acb0", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "b6f7f9e3-33f9-40c4-8b8b-4196caa3e8db": { - "columnOrder": [ - "d114db82-acd6-425c-b1fb-de8156d1cfc7", - "770749c7-20ab-47fd-b783-0b8d41bcf2f1" - ], - "columns": { - "770749c7-20ab-47fd-b783-0b8d41bcf2f1": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Request count", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "d114db82-acd6-425c-b1fb-de8156d1cfc7": { - "customLabel": true, - "dataType": "ip", - "isBucketed": true, - "label": "IP Addresses", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "770749c7-20ab-47fd-b783-0b8d41bcf2f1", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": false, - "parentFormat": { - "id": "terms" - }, - "secondaryFields": [], - "size": 10 - }, - "scale": "ordinal", - "sourceField": "source.ip" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "9942d56b-8bcc-49ea-a7a8-a1c4b165acb0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "fittingFunction": "None", - "gridlinesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "labelsOrientation": { - "x": 0, - "yLeft": 0, - "yRight": 0 - }, - "layers": [ - { - "accessors": [ - "770749c7-20ab-47fd-b783-0b8d41bcf2f1" - ], - "layerId": "b6f7f9e3-33f9-40c4-8b8b-4196caa3e8db", - "layerType": "data", - "seriesType": "bar_horizontal", - "xAccessor": "d114db82-acd6-425c-b1fb-de8156d1cfc7" - } - ], - "legend": { - "isVisible": true, - "position": "right" - }, - "preferredSeriesType": "bar_horizontal", - "tickLabelsVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "valueLabels": "hide" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "aa5b3dcc-cf05-47d1-9e8f-7619950d6de1", - "w": 24, - "x": 24, - "y": 23 - }, - "panelIndex": "aa5b3dcc-cf05-47d1-9e8f-7619950d6de1", - "title": "Top 10 IP addresses by Logout request count [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "enhancements": {}, - "hiddenLayers": [], - "hidePanelTitles": false, - "isLayerTOCOpen": true, - "mapBuffer": { - "maxLat": 31.95216, - "maxLon": 112.5, - "minLat": 11.1784, - "minLon": 45 - }, - "mapCenter": { - "lat": 23.62555, - "lon": 78.34794, - "zoom": 4.45 - }, - "openTOCDetails": [] - }, - "gridData": { - "h": 15, - "i": "da358c11-0183-4bdf-9d98-1f380530ba3f", - "w": 48, - "x": 0, - "y": 38 - }, - "panelIndex": "da358c11-0183-4bdf-9d98-1f380530ba3f", - "panelRefName": "panel_da358c11-0183-4bdf-9d98-1f380530ba3f", - "type": "map", - "version": "8.10.0" - } - ], - "refreshInterval": { - "pause": true, - "value": 0 - }, - "timeFrom": "now-7d/d", - "timeRestore": true, - "timeTo": "now", - "title": "[Filebeat Salesforce] Logout Dashboard", - "version": 1 - }, - "coreMigrationVersion": "8.8.0", - "created_at": "2024-04-08T05:47:36.007Z", - "id": "salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10", - "managed": false, - "references": [ - { - "id": "filebeat-*", - "name": "ed7da063-bcce-4f03-a2f8-5f5e61679c94:indexpattern-datasource-layer-8a47b6d2-1dbb-4988-a641-8f88c4afa23e", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "ed7da063-bcce-4f03-a2f8-5f5e61679c94:991d4d23-b9bd-4703-af3a-fc289870fd2d", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "3c17916f-f16e-4ac8-bccf-73ecd11f212e:indexpattern-datasource-layer-071d449f-b93b-4b66-a79b-2ebdcc946a91", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "3c17916f-f16e-4ac8-bccf-73ecd11f212e:a82a2f79-e3d6-4c70-8dfe-3658ebff7021", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "e0bbbc54-6b58-4290-bf0c-2197bacc9d57:indexpattern-datasource-layer-c9c3c8ad-43ed-4058-ad02-3ad64efc5e8f", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "e0bbbc54-6b58-4290-bf0c-2197bacc9d57:2353b84e-da0b-47de-8611-7d6335cab7f4", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "b01bd690-ed72-4ca8-9b6f-9c81d338ccee:indexpattern-datasource-layer-53b4bc18-a6f2-4d8b-bf4b-24f553673f92", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "b01bd690-ed72-4ca8-9b6f-9c81d338ccee:a0cf27f7-fad9-4af6-865d-d6c277520479", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "aa5b3dcc-cf05-47d1-9e8f-7619950d6de1:indexpattern-datasource-layer-b6f7f9e3-33f9-40c4-8b8b-4196caa3e8db", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "aa5b3dcc-cf05-47d1-9e8f-7619950d6de1:9942d56b-8bcc-49ea-a7a8-a1c4b165acb0", - "type": "index-pattern" - }, - { - "id": "7ed92590-f56b-11ee-81cc-878f4842770a", - "name": "da358c11-0183-4bdf-9d98-1f380530ba3f:panel_da358c11-0183-4bdf-9d98-1f380530ba3f", - "type": "map" - }, - { - "id": "filebeat-*", - "name": "controlGroup_3cd3f5cb-afc6-4d36-b40b-37db0514e1bc:optionsListDataView", - "type": "index-pattern" - } - ], - "type": "dashboard", - "typeMigrationVersion": "8.9.0", - "updated_at": "2024-04-08T05:47:36.007Z", - "version": "WzEwMDY1LDJd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json deleted file mode 100644 index d06b6233c7e..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/dashboard/salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json +++ /dev/null @@ -1,773 +0,0 @@ -{ - "attributes": { - "controlGroupInput": { - "chainingSystem": "HIERARCHICAL", - "controlStyle": "oneLine", - "ignoreParentSettingsJSON": "{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}", - "panelsJSON": "{\"9812b8eb-9783-4486-96ae-b1623cfbe1a7\":{\"type\":\"optionsListControl\",\"order\":0,\"grow\":true,\"width\":\"large\",\"explicitInput\":{\"id\":\"9812b8eb-9783-4486-96ae-b1623cfbe1a7\",\"fieldName\":\"salesforce.instance_url\",\"title\":\"Instance URL\",\"grow\":true,\"width\":\"large\",\"enhancements\":{}}}}" - }, - "description": "Salesforce SetupAuditTrail Data", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "query": { - "language": "kuery", - "query": "" - } - } - }, - "optionsJSON": { - "hidePanelTitles": false, - "syncColors": false, - "syncCursor": true, - "syncTooltips": false, - "useMargins": true - }, - "panelsJSON": [ - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-d9d1a80f-da0d-4de3-b81b-915a1451dfae", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "ddbc97e6-00ec-4164-9ef4-467b69d0c5a9", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "d9d1a80f-da0d-4de3-b81b-915a1451dfae": { - "columnOrder": [ - "54511a48-3c24-4b01-88e1-5aa4c625d7aa", - "de7e5b08-824f-4884-b4af-4cca15a26500", - "aebdaa57-11d2-4742-b5d1-8c9359992816" - ], - "columns": { - "54511a48-3c24-4b01-88e1-5aa4c625d7aa": { - "customLabel": true, - "dataType": "string", - "isBucketed": true, - "label": "Actions", - "operationType": "terms", - "params": { - "exclude": [], - "excludeIsRegex": false, - "include": [], - "includeIsRegex": false, - "missingBucket": false, - "orderBy": { - "columnId": "aebdaa57-11d2-4742-b5d1-8c9359992816", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "size": 10 - }, - "scale": "ordinal", - "sourceField": "event.action" - }, - "aebdaa57-11d2-4742-b5d1-8c9359992816": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Request count", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "de7e5b08-824f-4884-b4af-4cca15a26500": { - "dataType": "string", - "isBucketed": true, - "label": "Top 10 values of salesforce.setup_audit_trail.delegate_user", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "aebdaa57-11d2-4742-b5d1-8c9359992816", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": false, - "parentFormat": { - "id": "terms" - }, - "size": 10 - }, - "scale": "ordinal", - "sourceField": "salesforce.setup_audit_trail.delegate_user" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "ddbc97e6-00ec-4164-9ef4-467b69d0c5a9", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "layers": [ - { - "accessors": [ - "aebdaa57-11d2-4742-b5d1-8c9359992816" - ], - "layerId": "d9d1a80f-da0d-4de3-b81b-915a1451dfae", - "layerType": "data", - "position": "top", - "seriesType": "bar_stacked", - "showGridlines": false, - "splitAccessor": "de7e5b08-824f-4884-b4af-4cca15a26500", - "xAccessor": "54511a48-3c24-4b01-88e1-5aa4c625d7aa" - } - ], - "legend": { - "isVisible": true, - "position": "right" - }, - "preferredSeriesType": "bar_stacked", - "title": "Empty XY chart", - "valueLabels": "hide" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "86d0aa67-c1da-4027-9368-9d0c7b393ee7", - "w": 24, - "x": 0, - "y": 0 - }, - "panelIndex": "86d0aa67-c1da-4027-9368-9d0c7b393ee7", - "title": "Top 10 actions performed by delegated users [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-05728583-cb7a-4904-bf30-f70c545f1fa4", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "f789c983-2deb-45f7-b5ab-14cb09e37d69", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "05728583-cb7a-4904-bf30-f70c545f1fa4": { - "columnOrder": [ - "89925259-d88b-4002-b3f3-c3112592864c", - "20311ced-e7b9-4fa5-b732-e03d621d74d3" - ], - "columns": { - "20311ced-e7b9-4fa5-b732-e03d621d74d3": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Request count", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "89925259-d88b-4002-b3f3-c3112592864c": { - "customLabel": true, - "dataType": "string", - "isBucketed": true, - "label": "Sections affected", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "20311ced-e7b9-4fa5-b732-e03d621d74d3", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": false, - "parentFormat": { - "id": "terms" - }, - "size": 10 - }, - "scale": "ordinal", - "sourceField": "salesforce.setup_audit_trail.section" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "f789c983-2deb-45f7-b5ab-14cb09e37d69", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "layers": [ - { - "accessors": [ - "20311ced-e7b9-4fa5-b732-e03d621d74d3" - ], - "layerId": "05728583-cb7a-4904-bf30-f70c545f1fa4", - "layerType": "data", - "position": "top", - "seriesType": "bar", - "showGridlines": false, - "xAccessor": "89925259-d88b-4002-b3f3-c3112592864c" - } - ], - "legend": { - "isVisible": true, - "position": "right" - }, - "preferredSeriesType": "bar", - "title": "Empty XY chart", - "valueLabels": "hide" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "86eca459-ead0-451d-a319-db689af6fecd", - "w": 24, - "x": 24, - "y": 0 - }, - "panelIndex": "86eca459-ead0-451d-a319-db689af6fecd", - "title": "Top 10 sections affected [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-d6fa34de-c164-4cf2-9a9e-55550d4f5c2b", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "f879f71a-6230-4814-9ef8-11d15d46ac49", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "d6fa34de-c164-4cf2-9a9e-55550d4f5c2b": { - "columnOrder": [ - "9ab2ae83-58e0-40c1-9152-2944132777a6", - "ffd5fa44-6891-4efd-acd4-b156aabaaf75", - "a047794a-dd3e-4988-b425-f542cc15fe3a" - ], - "columns": { - "9ab2ae83-58e0-40c1-9152-2944132777a6": { - "dataType": "string", - "isBucketed": true, - "label": "Top 10 values of event.action", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "a047794a-dd3e-4988-b425-f542cc15fe3a", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": false, - "parentFormat": { - "id": "terms" - }, - "secondaryFields": [], - "size": 10 - }, - "scale": "ordinal", - "sourceField": "event.action" - }, - "a047794a-dd3e-4988-b425-f542cc15fe3a": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Actions ", - "operationType": "count", - "params": { - "emptyAsNull": true - }, - "scale": "ratio", - "sourceField": "___records___" - }, - "ffd5fa44-6891-4efd-acd4-b156aabaaf75": { - "dataType": "date", - "isBucketed": true, - "label": "@timestamp", - "operationType": "date_histogram", - "params": { - "dropPartials": false, - "includeEmptyRows": true, - "interval": "auto" - }, - "scale": "interval", - "sourceField": "@timestamp" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "f879f71a-6230-4814-9ef8-11d15d46ac49", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "axisTitlesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "fittingFunction": "None", - "gridlinesVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "labelsOrientation": { - "x": 0, - "yLeft": 0, - "yRight": 0 - }, - "layers": [ - { - "accessors": [ - "a047794a-dd3e-4988-b425-f542cc15fe3a" - ], - "layerId": "d6fa34de-c164-4cf2-9a9e-55550d4f5c2b", - "layerType": "data", - "position": "top", - "seriesType": "bar_stacked", - "showGridlines": false, - "splitAccessor": "9ab2ae83-58e0-40c1-9152-2944132777a6", - "xAccessor": "ffd5fa44-6891-4efd-acd4-b156aabaaf75" - } - ], - "legend": { - "isVisible": true, - "position": "right" - }, - "preferredSeriesType": "bar_stacked", - "tickLabelsVisibilitySettings": { - "x": true, - "yLeft": true, - "yRight": true - }, - "valueLabels": "hide" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsXY" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 15, - "i": "0e7e3952-b099-4b91-b6f3-9e0239707f87", - "w": 48, - "x": 0, - "y": 15 - }, - "panelIndex": "0e7e3952-b099-4b91-b6f3-9e0239707f87", - "title": "Top 10 actions over time [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - }, - { - "embeddableConfig": { - "attributes": { - "description": "", - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-9411e1eb-536a-4d98-b1b7-fa41dc157d88", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "9edd25b8-d256-4640-bb24-4a36e325f936", - "type": "index-pattern" - } - ], - "state": { - "adHocDataViews": {}, - "datasourceStates": { - "formBased": { - "layers": { - "9411e1eb-536a-4d98-b1b7-fa41dc157d88": { - "columnOrder": [ - "b1691588-4383-4e6c-891a-f50799eb68ac", - "e7fbf4fb-e128-45d7-b95b-476844ae7ee2", - "d4503031-9bf0-4daf-a418-507a3a1b89ef", - "3553424c-661b-48dc-b323-8d33c94375a6", - "53e49d01-1e96-4aad-bdb3-43e5471fb163" - ], - "columns": { - "3553424c-661b-48dc-b323-8d33c94375a6": { - "customLabel": true, - "dataType": "string", - "filter": { - "language": "kuery", - "query": "event.action: *" - }, - "isBucketed": false, - "label": "Action", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ordinal", - "sourceField": "event.action" - }, - "53e49d01-1e96-4aad-bdb3-43e5471fb163": { - "customLabel": true, - "dataType": "string", - "filter": { - "language": "kuery", - "query": "salesforce.setup_audit_trail.display: *" - }, - "isBucketed": false, - "label": "Display", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ordinal", - "sourceField": "salesforce.setup_audit_trail.display" - }, - "b1691588-4383-4e6c-891a-f50799eb68ac": { - "dataType": "string", - "isBucketed": true, - "label": "Top 10000 values of event.id", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "e7fbf4fb-e128-45d7-b95b-476844ae7ee2", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "parentFormat": { - "id": "terms" - }, - "secondaryFields": [], - "size": 10000 - }, - "scale": "ordinal", - "sourceField": "event.id" - }, - "d4503031-9bf0-4daf-a418-507a3a1b89ef": { - "customLabel": true, - "dataType": "string", - "filter": { - "language": "kuery", - "query": "salesforce.setup_audit_trail.section: *" - }, - "isBucketed": false, - "label": "Section", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ordinal", - "sourceField": "salesforce.setup_audit_trail.section" - }, - "e7fbf4fb-e128-45d7-b95b-476844ae7ee2": { - "customLabel": true, - "dataType": "date", - "filter": { - "language": "kuery", - "query": "@timestamp: *" - }, - "isBucketed": false, - "label": "Timestamp", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ratio", - "sourceField": "@timestamp" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "9edd25b8-d256-4640-bb24-4a36e325f936", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], - "internalReferences": [], - "query": { - "language": "kuery", - "query": "salesforce.setup_audit_trail.section : * or event.action : * or salesforce.setup_audit_trail.display : *" - }, - "visualization": { - "columns": [ - { - "columnId": "b1691588-4383-4e6c-891a-f50799eb68ac", - "hidden": true, - "isTransposed": false - }, - { - "alignment": "left", - "columnId": "e7fbf4fb-e128-45d7-b95b-476844ae7ee2", - "isTransposed": false - }, - { - "alignment": "left", - "columnId": "d4503031-9bf0-4daf-a418-507a3a1b89ef", - "isTransposed": false - }, - { - "alignment": "left", - "columnId": "53e49d01-1e96-4aad-bdb3-43e5471fb163", - "isTransposed": false - }, - { - "alignment": "left", - "columnId": "3553424c-661b-48dc-b323-8d33c94375a6", - "isTransposed": false - } - ], - "headerRowHeight": "auto", - "layerId": "9411e1eb-536a-4d98-b1b7-fa41dc157d88", - "layerType": "data", - "paging": { - "enabled": true, - "size": 10 - }, - "rowHeight": "auto" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsDatatable" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 18, - "i": "86bc6d31-3998-4a2e-ad1e-e2c373abeca8", - "w": 48, - "x": 0, - "y": 30 - }, - "panelIndex": "86bc6d31-3998-4a2e-ad1e-e2c373abeca8", - "title": "Changes made in the setup [Filebeat Salesforce]", - "type": "lens", - "version": "8.10.0" - } - ], - "refreshInterval": { - "pause": true, - "value": 0 - }, - "timeFrom": "now-7d/d", - "timeRestore": true, - "timeTo": "now", - "title": "[Filebeat Salesforce] Setup Audit Trail Dashboard", - "version": 1 - }, - "coreMigrationVersion": "8.8.0", - "created_at": "2024-04-01T08:19:33.765Z", - "id": "salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10", - "managed": false, - "references": [ - { - "id": "filebeat-*", - "name": "86d0aa67-c1da-4027-9368-9d0c7b393ee7:indexpattern-datasource-layer-d9d1a80f-da0d-4de3-b81b-915a1451dfae", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "86d0aa67-c1da-4027-9368-9d0c7b393ee7:ddbc97e6-00ec-4164-9ef4-467b69d0c5a9", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "86eca459-ead0-451d-a319-db689af6fecd:indexpattern-datasource-layer-05728583-cb7a-4904-bf30-f70c545f1fa4", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "86eca459-ead0-451d-a319-db689af6fecd:f789c983-2deb-45f7-b5ab-14cb09e37d69", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "0e7e3952-b099-4b91-b6f3-9e0239707f87:indexpattern-datasource-layer-d6fa34de-c164-4cf2-9a9e-55550d4f5c2b", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "0e7e3952-b099-4b91-b6f3-9e0239707f87:f879f71a-6230-4814-9ef8-11d15d46ac49", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "86bc6d31-3998-4a2e-ad1e-e2c373abeca8:indexpattern-datasource-layer-9411e1eb-536a-4d98-b1b7-fa41dc157d88", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "86bc6d31-3998-4a2e-ad1e-e2c373abeca8:9edd25b8-d256-4640-bb24-4a36e325f936", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "controlGroup_9812b8eb-9783-4486-96ae-b1623cfbe1a7:optionsListDataView", - "type": "index-pattern" - } - ], - "type": "dashboard", - "typeMigrationVersion": "8.9.0", - "updated_at": "2024-04-01T08:19:33.765Z", - "version": "Wzk3NzMsMl0=" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7229c570-f56b-11ee-81cc-878f4842770a.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7229c570-f56b-11ee-81cc-878f4842770a.json deleted file mode 100644 index 3b9c1da039f..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7229c570-f56b-11ee-81cc-878f4842770a.json +++ /dev/null @@ -1,229 +0,0 @@ -{ - "attributes": { - "description": "", - "layerListJSON": [ - { - "alpha": 1, - "id": "3de98652-8d42-4415-91ca-d64b26bb6972", - "includeInFitToBounds": true, - "label": null, - "locale": "autoselect", - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "isAutoSelect": true, - "lightModeDefault": "road_map_desaturated", - "type": "EMS_TMS" - }, - "style": { - "color": "", - "type": "EMS_VECTOR_TILE" - }, - "type": "EMS_VECTOR_TILE", - "visible": true - }, - { - "alpha": 0.75, - "id": "546e11d2-db52-457b-8733-e1ee75c51fd8", - "includeInFitToBounds": true, - "joins": [], - "label": "Login Activity", - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "applyForceRefresh": true, - "applyGlobalQuery": true, - "applyGlobalTime": true, - "filterByMapBounds": true, - "geoField": "source.geo.location", - "id": "6d0ed8a8-d5de-4d2e-9e05-0fd4b7dc2384", - "indexPatternRefName": "layer_1_source_index_pattern", - "scalingType": "MVT", - "sortField": "", - "sortOrder": "desc", - "tooltipProperties": [], - "topHitsSize": 1, - "topHitsSplitField": "", - "type": "ES_SEARCH" - }, - "style": { - "isTimeAware": true, - "properties": { - "fillColor": { - "options": { - "color": "#54B399" - }, - "type": "STATIC" - }, - "icon": { - "options": { - "value": "marker" - }, - "type": "STATIC" - }, - "iconOrientation": { - "options": { - "orientation": 0 - }, - "type": "STATIC" - }, - "iconSize": { - "options": { - "size": 6 - }, - "type": "STATIC" - }, - "labelBorderColor": { - "options": { - "color": "#FFFFFF" - }, - "type": "STATIC" - }, - "labelBorderSize": { - "options": { - "size": "SMALL" - } - }, - "labelColor": { - "options": { - "color": "#000000" - }, - "type": "STATIC" - }, - "labelSize": { - "options": { - "size": 14 - }, - "type": "STATIC" - }, - "labelText": { - "options": { - "value": "" - }, - "type": "STATIC" - }, - "labelZoomRange": { - "options": { - "maxZoom": 24, - "minZoom": 0, - "useLayerZoomRange": true - } - }, - "lineColor": { - "options": { - "color": "#41937c" - }, - "type": "STATIC" - }, - "lineWidth": { - "options": { - "size": 1 - }, - "type": "STATIC" - }, - "symbolizeAs": { - "options": { - "value": "circle" - } - } - }, - "type": "VECTOR" - }, - "type": "MVT_VECTOR", - "visible": true - } - ], - "mapStateJSON": { - "adHocDataViews": [], - "center": { - "lat": 0, - "lon": -110.39069 - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "filebeat-*", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - }, - "refreshConfig": { - "interval": 900000, - "isPaused": false - }, - "settings": { - "autoFitToDataBounds": false, - "backgroundColor": "#ffffff", - "browserLocation": { - "zoom": 2 - }, - "customIcons": [], - "disableInteractive": false, - "disableTooltipControl": false, - "fixedLocation": { - "lat": 0, - "lon": 0, - "zoom": 2 - }, - "hideLayerControl": false, - "hideToolbarOverlay": false, - "hideViewControl": false, - "initialLocation": "LAST_SAVED_LOCATION", - "keydownScrollZoom": false, - "maxZoom": 24, - "minZoom": 0, - "showScaleControl": false, - "showSpatialFilters": true, - "showTimesliderToggleButton": true, - "spatialFiltersAlpa": 0.3, - "spatialFiltersFillColor": "#DA8B45", - "spatialFiltersLineColor": "#DA8B45" - }, - "timeFilters": { - "from": "now-7d/d", - "to": "now" - }, - "zoom": 0.61 - }, - "title": "Login activity by region [Filebeat Salesforce]", - "uiStateJSON": { - "isLayerTOCOpen": true, - "openTOCDetails": [] - } - }, - "coreMigrationVersion": "8.8.0", - "created_at": "2024-04-08T05:47:12.071Z", - "id": "7229c570-f56b-11ee-81cc-878f4842770a", - "managed": false, - "references": [ - { - "id": "filebeat-*", - "name": "layer_1_source_index_pattern", - "type": "index-pattern" - } - ], - "type": "map", - "typeMigrationVersion": "8.4.0", - "updated_at": "2024-04-08T05:47:12.071Z", - "version": "WzEwMDYxLDJd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7ed92590-f56b-11ee-81cc-878f4842770a.json b/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7ed92590-f56b-11ee-81cc-878f4842770a.json deleted file mode 100644 index e79c372cc3f..00000000000 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/8/map/7ed92590-f56b-11ee-81cc-878f4842770a.json +++ /dev/null @@ -1,229 +0,0 @@ -{ - "attributes": { - "description": "", - "layerListJSON": [ - { - "alpha": 1, - "id": "3de98652-8d42-4415-91ca-d64b26bb6972", - "includeInFitToBounds": true, - "label": null, - "locale": "autoselect", - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "isAutoSelect": true, - "lightModeDefault": "road_map_desaturated", - "type": "EMS_TMS" - }, - "style": { - "color": "", - "type": "EMS_VECTOR_TILE" - }, - "type": "EMS_VECTOR_TILE", - "visible": true - }, - { - "alpha": 0.75, - "id": "546e11d2-db52-457b-8733-e1ee75c51fd8", - "includeInFitToBounds": true, - "joins": [], - "label": "Logout Activity", - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "applyForceRefresh": true, - "applyGlobalQuery": true, - "applyGlobalTime": true, - "filterByMapBounds": true, - "geoField": "source.geo.location", - "id": "6d0ed8a8-d5de-4d2e-9e05-0fd4b7dc2384", - "indexPatternRefName": "layer_1_source_index_pattern", - "scalingType": "MVT", - "sortField": "", - "sortOrder": "desc", - "tooltipProperties": [], - "topHitsSize": 1, - "topHitsSplitField": "", - "type": "ES_SEARCH" - }, - "style": { - "isTimeAware": true, - "properties": { - "fillColor": { - "options": { - "color": "#54B399" - }, - "type": "STATIC" - }, - "icon": { - "options": { - "value": "marker" - }, - "type": "STATIC" - }, - "iconOrientation": { - "options": { - "orientation": 0 - }, - "type": "STATIC" - }, - "iconSize": { - "options": { - "size": 6 - }, - "type": "STATIC" - }, - "labelBorderColor": { - "options": { - "color": "#FFFFFF" - }, - "type": "STATIC" - }, - "labelBorderSize": { - "options": { - "size": "SMALL" - } - }, - "labelColor": { - "options": { - "color": "#000000" - }, - "type": "STATIC" - }, - "labelSize": { - "options": { - "size": 14 - }, - "type": "STATIC" - }, - "labelText": { - "options": { - "value": "" - }, - "type": "STATIC" - }, - "labelZoomRange": { - "options": { - "maxZoom": 24, - "minZoom": 0, - "useLayerZoomRange": true - } - }, - "lineColor": { - "options": { - "color": "#41937c" - }, - "type": "STATIC" - }, - "lineWidth": { - "options": { - "size": 1 - }, - "type": "STATIC" - }, - "symbolizeAs": { - "options": { - "value": "circle" - } - } - }, - "type": "VECTOR" - }, - "type": "MVT_VECTOR", - "visible": true - } - ], - "mapStateJSON": { - "adHocDataViews": [], - "center": { - "lat": 0, - "lon": -42.96266 - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "field": "event.dataset", - "index": "filebeat-*", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - }, - "refreshConfig": { - "interval": 900000, - "isPaused": false - }, - "settings": { - "autoFitToDataBounds": false, - "backgroundColor": "#ffffff", - "browserLocation": { - "zoom": 2 - }, - "customIcons": [], - "disableInteractive": false, - "disableTooltipControl": false, - "fixedLocation": { - "lat": 0, - "lon": 0, - "zoom": 2 - }, - "hideLayerControl": false, - "hideToolbarOverlay": false, - "hideViewControl": false, - "initialLocation": "LAST_SAVED_LOCATION", - "keydownScrollZoom": false, - "maxZoom": 24, - "minZoom": 0, - "showScaleControl": false, - "showSpatialFilters": true, - "showTimesliderToggleButton": true, - "spatialFiltersAlpa": 0.3, - "spatialFiltersFillColor": "#DA8B45", - "spatialFiltersLineColor": "#DA8B45" - }, - "timeFilters": { - "from": "now-7d/d", - "to": "now" - }, - "zoom": 0.61 - }, - "title": "Logout activity by region [Filebeat Salesforce]", - "uiStateJSON": { - "isLayerTOCOpen": true, - "openTOCDetails": [] - } - }, - "coreMigrationVersion": "8.8.0", - "created_at": "2024-04-08T05:47:33.353Z", - "id": "7ed92590-f56b-11ee-81cc-878f4842770a", - "managed": false, - "references": [ - { - "id": "filebeat-*", - "name": "layer_1_source_index_pattern", - "type": "index-pattern" - } - ], - "type": "map", - "typeMigrationVersion": "8.4.0", - "updated_at": "2024-04-08T05:47:33.353Z", - "version": "WzEwMDY0LDJd" -} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml index 4caf038a2b7..e61297a739a 100644 --- a/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/apex/_meta/fields.yml @@ -75,7 +75,7 @@ type: keyword description: Field expressions to filter which rows to return. Corresponds to WHERE in SOQL queries. - name: is_long_running_request - type: boolean + type: keyword description: Indicates whether the request is counted against your org's concurrent long-running Apex request limit (true) or not (false). - name: limit type: long @@ -148,18 +148,15 @@ type: float description: Number of records retrieved in one second. metric_type: gauge - - name: trigger - type: group - fields: - - name: id - type: keyword - description: The 15-character ID of the trigger that was fired. - - name: name - type: keyword - description: For triggers coming from managed packages, trigger_name includes a namespace prefix separated with a . character. If no namespace prefix is present, the trigger is from an unmanaged trigger. - - name: type - type: keyword - description: The type of this trigger. + - name: trigger_id + type: keyword + description: The 15-character ID of the trigger that was fired. + - name: trigger_name + type: keyword + description: For triggers coming from managed packages, trigger_name includes a namespace prefix separated with a . character. If no namespace prefix is present, the trigger is from an unmanaged trigger. + - name: trigger_type + type: keyword + description: The type of this trigger. - name: type type: keyword description: The type of Apex callout. diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index 28406000cd3..ced66ee873a 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "eJzUXN1u20iWvs9THMxNEsAWpme3gUUuFvAkDlqLpOP2DwazN0KJdUTVuljFrh/L2qu8xgDdL5cnWZxTJEVRpGRFtLvXN522yKrz//OdI5/DPa7fgRca/cK6DF8BBBU0voO/3DS//MsrAIk+c6oMypp38J+vAAA2D8BnK6OmlxcKtfTv+HP6OQcjCuzcUP+EdYnvIHc2lq3fOtQoPL6DOQbR+n0PBfXPR6XRY4CFdaBMjj4ok7fpuyjxEbTN/aT1XpfWNr3K+CBMhrPo9NYDNdX3uF5ZJzufbdF4u0SYVufA3fUnsAsIS2zTVV8z6SVClPjYe3lXZPvEdkB03y++IRG2OZA2iwWaMFNdSR2S5A7Zd0b9GhGmH2oxMlH1BV3CWkLM6P1Tb7/gU6BEt7CuQAnzNRORCa1t3HN99cAsqAIHiVhoK8IhEm5VgeBLNAFWQrGKrIEVzsGje1BZQ4w/A2WgUForj5k1ckdt9BONCu+g8D0fFRicymaVrYmY71LesKeF9zP696kSvq1Vykfy8ROYJlWnXykPpXCB9C+gEEbkKKEU2b3I8QzCUnnwwZFclMl0lOj55eoJPtGXouts29woMtax2KFzamtNR0NYivDaQ/QdD6tU6CdwS3ywXxHDwoDlE4Um5kWBAR2fApkwMCf2vEdJGr+4mrIJeJbbXAtzf9YYKTqQSprXgUwoU4s1iJomZfip90LrL3yXhyUKiW6PoMo4hkXTrVd3QCd1TRYicRUsZLYoNQZkGh3+GtH3uNtY9izns7m22X3fMel9bU1+iLGpkSoTAT0s7QqKmC05DD2osCal2iyLrjJUZkuKIObC4wQuYKnyJTwIHZHjcdiYg485xWaf1C+kTCdIfEQP1sFC6YDOU1RY2+jg14hOoYeVjVrCHA0uVKhD2G7W+R5ZvYAdDJlAS8j0a1HYaFJsqCUdxD1JqNSCM+2WpEGLNblEZDW8lGkFG4QeKxW86UjqbSc5kPU07JbOZuh9ZXMizx3mIiQTE1qDLdGJ5PuVpBo5v7dFKRy2LZF0Umme/i0pKBXKIKyWGJbo2kYGyvuIHuiIQcOv1MH1RzJeuzKQWdlro+PoA01QYX1qnP+5FePxMaCjSG3n/4NZgDkSqyIjyaMcjqaJkmdJOxUlYrHALGzKluBUnu8L8GiCW89Kq0yfMR5NEh8HfNwmqnG2x0fMIj24h5YHSsp05xik0AskHT51z6VMF856rewIV/3JrjhlgAoQrL3vcVsSSKsUCBZKh+xywsiaEFYbRfT1BC4ehNJirrHO+g/oPJWn//63yV/5JS1Cn3bHcp0Fhmz5EqIJFhyRhQ8tAYBDH3XwsHC22HY8v/YBiz+DhDgXn2qvHzna4mPpKHZTcA62OhpWS5UtwdmVr6QUnaFg7Rz6ss6c//jp8vqSZHDz5ZdPdUEwbPTKz0ghMxeNUfTflAMG2Zhbq1H0NVcD5VCdH1oJhgqijHI3ShC5oI64ygAuf00fGcoZlNiItPOKtBQ86iO0KlSAN8FFfEtJxNgAbxZCe3w7zCy/dFKZ91k8qiIWYGIxp+y16KgjZdfaazuq+TT9PL19umqY2ln0IsdZmQ3T/eSCq0SXoQnUGdlFEufNl4ur1EGkEnOFDqEQEhvFcEpxuTDqf7laeO0TYcOOVF1zmjdpmyszu8eTszUxXvWIzGGg+jjYPFklFUKcFrgIEpCrBzTUiDjik2gAnxxxAtMAPggXPKxUWIKoPufXU9wmPfNnqNLp9IiNoXrGJi+g0+tTydMVETdsBgVKJUbLhXxakxGTU5KF+j09coGejHDw+oCPB+3v0jnL1d5KOPbm6lAQ3ttMCYoFLDoiaSGURsl2uY+qsLTyeTp3oXUTcdI9w3QkQGzGAe2k2MJUNHElHUsSy6yOhfFnFEqpQihLrTLKdMM0efurnlUBZnTK2tGrFTWqqkW2O6wDFZddLDyeRtrPO4HY36uSRGWgFHkixNmYk8OmKgI8hp3Y/OXjx5vLI4KzdRLd/OTolNJ9o2SiJPrUo3nruKnbKoDOONA0OdXyU7Ubc4VEYcxnaBgqeCNxIaIOnCLp4ur3TP2uDK4/XF7D3/95jBQ2iWEEwJfs7Icfz7OlcCKjimcD/bZvGqaHZTUGFQ376zNQC7DU6Aq/AYP3kaCkHKHLbDcuNpIwmr6pJ2Yqf8jXqsJpJC3FNjQvwCuTa+oxhfEJfZ/ARft/GbrMrAlCGZamdVBYV0UIP4FLkS2rNNlKxO0TliLBPp4C9Yabwxz7IEIcblyOqiPopE3iTKVoKvlKSmYPClfEGqd4ZQK6hciwGkjsodSufEKKTgvTdEK7NMXMOtmCdzbRj7hJiKPyIPRKrD2c/0Cmzvkv+mALEFKUgSuhDyKIGxtdhpMrZx+URFch9NKiN68DSMx0gowQfrm7vP7n7PbL7cWn2c30vy8hE6WYK63C+oAMuMvEYQv9joxQHdmd3nx/v7hFcAWynUjydn5NiazJq80VXZhumLJoRoJoNxBrAv64gG6ZPvfwLzZ58qhxTx/0REd+b4tCnHssheMIqpUPrYIrIXgp88mdFHlz+eny/RFlgo/z6plTyb5Gj+4BJYebRQzRcScxfHVV9pTxxM7x5514UuMzbJEUzJPmT5wtVADlILF9E3DYM5Bun92b9OAJKtiRxp4SpWKgcl3hYaFcX6XQJmyge/ku0j5Sf5lo8JDZgicCzhbdwak/qx/j5mkzOhWbgSmUDhfqETZuUvW8E2hY55mjsbsvKU//8mjC2ZZgVIXfCQPR1EQN4tJtMQ10v9+twU3/q/xhZHxsHDrNvA+tEUSnxrj07npaGyiXKNU42mGG6uHgJKxFzEyiUw8ox6rz/6PlRJnweO7For3sMRLhHt1M5P141PEgQSzQqYzHVNVUY6PWarZeT7ELcb81voQ39AI+iqLUmBxjTqke3Vnd09NFZ1Q/XlxN98CYzJOStUJeRBtc0a6Wdt8mQ9Nps/qmNd51cTXd8LK7HTZhGO1Vl/iX2BH7xADem+vLm9u3R+2KDS85PXlVrF5ukkOLYI1FfO8NXMBtjmkMM00nD3TVGzq6UWg4Gx9aDRs7jrbX1a6mh2NBVeGPQULdLOzu9xElVahKpWTcGQQ3so1hOZpwKyccKToTaWhCbToJA00WNF+DoMTp5HkpXFiDkvTkon62rBtE7osNfCnRTD/Ae2sMZqGGCrzKzXl6OtjMHsZ5HS7QoclGsaCXZ6+75DXUff74w3D3eWg2clRk+J6ZyLev//ojpyKdnb1+dz5KCLXUN803kZI4SLfURW7nybYKz+Db19/uzL2xK/Pt6+/0WRoGDvl9Rb/quvhxa8ZXIKR0FMl39w1ZUXs2Di+2N5KrUfr0Ct543lzzjR65YG89/A/r7udosiWXKWV5+ZgthcnxLbHtl3Zl6O1vX3/bvDPJbAHTq29ffx8QR/9G2SB8MtJC4ZZHfs9imShLFim6tMvUDWEHe99eVKS9O6YKnPTBgulIaeNcd8/cTZZ9gkmQZbOK5Ww03ImVE5g2i7Sb5eOK4f/68Pf3IKnmdGdgMKysuyfxtte60oBii/g/2z7ZaXoZXE06ynu3V5J64VguTvs9Zv/Y5ShCjh63HJwnHHX9Hz1HuL785e7y5nY2/bCfy94ZwpH5drzZwQGg9+mRcwx89zR3ik4Nt7LHWXK3hQVlPBqvgno4hCtwvnwCsvC0DvxZyK4b8P2p/SktOGxFM6FjiiODhtSHEh+ypHq/L9j6CqygwI0jesyio+RaWq2y9cGvsJxmaKloHitup+Kop6Ou6+IDgIfdQuWfBfEohetayadUd/8xgMful9AOQCCVKEfrkDU+4PCA9Ynd4y4X9MMBvjZnvqd227qjaYYCbDO8nqJtzvsprBKc5BO4CcJI4STcVG9ZBz+pfHl+4X10XApVn+xBB8dAWfZxWfFDjvAkpi6upmfwhTruvxE/d11kc7Sudpfo/+d97p8Nexu2ij8YkRsmbBycrixPShz9htmGZre9KWUWiKXd8qd+4qoZwjMQWANfZK/JiWpYo16mqO5O7i9CconnxGz6Ce0ouYWDHC/O09u7fhqf1vANkrXV8c3Xo6bhk9rAUotAffoziGxryFYptb6OYTnBtSZF2EykUiyBdzaGszbWoDyY2F0l3nR43uqYKuDRWfCZQzStO7ZtdDwuRmpIBozjqcPBcXuTxJNRgTcdZztV8wicNS7YrL413bdJX8HWa44ZKLmi6XELioWZVtl93ThWRfY8hsB1w+ZcFk9TQKmiOlRGhsCUadBGnixYLiJUQVlChbqWSL1TGh831P91IOY6ZMmNHC/uTAN97wmhm+wxpsra3lDaMmreTbFGr1P5ybhsA9omOKPejYXCGhWs81yXKIce8DE40ZkGnUGNgRdRB3W+EFkghWw9NIGpSUdnDHq2zD1Hg46x5BYwxRWix5CaxGtkui/po+kmyybOKhszuKrfrSDWpO7q473vWqdyZYSus82d38Jem+9Z9B/CgLlzTCMXyQkOSaKucbY0FemTX5p/sIBlN4DxXyjY2xt7DLGciShVmAUnlH7uNrl3MeCGqLggIm6Jhj99q/wcVQsbx27f0BNcMmt6vgJ0cvbnQyEa2Xz1kUt4Ug2koROXd4WQOOHlt2a3Ri3gUhkfMJV+HjJtozwP9pz/0cpI1ZqOqA9UJl1w1vW4thXXZ79w1OUB48ErvY9jhtwnrZ02po+a/8bAjLLduObA05DzC9/UGpvvG9Uxn0JPpb6qsNp+SSppvn39V/P3MFov9sepp87s/+3HwzN7qXypxcjYxiJq3X6Ot9DYkJNbtOTR9Q+uvJLQEoNLHvo2Fn+FrrjB8J4tK3nDh8RCz/Na3SN8+/pbelqSgAuVyhwKs58vPrxLSYf1oFWGxreb8cHKvLTGq7nGWbNjOks7pi/jVx77/pLUqT0BNra6iWcFmlh9v69lzmnYibKjvs+8OktZ3fEXBHm8atZw5exCaZy8+r8AAAD//yHYjtk=" + return "eJzUXN1u20iWvs9THMxNEsAWpme3gUUuFvAkDlqLpOP2DwazN0KJdUTVuljFrh/L2qu8xgDdL5cnWZxTJEVRpGRFtLvXN+22yKrz//Odo5zDPa7fgRca/cK6DF8BBBU0voO/3DR//MsrAIk+c6oMypp38J+vAAA2D8BnK6OmlxcKtfTv+HP6OQcjCuzcUP+EdYnvIHc2lq2/OtQoPL6DOQbR+nsPBfXPR6XRY4CFdaBMjj4ok7fpuyjxEbTN/aT1XpfWNr3K+CBMhrPo9NYDNdX3uF5ZJzufbdF4u0SYVufA3fUnsAsIS2zTVV8z6SVClPjYe3lXZPvEdkB03y++IRG2OZA2iwWaMFNdSR2S5A7Zd0b9GhGmH2oxMlH1BV3CWkLM6P1Tb7/gU6BEt7CuQAnzNRORCa1t3HN99cAsqAIHiVhoK8IhEm5VgeBLNAFWQrGKrIEVzsGje1BZQ4w/A2WgUForj5k1ckdt9BONCu+g8D0fFRicymaVrYmY71LesKeF9zP6/VQJ39Yq5SP5+AlMk6rTn5SHUrhA+hdQCCNylFCK7F7keAZhqTz44EguymQ6SvT8cvUEn+hL0XW2bW4UGetY7NA5tbWmoyEsRXjtIfqOh1Uq9BO4JT7Yr4hhYcDyiUIT86LAgI5PgUwYmBN73qMkjV9cTdkEPMttroW5P2uMFB1IJc3rQCaUqcUaRE2TMvzUe6H1F77LwxKFRLdHUGUcw6Lp1qs7oJO6JguRuAoWMluUGgMyjQ5/jeh73G0se5bz2Vzb7L7vmPS+tiY/xNjUSJWJgB6WdgVFzJYchh5UWJNSbZZFVxkqsyVFEHPhcQIXsFT5Eh6EjsjxOGzMwcecYrNP6hdSphMkPqIH62ChdEDnKSqsbXTwa0Sn0MPKRi1hjgYXKtQhbDfrfI+sXsAOhkygJWT6syhsNCk21JIO4p4kVGrBmXZL0qDFmlwishpeyrSCDUKPlQredCT1tpMcyHoadktnM/S+sjmR5w5zEZKJCa3BluhE8v1KUo2c39uiFA7blkg6qTRPv0sKSoUyCKslhiW6tpGB8j6iBzpi0PArdXD9kYzXrgxkVvba6Dj6QBNUWJ8a539uxXh8DOgoUtv5/2AWYI7EqshI8iiHo2mi5FnSTkWJWCwwC5uyJTiV5/sCPJrg1rPSKtNnjEeTxMcBH7eJapzt8RGzSA/uoeWBkjLdOQYp9AJJh0/dcynThbNeKzvCVX+yK04ZoAIEa+973JYE0ioFgoXSIbucMLImhNVGEX09gYsHobSYa6yz/gM6T+Xpv/9t8ld+SYvQp92xXGeBIVu+hGiCBUdk4UNLAODQRx08LJwtth3Pr33A4s8gIc7Fp9rrR462+Fg6it0UnIOtjobVUmVLcHblKylFZyhYO4e+rDPnP366vL4kGdx8+eVTXRAMG73yM1LIzEVjFP035YBT2dhk6jo/tBIMFUQZ5W6UIHJBHXGVAVz+mj4ylDMosRFp5xVpKXjUR2hVqABvgov4lpKIsQHeLIT2+HaYWX7ppDLvs3hURSzAxGJO2WvRUUfKrrXXdlTzafp5evt01TC1s+hFjrMyG6b7yQVXiS5DE6gzsoskzpsvF1epg0gl5godQiEkNorhlOJyYdT/crXw2ifChh2puuY0b9I2V2Z2jydna2K86hGZw0D1cbB5skoqhDgtcBEkIFcPaKgRccQn0QA+OeIEpgF8EC54WKmwBFF9zq+nuE165s9QpdPpERtD9YxNXkCn16eSpysibtgMCpRKjJYL+bQmIyanJAv1e3rkAj0Z4eD1AR8P2t+lc5arvZVw7M3VoSC8t5kSFAtYdETSQiiNku1yH1VhaeXzdO5C6ybipHuG6UiA2IwD2kmxhalo4ko6liSWWR0L488olFKFUJZaZZTphmny9lc9qwLM6JS1o1cralRVi2x3WAcqLrtYeDyNtJ93ArG/VyWJykAp8kSIszEnh01VBHgMO7H5y8ePN5dHBGfrJLr5ydEppftGyURJ9KlH89ZxU7dVAJ1xoGlyquWnajfmConCmM/QMFTwRuJCRB04RdLF1d+Z+l0ZXH+4vIa///MYKWwSwwiAL9nZDz+eZ0vhREYVzwb6bd80TA/LagwqGvbXZ6AWYKnRFX4DBu8jQUk5QpfZblxsJGE0fVNPzFT+kK9VhdNIWoptaF6AVybX1GMK4xP6PoGL9v8ydJlZE4QyLE3roLCuihB+ApciW1ZpspWI2ycsRYJ9PAXqDTeHOfZBhDjcuBxVR9BJm8SZStFU8pWUzB4Urog1TvHKBHQLkWE1kNhDqV35hBSdFqbphHZpipl1sgXvbKIfcZMQR+VB6JVYezj/gUyd81/0wRYgpCgDV0IfRBA3NroMJ1fOPiiJrkLopUVvXgeQmOkEGSH8cnd5/c/Z7Zfbi0+zm+l/X0ImSjFXWoX1ARlwl4nDFvodGaE6sju9+f5+cYvgCmQ7keTt/JoSWZNXmyu6MN0wZdGMBNFuINYE/HEB3TJ97uFfbPLkUeOePuiJjvzeFoU491gKxxFUKx9aBVdC8FLmkzsp8uby0+X7I8oEH+fVM6eSfY0e3QNKDjeLGKLjTmL46qrsKeOJnePPO/GkxmfYIimYJ82fOFuoAMrnLSOqSyr3Eh4Wyu3L5jVRY3QZH6n/S+d5yGzBiL2zRXew6c+2rt2MNsVmoAmlw4V6hI0ZVz3pBBq2eSZo7O5LytNvHk042xKKqvA1YSCamqiDuHFN69hoLRc1h28f+dY0jz404o9OjXHp3fW0NkwuH6pRscMM1cPBKVWLmJlEpx5QjuU8/9Fynkx4PPdi0V7EGIlwj24m8n6s6PgGPhboVMYjpGrisFFrNfeuJ8yFuN8aLcIbegEfRVFqTE4xpzSM7qzut+miM6rtLq6meyBG5knJWiEvog2uNldLu2/LoOmCWX3TGou6uJpueNnd3JowxPWqS/xL7G99YnDtzfXlze3bo/a4hheQnrzGVS8eyaElrcYivvcGLq42xzSGmSaHBzreDR3dKDS8K3ZobWvsONpeJbuaHo4FVfU9Bgl1Ib+7e0eUVKEqlXlxZ0jbyDaG5WjCrZxwpOhMpKEJtekkfDJZ0HwNghKnk+elcGENStKTi/rZsm7euGc18KVEM/0A760xmIW6jfcqN+fp6WAzexiDdbhAhyYbxYJenr3uAtZQZ/jjD8Od4aG5xVGR4XvmFd++/uuPnFh09un63fkoIdRS3zTGREriIN1SF7idJ9sqPINvX3+7M/fGrsy3r7/TZ2lQN+T3Ff2q6+LHrQBfgZDSUSTf3QVkRe3ZBrzY3hauxtzTK3jjeavMN3rkYr318D+su5+jyZZcppTl5WO2FCbHt8S2X9qVobe/ff1t884kswVMr759/X1AHP3bXoPQxkjLflse+T1LX6IsWaTo0p5RN4Qd7Et7EYv2XpcqcNIH2aUjpY1z3T1zN1n2CSbBic2alLPRcBdWTmDaLLluFoMrhv/rw9/fg6Sa052BwbCy7p7E2165SsODLeL/bLtep+llcG3oKO/dXhfqhUq5OO33mP0jkaMIOXoUchDrP+r6Pxrjv7785e7y5nY2/bCfy158/8h8Ox6ufwCEfXrkHAN7Pc2dolPDrexxltxtYUEZj8aroB4O4QqcL5+ALDytA38WsusGfH9qf0oLDlvRTOiY4sigIfUhuIcsqd69C7a+AisYcOOIHrPoKLmWVqtsffDrJacZWiqax4rbqTjq6ajruvgA4GG3EPNnQTxK4bpW8inV3X8M4LH7BbEDEEglytE6ZI0PODz8fGL3uMsF/XCAr82Z76ndtu5ommEA2wyvjmib8+4IqwQn+QRugjBSOAk31VvWwU8qX55feB8dl0LVJ3vQwTFQln1cVvyQIzyJqYur6Rl8oY77b8TPXRfZHK2r3SX6/3mf+2fD3oat4g9G5IYJGwenK8uTEke/Ybah2W1vSpkFYmm3/KmfuGqG8AwE1sAX2WtyohrWqBcdqruT+4uQXOI5MZt+QjtKbuEgx4vz9Paun8anNXyDZG11fPP1qGn4pDaw1CJQn/4MItsaslVKra9jWE5wrUkRNhOpFEvgnY3hrI01KA8mdtd8Nx2etzqmCnh0FnzmEE3rjm0bHY+LkRqSAeN46nBw3N4k8WRU4C3E2U7VPAJnjQs2a2lN923S16P1mmMGSq5oetyCYmGmVXZfN45VkT2PIXDdsDmXxdMUUKqoDpWRITBlGrSRJwuWiwhVUJZQoa4lUu+UxscN9X8diLkOWXIjx4s700Dfe0LoJnuMqbK2N5S2jJr3UqzR61R+Mi7bgLYJzqj3VqGwRgXrPNclyqEHfAxOdKZBZ1Bj4EXUQZ0vRBZIIVsPTWBq0tEZg54tc8/RoGMsuQVMcYXoMaQm8RqZ7kv6aLrJsomzysYMrup3K4g1qbv6eO+71qlcGaHrbHPnt7DX5jsQ/YcwYO4c08hFcoJDkqhrnC1NRfrkl+YfLGDZDWD8rwfs7Y09hljORJQqzIITSj93m9y7GHBDVFwQEbdEw5++VX6OqoWNY7dv6AkumTU9X885OfvzoRCNbL6WyCU8qQbS0InLu0JInPDiW7NboxZwqYwPmEo/D5m2UZ4He86/tDJStaYj6gOVSRecdT2ubcX12S8cdXnAePBK7+OYIfdJK6GN6aPm7//PKNuNaw48DTm/8E2tsfkuUB3zKfRU6qsKq+2XpJLm29d/Nf9WRevF/jj11Jn9v/14eGYvlS+1GBnbWESt28/xFhobcnKLljy6/sGVVxJaYnDJQ9/G4q/QFTcY3rNlJW/4kFjoeV6re4RvX39LT0sScKFSmUNh9vPFh3cp6bAetMrQ+HYzPliZl9Z4Ndc4a/ZLZ2m/9GX8ymPfv/J0ak+Aja1u4lmBJlbfvWuZcxp2ouyo7zOvzVJWd/zlPR6vmjVcObtQGiev/i8AAP//QRqBow==" } diff --git a/x-pack/filebeat/module/salesforce/module.yml b/x-pack/filebeat/module/salesforce/module.yml index bec0d7ed8b1..ee568ac5107 100644 --- a/x-pack/filebeat/module/salesforce/module.yml +++ b/x-pack/filebeat/module/salesforce/module.yml @@ -1,9 +1,3 @@ dashboards: -- id: salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10 - file: salesforce-6c750440-5749-11ec-8f0b-05e8b06e1b10.json -- id: salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10 - file: salesforce-59ef0af0-5749-11ec-8f0b-05e8b06e1b10.json -- id: salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10 - file: salesforce-790da810-5749-11ec-8f0b-05e8b06e1b10.json -- id: salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10 - file: salesforce-1659aef0-574c-11ec-8f0b-05e8b06e1b10.json +- id: 6e6bee90-f7e6-11ee-9088-0f36517484ce + file: 6e6bee90-f7e6-11ee-9088-0f36517484ce.json From 7636682a7849362be51341dbb55cbabfbe6e6fd1 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 11 Apr 2024 16:57:37 +0530 Subject: [PATCH 144/172] update salesforce.yml.disabled --- x-pack/filebeat/filebeat.reference.yml | 58 +++++++++---------- .../modules.d/salesforce.yml.disabled | 58 +++++++++---------- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/x-pack/filebeat/filebeat.reference.yml b/x-pack/filebeat/filebeat.reference.yml index 08bd35a48d7..b2f1bd22ff2 100644 --- a/x-pack/filebeat/filebeat.reference.yml +++ b/x-pack/filebeat/filebeat.reference.yml @@ -1920,16 +1920,16 @@ filebeat.modules: var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + client.id: "" + client.secret: "" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" @@ -1946,16 +1946,16 @@ filebeat.modules: var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.id: "" client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" @@ -1975,16 +1975,16 @@ filebeat.modules: var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.id: "" client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" @@ -2004,16 +2004,16 @@ filebeat.modules: var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.id: "" client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" diff --git a/x-pack/filebeat/modules.d/salesforce.yml.disabled b/x-pack/filebeat/modules.d/salesforce.yml.disabled index 931a7249301..bd9b7b03bbf 100644 --- a/x-pack/filebeat/modules.d/salesforce.yml.disabled +++ b/x-pack/filebeat/modules.d/salesforce.yml.disabled @@ -43,16 +43,16 @@ var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + client.id: "" + client.secret: "" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" @@ -69,16 +69,16 @@ var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.id: "" client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" @@ -98,16 +98,16 @@ var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.id: "" client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" @@ -127,16 +127,16 @@ var.authentication: user_password_flow: enabled: true - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + client.id: "" client.secret: "client-secret" - token_url: "https://login.salesforce.com" - username: "abc.xyz@mail.com" - password: "P@$$W0₹D" + token_url: "" + username: "" + password: "" jwt_bearer_flow: enabled: false - client.id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - client.username: "abc.xyz@mail.com" - client.key_path: "client_key.pem" + client.id: "" + client.username: "" + client.key_path: "" url: "https://login.salesforce.com" var.url: "https://instance_id.my.salesforce.com" From ea07de3b41820281d98ea03d6d6549069a471999 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 11 Apr 2024 17:09:51 +0530 Subject: [PATCH 145/172] remove extra panel --- .../6e6bee90-f7e6-11ee-9088-0f36517484ce.json | 223 +----------------- 1 file changed, 2 insertions(+), 221 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json index 5976aa0b63b..248c508acb9 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json @@ -1862,205 +1862,6 @@ "title": "Top 10 entry points by request count [Filebeat Salesforce]", "type": "lens", "version": "7.15.0" - }, - { - "embeddableConfig": { - "attributes": { - "references": [ - { - "id": "filebeat-*", - "name": "indexpattern-datasource-current-indexpattern", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-be7d276c-1f0a-4697-a1bd-f92c2e835daa", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-1", - "type": "index-pattern" - } - ], - "state": { - "datasourceStates": { - "indexpattern": { - "layers": { - "be7d276c-1f0a-4697-a1bd-f92c2e835daa": { - "columnOrder": [ - "2ed13d2d-70a3-4fd2-af65-dd655d880ad7", - "6afeaef8-f180-4d7e-8913-591ccd00973f", - "e9363c6b-f32e-4d19-adb4-c14777faa3a4", - "c4c26acd-dbc6-4ba9-bd72-37847db71d7a", - "ffaaffdc-d4ab-4d83-a66d-f506436a18ac" - ], - "columns": { - "2ed13d2d-70a3-4fd2-af65-dd655d880ad7": { - "customLabel": true, - "dataType": "string", - "isBucketed": true, - "label": "Entity", - "operationType": "terms", - "params": { - "missingBucket": false, - "orderBy": { - "columnId": "6afeaef8-f180-4d7e-8913-591ccd00973f", - "type": "column" - }, - "orderDirection": "desc", - "otherBucket": true, - "size": 10 - }, - "scale": "ordinal", - "sourceField": "salesforce.apex.entity" - }, - "6afeaef8-f180-4d7e-8913-591ccd00973f": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Timestamp", - "operationType": "unique_count", - "scale": "ratio", - "sourceField": "@timestamp" - }, - "c4c26acd-dbc6-4ba9-bd72-37847db71d7a": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Throughput", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ratio", - "sourceField": "salesforce.apex.throughput" - }, - "e9363c6b-f32e-4d19-adb4-c14777faa3a4": { - "customLabel": true, - "dataType": "string", - "isBucketed": false, - "label": "Action", - "operationType": "last_value", - "params": { - "sortField": "@timestamp" - }, - "scale": "ordinal", - "sourceField": "salesforce.apex.action" - }, - "ffaaffdc-d4ab-4d83-a66d-f506436a18ac": { - "customLabel": true, - "dataType": "number", - "isBucketed": false, - "label": "Execute time (ms)", - "operationType": "median", - "scale": "ratio", - "sourceField": "salesforce.apex.execute_ms" - } - }, - "incompleteColumns": {} - } - } - } - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", - "key": "event.action", - "negate": false, - "params": { - "query": "apex-external-custom-callout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.action": "apex-external-custom-callout" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - }, - "visualization": { - "columns": [ - { - "columnId": "6afeaef8-f180-4d7e-8913-591ccd00973f", - "isTransposed": false - }, - { - "columnId": "e9363c6b-f32e-4d19-adb4-c14777faa3a4", - "isTransposed": false - }, - { - "columnId": "c4c26acd-dbc6-4ba9-bd72-37847db71d7a", - "isTransposed": false - }, - { - "columnId": "ffaaffdc-d4ab-4d83-a66d-f506436a18ac", - "isTransposed": false - }, - { - "columnId": "2ed13d2d-70a3-4fd2-af65-dd655d880ad7", - "isTransposed": false - } - ], - "layerId": "be7d276c-1f0a-4697-a1bd-f92c2e835daa", - "layerType": "data" - } - }, - "title": "", - "type": "lens", - "visualizationType": "lnsDatatable" - }, - "enhancements": {}, - "hidePanelTitles": false - }, - "gridData": { - "h": 17, - "i": "fe451ecd-bfcd-443c-901c-0cef1a459179", - "w": 48, - "x": 0, - "y": 112 - }, - "panelIndex": "fe451ecd-bfcd-443c-901c-0cef1a459179", - "title": "Top 10 external calls [Filebeat Salesforce]", - "type": "lens", - "version": "7.15.0" } ], "refreshInterval": { @@ -2283,29 +2084,9 @@ "id": "filebeat-*", "name": "5904bcb3-1616-422d-855e-a86e6a69f802:filter-index-pattern-0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "fe451ecd-bfcd-443c-901c-0cef1a459179:indexpattern-datasource-current-indexpattern", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "fe451ecd-bfcd-443c-901c-0cef1a459179:indexpattern-datasource-layer-be7d276c-1f0a-4697-a1bd-f92c2e835daa", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "fe451ecd-bfcd-443c-901c-0cef1a459179:filter-index-pattern-0", - "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "fe451ecd-bfcd-443c-901c-0cef1a459179:filter-index-pattern-1", - "type": "index-pattern" } ], "type": "dashboard", - "updated_at": "2024-04-11T09:56:39.585Z", - "version": "WzY2OTcsMV0=" + "updated_at": "2024-04-11T11:36:42.536Z", + "version": "WzkwNTQsMV0=" } \ No newline at end of file From ead58a6956b517c496aab3c885598b6c66227a63 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 11 Apr 2024 17:44:52 +0530 Subject: [PATCH 146/172] Use templated snippet for set --- .../module/salesforce/setupaudittrail/ingest/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index cf0ee2626cf..6bdb8b4de0c 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -9,7 +9,7 @@ processors: - set: field: event.ingested - copy_from: _ingest.timestamp + value: "{{_ingest.timestamp}}" - rename: field: message target_field: event.original From 91947a48e8d6a84bb6006fa1295e299939d82b74 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 11 Apr 2024 17:49:33 +0530 Subject: [PATCH 147/172] Update x-pack/filebeat/module/salesforce/logout/config/logout.yml Co-authored-by: Aliabbas Attarwala <124054599+aliabbas-elastic@users.noreply.github.com> --- x-pack/filebeat/module/salesforce/logout/config/logout.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml index 56a6dd0a40e..af16dceecab 100644 --- a/x-pack/filebeat/module/salesforce/logout/config/logout.yml +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -13,7 +13,7 @@ event_monitoring_method: enabled: {{ if .event_log_file }}true{{ else }}false{{ end }} interval: {{ .elf_interval }} query: - default: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Logout' ORDER BY LogDate ASC NULLS FIRST + default: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05.000Z0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Logout' ORDER BY LogDate ASC NULLS FIRST value: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND EventType = 'Logout' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST cursor: field: "CreatedDate" From 58a0ddc5ed6279e18ff6ee036c515c33fa847893 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 11 Apr 2024 17:49:41 +0530 Subject: [PATCH 148/172] Update x-pack/filebeat/module/salesforce/login/config/login.yml Co-authored-by: Aliabbas Attarwala <124054599+aliabbas-elastic@users.noreply.github.com> --- x-pack/filebeat/module/salesforce/login/config/login.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml index 200b1d4467e..6659056f002 100644 --- a/x-pack/filebeat/module/salesforce/login/config/login.yml +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -13,7 +13,8 @@ event_monitoring_method: enabled: {{ if .event_log_file }}true{{ else }}false{{ end }} interval: {{ .elf_interval }} query: - default: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST + default: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05.000Z0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST + value: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST cursor: field: "CreatedDate" From 516146d9c08e9aeb2e307e90f105630150412044 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 11 Apr 2024 17:49:49 +0530 Subject: [PATCH 149/172] Update x-pack/filebeat/module/salesforce/apex/config/apex.yml Co-authored-by: Aliabbas Attarwala <124054599+aliabbas-elastic@users.noreply.github.com> --- x-pack/filebeat/module/salesforce/apex/config/apex.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/filebeat/module/salesforce/apex/config/apex.yml b/x-pack/filebeat/module/salesforce/apex/config/apex.yml index dc59d3f5d45..b68590495bd 100644 --- a/x-pack/filebeat/module/salesforce/apex/config/apex.yml +++ b/x-pack/filebeat/module/salesforce/apex/config/apex.yml @@ -13,7 +13,8 @@ event_monitoring_method: enabled: true interval: {{ .elf_interval }} query: - default: SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST + default: SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05.000Z0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST + value: SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST cursor: field: "CreatedDate" From 14467986c4b96d14958f6d4bf233ec336e51c2c2 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Thu, 11 Apr 2024 18:55:39 +0530 Subject: [PATCH 150/172] Add Login dashboard --- .../cb7b4a40-f7ff-11ee-9088-0f36517484ce.json | 1998 +++++++++++++++++ .../2752cec0-f804-11ee-9088-0f36517484ce.json | 119 + 2 files changed, 2117 insertions(+) create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/search/2752cec0-f804-11ee-9088-0f36517484ce.json diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json new file mode 100644 index 00000000000..a180f8885c9 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json @@ -0,0 +1,1998 @@ +{ + "attributes": { + "description": "Salesforce Login Data", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "params": { + "controls": [ + { + "fieldName": "salesforce.instance_url", + "id": "1712835656630", + "indexPatternRefName": "control_9788dc28-4697-4ec7-8953-e70fabbdb620_0_index_pattern", + "label": "Instance URL", + "options": { + "dynamicOptions": true, + "multiselect": true, + "order": "desc", + "size": 5, + "type": "terms" + }, + "parent": "", + "type": "list" + } + ], + "pinFilters": false, + "updateFiltersOnChange": false, + "useTimeFilter": false + }, + "title": "", + "type": "input_control_vis", + "uiState": {} + } + }, + "gridData": { + "h": 5, + "i": "9788dc28-4697-4ec7-8953-e70fabbdb620", + "w": 48, + "x": 0, + "y": 0 + }, + "panelIndex": "9788dc28-4697-4ec7-8953-e70fabbdb620", + "type": "visualization", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-e601c823-8f3a-4656-ad12-402588f0f425", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-1", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "e601c823-8f3a-4656-ad12-402588f0f425": { + "columnOrder": [ + "eda440c2-47d3-4779-a238-48cedf1e1dab", + "eda440c2-47d3-4779-a238-48cedf1e1dabX0", + "eda440c2-47d3-4779-a238-48cedf1e1dabX1", + "eda440c2-47d3-4779-a238-48cedf1e1dabX2" + ], + "columns": { + "eda440c2-47d3-4779-a238-48cedf1e1dab": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Login success rate", + "operationType": "formula", + "params": { + "format": { + "id": "percent", + "params": { + "decimals": 2 + } + }, + "formula": "(count(kql='event.outcome : \"success\"')/count())", + "isFormulaBroken": false + }, + "references": [ + "eda440c2-47d3-4779-a238-48cedf1e1dabX2" + ], + "scale": "ratio" + }, + "eda440c2-47d3-4779-a238-48cedf1e1dabX0": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "event.outcome : \"success\"" + }, + "isBucketed": false, + "label": "Part of Login success rate", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "eda440c2-47d3-4779-a238-48cedf1e1dabX1": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of Login success rate", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "eda440c2-47d3-4779-a238-48cedf1e1dabX2": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of Login success rate", + "operationType": "math", + "params": { + "tinymathAst": { + "args": [ + "eda440c2-47d3-4779-a238-48cedf1e1dabX0", + "eda440c2-47d3-4779-a238-48cedf1e1dabX1" + ], + "location": { + "max": 48, + "min": 0 + }, + "name": "divide", + "text": "(count(kql='event.outcome : \"success\"')/count())", + "type": "function" + } + }, + "references": [ + "eda440c2-47d3-4779-a238-48cedf1e1dabX0", + "eda440c2-47d3-4779-a238-48cedf1e1dabX1" + ], + "scale": "ratio" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-1", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "eda440c2-47d3-4779-a238-48cedf1e1dab", + "layerId": "e601c823-8f3a-4656-ad12-402588f0f425", + "layerType": "data" + } + }, + "title": "Login success rate [Filebeat Salesforce]", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 10, + "i": "ccd0f44d-f761-4a75-8fe1-f01955f30077", + "w": 24, + "x": 0, + "y": 5 + }, + "panelIndex": "ccd0f44d-f761-4a75-8fe1-f01955f30077", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-16d40659-3f98-477a-8c51-69ff60874d70", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-2", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "16d40659-3f98-477a-8c51-69ff60874d70": { + "columnOrder": [ + "5ef8874b-edac-4144-9d56-f3cdc02988ba", + "5ef8874b-edac-4144-9d56-f3cdc02988baX0" + ], + "columns": { + "5ef8874b-edac-4144-9d56-f3cdc02988ba": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Failed login attempts", + "operationType": "formula", + "params": { + "formula": "count()", + "isFormulaBroken": false + }, + "references": [ + "5ef8874b-edac-4144-9d56-f3cdc02988baX0" + ], + "scale": "ratio" + }, + "5ef8874b-edac-4144-9d56-f3cdc02988baX0": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of count()", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-1", + "key": "event.outcome", + "negate": false, + "params": { + "query": "failure" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.outcome": "failure" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-2", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "5ef8874b-edac-4144-9d56-f3cdc02988ba", + "layerId": "16d40659-3f98-477a-8c51-69ff60874d70", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 10, + "i": "da637943-7e6d-41a2-a9db-2d0fedc58956", + "w": 24, + "x": 24, + "y": 5 + }, + "panelIndex": "da637943-7e6d-41a2-a9db-2d0fedc58956", + "title": "Failed login attempts [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-eb6954c3-d7f8-4561-953b-bb7a85328904", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-1", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "eb6954c3-d7f8-4561-953b-bb7a85328904": { + "columnOrder": [ + "633c1004-485f-4933-a814-4002992a1f8c", + "cac7726d-d7fc-4ab3-af4f-2d96c1fd5b17", + "543b37da-f2c5-49e2-b125-d877d7447c10" + ], + "columns": { + "543b37da-f2c5-49e2-b125-d877d7447c10": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "event.outcome : \"failure\"" + }, + "isBucketed": false, + "label": "Failure", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "633c1004-485f-4933-a814-4002992a1f8c": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "cac7726d-d7fc-4ab3-af4f-2d96c1fd5b17": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "event.outcome : \"success\"" + }, + "isBucketed": false, + "label": "Success", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-1", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "cac7726d-d7fc-4ab3-af4f-2d96c1fd5b17", + "543b37da-f2c5-49e2-b125-d877d7447c10" + ], + "layerId": "eb6954c3-d7f8-4561-953b-bb7a85328904", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "xAccessor": "633c1004-485f-4933-a814-4002992a1f8c", + "yConfig": [ + { + "color": "#68bc00", + "forAccessor": "cac7726d-d7fc-4ab3-af4f-2d96c1fd5b17" + }, + { + "color": "#e7664c", + "forAccessor": "543b37da-f2c5-49e2-b125-d877d7447c10" + } + ] + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "71807bd3-d0ed-4328-93cc-6d9f3c93ea2c", + "w": 48, + "x": 0, + "y": 15 + }, + "panelIndex": "71807bd3-d0ed-4328-93cc-6d9f3c93ea2c", + "title": "Login over time [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-94dd5ffa-7be5-4655-b1a2-2556e9ad835b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-1", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "94dd5ffa-7be5-4655-b1a2-2556e9ad835b": { + "columnOrder": [ + "5747b6b2-a7ee-4835-bbef-ef41299cf88a", + "5cef11ff-915a-46ed-b3b3-40d2111d429f" + ], + "columns": { + "5747b6b2-a7ee-4835-bbef-ef41299cf88a": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "5cef11ff-915a-46ed-b3b3-40d2111d429f": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Login Events", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-1", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "5cef11ff-915a-46ed-b3b3-40d2111d429f" + ], + "layerId": "94dd5ffa-7be5-4655-b1a2-2556e9ad835b", + "layerType": "data", + "position": "top", + "seriesType": "bar", + "showGridlines": false, + "xAccessor": "5747b6b2-a7ee-4835-bbef-ef41299cf88a" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "e988774b-2311-49ce-90d2-89c11abcdb07", + "w": 48, + "x": 0, + "y": 30 + }, + "panelIndex": "e988774b-2311-49ce-90d2-89c11abcdb07", + "title": "Total login events over time [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-77dc6ae7-66ae-4403-861c-86e10c2920b7", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-1", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "77dc6ae7-66ae-4403-861c-86e10c2920b7": { + "columnOrder": [ + "8912e35b-2fd5-493f-94bd-f8f6b5494819", + "f8b67a30-098a-4474-9b3e-8bbdc7fb223f" + ], + "columns": { + "8912e35b-2fd5-493f-94bd-f8f6b5494819": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of user.roles", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "f8b67a30-098a-4474-9b3e-8bbdc7fb223f", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "user.roles" + }, + "f8b67a30-098a-4474-9b3e-8bbdc7fb223f": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-1", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "groups": [ + "8912e35b-2fd5-493f-94bd-f8f6b5494819" + ], + "layerId": "77dc6ae7-66ae-4403-861c-86e10c2920b7", + "layerType": "data", + "legendDisplay": "default", + "metric": "f8b67a30-098a-4474-9b3e-8bbdc7fb223f", + "nestedLegend": false, + "numberDisplay": "percent" + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "89cc0806-06c0-44ff-a439-302308134141", + "w": 24, + "x": 0, + "y": 45 + }, + "panelIndex": "89cc0806-06c0-44ff-a439-302308134141", + "title": "Distribution of type of users [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-0c41d5d1-1ecc-4583-bf02-f403fd062f57", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-1", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "0c41d5d1-1ecc-4583-bf02-f403fd062f57": { + "columnOrder": [ + "03378057-e779-4d5b-9529-bb74a6b69613", + "b328aa99-56ed-443d-aaa0-fcab852e9d2f" + ], + "columns": { + "03378057-e779-4d5b-9529-bb74a6b69613": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "User Agent", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "b328aa99-56ed-443d-aaa0-fcab852e9d2f", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "user_agent.name" + }, + "b328aa99-56ed-443d-aaa0-fcab852e9d2f": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-1", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "groups": [ + "03378057-e779-4d5b-9529-bb74a6b69613" + ], + "layerId": "0c41d5d1-1ecc-4583-bf02-f403fd062f57", + "layerType": "data", + "legendDisplay": "default", + "metric": "b328aa99-56ed-443d-aaa0-fcab852e9d2f", + "nestedLegend": false, + "numberDisplay": "percent" + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "47159791-40d6-4728-a005-79ddba90c433", + "w": 24, + "x": 24, + "y": 45 + }, + "panelIndex": "47159791-40d6-4728-a005-79ddba90c433", + "title": "Activity by browser/client [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-e6917172-0cfc-45d0-8761-9d151ca8c6d8", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "e6917172-0cfc-45d0-8761-9d151ca8c6d8": { + "columnOrder": [ + "12c45419-8c36-42d5-a61f-0134974a7917", + "8eb21603-1016-4a57-8f72-f2cbcd046732" + ], + "columns": { + "12c45419-8c36-42d5-a61f-0134974a7917": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Postal code", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "8eb21603-1016-4a57-8f72-f2cbcd046732", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "source.geo.postal_code" + }, + "8eb21603-1016-4a57-8f72-f2cbcd046732": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "User count", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "user.email" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "8eb21603-1016-4a57-8f72-f2cbcd046732" + ], + "layerId": "e6917172-0cfc-45d0-8761-9d151ca8c6d8", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "xAccessor": "12c45419-8c36-42d5-a61f-0134974a7917" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "062d36b1-7b48-4942-8dc6-bc6c9da71ca4", + "w": 24, + "x": 0, + "y": 60 + }, + "panelIndex": "062d36b1-7b48-4942-8dc6-bc6c9da71ca4", + "title": "Top 10 postal code by user count [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-57bddf43-9edc-455c-a430-1905126337ab", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-1", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "57bddf43-9edc-455c-a430-1905126337ab": { + "columnOrder": [ + "898c6e89-40ea-41ed-83bb-db2b34fbe59d", + "fbdd3f62-f9f8-4830-a06d-f1b04ae314d5" + ], + "columns": { + "898c6e89-40ea-41ed-83bb-db2b34fbe59d": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Application type", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "fbdd3f62-f9f8-4830-a06d-f1b04ae314d5", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.login.application" + }, + "fbdd3f62-f9f8-4830-a06d-f1b04ae314d5": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "User count", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "user.email" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-1", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "fbdd3f62-f9f8-4830-a06d-f1b04ae314d5" + ], + "layerId": "57bddf43-9edc-455c-a430-1905126337ab", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "xAccessor": "898c6e89-40ea-41ed-83bb-db2b34fbe59d" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "2f13c9f8-868c-420e-9243-4edc3bf8a52f", + "w": 24, + "x": 24, + "y": 60 + }, + "panelIndex": "2f13c9f8-868c-420e-9243-4edc3bf8a52f", + "title": "Top 10 application type by user count [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "enhancements": {} + }, + "gridData": { + "h": 15, + "i": "cae6ad06-6134-468e-aeeb-7a1755e143e7", + "w": 24, + "x": 0, + "y": 75 + }, + "panelIndex": "cae6ad06-6134-468e-aeeb-7a1755e143e7", + "panelRefName": "panel_cae6ad06-6134-468e-aeeb-7a1755e143e7", + "type": "search", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-b2fe9547-0320-4300-9384-8e44fb4739cb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-1", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "b2fe9547-0320-4300-9384-8e44fb4739cb": { + "columnOrder": [ + "94fa32bf-c0b2-453b-abae-ba8d7552adb1", + "65726718-5a2e-4c53-9cdd-773ece695cda" + ], + "columns": { + "65726718-5a2e-4c53-9cdd-773ece695cda": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "94fa32bf-c0b2-453b-abae-ba8d7552adb1": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "IP Addresses", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "65726718-5a2e-4c53-9cdd-773ece695cda", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "source.ip" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-1", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "65726718-5a2e-4c53-9cdd-773ece695cda" + ], + "layerId": "b2fe9547-0320-4300-9384-8e44fb4739cb", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "xAccessor": "94fa32bf-c0b2-453b-abae-ba8d7552adb1" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "02f53527-4721-4341-9d76-05d9075eef17", + "w": 24, + "x": 24, + "y": 75 + }, + "panelIndex": "02f53527-4721-4341-9d76-05d9075eef17", + "title": "Top 10 IP addresses by request count [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "description": "", + "layerListJSON": [ + { + "alpha": 1, + "id": "e14b9f6c-b5bc-44c3-a76d-cd3ce4416837", + "includeInFitToBounds": true, + "label": null, + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "type": "EMS_TMS" + }, + "style": { + "type": "TILE" + }, + "type": "VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "af1017d3-ae58-4719-bfb4-a3cdfe33eec8", + "includeInFitToBounds": true, + "joins": [], + "label": "Login Activity", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyGlobalQuery": true, + "applyGlobalTime": true, + "filterByMapBounds": true, + "geoField": "client.geo.location", + "id": "26c985c9-1742-40ad-8237-4613ee9099b9", + "indexPatternId": "filebeat-*", + "scalingType": "MVT", + "sortField": "", + "sortOrder": "desc", + "tooltipProperties": [], + "topHitsSize": 1, + "topHitsSplitField": "", + "type": "ES_SEARCH" + }, + "style": { + "isTimeAware": true, + "properties": { + "fillColor": { + "options": { + "color": "#54B399" + }, + "type": "STATIC" + }, + "icon": { + "options": { + "value": "marker" + }, + "type": "STATIC" + }, + "iconOrientation": { + "options": { + "orientation": 0 + }, + "type": "STATIC" + }, + "iconSize": { + "options": { + "size": 6 + }, + "type": "STATIC" + }, + "labelBorderColor": { + "options": { + "color": "#FFFFFF" + }, + "type": "STATIC" + }, + "labelBorderSize": { + "options": { + "size": "SMALL" + } + }, + "labelColor": { + "options": { + "color": "#000000" + }, + "type": "STATIC" + }, + "labelSize": { + "options": { + "size": 14 + }, + "type": "STATIC" + }, + "labelText": { + "options": { + "value": "" + }, + "type": "STATIC" + }, + "lineColor": { + "options": { + "color": "#41937c" + }, + "type": "STATIC" + }, + "lineWidth": { + "options": { + "size": 1 + }, + "type": "STATIC" + }, + "symbolizeAs": { + "options": { + "value": "circle" + } + } + }, + "type": "VECTOR" + }, + "type": "TILED_VECTOR", + "visible": true + } + ], + "mapStateJSON": { + "center": { + "lat": 15.07469, + "lon": -0.10396 + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "filebeat-*", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 0, + "isPaused": true + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-7d/d", + "to": "now" + }, + "zoom": 1.38 + }, + "title": "", + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } + }, + "enhancements": {}, + "hiddenLayers": [], + "isLayerTOCOpen": true, + "mapBuffer": { + "maxLat": 85.05113, + "maxLon": 270, + "minLat": -66.51326, + "minLon": -270 + }, + "mapCenter": { + "lat": 15.07469, + "lon": -0.10396, + "zoom": 1.38 + }, + "openTOCDetails": [] + }, + "gridData": { + "h": 25, + "i": "7f4972e5-8854-4946-9a10-972a87427978", + "w": 48, + "x": 0, + "y": 90 + }, + "panelIndex": "7f4972e5-8854-4946-9a10-972a87427978", + "type": "map", + "version": "7.15.0" + } + ], + "refreshInterval": { + "pause": true, + "value": 0 + }, + "timeFrom": "now-7d/d", + "timeRestore": true, + "timeTo": "now", + "title": "[Filebeat Salesforce] Login Dashboard", + "version": 1 + }, + "coreMigrationVersion": "7.15.0", + "id": "cb7b4a40-f7ff-11ee-9088-0f36517484ce", + "migrationVersion": { + "dashboard": "7.15.0" + }, + "references": [ + { + "id": "filebeat-*", + "name": "9788dc28-4697-4ec7-8953-e70fabbdb620:control_9788dc28-4697-4ec7-8953-e70fabbdb620_0_index_pattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:indexpattern-datasource-layer-e601c823-8f3a-4656-ad12-402588f0f425", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "da637943-7e6d-41a2-a9db-2d0fedc58956:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "da637943-7e6d-41a2-a9db-2d0fedc58956:indexpattern-datasource-layer-16d40659-3f98-477a-8c51-69ff60874d70", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "da637943-7e6d-41a2-a9db-2d0fedc58956:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "da637943-7e6d-41a2-a9db-2d0fedc58956:filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "da637943-7e6d-41a2-a9db-2d0fedc58956:filter-index-pattern-2", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "71807bd3-d0ed-4328-93cc-6d9f3c93ea2c:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "71807bd3-d0ed-4328-93cc-6d9f3c93ea2c:indexpattern-datasource-layer-eb6954c3-d7f8-4561-953b-bb7a85328904", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "71807bd3-d0ed-4328-93cc-6d9f3c93ea2c:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "71807bd3-d0ed-4328-93cc-6d9f3c93ea2c:filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e988774b-2311-49ce-90d2-89c11abcdb07:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e988774b-2311-49ce-90d2-89c11abcdb07:indexpattern-datasource-layer-94dd5ffa-7be5-4655-b1a2-2556e9ad835b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e988774b-2311-49ce-90d2-89c11abcdb07:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "e988774b-2311-49ce-90d2-89c11abcdb07:filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "89cc0806-06c0-44ff-a439-302308134141:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "89cc0806-06c0-44ff-a439-302308134141:indexpattern-datasource-layer-77dc6ae7-66ae-4403-861c-86e10c2920b7", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "89cc0806-06c0-44ff-a439-302308134141:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "89cc0806-06c0-44ff-a439-302308134141:filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "47159791-40d6-4728-a005-79ddba90c433:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "47159791-40d6-4728-a005-79ddba90c433:indexpattern-datasource-layer-0c41d5d1-1ecc-4583-bf02-f403fd062f57", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "47159791-40d6-4728-a005-79ddba90c433:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "47159791-40d6-4728-a005-79ddba90c433:filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "062d36b1-7b48-4942-8dc6-bc6c9da71ca4:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "062d36b1-7b48-4942-8dc6-bc6c9da71ca4:indexpattern-datasource-layer-e6917172-0cfc-45d0-8761-9d151ca8c6d8", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "062d36b1-7b48-4942-8dc6-bc6c9da71ca4:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "2f13c9f8-868c-420e-9243-4edc3bf8a52f:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "2f13c9f8-868c-420e-9243-4edc3bf8a52f:indexpattern-datasource-layer-57bddf43-9edc-455c-a430-1905126337ab", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "2f13c9f8-868c-420e-9243-4edc3bf8a52f:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "2f13c9f8-868c-420e-9243-4edc3bf8a52f:filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "2752cec0-f804-11ee-9088-0f36517484ce", + "name": "cae6ad06-6134-468e-aeeb-7a1755e143e7:panel_cae6ad06-6134-468e-aeeb-7a1755e143e7", + "type": "search" + }, + { + "id": "filebeat-*", + "name": "02f53527-4721-4341-9d76-05d9075eef17:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "02f53527-4721-4341-9d76-05d9075eef17:indexpattern-datasource-layer-b2fe9547-0320-4300-9384-8e44fb4739cb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "02f53527-4721-4341-9d76-05d9075eef17:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "02f53527-4721-4341-9d76-05d9075eef17:filter-index-pattern-1", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "7f4972e5-8854-4946-9a10-972a87427978:layer_1_source_index_pattern", + "type": "index-pattern" + } + ], + "type": "dashboard", + "updated_at": "2024-04-11T13:17:09.904Z", + "version": "WzEwMTE2LDFd" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/2752cec0-f804-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/2752cec0-f804-11ee-9088-0f36517484ce.json new file mode 100644 index 00000000000..c39d2d7156d --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/2752cec0-f804-11ee-9088-0f36517484ce.json @@ -0,0 +1,119 @@ +{ + "attributes": { + "columns": [ + "event.outcome", + "salesforce.login.run_time", + "salesforce.login.db_time.total" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "key": "event.action", + "negate": false, + "params": { + "query": "login-attempt" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.action": "login-attempt" + } + } + }, + { + "$state": { + "store": "appState" + }, + "exists": { + "field": "event.outcome" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index", + "key": "event.outcome", + "negate": false, + "type": "exists", + "value": "exists" + } + } + ], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "" + } + } + }, + "sort": [ + [ + "@timestamp", + "desc" + ] + ], + "title": "Login events table [Filebeat Salesforce]", + "version": 1 + }, + "coreMigrationVersion": "7.15.0", + "id": "2752cec0-f804-11ee-9088-0f36517484ce", + "migrationVersion": { + "search": "7.9.3" + }, + "references": [ + { + "id": "filebeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index", + "type": "index-pattern" + } + ], + "type": "search", + "updated_at": "2024-04-11T13:05:21.842Z", + "version": "Wzk5NDAsMV0=" +} \ No newline at end of file From ded973c088696cf9bee551600a8385fa3ef4ae8a Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Thu, 11 Apr 2024 21:17:24 +0530 Subject: [PATCH 151/172] Improve doc --- filebeat/docs/fields.asciidoc | 9 ++-- filebeat/docs/modules/salesforce.asciidoc | 45 +++++++++++++++---- .../module/salesforce/_meta/docs.asciidoc | 45 +++++++++++++++---- 3 files changed, 78 insertions(+), 21 deletions(-) diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index 3782df782ef..e74e48e3dfe 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -125335,7 +125335,7 @@ type: keyword -- Indicates whether the request is counted against your org's concurrent long-running Apex request limit (true) or not (false). -type: boolean +type: keyword -- @@ -125537,8 +125537,7 @@ type: float -- - -*`salesforce.apex.trigger.id`*:: +*`salesforce.apex.trigger_id`*:: + -- The 15-character ID of the trigger that was fired. @@ -125547,7 +125546,7 @@ type: keyword -- -*`salesforce.apex.trigger.name`*:: +*`salesforce.apex.trigger_name`*:: + -- For triggers coming from managed packages, trigger_name includes a namespace prefix separated with a . character. If no namespace prefix is present, the trigger is from an unmanaged trigger. @@ -125556,7 +125555,7 @@ type: keyword -- -*`salesforce.apex.trigger.type`*:: +*`salesforce.apex.trigger_type`*:: + -- The type of this trigger. diff --git a/filebeat/docs/modules/salesforce.asciidoc b/filebeat/docs/modules/salesforce.asciidoc index a03b12fdf7f..233c9cb514a 100644 --- a/filebeat/docs/modules/salesforce.asciidoc +++ b/filebeat/docs/modules/salesforce.asciidoc @@ -12,24 +12,53 @@ This file is generated! See scripts/docs_collector.py == Salesforce module -The Salesforce module collects logs from a Salesforce instance using the Salesforce REST API. It supports real-time and historical data collection for various log types including login, logout, Apex, and setup audit trails. +include::{libbeat-dir}/shared/integration-link.asciidoc[] -The module provides the following filesets for receiving logs: -- `login` fileset: Collects Salesforce Login logs from EventLogFile and Event Monitoring. -- `logout` fileset: Collects Salesforce Logout logs from EventLogFile and Event Monitoring. -- `apex` fileset: Collects Salesforce Apex logs from EventLogFile. -- `setupaudittrail` fileset: Collects logs generated when admins make changes in your org's Setup area. +The Salesforce module collects logs from a Salesforce instance using the Salesforce REST API. It supports real-time and historical data collection for various log types including Login, Logout, APEX, and Setup Audit Trail. + +The Salesforce module contains the following filesets for collecting different types of logs: + +- The `login` fileset collects Login events from the EventLogFile and Event Monitoring. +- The `logout` fileset collects Logout events from the EventLogFile and Event Monitoring. +- The `apex` fileset collects APEX execution logs from the EventLogFile. +- The `setupaudittrail` fileset collects Audit Trails events generated when admins make configuration changes in the org's Setup area. + +[options="header"] +|=== +| Fileset | EventLogFile | Real-time (Objects) + +|login +|yes +|yes + +|logout +|yes +|yes + +|apex +|yes +|no + +|setupaudittrail +|no +|yes +|=== + [IMPORTANT] ==== The default interval for collecting logs (`var.real_time_interval` or `var.elf_interval`) is 5m/1h. Exercise caution when reducing this interval, as it directly impacts the Salesforce API rate limit of ~1000 calls per hour. Exceeding the limit will result in errors from the Salesforce API. Refer to the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit] documentation for more details. ==== -include::../include/what-happens.asciidoc[] - include::../include/gs-link.asciidoc[] +include::../include/configuring-intro.asciidoc[] + +:fileset_ex: login + +include::../include/config-option-intro.asciidoc[] + [float] === Fileset settings diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index edcea8701cf..50563259b3b 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -5,24 +5,53 @@ == Salesforce module -The Salesforce module collects logs from a Salesforce instance using the Salesforce REST API. It supports real-time and historical data collection for various log types including login, logout, Apex, and setup audit trails. +include::{libbeat-dir}/shared/integration-link.asciidoc[] -The module provides the following filesets for receiving logs: -- `login` fileset: Collects Salesforce Login logs from EventLogFile and Event Monitoring. -- `logout` fileset: Collects Salesforce Logout logs from EventLogFile and Event Monitoring. -- `apex` fileset: Collects Salesforce Apex logs from EventLogFile. -- `setupaudittrail` fileset: Collects logs generated when admins make changes in your org's Setup area. +The Salesforce module collects logs from a Salesforce instance using the Salesforce REST API. It supports real-time and historical data collection for various log types including Login, Logout, APEX, and Setup Audit Trail. + +The Salesforce module contains the following filesets for collecting different types of logs: + +- The `login` fileset collects Login events from the EventLogFile and Event Monitoring. +- The `logout` fileset collects Logout events from the EventLogFile and Event Monitoring. +- The `apex` fileset collects APEX execution logs from the EventLogFile. +- The `setupaudittrail` fileset collects Audit Trails events generated when admins make configuration changes in the org's Setup area. + +[options="header"] +|=== +| Fileset | EventLogFile | Real-time (Objects) + +|login +|yes +|yes + +|logout +|yes +|yes + +|apex +|yes +|no + +|setupaudittrail +|no +|yes +|=== + [IMPORTANT] ==== The default interval for collecting logs (`var.real_time_interval` or `var.elf_interval`) is 5m/1h. Exercise caution when reducing this interval, as it directly impacts the Salesforce API rate limit of ~1000 calls per hour. Exceeding the limit will result in errors from the Salesforce API. Refer to the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit] documentation for more details. ==== -include::../include/what-happens.asciidoc[] - include::../include/gs-link.asciidoc[] +include::../include/configuring-intro.asciidoc[] + +:fileset_ex: login + +include::../include/config-option-intro.asciidoc[] + [float] === Fileset settings From cf48f52751576a72f6d8d2f5d09f94450ab4a034 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 12 Apr 2024 11:04:19 +0530 Subject: [PATCH 152/172] Address review comment --- x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml | 1 + x-pack/filebeat/module/salesforce/login/ingest/default.yml | 1 + .../filebeat/module/salesforce/logout/ingest/default.yml | 1 + .../module/salesforce/setupaudittrail/ingest/pipeline.yml | 7 ++++--- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index 6ca75e6735f..39e522c8fd9 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -12,6 +12,7 @@ processors: field: event.original copy_from: message ignore_empty_value: true + ignore_failure: true if: "ctx.event?.original == null" - fingerprint: fields: diff --git a/x-pack/filebeat/module/salesforce/login/ingest/default.yml b/x-pack/filebeat/module/salesforce/login/ingest/default.yml index d60b7521900..45b90e550f9 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/default.yml @@ -12,6 +12,7 @@ processors: field: event.original copy_from: message ignore_empty_value: true + ignore_failure: true if: "ctx.event?.original == null" - set: field: event.ingested diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml index c7e08c8f365..42ac602d2b2 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml @@ -12,6 +12,7 @@ processors: field: event.original copy_from: message ignore_empty_value: true + ignore_failure: true if: "ctx.event?.original == null" - set: field: event.ingested diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index 6bdb8b4de0c..a43aeb8bccc 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -10,9 +10,10 @@ processors: - set: field: event.ingested value: "{{_ingest.timestamp}}" - - rename: - field: message - target_field: event.original + - set: + field: event.original + copy_from: message + ignore_empty_value: true ignore_failure: true if: "ctx.event?.original == null" - set: From 7229c8affa3fe459aef769f855ed97ed69c98d09 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Fri, 12 Apr 2024 11:09:10 +0530 Subject: [PATCH 153/172] save maps in library --- .../cb7b4a40-f7ff-11ee-9088-0f36517484ce.json | 214 +----------------- .../c9668e10-f88e-11ee-9088-0f36517484ce.json | 214 ++++++++++++++++++ 2 files changed, 224 insertions(+), 204 deletions(-) create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json index a180f8885c9..c3101642e1e 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json @@ -1555,205 +1555,9 @@ }, { "embeddableConfig": { - "attributes": { - "description": "", - "layerListJSON": [ - { - "alpha": 1, - "id": "e14b9f6c-b5bc-44c3-a76d-cd3ce4416837", - "includeInFitToBounds": true, - "label": null, - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "isAutoSelect": true, - "type": "EMS_TMS" - }, - "style": { - "type": "TILE" - }, - "type": "VECTOR_TILE", - "visible": true - }, - { - "alpha": 0.75, - "id": "af1017d3-ae58-4719-bfb4-a3cdfe33eec8", - "includeInFitToBounds": true, - "joins": [], - "label": "Login Activity", - "maxZoom": 24, - "minZoom": 0, - "sourceDescriptor": { - "applyGlobalQuery": true, - "applyGlobalTime": true, - "filterByMapBounds": true, - "geoField": "client.geo.location", - "id": "26c985c9-1742-40ad-8237-4613ee9099b9", - "indexPatternId": "filebeat-*", - "scalingType": "MVT", - "sortField": "", - "sortOrder": "desc", - "tooltipProperties": [], - "topHitsSize": 1, - "topHitsSplitField": "", - "type": "ES_SEARCH" - }, - "style": { - "isTimeAware": true, - "properties": { - "fillColor": { - "options": { - "color": "#54B399" - }, - "type": "STATIC" - }, - "icon": { - "options": { - "value": "marker" - }, - "type": "STATIC" - }, - "iconOrientation": { - "options": { - "orientation": 0 - }, - "type": "STATIC" - }, - "iconSize": { - "options": { - "size": 6 - }, - "type": "STATIC" - }, - "labelBorderColor": { - "options": { - "color": "#FFFFFF" - }, - "type": "STATIC" - }, - "labelBorderSize": { - "options": { - "size": "SMALL" - } - }, - "labelColor": { - "options": { - "color": "#000000" - }, - "type": "STATIC" - }, - "labelSize": { - "options": { - "size": 14 - }, - "type": "STATIC" - }, - "labelText": { - "options": { - "value": "" - }, - "type": "STATIC" - }, - "lineColor": { - "options": { - "color": "#41937c" - }, - "type": "STATIC" - }, - "lineWidth": { - "options": { - "size": 1 - }, - "type": "STATIC" - }, - "symbolizeAs": { - "options": { - "value": "circle" - } - } - }, - "type": "VECTOR" - }, - "type": "TILED_VECTOR", - "visible": true - } - ], - "mapStateJSON": { - "center": { - "lat": 15.07469, - "lon": -0.10396 - }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "filebeat-*", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], - "query": { - "language": "kuery", - "query": "" - }, - "refreshConfig": { - "interval": 0, - "isPaused": true - }, - "settings": { - "autoFitToDataBounds": false, - "backgroundColor": "#ffffff", - "browserLocation": { - "zoom": 2 - }, - "disableInteractive": false, - "disableTooltipControl": false, - "fixedLocation": { - "lat": 0, - "lon": 0, - "zoom": 2 - }, - "hideLayerControl": false, - "hideToolbarOverlay": false, - "hideViewControl": false, - "initialLocation": "LAST_SAVED_LOCATION", - "maxZoom": 24, - "minZoom": 0, - "showScaleControl": false, - "showSpatialFilters": true, - "showTimesliderToggleButton": true, - "spatialFiltersAlpa": 0.3, - "spatialFiltersFillColor": "#DA8B45", - "spatialFiltersLineColor": "#DA8B45" - }, - "timeFilters": { - "from": "now-7d/d", - "to": "now" - }, - "zoom": 1.38 - }, - "title": "", - "uiStateJSON": { - "isLayerTOCOpen": true, - "openTOCDetails": [] - } - }, "enhancements": {}, "hiddenLayers": [], + "hidePanelTitles": false, "isLayerTOCOpen": true, "mapBuffer": { "maxLat": 85.05113, @@ -1770,12 +1574,14 @@ }, "gridData": { "h": 25, - "i": "7f4972e5-8854-4946-9a10-972a87427978", + "i": "d860f236-a75a-4fde-81ce-f3de40ef7c19", "w": 48, "x": 0, "y": 90 }, - "panelIndex": "7f4972e5-8854-4946-9a10-972a87427978", + "panelIndex": "d860f236-a75a-4fde-81ce-f3de40ef7c19", + "panelRefName": "panel_d860f236-a75a-4fde-81ce-f3de40ef7c19", + "title": "Login activity by region [Filebeat Salesforce]", "type": "map", "version": "7.15.0" } @@ -1987,12 +1793,12 @@ "type": "index-pattern" }, { - "id": "filebeat-*", - "name": "7f4972e5-8854-4946-9a10-972a87427978:layer_1_source_index_pattern", - "type": "index-pattern" + "id": "c9668e10-f88e-11ee-9088-0f36517484ce", + "name": "d860f236-a75a-4fde-81ce-f3de40ef7c19:panel_d860f236-a75a-4fde-81ce-f3de40ef7c19", + "type": "map" } ], "type": "dashboard", - "updated_at": "2024-04-11T13:17:09.904Z", - "version": "WzEwMTE2LDFd" + "updated_at": "2024-04-12T05:38:39.741Z", + "version": "WzEwMzE4LDFd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json new file mode 100644 index 00000000000..133dc9f6cb1 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json @@ -0,0 +1,214 @@ +{ + "attributes": { + "description": "", + "layerListJSON": [ + { + "alpha": 1, + "id": "e14b9f6c-b5bc-44c3-a76d-cd3ce4416837", + "includeInFitToBounds": true, + "label": null, + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "type": "EMS_TMS" + }, + "style": { + "type": "TILE" + }, + "type": "VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "af1017d3-ae58-4719-bfb4-a3cdfe33eec8", + "includeInFitToBounds": true, + "joins": [], + "label": "Login Activity", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyGlobalQuery": true, + "applyGlobalTime": true, + "filterByMapBounds": true, + "geoField": "client.geo.location", + "id": "26c985c9-1742-40ad-8237-4613ee9099b9", + "indexPatternRefName": "layer_1_source_index_pattern", + "scalingType": "MVT", + "sortField": "", + "sortOrder": "desc", + "tooltipProperties": [], + "topHitsSize": 1, + "topHitsSplitField": "", + "type": "ES_SEARCH" + }, + "style": { + "isTimeAware": true, + "properties": { + "fillColor": { + "options": { + "color": "#54B399" + }, + "type": "STATIC" + }, + "icon": { + "options": { + "value": "marker" + }, + "type": "STATIC" + }, + "iconOrientation": { + "options": { + "orientation": 0 + }, + "type": "STATIC" + }, + "iconSize": { + "options": { + "size": 6 + }, + "type": "STATIC" + }, + "labelBorderColor": { + "options": { + "color": "#FFFFFF" + }, + "type": "STATIC" + }, + "labelBorderSize": { + "options": { + "size": "SMALL" + } + }, + "labelColor": { + "options": { + "color": "#000000" + }, + "type": "STATIC" + }, + "labelSize": { + "options": { + "size": 14 + }, + "type": "STATIC" + }, + "labelText": { + "options": { + "value": "" + }, + "type": "STATIC" + }, + "lineColor": { + "options": { + "color": "#41937c" + }, + "type": "STATIC" + }, + "lineWidth": { + "options": { + "size": 1 + }, + "type": "STATIC" + }, + "symbolizeAs": { + "options": { + "value": "circle" + } + } + }, + "type": "VECTOR" + }, + "type": "TILED_VECTOR", + "visible": true + } + ], + "mapStateJSON": { + "center": { + "lat": 15.07469, + "lon": -0.10396 + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "filebeat-*", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 0, + "isPaused": true + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-7d/d", + "to": "now" + }, + "zoom": 1.38 + }, + "title": "Login activity by region [Filebeat Salesforce]", + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } + }, + "coreMigrationVersion": "7.15.0", + "id": "c9668e10-f88e-11ee-9088-0f36517484ce", + "migrationVersion": { + "map": "7.14.0" + }, + "references": [ + { + "id": "filebeat-*", + "name": "layer_1_source_index_pattern", + "type": "index-pattern" + } + ], + "type": "map", + "updated_at": "2024-04-12T05:37:44.310Z", + "version": "WzEwMzA4LDFd" +} \ No newline at end of file From a85b5c404f3bf9754ef5d500bc82ec654f794a79 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Fri, 12 Apr 2024 11:26:47 +0530 Subject: [PATCH 154/172] Add Logout dashboard --- .../243e40b0-f891-11ee-9088-0f36517484ce.json | 864 ++++++++++++++++++ .../15bcb8a0-f891-11ee-9088-0f36517484ce.json | 214 +++++ x-pack/filebeat/module/salesforce/module.yml | 5 + 3 files changed, 1083 insertions(+) create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/243e40b0-f891-11ee-9088-0f36517484ce.json create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/243e40b0-f891-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/243e40b0-f891-11ee-9088-0f36517484ce.json new file mode 100644 index 00000000000..46609ef5fa9 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/243e40b0-f891-11ee-9088-0f36517484ce.json @@ -0,0 +1,864 @@ +{ + "attributes": { + "description": "Salesforce Logout Data", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "params": { + "controls": [ + { + "fieldName": "salesforce.instance_url", + "id": "1712900437314", + "indexPatternRefName": "control_e04d7dbe-82fb-438b-8097-594262a141ec_0_index_pattern", + "label": "Instance URL", + "options": { + "dynamicOptions": true, + "multiselect": true, + "order": "desc", + "size": 5, + "type": "terms" + }, + "parent": "", + "type": "list" + } + ], + "pinFilters": false, + "updateFiltersOnChange": false, + "useTimeFilter": false + }, + "title": "", + "type": "input_control_vis", + "uiState": {} + } + }, + "gridData": { + "h": 5, + "i": "e04d7dbe-82fb-438b-8097-594262a141ec", + "w": 48, + "x": 0, + "y": 0 + }, + "panelIndex": "e04d7dbe-82fb-438b-8097-594262a141ec", + "type": "visualization", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-7f107c7d-34fd-481a-b6ac-6e0037488d00", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "7f107c7d-34fd-481a-b6ac-6e0037488d00": { + "columnOrder": [ + "d0a8f0be-bff5-4156-b797-4ce54c84c2ad", + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX0", + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX1", + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX2" + ], + "columns": { + "d0a8f0be-bff5-4156-b797-4ce54c84c2ad": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "User initiated logout", + "operationType": "formula", + "params": { + "format": { + "id": "percent", + "params": { + "decimals": 2 + } + }, + "formula": "count(kql='salesforce.logout.user_initiated_logout : \"1\" ')/count()", + "isFormulaBroken": false + }, + "references": [ + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX2" + ], + "scale": "ratio" + }, + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX0": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "salesforce.logout.user_initiated_logout : \"1\" " + }, + "isBucketed": false, + "label": "Part of count(kql='salesforce.logout.user_initiated_logout : \"1\" ')/count()", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX1": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of count(kql='salesforce.logout.user_initiated_logout : \"1\" ')/count()", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX2": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Part of count(kql='salesforce.logout.user_initiated_logout : \"1\" ')/count()", + "operationType": "math", + "params": { + "tinymathAst": { + "args": [ + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX0", + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX1" + ], + "location": { + "max": 67, + "min": 0 + }, + "name": "divide", + "text": "count(kql='salesforce.logout.user_initiated_logout : \"1\" ')/count()", + "type": "function" + } + }, + "references": [ + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX0", + "d0a8f0be-bff5-4156-b797-4ce54c84c2adX1" + ], + "scale": "ratio" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "d0a8f0be-bff5-4156-b797-4ce54c84c2ad", + "layerId": "7f107c7d-34fd-481a-b6ac-6e0037488d00", + "layerType": "data" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 12, + "i": "eaf7f094-92f3-46ca-84eb-ef2126f220bd", + "w": 24, + "x": 0, + "y": 5 + }, + "panelIndex": "eaf7f094-92f3-46ca-84eb-ef2126f220bd", + "title": "Percentage of user initiated logout [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-f3cc3792-a28a-4847-bd7d-bf08156d7def", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "f3cc3792-a28a-4847-bd7d-bf08156d7def": { + "columnOrder": [ + "3134a608-006c-4bfc-b42c-0c1ad3c4315f", + "8e4f70e3-db21-4183-bd70-b1b56fe816b4" + ], + "columns": { + "3134a608-006c-4bfc-b42c-0c1ad3c4315f": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of salesforce.logout.session.level", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "8e4f70e3-db21-4183-bd70-b1b56fe816b4", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "salesforce.logout.session.level" + }, + "8e4f70e3-db21-4183-bd70-b1b56fe816b4": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "groups": [ + "3134a608-006c-4bfc-b42c-0c1ad3c4315f" + ], + "layerId": "f3cc3792-a28a-4847-bd7d-bf08156d7def", + "layerType": "data", + "legendDisplay": "default", + "metric": "8e4f70e3-db21-4183-bd70-b1b56fe816b4", + "nestedLegend": false, + "numberDisplay": "percent" + } + ], + "shape": "pie" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 12, + "i": "698cb161-2847-4fe2-b8b0-29047d20472e", + "w": 24, + "x": 24, + "y": 5 + }, + "panelIndex": "698cb161-2847-4fe2-b8b0-29047d20472e", + "title": "Session levels used while logging out [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-07bd6025-fb9b-4980-94b7-4be1f9948220", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "07bd6025-fb9b-4980-94b7-4be1f9948220": { + "columnOrder": [ + "265a7158-90ba-4ba7-acb6-e8c1f700dd2c", + "3fe1c36a-768e-43c0-93fe-77fc2465f19a" + ], + "columns": { + "265a7158-90ba-4ba7-acb6-e8c1f700dd2c": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "3fe1c36a-768e-43c0-93fe-77fc2465f19a": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "3fe1c36a-768e-43c0-93fe-77fc2465f19a" + ], + "layerId": "07bd6025-fb9b-4980-94b7-4be1f9948220", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "xAccessor": "265a7158-90ba-4ba7-acb6-e8c1f700dd2c" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "line", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 12, + "i": "9f2a2ef4-ba17-4d76-8a0a-76517f1c0936", + "w": 48, + "x": 0, + "y": 17 + }, + "panelIndex": "9f2a2ef4-ba17-4d76-8a0a-76517f1c0936", + "title": "Logout over time [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-aed1858a-a560-41f8-a5ca-58e917d3f0f6", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "aed1858a-a560-41f8-a5ca-58e917d3f0f6": { + "columnOrder": [ + "0d1ba1cc-f436-4f99-bab4-80da94ab8377", + "e3f18ea3-e3c9-4dcb-8617-0998a34460a2" + ], + "columns": { + "0d1ba1cc-f436-4f99-bab4-80da94ab8377": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of salesforce.logout.session.type", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "e3f18ea3-e3c9-4dcb-8617-0998a34460a2", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "salesforce.logout.session.type" + }, + "e3f18ea3-e3c9-4dcb-8617-0998a34460a2": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "groups": [ + "0d1ba1cc-f436-4f99-bab4-80da94ab8377" + ], + "layerId": "aed1858a-a560-41f8-a5ca-58e917d3f0f6", + "layerType": "data", + "legendDisplay": "default", + "metric": "e3f18ea3-e3c9-4dcb-8617-0998a34460a2", + "nestedLegend": false, + "numberDisplay": "percent" + } + ], + "shape": "treemap" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "ff455525-355f-49cd-a503-159a03ada387", + "w": 24, + "x": 0, + "y": 29 + }, + "panelIndex": "ff455525-355f-49cd-a503-159a03ada387", + "title": "Distribution of session types [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-6cd4c92e-cef0-46cf-937a-5123ddc95e7b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "6cd4c92e-cef0-46cf-937a-5123ddc95e7b": { + "columnOrder": [ + "26b08e8c-5391-4f11-9955-c414ba872de8", + "63d839ef-dad8-43bf-b6e3-4f162e8354ce" + ], + "columns": { + "26b08e8c-5391-4f11-9955-c414ba872de8": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "IP Addresses", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "63d839ef-dad8-43bf-b6e3-4f162e8354ce", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "source.ip" + }, + "63d839ef-dad8-43bf-b6e3-4f162e8354ce": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "63d839ef-dad8-43bf-b6e3-4f162e8354ce" + ], + "layerId": "6cd4c92e-cef0-46cf-937a-5123ddc95e7b", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "xAccessor": "26b08e8c-5391-4f11-9955-c414ba872de8" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_horizontal", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "69095005-0182-4363-b606-263449739e20", + "w": 24, + "x": 24, + "y": 29 + }, + "panelIndex": "69095005-0182-4363-b606-263449739e20", + "title": "Top 10 IP addresses by Logout request count [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "enhancements": {}, + "hiddenLayers": [], + "hidePanelTitles": false, + "isLayerTOCOpen": true, + "mapBuffer": { + "maxLat": 85.05113, + "maxLon": 270, + "minLat": -66.51326, + "minLon": -270 + }, + "mapCenter": { + "lat": 24.87922, + "lon": -0.42602, + "zoom": 1.77 + }, + "openTOCDetails": [] + }, + "gridData": { + "h": 25, + "i": "6e4e4f8a-da6a-482e-81a6-ae3a26ad10ef", + "w": 48, + "x": 0, + "y": 44 + }, + "panelIndex": "6e4e4f8a-da6a-482e-81a6-ae3a26ad10ef", + "panelRefName": "panel_6e4e4f8a-da6a-482e-81a6-ae3a26ad10ef", + "title": "Logout activity by region [Filebeat Salesforce]", + "type": "map", + "version": "7.15.0" + } + ], + "refreshInterval": { + "pause": true, + "value": 0 + }, + "timeFrom": "now-7d/d", + "timeRestore": true, + "timeTo": "now", + "title": "[Filebeat Salesforce] Logout Dashboard", + "version": 1 + }, + "coreMigrationVersion": "7.15.0", + "id": "243e40b0-f891-11ee-9088-0f36517484ce", + "migrationVersion": { + "dashboard": "7.15.0" + }, + "references": [ + { + "id": "filebeat-*", + "name": "e04d7dbe-82fb-438b-8097-594262a141ec:control_e04d7dbe-82fb-438b-8097-594262a141ec_0_index_pattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "eaf7f094-92f3-46ca-84eb-ef2126f220bd:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "eaf7f094-92f3-46ca-84eb-ef2126f220bd:indexpattern-datasource-layer-7f107c7d-34fd-481a-b6ac-6e0037488d00", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "eaf7f094-92f3-46ca-84eb-ef2126f220bd:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "698cb161-2847-4fe2-b8b0-29047d20472e:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "698cb161-2847-4fe2-b8b0-29047d20472e:indexpattern-datasource-layer-f3cc3792-a28a-4847-bd7d-bf08156d7def", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9f2a2ef4-ba17-4d76-8a0a-76517f1c0936:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9f2a2ef4-ba17-4d76-8a0a-76517f1c0936:indexpattern-datasource-layer-07bd6025-fb9b-4980-94b7-4be1f9948220", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "9f2a2ef4-ba17-4d76-8a0a-76517f1c0936:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ff455525-355f-49cd-a503-159a03ada387:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ff455525-355f-49cd-a503-159a03ada387:indexpattern-datasource-layer-aed1858a-a560-41f8-a5ca-58e917d3f0f6", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "ff455525-355f-49cd-a503-159a03ada387:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "69095005-0182-4363-b606-263449739e20:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "69095005-0182-4363-b606-263449739e20:indexpattern-datasource-layer-6cd4c92e-cef0-46cf-937a-5123ddc95e7b", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "69095005-0182-4363-b606-263449739e20:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "15bcb8a0-f891-11ee-9088-0f36517484ce", + "name": "6e4e4f8a-da6a-482e-81a6-ae3a26ad10ef:panel_6e4e4f8a-da6a-482e-81a6-ae3a26ad10ef", + "type": "map" + } + ], + "type": "dashboard", + "updated_at": "2024-04-12T05:54:35.714Z", + "version": "WzEwNjA4LDFd" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json new file mode 100644 index 00000000000..15a133721e7 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json @@ -0,0 +1,214 @@ +{ + "attributes": { + "description": "", + "layerListJSON": [ + { + "alpha": 1, + "id": "fc011f77-7c53-4a98-afef-f7d89244f0cf", + "includeInFitToBounds": true, + "label": null, + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "isAutoSelect": true, + "type": "EMS_TMS" + }, + "style": { + "type": "TILE" + }, + "type": "VECTOR_TILE", + "visible": true + }, + { + "alpha": 0.75, + "id": "df9c1190-218b-40c2-9db2-15d83ae623c8", + "includeInFitToBounds": true, + "joins": [], + "label": "Logout Activity", + "maxZoom": 24, + "minZoom": 0, + "sourceDescriptor": { + "applyGlobalQuery": true, + "applyGlobalTime": true, + "filterByMapBounds": true, + "geoField": "client.geo.location", + "id": "d5266c88-d22c-4139-beff-9d595be16cfd", + "indexPatternRefName": "layer_1_source_index_pattern", + "scalingType": "MVT", + "sortField": "", + "sortOrder": "desc", + "tooltipProperties": [], + "topHitsSize": 1, + "topHitsSplitField": "", + "type": "ES_SEARCH" + }, + "style": { + "isTimeAware": true, + "properties": { + "fillColor": { + "options": { + "color": "#54B399" + }, + "type": "STATIC" + }, + "icon": { + "options": { + "value": "marker" + }, + "type": "STATIC" + }, + "iconOrientation": { + "options": { + "orientation": 0 + }, + "type": "STATIC" + }, + "iconSize": { + "options": { + "size": 6 + }, + "type": "STATIC" + }, + "labelBorderColor": { + "options": { + "color": "#FFFFFF" + }, + "type": "STATIC" + }, + "labelBorderSize": { + "options": { + "size": "SMALL" + } + }, + "labelColor": { + "options": { + "color": "#000000" + }, + "type": "STATIC" + }, + "labelSize": { + "options": { + "size": 14 + }, + "type": "STATIC" + }, + "labelText": { + "options": { + "value": "" + }, + "type": "STATIC" + }, + "lineColor": { + "options": { + "color": "#41937c" + }, + "type": "STATIC" + }, + "lineWidth": { + "options": { + "size": 1 + }, + "type": "STATIC" + }, + "symbolizeAs": { + "options": { + "value": "circle" + } + } + }, + "type": "VECTOR" + }, + "type": "TILED_VECTOR", + "visible": true + } + ], + "mapStateJSON": { + "center": { + "lat": 19.94277, + "lon": 0 + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "filebeat-*", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "refreshConfig": { + "interval": 0, + "isPaused": true + }, + "settings": { + "autoFitToDataBounds": false, + "backgroundColor": "#ffffff", + "browserLocation": { + "zoom": 2 + }, + "disableInteractive": false, + "disableTooltipControl": false, + "fixedLocation": { + "lat": 0, + "lon": 0, + "zoom": 2 + }, + "hideLayerControl": false, + "hideToolbarOverlay": false, + "hideViewControl": false, + "initialLocation": "LAST_SAVED_LOCATION", + "maxZoom": 24, + "minZoom": 0, + "showScaleControl": false, + "showSpatialFilters": true, + "showTimesliderToggleButton": true, + "spatialFiltersAlpa": 0.3, + "spatialFiltersFillColor": "#DA8B45", + "spatialFiltersLineColor": "#DA8B45" + }, + "timeFilters": { + "from": "now-7d/d", + "to": "now" + }, + "zoom": 1.77 + }, + "title": "Logout activity by region [Filebeat Salesforce]", + "uiStateJSON": { + "isLayerTOCOpen": true, + "openTOCDetails": [] + } + }, + "coreMigrationVersion": "7.15.0", + "id": "15bcb8a0-f891-11ee-9088-0f36517484ce", + "migrationVersion": { + "map": "7.14.0" + }, + "references": [ + { + "id": "filebeat-*", + "name": "layer_1_source_index_pattern", + "type": "index-pattern" + } + ], + "type": "map", + "updated_at": "2024-04-12T05:54:11.378Z", + "version": "WzEwNjAxLDFd" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/module.yml b/x-pack/filebeat/module/salesforce/module.yml index ee568ac5107..ec92c1bce53 100644 --- a/x-pack/filebeat/module/salesforce/module.yml +++ b/x-pack/filebeat/module/salesforce/module.yml @@ -1,3 +1,8 @@ dashboards: - id: 6e6bee90-f7e6-11ee-9088-0f36517484ce file: 6e6bee90-f7e6-11ee-9088-0f36517484ce.json +- id: cb7b4a40-f7ff-11ee-9088-0f36517484ce + file: cb7b4a40-f7ff-11ee-9088-0f36517484ce.json +- id: 243e40b0-f891-11ee-9088-0f36517484ce + file: 243e40b0-f891-11ee-9088-0f36517484ce.json + From e5929b9828e635aa8706c99c9ea29a44ba5465e3 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Fri, 12 Apr 2024 11:48:41 +0530 Subject: [PATCH 155/172] Add Setup Audit Trail Dashboard --- .../c66be450-f891-11ee-9088-0f36517484ce.json | 617 ++++++++++++++++++ .../3e7187a0-f894-11ee-9088-0f36517484ce.json | 71 ++ x-pack/filebeat/module/salesforce/module.yml | 3 +- 3 files changed, 690 insertions(+), 1 deletion(-) create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/c66be450-f891-11ee-9088-0f36517484ce.json create mode 100644 x-pack/filebeat/module/salesforce/_meta/kibana/7/search/3e7187a0-f894-11ee-9088-0f36517484ce.json diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/c66be450-f891-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/c66be450-f891-11ee-9088-0f36517484ce.json new file mode 100644 index 00000000000..89bb589e60b --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/c66be450-f891-11ee-9088-0f36517484ce.json @@ -0,0 +1,617 @@ +{ + "attributes": { + "description": "Salesforce SetupAuditTrail Data", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": {}, + "hidePanelTitles": true, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "params": { + "controls": [ + { + "fieldName": "salesforce.instance_url", + "id": "1712901482300", + "indexPatternRefName": "control_198189b3-48f3-4fc4-ae69-5ac5ee520d24_0_index_pattern", + "label": "Instance URL", + "options": { + "dynamicOptions": true, + "multiselect": true, + "order": "desc", + "size": 5, + "type": "terms" + }, + "parent": "", + "type": "list" + } + ], + "pinFilters": false, + "updateFiltersOnChange": false, + "useTimeFilter": false + }, + "title": "", + "type": "input_control_vis", + "uiState": {} + } + }, + "gridData": { + "h": 5, + "i": "198189b3-48f3-4fc4-ae69-5ac5ee520d24", + "w": 48, + "x": 0, + "y": 0 + }, + "panelIndex": "198189b3-48f3-4fc4-ae69-5ac5ee520d24", + "type": "visualization", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-5ca48d62-7341-48b7-a2c0-5f2410c2d045", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "5ca48d62-7341-48b7-a2c0-5f2410c2d045": { + "columnOrder": [ + "81a88837-0d15-4349-8e0f-d75ba72a95bc", + "57312742-f268-4f68-bdd9-40461aeb51ec", + "06369992-979e-421a-928b-03d026695908" + ], + "columns": { + "06369992-979e-421a-928b-03d026695908": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "@timestamp" + }, + "57312742-f268-4f68-bdd9-40461aeb51ec": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of salesforce.setup_audit_trail.delegate_user", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "06369992-979e-421a-928b-03d026695908", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.setup_audit_trail.delegate_user" + }, + "81a88837-0d15-4349-8e0f-d75ba72a95bc": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Actions", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "06369992-979e-421a-928b-03d026695908", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "event.action" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.setupaudittrail" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.setupaudittrail" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "06369992-979e-421a-928b-03d026695908" + ], + "layerId": "5ca48d62-7341-48b7-a2c0-5f2410c2d045", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "splitAccessor": "57312742-f268-4f68-bdd9-40461aeb51ec", + "xAccessor": "81a88837-0d15-4349-8e0f-d75ba72a95bc" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8", + "w": 24, + "x": 0, + "y": 5 + }, + "panelIndex": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8", + "title": "Top 10 actions performed by delegated users [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-72ce303a-9d98-4bab-856e-a67eb8605bfb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "72ce303a-9d98-4bab-856e-a67eb8605bfb": { + "columnOrder": [ + "46424fdd-77b9-4f4b-bd63-beda1a1fafe4", + "184aa36c-5bf5-4d94-8c2d-7199a208d5f9" + ], + "columns": { + "184aa36c-5bf5-4d94-8c2d-7199a208d5f9": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Request count", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "46424fdd-77b9-4f4b-bd63-beda1a1fafe4": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Sections affected", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "184aa36c-5bf5-4d94-8c2d-7199a208d5f9", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "salesforce.setup_audit_trail.section" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.setupaudittrail" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.setupaudittrail" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "184aa36c-5bf5-4d94-8c2d-7199a208d5f9" + ], + "layerId": "72ce303a-9d98-4bab-856e-a67eb8605bfb", + "layerType": "data", + "position": "top", + "seriesType": "bar", + "showGridlines": false, + "xAccessor": "46424fdd-77b9-4f4b-bd63-beda1a1fafe4" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "6d50ae65-0cff-4b59-b347-ee6ea82d637e", + "w": 24, + "x": 24, + "y": 5 + }, + "panelIndex": "6d50ae65-0cff-4b59-b347-ee6ea82d637e", + "title": "Top 10 sections affected [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "filebeat-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "indexpattern-datasource-layer-3ac7ca64-bfb5-471c-8a8a-2cb5837ee004", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "filter-index-pattern-0", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "3ac7ca64-bfb5-471c-8a8a-2cb5837ee004": { + "columnOrder": [ + "b3792010-1e80-401f-a6fc-54cbedf9720a", + "9056c574-d371-4c77-9f6b-04326402c8d1", + "a547e7f8-6d39-4b6a-a4fe-329c901d368c" + ], + "columns": { + "9056c574-d371-4c77-9f6b-04326402c8d1": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "a547e7f8-6d39-4b6a-a4fe-329c901d368c": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Actions", + "operationType": "count", + "scale": "ratio", + "sourceField": "Records" + }, + "b3792010-1e80-401f-a6fc-54cbedf9720a": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Top 10 values of event.action", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "a547e7f8-6d39-4b6a-a4fe-329c901d368c", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "event.action" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "filter-index-pattern-0", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.setupaudittrail" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.setupaudittrail" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "a547e7f8-6d39-4b6a-a4fe-329c901d368c" + ], + "layerId": "3ac7ca64-bfb5-471c-8a8a-2cb5837ee004", + "layerType": "data", + "position": "top", + "seriesType": "bar_stacked", + "showGridlines": false, + "splitAccessor": "b3792010-1e80-401f-a6fc-54cbedf9720a", + "xAccessor": "9056c574-d371-4c77-9f6b-04326402c8d1" + } + ], + "legend": { + "isVisible": true, + "position": "right" + }, + "preferredSeriesType": "bar_stacked", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "33acb8b4-5e5c-4ba2-8089-2554aaff7f23", + "w": 48, + "x": 0, + "y": 20 + }, + "panelIndex": "33acb8b4-5e5c-4ba2-8089-2554aaff7f23", + "title": "Top 10 actions over time [Filebeat Salesforce]", + "type": "lens", + "version": "7.15.0" + }, + { + "embeddableConfig": { + "enhancements": {} + }, + "gridData": { + "h": 19, + "i": "7c636e26-d3f1-4aa9-b263-683d6b75f2ab", + "w": 48, + "x": 0, + "y": 35 + }, + "panelIndex": "7c636e26-d3f1-4aa9-b263-683d6b75f2ab", + "panelRefName": "panel_7c636e26-d3f1-4aa9-b263-683d6b75f2ab", + "type": "search", + "version": "7.15.0" + } + ], + "refreshInterval": { + "pause": true, + "value": 0 + }, + "timeFrom": "now-7d/d", + "timeRestore": true, + "timeTo": "now", + "title": "[Filebeat Salesforce] Setup Audit Trail Dashboard", + "version": 1 + }, + "coreMigrationVersion": "7.15.0", + "id": "c66be450-f891-11ee-9088-0f36517484ce", + "migrationVersion": { + "dashboard": "7.15.0" + }, + "references": [ + { + "id": "filebeat-*", + "name": "198189b3-48f3-4fc4-ae69-5ac5ee520d24:control_198189b3-48f3-4fc4-ae69-5ac5ee520d24_0_index_pattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8:indexpattern-datasource-layer-5ca48d62-7341-48b7-a2c0-5f2410c2d045", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6d50ae65-0cff-4b59-b347-ee6ea82d637e:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6d50ae65-0cff-4b59-b347-ee6ea82d637e:indexpattern-datasource-layer-72ce303a-9d98-4bab-856e-a67eb8605bfb", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "6d50ae65-0cff-4b59-b347-ee6ea82d637e:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "33acb8b4-5e5c-4ba2-8089-2554aaff7f23:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "33acb8b4-5e5c-4ba2-8089-2554aaff7f23:indexpattern-datasource-layer-3ac7ca64-bfb5-471c-8a8a-2cb5837ee004", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "33acb8b4-5e5c-4ba2-8089-2554aaff7f23:filter-index-pattern-0", + "type": "index-pattern" + }, + { + "id": "3e7187a0-f894-11ee-9088-0f36517484ce", + "name": "7c636e26-d3f1-4aa9-b263-683d6b75f2ab:panel_7c636e26-d3f1-4aa9-b263-683d6b75f2ab", + "type": "search" + } + ], + "type": "dashboard", + "updated_at": "2024-04-12T06:17:21.597Z", + "version": "WzEwOTE0LDFd" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/3e7187a0-f894-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/3e7187a0-f894-11ee-9088-0f36517484ce.json new file mode 100644 index 00000000000..f925dec3b8e --- /dev/null +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/3e7187a0-f894-11ee-9088-0f36517484ce.json @@ -0,0 +1,71 @@ +{ + "attributes": { + "columns": [ + "salesforce.setup_audit_trail.section", + "event.action", + "salesforce.setup_audit_trail.display" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.setupaudittrail" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.setupaudittrail" + } + } + } + ], + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", + "query": { + "language": "kuery", + "query": "salesforce.setup_audit_trail.section : * or event.action : * or salesforce.setup_audit_trail.display : *" + } + } + }, + "sort": [ + [ + "@timestamp", + "desc" + ] + ], + "title": "Changes made in the setup [Filebeat Salesforce]", + "version": 1 + }, + "coreMigrationVersion": "7.15.0", + "id": "3e7187a0-f894-11ee-9088-0f36517484ce", + "migrationVersion": { + "search": "7.9.3" + }, + "references": [ + { + "id": "filebeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "filebeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + } + ], + "type": "search", + "updated_at": "2024-04-12T06:16:48.160Z", + "version": "WzEwODk3LDFd" +} \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/module.yml b/x-pack/filebeat/module/salesforce/module.yml index ec92c1bce53..71e1ee55123 100644 --- a/x-pack/filebeat/module/salesforce/module.yml +++ b/x-pack/filebeat/module/salesforce/module.yml @@ -5,4 +5,5 @@ dashboards: file: cb7b4a40-f7ff-11ee-9088-0f36517484ce.json - id: 243e40b0-f891-11ee-9088-0f36517484ce file: 243e40b0-f891-11ee-9088-0f36517484ce.json - +- id: c66be450-f891-11ee-9088-0f36517484ce + file: c66be450-f891-11ee-9088-0f36517484ce.json From dc07793d04d1bb520cb47e9048612e7381043d83 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 12 Apr 2024 12:35:02 +0530 Subject: [PATCH 156/172] Improve doc --- .../filebeat/module/salesforce/_meta/docs.asciidoc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index 50563259b3b..0432ecfacd5 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -5,21 +5,24 @@ == Salesforce module -include::{libbeat-dir}/shared/integration-link.asciidoc[] +[NOTE] + +The Salesforce module has been completely revamped to use a new dedicated Salesforce input for event collection, replacing the previous HTTPJSON input method. This change brings improved performance and reliability. However, please be aware that this update introduces a breaking change. We believe this is the right time to make this necessary improvement as the previous module was in beta. +include::{libbeat-dir}/shared/integration-link.asciidoc[] The Salesforce module collects logs from a Salesforce instance using the Salesforce REST API. It supports real-time and historical data collection for various log types including Login, Logout, APEX, and Setup Audit Trail. The Salesforce module contains the following filesets for collecting different types of logs: -- The `login` fileset collects Login events from the EventLogFile and Event Monitoring. -- The `logout` fileset collects Logout events from the EventLogFile and Event Monitoring. +- The `login` fileset collects Login events from the EventLogFile or Objects (real-time). +- The `logout` fileset collects Logout events from the EventLogFile or Objects (real-time). - The `apex` fileset collects APEX execution logs from the EventLogFile. -- The `setupaudittrail` fileset collects Audit Trails events generated when admins make configuration changes in the org's Setup area. +- The `setupaudittrail` fileset collects Audit Trails events generated when admins make configuration changes in the org's Setup area from the Objects (real-time). [options="header"] |=== -| Fileset | EventLogFile | Real-time (Objects) +| Fileset | EventLogFile | Objects (real-time) |login |yes From 1d0ebf37ed6917b84592e1a2b9e2c95cf1fe2c0c Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Fri, 12 Apr 2024 12:44:02 +0530 Subject: [PATCH 157/172] Improve doc --- filebeat/docs/modules/salesforce.asciidoc | 11 +++++++---- x-pack/filebeat/module/salesforce/_meta/docs.asciidoc | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/filebeat/docs/modules/salesforce.asciidoc b/filebeat/docs/modules/salesforce.asciidoc index 233c9cb514a..5805a58c4e1 100644 --- a/filebeat/docs/modules/salesforce.asciidoc +++ b/filebeat/docs/modules/salesforce.asciidoc @@ -14,19 +14,22 @@ This file is generated! See scripts/docs_collector.py include::{libbeat-dir}/shared/integration-link.asciidoc[] +[NOTE] + +The Salesforce module has been completely revamped to use a new dedicated Salesforce input for event collection, replacing the previous HTTPJSON input method. This change brings improved performance and reliability. However, please be aware that this update introduces a breaking change. We believe this is the right time to make this necessary improvement as the previous module was in beta. The Salesforce module collects logs from a Salesforce instance using the Salesforce REST API. It supports real-time and historical data collection for various log types including Login, Logout, APEX, and Setup Audit Trail. The Salesforce module contains the following filesets for collecting different types of logs: -- The `login` fileset collects Login events from the EventLogFile and Event Monitoring. -- The `logout` fileset collects Logout events from the EventLogFile and Event Monitoring. +- The `login` fileset collects Login events from the EventLogFile or Objects (real-time). +- The `logout` fileset collects Logout events from the EventLogFile or Objects (real-time). - The `apex` fileset collects APEX execution logs from the EventLogFile. -- The `setupaudittrail` fileset collects Audit Trails events generated when admins make configuration changes in the org's Setup area. +- The `setupaudittrail` fileset collects Audit Trails events generated when admins make configuration changes in the org's Setup area from the Objects (real-time). [options="header"] |=== -| Fileset | EventLogFile | Real-time (Objects) +| Fileset | EventLogFile | Objects (real-time) |login |yes diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index 0432ecfacd5..cbdd61ebbc9 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -5,12 +5,12 @@ == Salesforce module +include::{libbeat-dir}/shared/integration-link.asciidoc[] + [NOTE] The Salesforce module has been completely revamped to use a new dedicated Salesforce input for event collection, replacing the previous HTTPJSON input method. This change brings improved performance and reliability. However, please be aware that this update introduces a breaking change. We believe this is the right time to make this necessary improvement as the previous module was in beta. -include::{libbeat-dir}/shared/integration-link.asciidoc[] - The Salesforce module collects logs from a Salesforce instance using the Salesforce REST API. It supports real-time and historical data collection for various log types including Login, Logout, APEX, and Setup Audit Trail. The Salesforce module contains the following filesets for collecting different types of logs: From a5b8b137cae1ed4d06597a0237eec63d5ebb38fe Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Fri, 12 Apr 2024 14:47:02 +0530 Subject: [PATCH 158/172] fix pipeline tests and remove finger print --- .../salesforce/apex/ingest/pipeline.yml | 9 ----- ...orce_apex_callout.ndjson.log-expected.json | 12 ++++-- ...ce_apex_execution.ndjson.log-expected.json | 14 ++++--- ..._external_callout.ndjson.log-expected.json | 16 ++++++-- ...esforce_apex_rest.ndjson.log-expected.json | 20 +++++++--- ...esforce_apex_soap.ndjson.log-expected.json | 19 +++++++--- ...orce_apex_trigger.ndjson.log-expected.json | 6 ++- .../salesforce/login/ingest/default.yml | 9 ----- ...esforce_login_elf.ndjson.log-expected.json | 37 +++++-------------- ...orce_login_object.ndjson.log-expected.json | 25 +++++++++++++ .../salesforce/logout/ingest/default.yml | 9 ----- ...sforce_logout_elf.ndjson.log-expected.json | 33 +++++------------ ...rce_logout_object.ndjson.log-expected.json | 22 +++++------ ...e_setupaudittrail.ndjson.log-expected.json | 6 ++- 14 files changed, 118 insertions(+), 119 deletions(-) create mode 100644 x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json diff --git a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml index 39e522c8fd9..92ca1feabd8 100644 --- a/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/apex/ingest/pipeline.yml @@ -14,15 +14,6 @@ processors: ignore_empty_value: true ignore_failure: true if: "ctx.event?.original == null" - - fingerprint: - fields: - - json.REQUEST_ID - - json.SESSION_KEY - - json.TIMESTAMP_DERIVED - - json.USER_ID - target_field: _id - ignore_failure: true - ignore_missing: true - set: field: ecs.version value: "8.11.0" diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json index cb900886b9b..942a509cec8 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json @@ -2,9 +2,11 @@ { "@timestamp": "2021-11-02T09:12:50.488Z", "event.action": "apex-callout", - "event.category": "network", + "event.category": [ + "network" + ], "event.dataset": "salesforce.apex", - "event.duration": 1293, + "event.duration": 1293.0, "event.kind": "event", "event.module": "salesforce", "event.outcome": "failure", @@ -20,13 +22,15 @@ "related.ip": [ "10.0.1.123" ], - "salesforce.apex.cpu_time": -1, + "salesforce.apex.cpu_time": -1.0, + "salesforce.apex.document_id": "/BTmFlfuGz8Dvtt1oBng376JZ5I=", "salesforce.apex.event_type": "ApexCallout", "salesforce.apex.organization_id": "00D5j000000VI3n", - "salesforce.apex.run_time": 1305, + "salesforce.apex.run_time": 1305.0, "salesforce.apex.type": "OData", "salesforce.apex.uri": "CALLOUT-LOG", "salesforce.apex.user_id_derived": "0055j000000utlPAAQ", + "salesforce.instance_url": "", "service.type": "salesforce", "source.ip": "10.0.1.123", "tags": [ diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json index 04cffd43637..9c24b03873b 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json @@ -3,26 +3,28 @@ "@timestamp": "2021-11-02T09:20:46.003Z", "event.action": "apex-execution", "event.dataset": "salesforce.apex", - "event.duration": 1, + "event.duration": 1.0, "event.kind": "event", "event.module": "salesforce", "event.timezone": "-02:00", "fileset.name": "apex", "input.type": "log", "log.offset": 0, - "salesforce.apex.callout_time": 0, - "salesforce.apex.cpu_time": 79, - "salesforce.apex.db_total_time": 0, + "salesforce.apex.callout_time": 0.0, + "salesforce.apex.cpu_time": 79.0, + "salesforce.apex.db_total_time": 0.0, + "salesforce.apex.document_id": "IEG+uQVbqP1foVyPFz+k6O17uQ8=", "salesforce.apex.entry_point": "VF- /apex/listApexClass.apexp", "salesforce.apex.event_type": "ApexExecution", "salesforce.apex.is_long_running_request": 0, "salesforce.apex.login_key": "MroEDyLplzWdOHPJ", - "salesforce.apex.number_soql_queries": 0, "salesforce.apex.organization_id": "00D5j000000VI3n", "salesforce.apex.quiddity": "V", "salesforce.apex.request_id": "4fDkD4xoOfMXKFl1cJOo_V", - "salesforce.apex.run_time": 162, + "salesforce.apex.run_time": 162.0, + "salesforce.apex.soql_queries_count": 0, "salesforce.apex.user_id_derived": "0055j000000utlPAAQ", + "salesforce.instance_url": "", "service.type": "salesforce", "tags": [ "forwarded", diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json index 2ba00f75776..287584fb924 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json @@ -1,12 +1,12 @@ [ { "@timestamp": "2021-11-10T10:11:09.997Z", - "event.action": [ - "apex-external-custom-callout" + "event.action": "apex-external-custom-callout", + "event.category": [ + "network" ], - "event.category": "network", "event.dataset": "salesforce.apex", - "event.duration": 13, + "event.duration": 13.0, "event.kind": "event", "event.module": "salesforce", "event.outcome": "failure", @@ -15,12 +15,20 @@ "fileset.name": "apex", "input.type": "log", "log.offset": 0, + "salesforce.apex.action": "query", + "salesforce.apex.document_id": "Y4bHVzlwvvTap8Y+QRyibrxSzG0=", + "salesforce.apex.entity": "HealthcareBlog", "salesforce.apex.event_type": "ExternalCustomApexCallout", + "salesforce.apex.execute_ms": 8.0, + "salesforce.apex.fetch_ms": 5.0, + "salesforce.apex.limit": 51, + "salesforce.apex.message": "Unauthorized endpoint, please check Setup->Security->Remote site settings. endpoint = https://www.healthcare.gov/api/blog.json : ()", "salesforce.apex.offset": 0, "salesforce.apex.orderby": "(Order:[columnName=ExternalId, direction=ASCENDING, tableName=HealthcareBlog], Order:[columnName=ExternalId, direction=ASCENDING, tableName=HealthcareBlog])", "salesforce.apex.organization_id": "00D5j000000VI3n", "salesforce.apex.request_id": "TID:10799890000ce8142a", "salesforce.apex.select": "(ColumnSelection:[aggregation=NONE, columnName=DisplayUrl, tableName=HealthcareBlog], ColumnSelection:[aggregation=NONE, columnName=ExternalId, tableName=HealthcareBlog])", + "salesforce.instance_url": "", "service.type": "salesforce", "tags": [ "forwarded", diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json index 247ad54672e..2f4be2c168d 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json @@ -1,9 +1,12 @@ [ { "@timestamp": "2021-11-09T06:00:01.635Z", - "event.category": "network", + "event.action": "apex-rest", + "event.category": [ + "network" + ], "event.dataset": "salesforce.apex", - "event.duration": 478, + "event.duration": 478.0, "event.kind": "event", "event.module": "salesforce", "event.timezone": "-02:00", @@ -17,18 +20,21 @@ "related.ip": [ "43.224.11.237" ], - "salesforce.apex.cpu_time": 94, + "salesforce.apex.cpu_time": 94.0, "salesforce.apex.db_blocks": 4401, - "salesforce.apex.db_cpu_time": 130, - "salesforce.apex.db_total_time": 232002551, + "salesforce.apex.db_cpu_time": 130.0, + "salesforce.apex.db_total_time": 232002540.0, + "salesforce.apex.document_id": "IIcdQ4XYyTmIUo5QQGa1oLhcPxs=", "salesforce.apex.event_type": "ApexRestApi", "salesforce.apex.login_key": "ieC2BVibz9GliuON", "salesforce.apex.media_type": "application/json;charset=UTF-8", "salesforce.apex.organization_id": "00D5j000000VI3n", "salesforce.apex.request_id": "4fMAJzbahOQk2kl1cJ0uSV", "salesforce.apex.request_status": "S", + "salesforce.apex.run_time": 478.0, "salesforce.apex.user_agent": 5236, "salesforce.apex.user_id_derived": "0055j000000utlPAAQ", + "salesforce.instance_url": "", "service.type": "salesforce", "source.ip": "43.224.11.237", "tags": [ @@ -36,6 +42,8 @@ "salesforce-apex" ], "user.id": "0055j000000utlP", - "user.roles": "Standard" + "user.roles": [ + "Standard" + ] } ] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json index efeb62e2551..eeac46c788c 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json @@ -2,9 +2,11 @@ { "@timestamp": "2021-11-09T11:48:38.534Z", "event.action": "apex-soap", - "event.category": "network", + "event.category": [ + "network" + ], "event.dataset": "salesforce.apex", - "event.duration": 36, + "event.duration": 36.0, "event.kind": "event", "event.module": "salesforce", "event.timezone": "-02:00", @@ -16,15 +18,20 @@ "related.ip": [ "43.224.11.237" ], - "salesforce.apex.cpu_time": 17, - "salesforce.apex.db_total_time": 14928037, + "salesforce.apex.class_name": "ContactResource", + "salesforce.apex.cpu_time": 17.0, + "salesforce.apex.db_total_time": 14928037.0, + "salesforce.apex.document_id": "MRckyKS/j1fvwx0uE8oTYK32aug=", "salesforce.apex.event_type": "ApexSoap", + "salesforce.apex.limit_usage_pct": 2.67, "salesforce.apex.login_key": "1HQDaq9tglsI4Nlo", "salesforce.apex.method_name": "getContactIdAndNames", "salesforce.apex.organization_id": "00D5j000000VI3n", "salesforce.apex.request_id": "4fMTLXm8qV3kTVl1cJNxMV", "salesforce.apex.request_status": "S", + "salesforce.apex.run_time": 36.0, "salesforce.apex.user_id_derived": "0055j000000utlPAAQ", + "salesforce.instance_url": "", "service.type": "salesforce", "source.ip": "43.224.11.237", "tags": [ @@ -32,6 +39,8 @@ "salesforce-apex" ], "user.id": "0055j000000utlP", - "user.roles": "Standard" + "user.roles": [ + "Standard" + ] } ] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json index c3ef0fd8673..b545a44dec9 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json @@ -3,7 +3,7 @@ "@timestamp": "2021-11-02T09:25:02.894Z", "event.action": "apex-trigger", "event.dataset": "salesforce.apex", - "event.duration": 4, + "event.duration": 4.0, "event.kind": "event", "event.module": "salesforce", "event.timezone": "-02:00", @@ -11,7 +11,8 @@ "fileset.name": "apex", "input.type": "log", "log.offset": 0, - "salesforce.apex.cpu_time": 3, + "salesforce.apex.cpu_time": 3.0, + "salesforce.apex.document_id": "5qvFCLJvuRh4m8R452CUqYZmz/8=", "salesforce.apex.entity_name": "Book__c", "salesforce.apex.event_type": "ApexTrigger", "salesforce.apex.organization_id": "00D5j000000VI3n", @@ -20,6 +21,7 @@ "salesforce.apex.trigger_name": "HelloWorldTrigger", "salesforce.apex.trigger_type": "BeforeInsert", "salesforce.apex.user_id_derived": "0055j000000utlPAAQ", + "salesforce.instance_url": "", "service.type": "salesforce", "tags": [ "forwarded", diff --git a/x-pack/filebeat/module/salesforce/login/ingest/default.yml b/x-pack/filebeat/module/salesforce/login/ingest/default.yml index 45b90e550f9..b0fc82384b2 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/default.yml @@ -17,15 +17,6 @@ processors: - set: field: event.ingested value: "{{_ingest.timestamp}}" - - fingerprint: - fields: - - json.REQUEST_ID - - json.SESSION_KEY - - json.TIMESTAMP_DERIVED - - json.USER_ID - target_field: _id - ignore_failure: true - ignore_missing: true - set: field: ecs.version value: "8.11.0" diff --git a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json index 3466dfb6869..a3111a3d20d 100644 --- a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json @@ -1,43 +1,26 @@ [ { - "@timestamp": "2021-10-19T04:42:04.256Z", + "@timestamp": "2024-04-12T08:31:57.745699Z", "event.action": "login-attempt", - "event.category": "authentication", + "event.category": [ + "authentication" + ], "event.dataset": "salesforce.login", "event.kind": "event", "event.module": "salesforce", - "event.outcome": "success", "event.timezone": "-02:00", - "event.type": "info", - "event.url": "/index.jsp", + "event.type": [ + "info" + ], "fileset.name": "login", "input.type": "log", "log.offset": 0, - "related.ip": [ - "43.224.11.237" - ], - "salesforce.login.api_version": 9998, - "salesforce.login.client_ip": "43.224.11.237", - "salesforce.login.cpu_time": 54, - "salesforce.login.db_total_time": 37142518, - "salesforce.login.event_type": "Login", - "salesforce.login.login_key": "iQzw40l45YkJUNKj", - "salesforce.login.organization_id": "00D5j000000VI3n", - "salesforce.login.request_id": "4exJslfc21z80-l1cJOnxV", - "salesforce.login.run_time": 94, - "salesforce.login.user_id_derived": "0055j000000utlPAAQ", + "salesforce.instance_url": "", + "salesforce.login.document_id": "1NA4fntAEiymzIC0ECHjaKgn9VI=", "service.type": "salesforce", - "source.ip": "43.224.11.237", "tags": [ "forwarded", "salesforce-login" - ], - "tls.cipher": "ECDHE-RSA-AES256-GCM-SHA384", - "tls.version": "1.2", - "tls.version_protocol": "TLS", - "user.email": "kush.rana@elastic.co", - "user.id": "0055j000000utlP", - "user.roles": "Standard", - "user_agent.name": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + ] } ] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json new file mode 100644 index 00000000000..9ea4df06ea2 --- /dev/null +++ b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json @@ -0,0 +1,25 @@ +[ + { + "@timestamp": "2024-04-12T08:32:10.084908Z", + "event.action": "login-attempt", + "event.category": [ + "authentication" + ], + "event.dataset": "salesforce.login", + "event.kind": "event", + "event.module": "salesforce", + "event.timezone": "-02:00", + "event.type": [ + "info" + ], + "fileset.name": "login", + "input.type": "log", + "log.offset": 0, + "salesforce.instance_url": "", + "service.type": "salesforce", + "tags": [ + "forwarded", + "salesforce-login" + ] + } +] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml index 42ac602d2b2..b4957f6bc6b 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml @@ -17,15 +17,6 @@ processors: - set: field: event.ingested value: "{{_ingest.timestamp}}" - - fingerprint: - fields: - - json.REQUEST_ID - - json.SESSION_KEY - - json.TIMESTAMP_DERIVED - - json.USER_ID - target_field: _id - ignore_missing: true - ignore_failure: true - set: field: ecs.version value: "8.11.0" diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json index fa041c730fb..a172d1748ec 100644 --- a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json @@ -1,39 +1,26 @@ [ { - "@timestamp": "2021-10-19T05:07:07.128Z", + "@timestamp": "2024-04-12T08:31:33.034071Z", "event.action": "logout", - "event.category": "authentication", - "event.code": "4exLFFQZNa5xxFl1cJNwOV", + "event.category": [ + "authentication" + ], "event.dataset": "salesforce.logout", "event.kind": "event", "event.module": "salesforce", "event.timezone": "-02:00", - "event.type": "info", + "event.type": [ + "info" + ], "fileset.name": "logout", "input.type": "log", "log.offset": 0, - "related.ip": [ - "123.201.231.42" - ], - "salesforce.logout.app_type": 1000, - "salesforce.logout.browser_type": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36", - "salesforce.logout.client_version": 9998, - "salesforce.logout.event_type": "Logout", - "salesforce.logout.login_key": "OKyrFuSUIZVr9YzF", - "salesforce.logout.organization_by_id": "00D5j000000VI3n", - "salesforce.logout.platform_type": 1015, - "salesforce.logout.resolution_type": 9999, - "salesforce.logout.session_level": "STANDARD(db=1,api=STANDARD)", - "salesforce.logout.session_type": "UI", - "salesforce.logout.user_id_derived": "0055j000000utlPAAQ", - "salesforce.logout.user_initiated_logout": 1, + "salesforce.instance_url": "", + "salesforce.login.document_id": "jP5eqZ2Q1aTRxCmtwi1X8Az0q9w=", "service.type": "salesforce", - "source.ip": "123.201.231.42", "tags": [ "forwarded", "salesforce-logout" - ], - "user.id": "0055j000000utlP", - "user.roles": "Standard(db=S,api=Standard)" + ] } ] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json index f4f9a822e6c..22f41f280e8 100644 --- a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json @@ -1,29 +1,25 @@ [ { - "@timestamp": "2021-10-19T11:38:54.000Z", + "@timestamp": "2024-04-12T08:31:20.916796Z", "event.action": "logout", - "event.category": "authentication", + "event.category": [ + "authentication" + ], "event.dataset": "salesforce.logout", "event.kind": "event", "event.module": "salesforce", "event.timezone": "-02:00", - "event.type": "info", + "event.type": [ + "info" + ], "fileset.name": "logout", "input.type": "log", "log.offset": 0, - "related.ip": [ - "123.201.231.106" - ], - "salesforce.logout.created_by_id": "0055j000000q9s7AAA", - "salesforce.logout.login_key": "CuRVtbMjat6xxbTH", - "salesforce.logout.session_level": "STANDARD", + "salesforce.instance_url": "", "service.type": "salesforce", - "source.ip": "123.201.231.106", "tags": [ "forwarded", "salesforce-logout" - ], - "user.email": "kush.rana@elastic.co", - "user.id": "0055j000000utlPAAQ" + ] } ] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json index ae5dc2b81e9..83699f8c7bd 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json @@ -6,13 +6,15 @@ "event.id": "0Ym5j12345BJKvABCD", "event.kind": "event", "event.module": "salesforce", - "event.original": "{\"attributes\":{\"type\":\"SetupAuditTrail\",\"url\":\"/services/data/v52.0/sobjects/SetupAuditTrail/0Ym5j12345BJKvZCAX\"},\"Action\":\"changedUserEmailVerifiedStatusVerified\",\"CreatedByContext\":null,\"CreatedById\":\"1234j000000q9s7ABC\",\"CreatedByIssuer\":null,\"CreatedDate\":\"2021-10-06T07:13:07.000+0000\",\"DelegateUser\":null,\"Display\":\"For user abc.def@mail.com, the User Verified Email status changed to verified\",\"Id\":\"0Ym5j12345BJKvABCD\",\"ResponsibleNamespacePrefix\":null,\"Section\":\"Manage Users\"}", "event.timezone": "-02:00", - "event.type": "admin", + "event.type": [ + "admin" + ], "event.url": "/services/data/v52.0/sobjects/SetupAuditTrail/0Ym5j12345BJKvZCAX", "fileset.name": "setupaudittrail", "input.type": "log", "log.offset": 0, + "salesforce.instance_url": "", "salesforce.setup_audit_trail.created_by_id": "1234j000000q9s7ABC", "salesforce.setup_audit_trail.display": "For user abc.def@mail.com, the User Verified Email status changed to verified", "salesforce.setup_audit_trail.event_type": "SetupAuditTrail", From a4151cf68ec963295455377fcbc6f761dace0ecf Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Fri, 12 Apr 2024 17:20:35 +0530 Subject: [PATCH 159/172] Add Dashboard level dataset filter and remove from viz level --- .../243e40b0-f891-11ee-9088-0f36517484ce.json | 167 ++----- .../6e6bee90-f7e6-11ee-9088-0f36517484ce.json | 410 ++---------------- .../c66be450-f891-11ee-9088-0f36517484ce.json | 133 ++---- .../cb7b4a40-f7ff-11ee-9088-0f36517484ce.json | 318 ++------------ .../15bcb8a0-f891-11ee-9088-0f36517484ce.json | 28 +- .../c9668e10-f88e-11ee-9088-0f36517484ce.json | 28 +- .../2752cec0-f804-11ee-9088-0f36517484ce.json | 32 +- .../3e7187a0-f894-11ee-9088-0f36517484ce.json | 33 +- 8 files changed, 154 insertions(+), 995 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/243e40b0-f891-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/243e40b0-f891-11ee-9088-0f36517484ce.json index 46609ef5fa9..1c0b58da7ae 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/243e40b0-f891-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/243e40b0-f891-11ee-9088-0f36517484ce.json @@ -4,7 +4,29 @@ "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [], + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.logout" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.logout" + } + } + } + ], "query": { "language": "kuery", "query": "" @@ -84,11 +106,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-7f107c7d-34fd-481a-b6ac-6e0037488d00", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -179,29 +196,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -344,11 +339,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-07bd6025-fb9b-4980-94b7-4be1f9948220", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -387,29 +377,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -475,11 +443,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-aed1858a-a560-41f8-a5ca-58e917d3f0f6", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -525,29 +488,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -602,11 +543,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-6cd4c92e-cef0-46cf-937a-5123ddc95e7b", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -653,29 +589,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -779,22 +693,22 @@ "references": [ { "id": "filebeat-*", - "name": "e04d7dbe-82fb-438b-8097-594262a141ec:control_e04d7dbe-82fb-438b-8097-594262a141ec_0_index_pattern", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "eaf7f094-92f3-46ca-84eb-ef2126f220bd:indexpattern-datasource-current-indexpattern", + "name": "e04d7dbe-82fb-438b-8097-594262a141ec:control_e04d7dbe-82fb-438b-8097-594262a141ec_0_index_pattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "eaf7f094-92f3-46ca-84eb-ef2126f220bd:indexpattern-datasource-layer-7f107c7d-34fd-481a-b6ac-6e0037488d00", + "name": "eaf7f094-92f3-46ca-84eb-ef2126f220bd:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "eaf7f094-92f3-46ca-84eb-ef2126f220bd:filter-index-pattern-0", + "name": "eaf7f094-92f3-46ca-84eb-ef2126f220bd:indexpattern-datasource-layer-7f107c7d-34fd-481a-b6ac-6e0037488d00", "type": "index-pattern" }, { @@ -817,11 +731,6 @@ "name": "9f2a2ef4-ba17-4d76-8a0a-76517f1c0936:indexpattern-datasource-layer-07bd6025-fb9b-4980-94b7-4be1f9948220", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "9f2a2ef4-ba17-4d76-8a0a-76517f1c0936:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "ff455525-355f-49cd-a503-159a03ada387:indexpattern-datasource-current-indexpattern", @@ -832,11 +741,6 @@ "name": "ff455525-355f-49cd-a503-159a03ada387:indexpattern-datasource-layer-aed1858a-a560-41f8-a5ca-58e917d3f0f6", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "ff455525-355f-49cd-a503-159a03ada387:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "69095005-0182-4363-b606-263449739e20:indexpattern-datasource-current-indexpattern", @@ -847,11 +751,6 @@ "name": "69095005-0182-4363-b606-263449739e20:indexpattern-datasource-layer-6cd4c92e-cef0-46cf-937a-5123ddc95e7b", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "69095005-0182-4363-b606-263449739e20:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "15bcb8a0-f891-11ee-9088-0f36517484ce", "name": "6e4e4f8a-da6a-482e-81a6-ae3a26ad10ef:panel_6e4e4f8a-da6a-482e-81a6-ae3a26ad10ef", @@ -859,6 +758,6 @@ } ], "type": "dashboard", - "updated_at": "2024-04-12T05:54:35.714Z", - "version": "WzEwNjA4LDFd" + "updated_at": "2024-04-12T11:40:07.036Z", + "version": "WzExMzc5LDFd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json index 248c508acb9..8e7ef6c831b 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/6e6bee90-f7e6-11ee-9088-0f36517484ce.json @@ -4,7 +4,29 @@ "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [], + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.apex" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.apex" + } + } + } + ], "query": { "language": "kuery", "query": "" @@ -94,11 +116,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-1", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-2", - "type": "index-pattern" } ], "state": { @@ -134,27 +151,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "salesforce.apex.is_long_running_request", "negate": true, "params": { @@ -178,7 +174,7 @@ "meta": { "alias": null, "disabled": false, - "indexRefName": "filter-index-pattern-2", + "indexRefName": "filter-index-pattern-1", "key": "salesforce.apex.is_long_running_request", "negate": false, "type": "exists" @@ -227,11 +223,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-83c3e25a-134f-43bf-bca7-cd3c3d33eff3", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -277,29 +268,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -354,11 +323,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-23547c7a-8041-4b0a-856d-ffc03d80fbc0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -404,29 +368,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -481,11 +423,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-2ea8d938-401b-4b61-92c4-c476e7d3e4bc", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -544,29 +481,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -629,11 +544,6 @@ "name": "indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "indexpattern-datasource-layer-dbfc2649-500a-4d9e-8035-f2094fc75c86", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "indexpattern-datasource-layer-395b6aa2-d6cd-406e-9559-a0ed2b833854", @@ -641,12 +551,12 @@ }, { "id": "filebeat-*", - "name": "filter-index-pattern-0", + "name": "indexpattern-datasource-layer-dbfc2649-500a-4d9e-8035-f2094fc75c86", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "filter-index-pattern-1", + "name": "filter-index-pattern-0", "type": "index-pattern" } ], @@ -716,27 +626,6 @@ } }, "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - }, { "$state": { "store": "appState" @@ -747,7 +636,7 @@ "meta": { "alias": null, "disabled": false, - "indexRefName": "filter-index-pattern-1", + "indexRefName": "filter-index-pattern-0", "key": "salesforce.apex.run_time", "negate": false, "type": "exists" @@ -865,11 +754,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-1", - "type": "index-pattern" } ], "state": { @@ -925,27 +809,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -1025,11 +888,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-b53e356e-52be-419c-bf3d-282ec655706d", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -1088,29 +946,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -1177,11 +1013,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-b2559ffe-87f5-4f0e-a041-671ae182cad2", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -1241,29 +1072,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -1350,11 +1159,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-f2b00fda-234b-44d4-9ce5-7cd8c28efce3", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -1401,29 +1205,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -1601,11 +1383,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-92994644-eb5e-41a8-871b-b0911dcbf481", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -1664,29 +1441,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -1753,11 +1508,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-84a0be7e-5127-485b-9ce2-9a9ba033a74c", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -1803,29 +1553,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.apex" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.apex" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -1880,6 +1608,11 @@ "dashboard": "7.15.0" }, "references": [ + { + "id": "filebeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + }, { "id": "filebeat-*", "name": "2e30f60b-d451-4b0d-89eb-6ba01e94c2aa:control_2e30f60b-d451-4b0d-89eb-6ba01e94c2aa_0_index_pattern", @@ -1905,11 +1638,6 @@ "name": "7decef13-13b6-4eb2-bb2b-cd657951e930:filter-index-pattern-1", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "7decef13-13b6-4eb2-bb2b-cd657951e930:filter-index-pattern-2", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "7154e44a-c51d-4881-8d23-6d822a0bd77d:indexpattern-datasource-current-indexpattern", @@ -1920,11 +1648,6 @@ "name": "7154e44a-c51d-4881-8d23-6d822a0bd77d:indexpattern-datasource-layer-83c3e25a-134f-43bf-bca7-cd3c3d33eff3", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "7154e44a-c51d-4881-8d23-6d822a0bd77d:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "73688f67-7274-4172-bc72-81581d1b1dc2:indexpattern-datasource-current-indexpattern", @@ -1935,11 +1658,6 @@ "name": "73688f67-7274-4172-bc72-81581d1b1dc2:indexpattern-datasource-layer-23547c7a-8041-4b0a-856d-ffc03d80fbc0", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "73688f67-7274-4172-bc72-81581d1b1dc2:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "be541fae-8b1f-40e5-9fcc-e552b3544773:indexpattern-datasource-current-indexpattern", @@ -1950,21 +1668,11 @@ "name": "be541fae-8b1f-40e5-9fcc-e552b3544773:indexpattern-datasource-layer-2ea8d938-401b-4b61-92c4-c476e7d3e4bc", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "be541fae-8b1f-40e5-9fcc-e552b3544773:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:indexpattern-datasource-layer-dbfc2649-500a-4d9e-8035-f2094fc75c86", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:indexpattern-datasource-layer-395b6aa2-d6cd-406e-9559-a0ed2b833854", @@ -1972,12 +1680,12 @@ }, { "id": "filebeat-*", - "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:filter-index-pattern-0", + "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:indexpattern-datasource-layer-dbfc2649-500a-4d9e-8035-f2094fc75c86", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:filter-index-pattern-1", + "name": "fe66cbe2-e564-49ae-a724-6440517ceb3b:filter-index-pattern-0", "type": "index-pattern" }, { @@ -1995,11 +1703,6 @@ "name": "574ede56-2b30-49a5-8888-8ae368c856af:filter-index-pattern-0", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "574ede56-2b30-49a5-8888-8ae368c856af:filter-index-pattern-1", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "f8ecb623-ff3c-4422-9f91-2676fe2e58e0:indexpattern-datasource-current-indexpattern", @@ -2010,11 +1713,6 @@ "name": "f8ecb623-ff3c-4422-9f91-2676fe2e58e0:indexpattern-datasource-layer-b53e356e-52be-419c-bf3d-282ec655706d", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "f8ecb623-ff3c-4422-9f91-2676fe2e58e0:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "c713f492-059e-48c9-bddb-bfa5dff4379a:indexpattern-datasource-current-indexpattern", @@ -2025,11 +1723,6 @@ "name": "c713f492-059e-48c9-bddb-bfa5dff4379a:indexpattern-datasource-layer-b2559ffe-87f5-4f0e-a041-671ae182cad2", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "c713f492-059e-48c9-bddb-bfa5dff4379a:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "9d4bd40c-a3b5-4668-a58a-118e352c3ad2:indexpattern-datasource-current-indexpattern", @@ -2040,11 +1733,6 @@ "name": "9d4bd40c-a3b5-4668-a58a-118e352c3ad2:indexpattern-datasource-layer-f2b00fda-234b-44d4-9ce5-7cd8c28efce3", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "9d4bd40c-a3b5-4668-a58a-118e352c3ad2:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "f26b8459-e1af-4cee-92ac-9e91348c2c16:indexpattern-datasource-current-indexpattern", @@ -2065,11 +1753,6 @@ "name": "cc5bf3a1-5a33-4204-8efc-32b2b1629e63:indexpattern-datasource-layer-92994644-eb5e-41a8-871b-b0911dcbf481", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "cc5bf3a1-5a33-4204-8efc-32b2b1629e63:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "5904bcb3-1616-422d-855e-a86e6a69f802:indexpattern-datasource-current-indexpattern", @@ -2079,14 +1762,9 @@ "id": "filebeat-*", "name": "5904bcb3-1616-422d-855e-a86e6a69f802:indexpattern-datasource-layer-84a0be7e-5127-485b-9ce2-9a9ba033a74c", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "5904bcb3-1616-422d-855e-a86e6a69f802:filter-index-pattern-0", - "type": "index-pattern" } ], "type": "dashboard", - "updated_at": "2024-04-11T11:36:42.536Z", - "version": "WzkwNTQsMV0=" + "updated_at": "2024-04-12T11:46:15.739Z", + "version": "WzExODE1LDFd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/c66be450-f891-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/c66be450-f891-11ee-9088-0f36517484ce.json index 89bb589e60b..f373c866471 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/c66be450-f891-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/c66be450-f891-11ee-9088-0f36517484ce.json @@ -4,7 +4,29 @@ "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [], + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.setupaudittrail" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.setupaudittrail" + } + } + } + ], "query": { "language": "kuery", "query": "" @@ -84,11 +106,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-5ca48d62-7341-48b7-a2c0-5f2410c2d045", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -155,29 +172,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -244,11 +239,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-72ce303a-9d98-4bab-856e-a67eb8605bfb", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -295,29 +285,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -383,11 +351,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-3ac7ca64-bfb5-471c-8a8a-2cb5837ee004", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -446,29 +409,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -557,22 +498,22 @@ "references": [ { "id": "filebeat-*", - "name": "198189b3-48f3-4fc4-ae69-5ac5ee520d24:control_198189b3-48f3-4fc4-ae69-5ac5ee520d24_0_index_pattern", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8:indexpattern-datasource-current-indexpattern", + "name": "198189b3-48f3-4fc4-ae69-5ac5ee520d24:control_198189b3-48f3-4fc4-ae69-5ac5ee520d24_0_index_pattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8:indexpattern-datasource-layer-5ca48d62-7341-48b7-a2c0-5f2410c2d045", + "name": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8:filter-index-pattern-0", + "name": "fc8067aa-c39c-4547-adfb-b618b9cbe4e8:indexpattern-datasource-layer-5ca48d62-7341-48b7-a2c0-5f2410c2d045", "type": "index-pattern" }, { @@ -585,11 +526,6 @@ "name": "6d50ae65-0cff-4b59-b347-ee6ea82d637e:indexpattern-datasource-layer-72ce303a-9d98-4bab-856e-a67eb8605bfb", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "6d50ae65-0cff-4b59-b347-ee6ea82d637e:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "33acb8b4-5e5c-4ba2-8089-2554aaff7f23:indexpattern-datasource-current-indexpattern", @@ -600,11 +536,6 @@ "name": "33acb8b4-5e5c-4ba2-8089-2554aaff7f23:indexpattern-datasource-layer-3ac7ca64-bfb5-471c-8a8a-2cb5837ee004", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "33acb8b4-5e5c-4ba2-8089-2554aaff7f23:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "3e7187a0-f894-11ee-9088-0f36517484ce", "name": "7c636e26-d3f1-4aa9-b263-683d6b75f2ab:panel_7c636e26-d3f1-4aa9-b263-683d6b75f2ab", @@ -612,6 +543,6 @@ } ], "type": "dashboard", - "updated_at": "2024-04-12T06:17:21.597Z", - "version": "WzEwOTE0LDFd" + "updated_at": "2024-04-12T11:38:19.817Z", + "version": "WzExMjcyLDFd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json index c3101642e1e..bd95b31e3a9 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/dashboard/cb7b4a40-f7ff-11ee-9088-0f36517484ce.json @@ -4,7 +4,29 @@ "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [], + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "event.dataset", + "negate": false, + "params": { + "query": "salesforce.login" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "salesforce.login" + } + } + } + ], "query": { "language": "kuery", "query": "" @@ -89,11 +111,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-1", - "type": "index-pattern" } ], "state": { @@ -193,27 +210,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -239,6 +235,7 @@ } }, "title": "Login success rate [Filebeat Salesforce]", + "type": "lens", "visualizationType": "lnsMetric" }, "enhancements": {}, @@ -278,11 +275,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-1", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-2", - "type": "index-pattern" } ], "state": { @@ -334,27 +326,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "event.outcome", "negate": false, "params": { @@ -375,7 +346,7 @@ "meta": { "alias": null, "disabled": false, - "indexRefName": "filter-index-pattern-2", + "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -437,11 +408,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-1", - "type": "index-pattern" } ], "state": { @@ -507,27 +473,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -623,11 +568,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-1", - "type": "index-pattern" } ], "state": { @@ -675,27 +615,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -780,11 +699,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-1", - "type": "index-pattern" } ], "state": { @@ -839,27 +753,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -933,11 +826,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-1", - "type": "index-pattern" } ], "state": { @@ -992,27 +880,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -1081,11 +948,6 @@ "id": "filebeat-*", "name": "indexpattern-datasource-layer-e6917172-0cfc-45d0-8761-9d151ca8c6d8", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-0", - "type": "index-pattern" } ], "state": { @@ -1132,29 +994,7 @@ } } }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -1225,11 +1065,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-1", - "type": "index-pattern" } ], "state": { @@ -1285,27 +1120,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -1406,11 +1220,6 @@ "id": "filebeat-*", "name": "filter-index-pattern-0", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "filter-index-pattern-1", - "type": "index-pattern" } ], "state": { @@ -1466,27 +1275,6 @@ "alias": null, "disabled": false, "indexRefName": "filter-index-pattern-0", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "filter-index-pattern-1", "key": "event.action", "negate": false, "params": { @@ -1604,27 +1392,27 @@ "references": [ { "id": "filebeat-*", - "name": "9788dc28-4697-4ec7-8953-e70fabbdb620:control_9788dc28-4697-4ec7-8953-e70fabbdb620_0_index_pattern", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:indexpattern-datasource-current-indexpattern", + "name": "9788dc28-4697-4ec7-8953-e70fabbdb620:control_9788dc28-4697-4ec7-8953-e70fabbdb620_0_index_pattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:indexpattern-datasource-layer-e601c823-8f3a-4656-ad12-402588f0f425", + "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:indexpattern-datasource-current-indexpattern", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:filter-index-pattern-0", + "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:indexpattern-datasource-layer-e601c823-8f3a-4656-ad12-402588f0f425", "type": "index-pattern" }, { "id": "filebeat-*", - "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:filter-index-pattern-1", + "name": "ccd0f44d-f761-4a75-8fe1-f01955f30077:filter-index-pattern-0", "type": "index-pattern" }, { @@ -1647,11 +1435,6 @@ "name": "da637943-7e6d-41a2-a9db-2d0fedc58956:filter-index-pattern-1", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "da637943-7e6d-41a2-a9db-2d0fedc58956:filter-index-pattern-2", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "71807bd3-d0ed-4328-93cc-6d9f3c93ea2c:indexpattern-datasource-current-indexpattern", @@ -1667,11 +1450,6 @@ "name": "71807bd3-d0ed-4328-93cc-6d9f3c93ea2c:filter-index-pattern-0", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "71807bd3-d0ed-4328-93cc-6d9f3c93ea2c:filter-index-pattern-1", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "e988774b-2311-49ce-90d2-89c11abcdb07:indexpattern-datasource-current-indexpattern", @@ -1687,11 +1465,6 @@ "name": "e988774b-2311-49ce-90d2-89c11abcdb07:filter-index-pattern-0", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "e988774b-2311-49ce-90d2-89c11abcdb07:filter-index-pattern-1", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "89cc0806-06c0-44ff-a439-302308134141:indexpattern-datasource-current-indexpattern", @@ -1707,11 +1480,6 @@ "name": "89cc0806-06c0-44ff-a439-302308134141:filter-index-pattern-0", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "89cc0806-06c0-44ff-a439-302308134141:filter-index-pattern-1", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "47159791-40d6-4728-a005-79ddba90c433:indexpattern-datasource-current-indexpattern", @@ -1727,11 +1495,6 @@ "name": "47159791-40d6-4728-a005-79ddba90c433:filter-index-pattern-0", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "47159791-40d6-4728-a005-79ddba90c433:filter-index-pattern-1", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "062d36b1-7b48-4942-8dc6-bc6c9da71ca4:indexpattern-datasource-current-indexpattern", @@ -1742,11 +1505,6 @@ "name": "062d36b1-7b48-4942-8dc6-bc6c9da71ca4:indexpattern-datasource-layer-e6917172-0cfc-45d0-8761-9d151ca8c6d8", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "062d36b1-7b48-4942-8dc6-bc6c9da71ca4:filter-index-pattern-0", - "type": "index-pattern" - }, { "id": "filebeat-*", "name": "2f13c9f8-868c-420e-9243-4edc3bf8a52f:indexpattern-datasource-current-indexpattern", @@ -1762,11 +1520,6 @@ "name": "2f13c9f8-868c-420e-9243-4edc3bf8a52f:filter-index-pattern-0", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "2f13c9f8-868c-420e-9243-4edc3bf8a52f:filter-index-pattern-1", - "type": "index-pattern" - }, { "id": "2752cec0-f804-11ee-9088-0f36517484ce", "name": "cae6ad06-6134-468e-aeeb-7a1755e143e7:panel_cae6ad06-6134-468e-aeeb-7a1755e143e7", @@ -1787,11 +1540,6 @@ "name": "02f53527-4721-4341-9d76-05d9075eef17:filter-index-pattern-0", "type": "index-pattern" }, - { - "id": "filebeat-*", - "name": "02f53527-4721-4341-9d76-05d9075eef17:filter-index-pattern-1", - "type": "index-pattern" - }, { "id": "c9668e10-f88e-11ee-9088-0f36517484ce", "name": "d860f236-a75a-4fde-81ce-f3de40ef7c19:panel_d860f236-a75a-4fde-81ce-f3de40ef7c19", @@ -1799,6 +1547,6 @@ } ], "type": "dashboard", - "updated_at": "2024-04-12T05:38:39.741Z", - "version": "WzEwMzE4LDFd" + "updated_at": "2024-04-12T11:42:57.059Z", + "version": "WzExNjA3LDFd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json index 15a133721e7..456384cf835 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json @@ -127,29 +127,7 @@ "lat": 19.94277, "lon": 0 }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "filebeat-*", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.logout" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.logout" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -209,6 +187,6 @@ } ], "type": "map", - "updated_at": "2024-04-12T05:54:11.378Z", - "version": "WzEwNjAxLDFd" + "updated_at": "2024-04-12T11:39:56.508Z", + "version": "WzExMzcxLDFd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json index 133dc9f6cb1..fd60a5ddd77 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json @@ -127,29 +127,7 @@ "lat": 15.07469, "lon": -0.10396 }, - "filters": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "index": "filebeat-*", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - } - ], + "filters": [], "query": { "language": "kuery", "query": "" @@ -209,6 +187,6 @@ } ], "type": "map", - "updated_at": "2024-04-12T05:37:44.310Z", - "version": "WzEwMzA4LDFd" + "updated_at": "2024-04-12T11:42:51.515Z", + "version": "WzExNjAwLDFd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/2752cec0-f804-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/2752cec0-f804-11ee-9088-0f36517484ce.json index c39d2d7156d..201b3ab6dc4 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/2752cec0-f804-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/2752cec0-f804-11ee-9088-0f36517484ce.json @@ -18,27 +18,6 @@ "alias": null, "disabled": false, "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.login" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.login" - } - } - }, - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", "key": "event.action", "negate": false, "params": { @@ -62,7 +41,7 @@ "meta": { "alias": null, "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index", + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", "key": "event.outcome", "negate": false, "type": "exists", @@ -106,14 +85,9 @@ "id": "filebeat-*", "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[2].meta.index", - "type": "index-pattern" } ], "type": "search", - "updated_at": "2024-04-11T13:05:21.842Z", - "version": "Wzk5NDAsMV0=" + "updated_at": "2024-04-12T11:42:31.623Z", + "version": "WzExNTc0LDFd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/3e7187a0-f894-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/3e7187a0-f894-11ee-9088-0f36517484ce.json index f925dec3b8e..3d952741e88 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/3e7187a0-f894-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/search/3e7187a0-f894-11ee-9088-0f36517484ce.json @@ -9,29 +9,7 @@ "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": { - "filter": [ - { - "$state": { - "store": "appState" - }, - "meta": { - "alias": null, - "disabled": false, - "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "key": "event.dataset", - "negate": false, - "params": { - "query": "salesforce.setupaudittrail" - }, - "type": "phrase" - }, - "query": { - "match_phrase": { - "event.dataset": "salesforce.setupaudittrail" - } - } - } - ], + "filter": [], "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.index", "query": { "language": "kuery", @@ -58,14 +36,9 @@ "id": "filebeat-*", "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern" - }, - { - "id": "filebeat-*", - "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", - "type": "index-pattern" } ], "type": "search", - "updated_at": "2024-04-12T06:16:48.160Z", - "version": "WzEwODk3LDFd" + "updated_at": "2024-04-12T11:37:55.498Z", + "version": "WzExMjQ3LDFd" } \ No newline at end of file From d0ece705d70880eb33ced122e137af69d29f540d Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Sat, 13 Apr 2024 10:33:46 +0530 Subject: [PATCH 160/172] Fix ingest pipeline, fields and tests --- libbeat/tests/system/beat/beat.py | 17 ++++++-- .../docs/inputs/input-salesforce.asciidoc | 11 +++-- ...orce_apex_callout.ndjson.log-expected.json | 1 - ...ce_apex_execution.ndjson.log-expected.json | 1 - ..._external_callout.ndjson.log-expected.json | 1 - ...esforce_apex_rest.ndjson.log-expected.json | 1 - ...esforce_apex_soap.ndjson.log-expected.json | 1 - ...orce_apex_trigger.ndjson.log-expected.json | 1 - x-pack/filebeat/module/salesforce/fields.go | 2 +- .../module/salesforce/login/_meta/fields.yml | 40 ++++++++++++++----- .../salesforce/login/ingest/default.yml | 18 +++++++-- .../salesforce/login/ingest/eventlogfile.yml | 6 +-- ...esforce_login_elf.ndjson.log-expected.json | 30 ++++++++++++-- ...orce_login_object.ndjson.log-expected.json | 38 +++++++++++++++++- ...sforce_logout_elf.ndjson.log-expected.json | 3 +- ...rce_logout_object.ndjson.log-expected.json | 2 +- 16 files changed, 132 insertions(+), 41 deletions(-) diff --git a/libbeat/tests/system/beat/beat.py b/libbeat/tests/system/beat/beat.py index 8fe74193b91..b8c4b3c43f1 100644 --- a/libbeat/tests/system/beat/beat.py +++ b/libbeat/tests/system/beat/beat.py @@ -814,16 +814,25 @@ def is_documented(key, docs): return True return False + undocumented_keys = [] + is_documented_aliases = [] + for key in flat.keys(): meta_key = key.startswith('@metadata.') # Range keys as used in 'date_range' etc will not have docs of course is_range_key = key.split('.')[-1] in ['gte', 'gt', 'lte', 'lt'] + if not(is_documented(key, expected_fields) or meta_key or is_range_key): - raise Exception( - f"Key '{key}' found in event ({str(evt)}) is not documented!") + undocumented_keys.append(key) + if is_documented(key, aliases): - raise Exception( - "Key '{key}' found in event is documented as an alias!") + is_documented_aliases.append(key) + + if undocumented_keys: + raise Exception(f"Keys {undocumented_keys} not documented in event {str(evt)}") + + if is_documented_aliases: + raise Exception(f"Keys {is_documented_aliases} documented as aliases!") def get_beat_version(self): """ diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index a9cee4d5151..d47e5271606 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -208,23 +208,22 @@ The URL for the JWT bearer flow. The URL of the Salesforce instance. Required. -[[resource-parameters]] -[float] +[duration] ==== `resource.timeout` Duration before declaring that the HTTP client connection has timed out. Valid time units are `ns`, `us`, `ms`, `s`, `m`, `h`. Default: `30s`. -[float] +[integer] ==== `resource.retry.max_attempts` The maximum number of retries for the HTTP client. Default: `5`. -[float] +[duration] ==== `resource.retry.wait_min` The minimum time to wait before a retry is attempted. Default: `1s`. -[float] +[duration] ==== `resource.retry.wait_max` The maximum time to wait before a retry is attempted. Default: `60s`. @@ -275,7 +274,7 @@ The field to use to fetch the cursor state from the last event fetched from the [object] ==== `event_monitoring_method.object` -The event monitoring method to use — object. Uses REST API to fetch the events directly from the objects from the Salesforce instance. This method is used for Setup Audit Trail and for monitoring real-time events. +The event monitoring method to use — object. Uses REST API to fetch the events directly from the objects from the Salesforce instance. This method is used for Setup Audit Trail and can be also used for Login and Logout to monitor real-time events. [bool] ==== `event_monitoring_method.object.enabled` diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json index 942a509cec8..43e592a85c9 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_callout.ndjson.log-expected.json @@ -23,7 +23,6 @@ "10.0.1.123" ], "salesforce.apex.cpu_time": -1.0, - "salesforce.apex.document_id": "/BTmFlfuGz8Dvtt1oBng376JZ5I=", "salesforce.apex.event_type": "ApexCallout", "salesforce.apex.organization_id": "00D5j000000VI3n", "salesforce.apex.run_time": 1305.0, diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json index 9c24b03873b..42a58a9bb25 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_execution.ndjson.log-expected.json @@ -13,7 +13,6 @@ "salesforce.apex.callout_time": 0.0, "salesforce.apex.cpu_time": 79.0, "salesforce.apex.db_total_time": 0.0, - "salesforce.apex.document_id": "IEG+uQVbqP1foVyPFz+k6O17uQ8=", "salesforce.apex.entry_point": "VF- /apex/listApexClass.apexp", "salesforce.apex.event_type": "ApexExecution", "salesforce.apex.is_long_running_request": 0, diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json index 287584fb924..bab3aba3fdb 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_external_callout.ndjson.log-expected.json @@ -16,7 +16,6 @@ "input.type": "log", "log.offset": 0, "salesforce.apex.action": "query", - "salesforce.apex.document_id": "Y4bHVzlwvvTap8Y+QRyibrxSzG0=", "salesforce.apex.entity": "HealthcareBlog", "salesforce.apex.event_type": "ExternalCustomApexCallout", "salesforce.apex.execute_ms": 8.0, diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json index 2f4be2c168d..dcda8505712 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_rest.ndjson.log-expected.json @@ -24,7 +24,6 @@ "salesforce.apex.db_blocks": 4401, "salesforce.apex.db_cpu_time": 130.0, "salesforce.apex.db_total_time": 232002540.0, - "salesforce.apex.document_id": "IIcdQ4XYyTmIUo5QQGa1oLhcPxs=", "salesforce.apex.event_type": "ApexRestApi", "salesforce.apex.login_key": "ieC2BVibz9GliuON", "salesforce.apex.media_type": "application/json;charset=UTF-8", diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json index eeac46c788c..b3da78384fa 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_soap.ndjson.log-expected.json @@ -21,7 +21,6 @@ "salesforce.apex.class_name": "ContactResource", "salesforce.apex.cpu_time": 17.0, "salesforce.apex.db_total_time": 14928037.0, - "salesforce.apex.document_id": "MRckyKS/j1fvwx0uE8oTYK32aug=", "salesforce.apex.event_type": "ApexSoap", "salesforce.apex.limit_usage_pct": 2.67, "salesforce.apex.login_key": "1HQDaq9tglsI4Nlo", diff --git a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json index b545a44dec9..f95936eb435 100644 --- a/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/apex/test/salesforce_apex_trigger.ndjson.log-expected.json @@ -12,7 +12,6 @@ "input.type": "log", "log.offset": 0, "salesforce.apex.cpu_time": 3.0, - "salesforce.apex.document_id": "5qvFCLJvuRh4m8R452CUqYZmz/8=", "salesforce.apex.entity_name": "Book__c", "salesforce.apex.event_type": "ApexTrigger", "salesforce.apex.organization_id": "00D5j000000VI3n", diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index ced66ee873a..5819e7afeac 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } diff --git a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml index fecbd0af232..c2b1b2ccdf7 100644 --- a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml @@ -28,23 +28,45 @@ - name: method_reference type: keyword description: The authentication method used by a third-party identification provider for an OpenID Connect single sign-on protocol. This field is available in API version 51.0 and later. - - name: login_key + - name: session + type: group + fields: + - name: level + type: keyword + description: Session-level security controls user access to features that support it, such as connected apps and reporting. This field is available in API version 42.0 and later. + - name: key + type: keyword + description: The user's unique session ID. Use this value to identify all user events within a session. When a user logs out and logs in again, a new session is started. For LoginEvent, this field is often null because the event is captured before a session is created. For example, vMASKIU6AxEr+Op5. This field is available in API version 46.0 and later. + - name: key + type: keyword + overwrite: true + description: The string that ties together all events in a given user's login session. It starts with a login event and ends with either a logout event or the user session expiring. + - name: history_id type: keyword - description: The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. + description: Tracks a user session so you can correlate user activity with a particular login instance. This field is also available on the LoginHistory, AuthSession, and other objects, making it easier to trace events back to a user's original authentication. + - name: type + type: keyword + description: The type of login used to access the session. + - name: geo_id + type: keyword + description: The Salesforce ID of the LoginGeo object associated with the login user's IP address. + - name: additional_info + type: text + description: JSON serialization of additional information that's captured from the HTTP headers during a login request. - name: client_version type: keyword description: The version number of the login client. If no version number is available, “Unknown” is returned. - name: client_ip type: keyword - description: The IP address of the client that’s using Salesforce services. A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP”. + description: The IP address of the client that's using Salesforce services. A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP”. - name: cpu_time type: long description: The CPU time in milliseconds used to complete the request. This field indicates the amount of activity taking place in the app server layer. metric_type: gauge unit: ms - - name: db_time.total + - name: db_time_total type: double - description: The time in milliseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and db_time.total. Compare this field to cpu_time to determine whether performance issues are occurring in the database layer or in your own code. + description: The time in nanoseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and DB's CPU time. Compare this field to cpu_time to determine whether performance issues are occurring in the database layer or in your own code. metric_type: gauge unit: ms - name: event_type @@ -64,12 +86,12 @@ description: The amount of time that the request took in milliseconds. metric_type: gauge unit: ms - - name: uri_id_derived + - name: user_id type: keyword - description: The 18-character case insensitive ID of the URI of the page that’s receiving the request. - - name: user_id_derived + description: The 15-character ID of the user who's using Salesforce services through the UI or the API. + - name: uri_id_derived type: keyword - description: The 18-character case insensitive ID of the user who’s using Salesforce services through the UI or the API. + description: The 18-character case insensitive ID of the URI of the page that's receiving the request. - name: evaluation_time type: float description: The amount of time it took to evaluate the transaction security policy, in milliseconds. diff --git a/x-pack/filebeat/module/salesforce/login/ingest/default.yml b/x-pack/filebeat/module/salesforce/login/ingest/default.yml index b0fc82384b2..55d67f99d03 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/default.yml @@ -26,14 +26,24 @@ processors: field: salesforce.login.document_id copy_from: _id ignore_empty_value: true - + - grok: + field: message + patterns: + - "\"EVENT_TYPE\":\\s*\"(?\\w+)\"" + ignore_failure: true + - set: + field: sf_event_type + value: "" + if: "ctx?.sf_event_type == null" - pipeline: name: '{< IngestPipeline "object" >}' - if: ctx.event?.provider == "Object" + if: ctx.event?.provider == "Object" || ctx.sf_event_type != 'Login' - pipeline: name: '{< IngestPipeline "eventlogfile" >}' - if: ctx.event?.provider == "EventLogFile" - + if: ctx.event?.provider == "EventLogFile" || ctx.sf_event_type == 'Login' + - remove: + field: sf_event_type + ignore_failure: true - set: field: event.type value: ["info"] diff --git a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml index d01c4f86071..3ef578125b9 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/eventlogfile.yml @@ -119,7 +119,7 @@ processors: - convert: field: json.DB_TOTAL_TIME type: long - target_field: salesforce.login.db_time.total + target_field: salesforce.login.db_time_total ignore_missing: true ignore_failure: true - script: @@ -129,13 +129,13 @@ processors: lang: painless source: | if (ctx.salesforce?.login?.db_time?.total != null) { - ctx.salesforce.login.db_time.total = ctx.salesforce.login.db_time.total / 1000000; + ctx.salesforce.login.db_time_total = ctx.salesforce.login.db_time_total / 1000000; } on_failure: - append: field: error.message value: >- - Failed to set salesforce.login.db_time.total: + Failed to set salesforce.login.db_time_total: {{{_ingest.on_failure_message}}} - rename: field: json.CLIENT_IP diff --git a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json index a3111a3d20d..8c64c9c3ad7 100644 --- a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json @@ -1,6 +1,6 @@ [ { - "@timestamp": "2024-04-12T08:31:57.745699Z", + "@timestamp": "2021-10-19T04:42:04.256Z", "event.action": "login-attempt", "event.category": [ "authentication" @@ -8,19 +8,43 @@ "event.dataset": "salesforce.login", "event.kind": "event", "event.module": "salesforce", + "event.outcome": "success", "event.timezone": "-02:00", "event.type": [ "info" ], + "event.url": "/index.jsp", "fileset.name": "login", "input.type": "log", "log.offset": 0, + "related.ip": [ + "43.224.11.237" + ], "salesforce.instance_url": "", - "salesforce.login.document_id": "1NA4fntAEiymzIC0ECHjaKgn9VI=", + "salesforce.login.api.version": 9998, + "salesforce.login.client_ip": "43.224.11.237", + "salesforce.login.cpu_time": 54, + "salesforce.login.db_time_total": 37142518, + "salesforce.login.event_type": "Login", + "salesforce.login.key": "iQzw40l45YkJUNKj", + "salesforce.login.organization_id": "00D5j000000VI3n", + "salesforce.login.request_id": "4exJslfc21z80-l1cJOnxV", + "salesforce.login.run_time": 94, + "salesforce.login.user_id": "0055j000000utlP", "service.type": "salesforce", + "source.ip": "43.224.11.237", "tags": [ "forwarded", "salesforce-login" - ] + ], + "tls.cipher": "ECDHE-RSA-AES256-GCM-SHA384", + "tls.version": "1.2", + "tls.version_protocol": "TLS", + "user.email": "kush.rana@elastic.co", + "user.id": "0055j000000utlPAAQ", + "user.roles": [ + "Standard" + ], + "user_agent.name": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" } ] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json index 9ea4df06ea2..0dc8f0bf3ec 100644 --- a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json @@ -1,25 +1,59 @@ [ { - "@timestamp": "2024-04-12T08:32:10.084908Z", + "@timestamp": "2021-10-19T11:47:22.000Z", "event.action": "login-attempt", "event.category": [ "authentication" ], "event.dataset": "salesforce.login", + "event.id": "06af6d92-1167-467d-a826-ee8583f7134d", "event.kind": "event", "event.module": "salesforce", + "event.outcome": "success", "event.timezone": "-02:00", "event.type": [ "info" ], + "event.url": "login.salesforce.com", "fileset.name": "login", + "http.request.method": "POST", "input.type": "log", "log.offset": 0, + "related.ip": [ + "123.201.231.106" + ], "salesforce.instance_url": "", + "salesforce.login.additional_info": "{}", + "salesforce.login.api.type": "N/A", + "salesforce.login.api.version": "N/A", + "salesforce.login.application": "elastic integration", + "salesforce.login.client_version": "N/A", + "salesforce.login.evaluation_time": 0.0, + "salesforce.login.geo_id": "04F5j00000FadrI", + "salesforce.login.history_id": "0Ya5j00000GLxCdCAL", + "salesforce.login.key": "o3vhFaSRBb0OzpCl", + "salesforce.login.session.level": "STANDARD", + "salesforce.login.type": "Remote Access 2.0", "service.type": "salesforce", + "source.geo.city_name": "Surat", + "source.geo.country_iso_code": "IN", + "source.geo.country_name": "India", + "source.geo.location.lat": 21.1888, + "source.geo.location.lon": 72.8293, + "source.geo.postal_code": "395007", + "source.geo.region_name": "Gujarat", + "source.ip": "123.201.231.106", "tags": [ "forwarded", "salesforce-login" - ] + ], + "tls.cipher": "ECDHE-RSA-AES256-GCM-SHA384", + "tls.version": "1.2", + "tls.version_protocol": "TLS", + "user.email": "kush.rana@elastic.co", + "user.id": "0055j000000utlPAAQ", + "user.roles": "Standard", + "user_agent.name": "Unknown", + "user_agent.os.platform": "Unknown" } ] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json index a172d1748ec..c5571187b1d 100644 --- a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json @@ -1,6 +1,6 @@ [ { - "@timestamp": "2024-04-12T08:31:33.034071Z", + "@timestamp": "2024-04-13T05:01:53.068924Z", "event.action": "logout", "event.category": [ "authentication" @@ -16,7 +16,6 @@ "input.type": "log", "log.offset": 0, "salesforce.instance_url": "", - "salesforce.login.document_id": "jP5eqZ2Q1aTRxCmtwi1X8Az0q9w=", "service.type": "salesforce", "tags": [ "forwarded", diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json index 22f41f280e8..88f55fb5d64 100644 --- a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json @@ -1,6 +1,6 @@ [ { - "@timestamp": "2024-04-12T08:31:20.916796Z", + "@timestamp": "2024-04-13T05:01:40.922946Z", "event.action": "logout", "event.category": [ "authentication" From d5951e588aff376adc8a00db639164433ff3522e Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Sat, 13 Apr 2024 10:55:30 +0530 Subject: [PATCH 161/172] Fix logout fileset --- x-pack/filebeat/module/salesforce/fields.go | 2 +- .../module/salesforce/login/_meta/fields.yml | 2 +- .../module/salesforce/logout/_meta/fields.yml | 14 ++++++++++- .../salesforce/logout/ingest/default.yml | 18 +++++++++++---- ...sforce_logout_elf.ndjson.log-expected.json | 23 +++++++++++++++++-- ...rce_logout_object.ndjson.log-expected.json | 13 +++++++++-- 6 files changed, 61 insertions(+), 11 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index 5819e7afeac..11cdacf7935 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } diff --git a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml index c2b1b2ccdf7..dda4f422037 100644 --- a/x-pack/filebeat/module/salesforce/login/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/login/_meta/fields.yml @@ -32,7 +32,7 @@ type: group fields: - name: level - type: keyword + type: text description: Session-level security controls user access to features that support it, such as connected apps and reporting. This field is available in API version 42.0 and later. - name: key type: keyword diff --git a/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml b/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml index 5b8e7696048..79f205b24fe 100644 --- a/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml @@ -11,8 +11,12 @@ - name: session type: group fields: - - name: level + - name: key type: keyword + description: > + The user’s unique session ID. You can use this value to identify all user events within a session. When a user logs out and logs in again, a new session is started. + - name: level + type: text description: > The security level of the session that was used when logging out (e.g. Standard Session or High-Assurance Session). - name: type @@ -62,6 +66,10 @@ type: keyword description: > The screen resolution of the client. If a timeout caused the logout, this field is null. + - name: user_id + type: keyword + description: > + The 15-character ID of the user who’s using Salesforce services through the UI or the API. - name: user_id_derived type: keyword description: > @@ -78,3 +86,7 @@ type: keyword description: > This field is populated only when the activity that this event monitors requires extra authentication, such as multi-factor authentication. In this case, Salesforce generates more events and sets the RelatedEventIdentifier field of the new events to the value of the EventIdentifier field of the original event. Use this field with the EventIdentifier field to correlate all the related events. If no extra authentication is required, this field is blank. + - name: organization_id + type: keyword + description: > + The 15-character ID of the organization. diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml index b4957f6bc6b..b30d74ed975 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml @@ -26,14 +26,24 @@ processors: field: salesforce.login.document_id copy_from: _id ignore_empty_value: true - + - grok: + field: message + patterns: + - "\"EVENT_TYPE\":\\s*\"(?\\w+)\"" + ignore_failure: true + - set: + field: sf_event_type + value: "" + if: "ctx?.sf_event_type == null" - pipeline: name: '{< IngestPipeline "object" >}' - if: ctx.event.provider == "Object" + if: ctx.event?.provider == "Object" || ctx.sf_event_type != 'Logout' - pipeline: name: '{< IngestPipeline "eventlogfile" >}' - if: ctx.event.provider == "EventLogFile" - + if: ctx.event?.provider == "EventLogFile" || ctx.sf_event_type == 'Logout' + - remove: + field: sf_event_type + ignore_failure: true - set: field: event.type value: ["info"] diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json index c5571187b1d..a555deee9b9 100644 --- a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json @@ -1,10 +1,11 @@ [ { - "@timestamp": "2024-04-13T05:01:53.068924Z", + "@timestamp": "2021-10-19T05:07:07.128Z", "event.action": "logout", "event.category": [ "authentication" ], + "event.code": "4exLFFQZNa5xxFl1cJNwOV", "event.dataset": "salesforce.logout", "event.kind": "event", "event.module": "salesforce", @@ -15,11 +16,29 @@ "fileset.name": "logout", "input.type": "log", "log.offset": 0, + "related.ip": [ + "123.201.231.42" + ], "salesforce.instance_url": "", + "salesforce.logout.app_type": 1000, + "salesforce.logout.browser_type": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36", + "salesforce.logout.client_version": 9998, + "salesforce.logout.event_type": "Logout", + "salesforce.logout.login_key": "OKyrFuSUIZVr9YzF", + "salesforce.logout.organization_id": "00D5j000000VI3n", + "salesforce.logout.platform_type": 1015, + "salesforce.logout.resolution_type": 9999, + "salesforce.logout.session.level": "STANDARD(db=1,api=STANDARD)", + "salesforce.logout.session.type": "UI", + "salesforce.logout.user_id": "0055j000000utlP", + "salesforce.logout.user_initiated_logout": 1, "service.type": "salesforce", + "source.ip": "123.201.231.42", "tags": [ "forwarded", "salesforce-logout" - ] + ], + "user.id": "0055j000000utlPAAQ", + "user.roles": "Standard(db=S,api=Standard)" } ] \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json index 88f55fb5d64..1d4138477f0 100644 --- a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json @@ -1,6 +1,6 @@ [ { - "@timestamp": "2024-04-13T05:01:40.922946Z", + "@timestamp": "2021-10-19T11:38:54.000Z", "event.action": "logout", "event.category": [ "authentication" @@ -15,11 +15,20 @@ "fileset.name": "logout", "input.type": "log", "log.offset": 0, + "related.ip": [ + "123.201.231.106" + ], "salesforce.instance_url": "", + "salesforce.logout.login_key": "CuRVtbMjat6xxbTH", + "salesforce.logout.session.key": "6/HAElgoPCwskqBU", + "salesforce.logout.session.level": "STANDARD", "service.type": "salesforce", + "source.ip": "123.201.231.106", "tags": [ "forwarded", "salesforce-logout" - ] + ], + "user.email": "kush.rana@elastic.co", + "user.id": "0055j000000utlPAAQ" } ] \ No newline at end of file From a32205ef9680ea5f372845de58f9f1a959af229e Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Sat, 13 Apr 2024 11:02:08 +0530 Subject: [PATCH 162/172] Fix docs --- filebeat/docs/fields.asciidoc | 113 +++++++++++++++--- .../module/salesforce/logout/_meta/fields.yml | 10 +- .../setupaudittrail/_meta/fields.yml | 2 +- 3 files changed, 105 insertions(+), 20 deletions(-) diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index e74e48e3dfe..d4b6d799f6b 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -125672,15 +125672,70 @@ type: keyword -- -*`salesforce.login.login_key`*:: + +*`salesforce.login.session.level`*:: ++ +-- +Session-level security controls user access to features that support it, such as connected apps and reporting. This field is available in API version 42.0 and later. + +type: text + +-- + +*`salesforce.login.session.key`*:: ++ +-- +The user's unique session ID. Use this value to identify all user events within a session. When a user logs out and logs in again, a new session is started. For LoginEvent, this field is often null because the event is captured before a session is created. For example, vMASKIU6AxEr+Op5. This field is available in API version 46.0 and later. + +type: keyword + +-- + +*`salesforce.login.key`*:: ++ +-- +The string that ties together all events in a given user's login session. It starts with a login event and ends with either a logout event or the user session expiring. + +type: keyword + +-- + +*`salesforce.login.history_id`*:: ++ +-- +Tracks a user session so you can correlate user activity with a particular login instance. This field is also available on the LoginHistory, AuthSession, and other objects, making it easier to trace events back to a user's original authentication. + +type: keyword + +-- + +*`salesforce.login.type`*:: ++ +-- +The type of login used to access the session. + +type: keyword + +-- + +*`salesforce.login.geo_id`*:: + -- -The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. +The Salesforce ID of the LoginGeo object associated with the login user's IP address. type: keyword -- +*`salesforce.login.additional_info`*:: ++ +-- +JSON serialization of additional information that's captured from the HTTP headers during a login request. + +type: text + +-- + *`salesforce.login.client_version`*:: + -- @@ -125693,7 +125748,7 @@ type: keyword *`salesforce.login.client_ip`*:: + -- -The IP address of the client that’s using Salesforce services. A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP”. +The IP address of the client that's using Salesforce services. A Salesforce internal IP (such as a login from Salesforce Workbench or AppExchange) is shown as “Salesforce.com IP”. type: keyword @@ -125708,10 +125763,10 @@ type: long -- -*`salesforce.login.db_time.total`*:: +*`salesforce.login.db_time_total`*:: + -- -The time in milliseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and db_time.total. Compare this field to cpu_time to determine whether performance issues are occurring in the database layer or in your own code. +The time in nanoseconds for a database round trip. Includes time spent in the JDBC driver, network to the database, and DB's CPU time. Compare this field to cpu_time to determine whether performance issues are occurring in the database layer or in your own code. type: double @@ -125762,19 +125817,19 @@ type: long -- -*`salesforce.login.uri_id_derived`*:: +*`salesforce.login.user_id`*:: + -- -The 18-character case insensitive ID of the URI of the page that’s receiving the request. +The 15-character ID of the user who's using Salesforce services through the UI or the API. type: keyword -- -*`salesforce.login.user_id_derived`*:: +*`salesforce.login.uri_id_derived`*:: + -- -The 18-character case insensitive ID of the user who’s using Salesforce services through the UI or the API. +The 18-character case insensitive ID of the URI of the page that's receiving the request. type: keyword @@ -125816,13 +125871,23 @@ type: keyword -- +*`salesforce.logout.session.key`*:: ++ +-- +The user's unique session ID. You can use this value to identify all user events within a session. When a user logs out and logs in again, a new session is started. + + +type: keyword + +-- + *`salesforce.logout.session.level`*:: + -- The security level of the session that was used when logging out (e.g. Standard Session or High-Assurance Session). -type: keyword +type: text -- @@ -125839,7 +125904,7 @@ type: keyword *`salesforce.logout.login_key`*:: + -- -The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. +The string that ties together all events in a given user's login session. It starts with a login event and ends with either a logout event or the user session expiring. type: keyword @@ -125933,6 +125998,16 @@ type: keyword The screen resolution of the client. If a timeout caused the logout, this field is null. +type: keyword + +-- + +*`salesforce.logout.user_id`*:: ++ +-- +The 15-character ID of the user who's using Salesforce services through the UI or the API. + + type: keyword -- @@ -125940,7 +126015,7 @@ type: keyword *`salesforce.logout.user_id_derived`*:: + -- -The 18-character case-safe ID of the user who’s using Salesforce services through the UI or the API. +The 18-character case-safe ID of the user who's using Salesforce services through the UI or the API. type: keyword @@ -125950,7 +126025,7 @@ type: keyword *`salesforce.logout.user_initiated_logout`*:: + -- -The value is 1 if the user intentionally logged out of the organization by clicking the Logout button. If the user’s session timed out due to inactivity or another implicit logout action, the value is 0. +The value is 1 if the user intentionally logged out of the organization by clicking the Logout button. If the user's session timed out due to inactivity or another implicit logout action, the value is 0. type: keyword @@ -125973,6 +126048,16 @@ type: keyword This field is populated only when the activity that this event monitors requires extra authentication, such as multi-factor authentication. In this case, Salesforce generates more events and sets the RelatedEventIdentifier field of the new events to the value of the EventIdentifier field of the original event. Use this field with the EventIdentifier field to correlate all the related events. If no extra authentication is required, this field is blank. +type: keyword + +-- + +*`salesforce.logout.organization_id`*:: ++ +-- +The 15-character ID of the organization. + + type: keyword -- @@ -126037,7 +126122,7 @@ type: keyword *`salesforce.setup_audit_trail.delegate_user`*:: + -- -The Login-As user who executed the action in Setup. If a Login-As user didn’t perform the action, this field is blank. This field is available in API version 35.0 and later. +The Login-As user who executed the action in Setup. If a Login-As user didn't perform the action, this field is blank. This field is available in API version 35.0 and later. type: keyword diff --git a/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml b/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml index 79f205b24fe..9da3677f8c3 100644 --- a/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/logout/_meta/fields.yml @@ -14,7 +14,7 @@ - name: key type: keyword description: > - The user’s unique session ID. You can use this value to identify all user events within a session. When a user logs out and logs in again, a new session is started. + The user's unique session ID. You can use this value to identify all user events within a session. When a user logs out and logs in again, a new session is started. - name: level type: text description: > @@ -26,7 +26,7 @@ - name: login_key type: keyword description: > - The string that ties together all events in a given user’s login session. It starts with a login event and ends with either a logout event or the user session expiring. + The string that ties together all events in a given user's login session. It starts with a login event and ends with either a logout event or the user session expiring. - name: api type: group fields: @@ -69,15 +69,15 @@ - name: user_id type: keyword description: > - The 15-character ID of the user who’s using Salesforce services through the UI or the API. + The 15-character ID of the user who's using Salesforce services through the UI or the API. - name: user_id_derived type: keyword description: > - The 18-character case-safe ID of the user who’s using Salesforce services through the UI or the API. + The 18-character case-safe ID of the user who's using Salesforce services through the UI or the API. - name: user_initiated_logout type: keyword description: > - The value is 1 if the user intentionally logged out of the organization by clicking the Logout button. If the user’s session timed out due to inactivity or another implicit logout action, the value is 0. + The value is 1 if the user intentionally logged out of the organization by clicking the Logout button. If the user's session timed out due to inactivity or another implicit logout action, the value is 0. - name: created_by_id type: keyword description: > diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml index b62ed83fd3e..66f7dd8f304 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml @@ -27,7 +27,7 @@ - name: delegate_user type: keyword description: > - The Login-As user who executed the action in Setup. If a Login-As user didn’t perform the action, this field is blank. This field is available in API version 35.0 and later. + The Login-As user who executed the action in Setup. If a Login-As user didn't perform the action, this field is blank. This field is available in API version 35.0 and later. - name: display type: keyword description: > From 596d493f24ce7652a09d27194aefaf6e054e24e2 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Sat, 13 Apr 2024 11:07:59 +0530 Subject: [PATCH 163/172] Fix asset hash --- x-pack/filebeat/module/salesforce/fields.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index 11cdacf7935..d585b826835 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } From 5aa63f206ce565c0a433fc0cfb50027e0a84bfaa Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Sat, 13 Apr 2024 12:43:53 +0530 Subject: [PATCH 164/172] fix pipeline integration tests --- .../module/salesforce/apex/config/apex.yml | 1 - .../module/salesforce/login/config/login.yml | 34 +++++++++++++++---- .../salesforce/login/ingest/default.yml | 18 +++------- ...esforce_login_elf.ndjson.log-expected.json | 1 + ...orce_login_object.ndjson.log-expected.json | 1 + .../salesforce/logout/config/logout.yml | 33 +++++++++++++++--- .../salesforce/logout/ingest/default.yml | 18 +++------- ...sforce_logout_elf.ndjson.log-expected.json | 1 + ...rce_logout_object.ndjson.log-expected.json | 1 + 9 files changed, 68 insertions(+), 40 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/apex/config/apex.yml b/x-pack/filebeat/module/salesforce/apex/config/apex.yml index b68590495bd..ace9bcb93fd 100644 --- a/x-pack/filebeat/module/salesforce/apex/config/apex.yml +++ b/x-pack/filebeat/module/salesforce/apex/config/apex.yml @@ -14,7 +14,6 @@ event_monitoring_method: interval: {{ .elf_interval }} query: default: SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05.000Z0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST - value: SELECT Id,CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] AND (EventType = 'ApexCallout' OR EventType = 'ApexExecution' OR EventType = 'ApexRestApi' OR EventType = 'ApexSoap' OR EventType = 'ApexTrigger' OR EventType = 'ExternalCustomApexCallout') ORDER BY LogDate ASC NULLS FIRST cursor: field: "CreatedDate" diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml index 6659056f002..15ddbaa9ab3 100644 --- a/x-pack/filebeat/module/salesforce/login/config/login.yml +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -14,7 +14,6 @@ event_monitoring_method: interval: {{ .elf_interval }} query: default: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE {{ if .initial_interval }}LogDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05.000Z0700") ]] AND{{ end }} Interval = '{{ .log_file_interval }}' AND EventType = 'Login' ORDER BY LogDate ASC NULLS FIRST - value: SELECT CreatedDate,LogDate,LogFile FROM EventLogFile WHERE Interval = '{{ .log_file_interval }}' AND EventType = 'Login' AND CreatedDate > [[ .cursor.event_log_file.last_event_time ]] ORDER BY LogDate ASC NULLS FIRST cursor: field: "CreatedDate" @@ -27,6 +26,13 @@ event_monitoring_method: cursor: field: "EventDate" +processors: + - add_fields: + target: salesforce + fields: + instance_url: {{ .url }} + - add_locale: ~ + {{ else if eq .input "file" }} type: log @@ -36,14 +42,30 @@ paths: {{ end }} exclude_files: [".gz$"] -{{ end }} - -tags: {{.tags | tojson}} -publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} - processors: - add_fields: target: salesforce fields: instance_url: {{ .url }} + - decode_json_fields: + fields: ["message"] + target: "json" + - script: + lang: javascript + source: > + function process(event) { + if (event.Get("json.EVENT_TYPE") == "Login") { + event.Put("event.provider", "EventLogFile"); + } else { + event.Put("event.provider", "Object"); + } + } + - drop_fields: + fields: json + ignore_missing: true - add_locale: ~ + +{{ end }} + +tags: {{.tags | tojson}} +publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} diff --git a/x-pack/filebeat/module/salesforce/login/ingest/default.yml b/x-pack/filebeat/module/salesforce/login/ingest/default.yml index 55d67f99d03..e9bb56124fc 100644 --- a/x-pack/filebeat/module/salesforce/login/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/login/ingest/default.yml @@ -26,24 +26,14 @@ processors: field: salesforce.login.document_id copy_from: _id ignore_empty_value: true - - grok: - field: message - patterns: - - "\"EVENT_TYPE\":\\s*\"(?\\w+)\"" - ignore_failure: true - - set: - field: sf_event_type - value: "" - if: "ctx?.sf_event_type == null" + - pipeline: name: '{< IngestPipeline "object" >}' - if: ctx.event?.provider == "Object" || ctx.sf_event_type != 'Login' + if: ctx.event?.provider == "Object" - pipeline: name: '{< IngestPipeline "eventlogfile" >}' - if: ctx.event?.provider == "EventLogFile" || ctx.sf_event_type == 'Login' - - remove: - field: sf_event_type - ignore_failure: true + if: ctx.event?.provider == "EventLogFile" + - set: field: event.type value: ["info"] diff --git a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json index 8c64c9c3ad7..3327267833a 100644 --- a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_elf.ndjson.log-expected.json @@ -9,6 +9,7 @@ "event.kind": "event", "event.module": "salesforce", "event.outcome": "success", + "event.provider": "EventLogFile", "event.timezone": "-02:00", "event.type": [ "info" diff --git a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json index 0dc8f0bf3ec..ca49c41c757 100644 --- a/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/login/test/salesforce_login_object.ndjson.log-expected.json @@ -10,6 +10,7 @@ "event.kind": "event", "event.module": "salesforce", "event.outcome": "success", + "event.provider": "Object", "event.timezone": "-02:00", "event.type": [ "info" diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml index af16dceecab..a48cc3efa01 100644 --- a/x-pack/filebeat/module/salesforce/logout/config/logout.yml +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -26,6 +26,13 @@ event_monitoring_method: cursor: field: "EventDate" +processors: + - add_fields: + target: salesforce + fields: + instance_url: {{ .url }} + - add_locale: ~ + {{ else if eq .input "file" }} type: log @@ -35,14 +42,30 @@ paths: {{ end }} exclude_files: [".gz$"] -{{ end }} - -tags: {{.tags | tojson}} -publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} - processors: - add_fields: target: salesforce fields: instance_url: {{ .url }} + - decode_json_fields: + fields: ["message"] + target: "json" + - script: + lang: javascript + source: > + function process(event) { + if (event.Get("json.EVENT_TYPE") == "Logout") { + event.Put("event.provider", "EventLogFile"); + } else { + event.Put("event.provider", "Object"); + } + } + - drop_fields: + fields: json + ignore_missing: true - add_locale: ~ + +{{ end }} + +tags: {{.tags | tojson}} +publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} diff --git a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml index b30d74ed975..90645868363 100644 --- a/x-pack/filebeat/module/salesforce/logout/ingest/default.yml +++ b/x-pack/filebeat/module/salesforce/logout/ingest/default.yml @@ -26,24 +26,14 @@ processors: field: salesforce.login.document_id copy_from: _id ignore_empty_value: true - - grok: - field: message - patterns: - - "\"EVENT_TYPE\":\\s*\"(?\\w+)\"" - ignore_failure: true - - set: - field: sf_event_type - value: "" - if: "ctx?.sf_event_type == null" + - pipeline: name: '{< IngestPipeline "object" >}' - if: ctx.event?.provider == "Object" || ctx.sf_event_type != 'Logout' + if: ctx.event?.provider == "Object" - pipeline: name: '{< IngestPipeline "eventlogfile" >}' - if: ctx.event?.provider == "EventLogFile" || ctx.sf_event_type == 'Logout' - - remove: - field: sf_event_type - ignore_failure: true + if: ctx.event?.provider == "EventLogFile" + - set: field: event.type value: ["info"] diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json index a555deee9b9..fa603eb61f1 100644 --- a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_elf.ndjson.log-expected.json @@ -9,6 +9,7 @@ "event.dataset": "salesforce.logout", "event.kind": "event", "event.module": "salesforce", + "event.provider": "EventLogFile", "event.timezone": "-02:00", "event.type": [ "info" diff --git a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json index 1d4138477f0..eed5058ac7a 100644 --- a/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/logout/test/salesforce_logout_object.ndjson.log-expected.json @@ -8,6 +8,7 @@ "event.dataset": "salesforce.logout", "event.kind": "event", "event.module": "salesforce", + "event.provider": "Object", "event.timezone": "-02:00", "event.type": [ "info" From bc4c139be04a774c72df06a9de8b430fcda0a279 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Sat, 13 Apr 2024 12:47:44 +0530 Subject: [PATCH 165/172] fix EventLogFile cursor in salesforce input --- x-pack/filebeat/input/salesforce/input.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/filebeat/input/salesforce/input.go b/x-pack/filebeat/input/salesforce/input.go index 1e893625ed2..dacb15042b3 100644 --- a/x-pack/filebeat/input/salesforce/input.go +++ b/x-pack/filebeat/input/salesforce/input.go @@ -292,12 +292,12 @@ func (s *salesforceInput) RunEventLogFile() error { s.log.Debugf("scrape eventLogFile(s) every %s", s.srcConfig.EventMonitoringMethod.EventLogFile.Interval) var cursor mapstr.M - if !(isZero(s.cursor.Object.FirstEventTime) && isZero(s.cursor.Object.LastEventTime)) { + if !(isZero(s.cursor.EventLogFile.FirstEventTime) && isZero(s.cursor.EventLogFile.LastEventTime)) { eventLogFile := make(mapstr.M) - if !isZero(s.cursor.Object.FirstEventTime) { + if !isZero(s.cursor.EventLogFile.FirstEventTime) { eventLogFile.Put("first_event_time", s.cursor.EventLogFile.FirstEventTime) } - if !isZero(s.cursor.Object.LastEventTime) { + if !isZero(s.cursor.EventLogFile.LastEventTime) { eventLogFile.Put("last_event_time", s.cursor.EventLogFile.LastEventTime) } cursor = mapstr.M{"event_log_file": eventLogFile} From f83f19399e427c660b00cda56853920e9c078d23 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Sun, 14 Apr 2024 10:55:57 +0530 Subject: [PATCH 166/172] update dashboards screen shots --- .../filebeat-salesforce-login-dashboard.png | Bin 716935 -> 1740229 bytes .../filebeat-salesforce-logout-dashboard.png | Bin 272972 -> 1390003 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/filebeat/docs/images/filebeat-salesforce-login-dashboard.png b/filebeat/docs/images/filebeat-salesforce-login-dashboard.png index 72003b0f00fe48a5e3aa05337f1631eab3963f44..dc862bddc011b0498cfa1eee90a9280f356fef29 100644 GIT binary patch literal 1740229 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%0ATbN2{qa*y$1js`B3IEZGfrPXuxA6KW%_jsWLp# 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%0DBLFD5$MBv)1K<-^~KQd(<%ME2vmJ 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 z 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

8#r*YdzpIyyh{P_&ZS(NOqul2+@eh!Tc!9g~&v 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 z

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

^4&crwhdB#K0Ea|b^~~r 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⊀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%0A)FF)L(=hSyU=(Q@6wKn7ON;x-%E<+b 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

    Tz(AZ+ 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

    MWs9YdAv1Tp3k6*7DruLUr-d2=wj1L^ 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

    av2uU$ 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⪼@K>U|i5BwEbU0m$uS@ZJZ{cX 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 L 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

    GA*-f$U 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⁣;X9ZZbOwNs7VzkL?hW6sK_IBzYLsWw7# zsPH(qom4I3Fn$N~_MEAKMHyd3YbmCd1UtGhYBDidUX71b3{PWQ&w7>JZKb8R99KMa zn}cnn6^@0hli4l&wj+t(wqeMw1VJb9u`X@E%GFHl9fJ6;{{oP z(CYsq>nnrefRc3wcXxLQZo%DyOM*KDcMm$aTY%s&xLbf=!QI{6-8JZ&?C#yWd*4s0 zsA7O~`gDKRRb*XNdwKS5r!2Pp>STD7A9Z5rstCqi*>r?}w-(;Vm(|Q)nmonv?K4T{ zAUt!PEYcd|86ABPCtvk6H6ZJl@Y!Z51-W4@Q1Vf@2XYRV8XiQ2&6S8EMqw#*YzGW+ zMVt>AL;>|3dfn&m4LDytJ-evb@O9Ws`>88@-C<7c+07{NDl~|)wc1EUeBRaZ08c$} z!UHqP-g@~96$XJW6IpxO0`G2XncUnPz7HnE!ry~-cO`${jNc%eoc|ri8}YyitUa+y zlO(_&jH;hifM26XO)`Wz7?A6HHsJOGnm#1>oHyr9NX z)1(&Oq&YA-D@QlH_5F!03Vu!ZJL9g_^D1G1xml;JOXuW%VD21y0l?B><2S5{4h`tX z)t{K$XXZWTga4_eou$P9I1rqtQglP|B~lcuA}vokMCoLVtiO@UJCw8M6PQ1<#fxz)sn>q2mYVx zhxG{g14HNptx?)2p5F}#eC+C4T?^}82%jR@2U(eVBp!qy^%F_eiEa*9PRyHpjhGDb`o6!c=;xT0dX5gd=s+>7~P6?D7(ns4_Fe{9RNauqtnbqB&rGULUUIe2|Zio8J{Ag~Hph z!ra-oanTENph$XI+eRYl6&zx@xNq!yc*=NIiqkzlHud~H!hal$>;NvurKXr}8iZLU zsZs69axM7zgcDZ;*TNR5*3SAHMNYdeck!wFAKF!E=&F&W^V9e+)DaO7B^@0%9%|mQ zQ*-?J2D$NKNX{Z?J<4byYd=u)t@WTtbL!~mOqp#W6FJ_ z%Mj3c(wS>gbufg02U@;uqCmX78M}vnx%;zf>W(wR6ngb{GE{5dC0rDgj1{b`gltgUOlg62{mgez?gyq zR#xOeo4tM6Fm9kqt{)86;_GBp*d{9sb{=bXeCTnTp>ncm^>!^CAMU4e664t4e5p1p zyZV!@qbI_Mn4$o0I*=H|S=ftC;6m-c6@}?j+lVUv&W7wF1M5+`vy;`}dA6daC&Y~D zkx4YNIx0_832KOWB>yn$jPcf1Nl129(U+{=qb+<)#wV@5QFhY(`I!2PDK-XQ7=&KV+`#;fn9j1!{Z{2ad+<#R*1cwcdNL{=j4I%&fEcmS@zY z=jk=Z@AJM!D=96tJ=VA&frSs$_eM23>WSkJ^?G|jx*F{94@u24LIO&_ai)Ria+!&2 zA)J%>DqFO}siVI-t;^vPR`PFJ#PmjRe4_7Xl}d1y2@2!quS6Sv;MUhJmGAAdeq;xN zNmNoWHo(E_@9S>sV*|x)`vT+>6=^(oQb^|t9gF%?mF2K_DZK9K3&pq-h%{k*KCwPK zZ{Al#=5Ma5YTtCEv+DlLY&#P>bu1n=nJ&7e(W|dyHtUqn6H1 zVw)4JA*i>zm|kaD7-tQ;yX&W*S94$Ct{x-lmXtJ{KNE@gF-^-9{hSPkyC><*4U)kJ zy!Nl0VBp~)MU6!qWc#3Q_&!6O>=t}7WjA+)b$J4J*CN+QkxQbH%@P|v%p(#(tq*U1 zD7YQg$Aw#uk4K#Tkg%D+O&1{&E zr$3kZthIhwa6sXcila&EkG5*+VtL)1P#${4FJana}^hVVrTuWr5v- zE16jrxe`iIJRLxp~$|aBYfj-?;SkPx?#^*=x z>yjB^rKfq{t&z!a$Ba%ls4!eBrXD$sDvFZ~wIax42*t!8f|dm#t4A15;?WnHonLO| zB~pb(QRH-uVqRHAwJO>^q@C60j;82 zsgaa4m)FvQagfDXJHav~Af~O2f{7L9K37#{EebX&&??HF)e=whR)bzjETLT2(MVYW z+nZr#ien^A^C9+>Pzszc&YOiZ`ZzQD5hs1zGv}f3-fvQ@ZC5|X!r;+ycpR8VVc~e8 z=`p1sCg4+>X3*f-kD4ctXzB|0Z0fSz8EjgAPCj_)@6ZbiJ3dKL*us5adzsdv; zQD7ilF2em;)CUbL>rS(ANRJ7t%LUi)>1kbwk>2AFT^^EsXBVIf514^giIRe(h8ZEp zLAvbqM~c_A>;BFdTDxPTduqwXuSFCVHbjAiRCC+|X**`$UB^>w;+pB7!vCWqC+xKk z*8PPqe=v6$EQ%lsszI18;?I65L6>2O*5VRDFx`Gt-Po3lm+Pf;6~47cCDgU`e2Oa# zNBEwv<`A^r?NR*+cZczRv;bNCh8XJ&Vk*G-ah-~6%Q9#*y0SC)`UO)hlg}yBZT6F3 zUMSuwkX-$iq;ToMm!3uvAW}-y^U>Z%8(^8#7FX%B(9?j(1BosE3nQ<1b{}vYosFg( z`iY<+1gHtwod1GQL%Q4dM~pX&E+5_*hH-jF8FFVH$a{88))J?bsaEOVciR_yoA6Dz2;n2(} zIT#>M4E4i6o8x2WF(@%w^^SaUk@D=6Gz2GLGo4z@ZD{?>U#?Polf5WG@$S^_^0(qzR+miV zj5PLo+<6a5#1(km(>=5|*|gnlh4JO_9kVeQIy`SFNWt_01hrXinTL5q4IOh^f#auE z{;7zm+nhgyrmp?N)V;*NOhc20cv1n!$C*U=(K|i>8 z806%yrd#d?hlkJLwGV~jVXgjB+YhTQj7ffelSj9YGdbs9t0vp6=1;9W@0SMn_0oMI zEOGOcD0{Q@y=$ER5Y{(*6F0#EC{lP+JAcIkw0P%#puQhYj;j$P4uK@(bjQyAW{iKnx25mF&+di zp$1XRM45(j)6iT+QSl9cS8@9esI;gpQnE_1x}mGN))(XBSu` z0Rj!m(@|tuxzNywi5pOBZbqvD$q9VBFyMoB;xQ}xQyoElW&tZl(xSi(Rer5AC1Sy( zxS_Vrx^}pD2{wqywR{TVxF%@z8QSv97mi-Z(3(S7?}vlDG3%b_()`%s!9=gocBpTb z>^kTeRUxuWCeO{^6Jt@4KHXfImt)<9d2}1ogC596W%LyAS9qmz zCqIR?V~Q=*Z!vuJWb&TJkHJ;>EYz$P8`?tK`^Waju>mf`!tI;%h0hump9~iMh2qP% znT0f7PGP!17EucER2}35S>VTa=FVS&fr;t~7?tKm>=6A)gR3;sj8e(%C=VTpAtmH6 zU}O`qSDXSW8H|#GAx2~1O>i%Osg;9(JB&yQ#Z|<~8(^6L7=agMu|5ZY+KMPQNNqcB za&RPQF}4d=rZLFMB)`;=D4N4zb5MK_G^^3d@-#BVt#HRPcvR=-^21E}xMXB|0~q`a zSJ@_be*t+qdIAk@Tnalu$G!cE3!fM4Uky;a96;R`KD%^wZi?+`TdS*UH= z0Al(2sl7A1EMJ}9)O1?%;^!x)=dp(Kcw@I9M*Ra+Qv-HL|3TN$ ziPpb1_%`>|^Kq*+4iXfi#+Q-uJu2k!Dazq;weCb<{y+$DYr;!@3;=msU!H2KJMEBF z_kxusFnmJZ`BXDE3G?GtSeTVr)rJoo;N^(&;e9584fhDqBqG^q`N>C>5~M)kFXuwP zN&aKb%p?VaoKM(7aX*T@=o^H>oP_29(Jkt$Ou#M%z?tBgou`Exz&#~HY>>jwzNA2( z!mOGpEe5!xlp7moNZ+~?ZmoM@uV>hZ6(DyKecjx~hm2 z9E{TU)&{o(l&8iN&qt6nbH!Fu3pL&DtwopbMMkIPVN#bsK{dytJn4j(T{u}BpF2E+ zS4d@pRWFXUXqAT%r$8EeoX@!EK6m`-B8TOZGECfGP&F)C$4#A+^Unm@+!seKZUHXp!O+KqlT}))a}W{4DMMTFM%2zrceId}kx}KK zxv~U9t-ef3p)G;dB9c~)smaCYCC+|wa*%^Z(c678G4dTO75sce1ftNpD+!btgEvS3~jvpyhCR+ zA0GvyAQeV`(sh}bPFVv~w{o+d)Z4*q5OkO|IgSVa2M-ZAXui87FMiFW3(1>@&sB}1 zu=<=(r=Rc~jw^*XxUt}sO-I0K+Of{{)G5x+JLhO@^BXqh-tAf5KgD88U0-7r4%^ym@f7d;Ren}n@%{rz{a`DsTQ z#<;otuKP@$WEXrp15V%vC5xgE#*P^{7j9GRJxI_(hvAr+FyD+ZtjXFUlOSPW$nv@y z>0o6e0erHI_ac8%=VN9r%BQ3|6^KWQ>I+SqQDz3DulxV97wOf@9*8CkrP8Ls7veZd z)n7N*3LZ0)1hqlHgy1-a(VE(Ok+1ZA{aH^@K&DDnV&H{4KhG1uErs!-r(*z)>HoM} z|82}(#_1DE6tYu=qUK)mU3{d}X9!_sF%ypA?5aMEZjX;76CqfQ0{q z@y#FPm%Efe1@*zLRPs7Ue}te+k9{7~wPLB%A9-CtDbzokean0LM2{!#XSdpzzdZIN zIqGo=VfJ(54ZCXm@=GRWFpXarF-+c0Tx)3BtFYALp^D_oIv-uwscUniFZ)O(`l0Jd zcZMP*Ql+9UZ|*p7UOBo%6amp@%=1MACVYCh7A&B$jma&U8Wy#Y+uc;KVRi5`jD5E) z?dUMWn7GH*^UPm7yiu&vE8`=fJ-6mvOZH5#d9;nKT-*TbG zbr#8}2Fd8Giz|9r8Sry$FR%vz%ukh217Nz+v8Nh53Yj7CE3xPB+xR6OWYBao5I$CB zU8oCHW|8G7erc<36mdhI6NDDU(mSQY5~sOq5{;4+{ie<5ez6)g+M^B5g|p2T%by~r zWg#prrDC&xvBZUq$<|bAg=#rQBpzfC-4B4Wt<=wrr()qI{0sV})=~*j5@>47gY&e6 z&78k2j352svDJdCYB|RAxfxUDb=-u9Y#`M0==tJ^L~}}*AP?=hRQWj3AuOq`&M6?w zLIJyA=*?H5!~=Fn3GA95h|LST?Ktx<>9oZYgCqjerk2));FdVurjsI41?@O=dFU1# zyjU=KYHS8rPM6!mk`*!X53+eud=2t;0Jkb_?cZAeqj>Q0{jI*chhE)<>Br@{h(i3C zSyRX6ts)<2V45-Lu|Rz+z%i_$lO*|hTp>c2`!1aC$eKpTFJ_&EJpvicd?|E(6 z&b~wyun9pxJtm{ARY4IX3JgT8M`A)F)h5gD;pFD&O*f%~h3^>^sNq(sO${)V$*|%H z@H)+K!uP}qGHUcz6Ibh!{vTKPA-)C1_d!C0yA*#C!$UGX`;+EQjFnWG6i#jnm)W*A z8B9*&oOjQGCMMTu?9pjmCs9Zl#w%tKZ_|jxtO2An%CPL}Jq{?hLYM#g#~F(S4@E7j zWEXWZ$gT9s`QO9%ztBxlnDmVFNn3Yu5TdjmkZ8uFB~lc9crH*J^%Z0nY{N3TpnCbzif^1IfHEs5o>vBhfInw+Vi5kK=J_c$b_8 zGD=5>30{Q}1EgyDaDM6+QuLsq96N=57C}scpe08#)#~l&poj}Ei5}jE4sU7X>B?dn z6#~&|pc2#XnY55Gw>IN$`JW2a1I)8#9XPdpGkraGOGd($btVZpQOx0 z0G12~lKM<=pS%o4FG@spf+4Z%TxHrx`I2dUeioy$>+tQHK^qS{qHK#}kFGVhEX9Jg z=d;cf{{ST~%KA_^^Bs?R+3M^0DR7Vo$nRGz`W6jsJALtJOq`uX@!+fiE5Vwwm(0?h zx}0RN>CW_g&}i|LCFx`R_IHHb#inM={GFHDTeKd*^QjmO+|tlZi$KtkR$zvO1@zXq zi>dLiW|e8nGdAGW{tB2kN{>U*ZZ$8mHuh*znVyW~v(oYL1wr(5CuzBV;b6=lE<=#J zfn3*hNxxj?`I?$g)@R5XE>S)P6NXfAL1tUoHPCA9xE3v|C(K72szEoLA&6n@`Il&h zRSw{mz}kh-=Ydy0TH89%%K}KZ0^H*eUOuESq0CLhTOFuCEB+#j}Qau zs4tXE73;w%IS0W5i}+wewBQSq-Vn%f5(4nYyglc?x3RImuGhMw22NY)uOI~Uzy^## z=IS6NhyoNv7RH&mYp#B)00t$yV+-%OBa6DY;e3+PqWb`1 z-|P|ymnik}*JYA@%bIb*IM^r)beXS-Gf-U%1_w49)1?`oJ%X0HR*C=d5BfhPD^@w6 zJu|*!7B>-QZZ2k2dy>a)BRS>+mil7oaQ8ODK0h%L5o~^Qaxdmp>=+dn_1p}t_@trbu2-tFr>KmW|e?+h!UCGVv! zg{b)392G$02$ZP0GrvCiG^}BQMTJ~cg5~?DglS@3VIst&ZE=M%C4ir?I0+n&8PhUi z(O39!6hcp&5fqf^em>rn^r=)|&d#2jqa;fYG$fV`+BJ?y@XcNkdUn=smyn5M_ujYs zrKKy*GBqY0t)P4iSRAX=z`vE==U&4aoe--R6CV1_Th(b*1_;1vkmgza$Oj+!3B2r% zV_w~hw4q_iE9A$}*T>0(KtHho=;>+cocg2yhx6QDll|rW{pQecaPCW5+d?!OJ{?H4 z?8dV45h66>m}3t1D^B=oY1lKg7NWWF6atONJz;&sI70c=uruD$24Z}2a^+j(-k;JX z6r;tL!#y?Z7c4+TV2?zvcHO|e4pYExhCg5DvJ{c|%j=gmVZ0%yjP?L|L zT3o@bX2j@7>dvLug^mwWS-CFkGBj9Q>1heb(p8-NDjOzX`kgPR^R2xZQ)W22>8m{# zN8VhCgA=7JjfoAagRfz1C@$kUzep?}JrHnzk+nu8s>WF-bBxmD*@m+bwU;cIn1 zl*f^uU7+!RmMmqQ3&@~;d~s%fyO-djrG{Y(vv&T)LIX_Cv#>6#h{?IA>?u+pVaY-d zt>Xv;HS(qj&{aCbx4O9(BJhmHihCs?HZZ%xe*2fUoFB(ApZ$Tn7o%s$zpn*90j z`!`N4?69CaajkJtuwT6jT_>(ca>s%Looa`zWno&UVL_qX<-DiP{T$SclpX|X_}Yq8 z#m$*1O#+#ZMQ**Jc@C3mr^IuMyIha*3xcknY*Kf~w#ubFs4}XKUuch0^XT3RyL_ha zdYWH2&1Xudo#$KJ&9D6DWj?!bRAiO9W~_9qtE#Mpv?1U0`Ej9>Gvulto})cJSa&n# z9{KBL7E`eQ_f}rgcS2bD(IBTo+81M?e1kIvH#Q}V0hHe`Sx8H}H8;+IYv-biO-ppx zsFst2UXeJvB!egg+U-!Jge82$?%{pTO^ zpV;tn4k+rt8dVq{*y(=^K7~+GU+5(#scTN|8aEIv{@D`Hm2NE}73U02n>K#PW>O%` z8P-Eeb|!GKK1Zw3(Jc?sq7|#@@7O5*-dUCT+qvX3;{M>t0t)ptuH+>e-wP(aWR#V` z;%#RxLOoy1qM!m01KH04C z*3grQksCPkSRK@Og0J|crE@jP$=YLP-w_{s3@^owX|mdsu-N#Z(#rYWqDF?_(CLp< zs<1Dnf#((TXAKPsYF_xiiS7c1yQ{NA0L1|^LA`Jg2(X`hs^}Vn&b4X?r^bH)t%${z zoryixXq_8p3qO1 zMEHQ;?HDAomB%_HE;vQrgbFCoeRZ7 zBd}&#Ep-<_78lwB%d%4Fw?#P*R9uol1qHId2>!tcb%D+TsNY@)!gY!b*KcKEpjrkY zn!PDEqYUH`Ozf>(DA^_ZMU5N`HYTVbsgZSVUZY1fBi*vblW(6S{sg`VD(&}k!v!rs zzEYz%Rx?gs^#Z5(p#tXIq|sJSLlS*QiaRtvu1uMoL&qPXFbawWqKmMv29E!Q-(Y7| z^W0T+4?S2{75yJtWIU>aR;!_s@<^Wzit4&7g`_GilsiU}AHu;>W=5mNR1oV}*q4If zNv*if`VXl%C;b+NZ;%lRp_A;K%18I_q%i{7ZZ6gq4-GEGGpGrNi#7-KXe&esJsx(y z1w0k@9xTp&dlMZt4OP6*A&auzgZ-4$Pz5fKK2>y;oqr4Lp zDfJSybLZy9&5*l7y^}&>%$Y0@Wk}BCT=Qbs#8Hez-kG9)t7&lRQ3w=AL1g!j&>5p> zWM(jBXy?I-+h}411I#DsTyz|D@?I#4zw2~7rNyrLm*q-&^5L}I42b{3EBTL~4sw8b zat;_DV;#6Ot`!P3q1%iAs2KtiJ1ql?X4JjiEvdr>S69J1HSHXE1@PYKlw<{HXFr2o z&~4Aoxf&lF-n)QsRRS(mn4ubjf}mPEmQkA^gyB@Qp<$x>2ErXS9@dU@Hm{Xi-=7k;jYFeP^nYkA`*ON#*C`{I)cii^P6z|-sPi-Cnh+l!K!4A zAzq?>%Cf(*ky+HrN~-!h`ljE_nC8xf|2x|9GQSS>rTb-^E4Rt7sySt=PlslwbX&J{mg$eXDhcst9hu|U_{>5~H@1P@%g zjbzeZUXxDYX1 z+E24Bvm#bAPIOLf?Q>R>CFV?E`MuX201_DoH=>33U4ACGzTYvMEsjT(xYApeGckjR z3oxlvD9o!;Du|s|U7PSHrE{=c?ZBgmX^jV94%#3LMmANV<@)=z?sn!asS`XfU;X-lAM|qH?2X&$8AVtf(QJ5NoWOzra)ZOiU zoRw+4cTi=f0UqoHismNQXW;y=BVkb@@|S|34tIO2hWt`4G{`#C0H+?Ob9`m&N>*-? zKox4S&6?;Ll`rcwhA@QAsNGDcK=MUSe|NVsB))HjgR=66swHR1*rZ;U)lz;M|J6EY zj{m*JuEMQnzBi#F1%^S`_L&R9GD3@&Rt`wVx+9s6_1ffL-1I$#p$bGyTMxaN74E9V z><#$#M~P=@wG_z#AwFD$x)f-rVS^&UiX|QyiGrqgJ0$-xZ~W8jjQk67z&W6*%05_@ zT2d?Zm*E`YSS2~!`gNpN=0_X7xXF44vD-IgQCoXI0x%Oko<8To>*3tX%v5Fum}si~ zAR8WasOjxBEQ$Wb-JY-9<95&(S&$~ok|AUGV;a*b8K3sAU(5IfLRLP@s=#9>9)OX3 zPe|V!esTiurim9M2*DlfYL+KB)Z3T@wt1uG){jC_S9{)y={X<4oF4Q=X|fMkR??y` z81Rtw<6`}EL9B7upt%3jhnExeb%YcsOMeO|%Jw;?@ws2(k(DP30EemUKfd&0MX~ul zNrE$;!DIN#$*ZzagAPHB{ARrhxu~KdI7`5f6RNUEF(W*gk*q&~iVvI^&7-QVJtle} zL)uP+MHg$juy_SI`RC6bSX**|uTB_)8=qn2Z+r*Fb=izp!}G_XLUO*8;|v7H!}(l$ z@otVdxQmt}h>8NqTtMe>SWmfL6r+OB*G7XAU;#^}Dk6HXy45A`<@2YtCf6p58Chc| z8W%4mxo}{Q6h&*u;1KHonBH34$7^X^Idg{v18pZK-#7Ns&K<#)T-c#cs;~3O*#sdW z$+Al4MAo!CZ`<2)dY*6fV!pHwt+hgC1#jo;DM2GF*>h90@);;FFgWnjB|;eNvsvep z?NXC=#os*lF!vlx%$Q6NR0AkYwr z4mCPC+hmSi{c;;CUOwmd)F_^@=II-|{`!Q$5k`xHZ*Mf5vGS1TkiL39uY&${a*g2W zjcQw`jIO!3hBsogYqN9UZkA+L*oN=2$MD5@ofJbYG(Q<60^AgF@9VUtTy8@t$SEAQ z0XUcX0%WY!qF>yg%oWL?RG(=HInY6h?zaY{9D*p)8NkXc4`?VNBVR#*|9o`opQ%_W@tnWe&H59~}q7 zC+~|pv2uLV*p{TN>mhLD6ah#Jd@Q`PVRPEX--oR~8ZfMJT~Z&Fdfd;b?h<-f?LP*e zT4Q61#U^8+z`zDe+ganQyg6PUYPi~3RnLPgJaqiSr2;*}h49w5Yc>XkGN-kMn}ig@ z;MeCkuy0f^S_XHm$B5x4MUmI<*gp4GsHc7N3jJq7mpD{#VA}DVJe&1r!l2^!rv<6O zG3L&}Xzbrt{W`K=Ibi*S9yjyBS$z*c5)cA;erAXrv}hnv8wZ5@>d-uPOtNboPKp%(zbIJt6@eVzr@mv@8J zi~HdY9@96Cm|{8~#o@g)hK=p*B+Sj(U2tfd8jI^K3|U^j$o2LHi`&D*DsxxZuwbK(rWQUiIl)D!nmu3o0+>Z zzBfO&4qAG(Fg2E-nKN-Gr;qfID}Rkn4Q~~g?e2arIyY4RiF?;!Zvt-9+}gDr6g7BU zvttTLf|{{>1Mb^vW&-~-9A*Dht{>&RoXvFCzjq@;Q*CilqKr?}gcSuQZLuSZU*4$K z^r1w34kAnhUYH4;RY9&(fIr>;CSK?Ts7nQ`>w)CuZBpy(Jv}E?6$|_DA(If2rd^?O z;c3T5S&S*po-?>#f0Oa+->5DjjHa=1hcrLguQ}nTjAl%2-LGu?^d3nu)C!PQlNBeN-wGMlO`itup9c`gwV4pEI7r3kqcD`G%m7#z6{A z?*Dohr**UI#hvZ-nA@>^Y_ng--~(~k;h=|BsnN44geQE<3r-&kNohW zj!h*!kG5hz$kB@?Uy7eD*I=4B!zK+C8R%yO^UI!y7ofOjzmgV`v}*~QcD9@t6|occ zKm?@i%u>5`>O6$vb7n z^;6-t{&XvMa@c&;c}q7Lohl)9p+nwoNy16m!Kz0QqX_(LDsJMK*L-hS-{Z(e z|0Vd7kPOH++Qa$=`y{=mBDbJkB1fd^hEos zHfDa}M4w?cLwR*DHV6B^4pDI{SPLY)HgU=RWMSzNlvfrm1=RC-VV!7?w{ZoKV<0RB zGb!sq7{VN;J2pXsrDK-0ExA7+0}zdzsf{=q+z~2=Bwnv=!u~BT`qyOR=!|`6r5e|5 zi<_chYUV}h@RmO!0R8lA zeDNlj>3?npFO;H`Qwp|1va3?~?hB+5AWI{?e2HYK;p8hhz)3QdbY^-UcY6F|mJMOR zt+_d>1{As=(GX?oaU-yw{dkChn`f*_68Hpxb8?r3+B2YLe-f(zhE%%Gjdzn2P~GeK z7=%8)1#@$}zKn?d3b5?2pXzvyxCtDx7$b-?vePWKh_qMz{5hsHamLGzuI+hpm5z_& zA-QBD$$Wx%CLuXMt;3$udT0esLWNKdy;DCc>g3?A5=Dsh=ylwPi;9c4rutYw*rUa2 zO%#~kLW@0{N`V@2@=z;C_3yeA`V;aN6=xTYo(2*=&i{xQe2xO8JGr^83U6|KzGi0r zn&FCCLs-nTPqjMJgSEuzY;xq$sdT5`n~sfqm_ssd$jNlSRQr!Ix`~MF2Ez*wnw=nb z5CM1cDnM9IE`rHbIY1lHkdBcnzREJCXu}n>IldBUC4sA&fAE3x0P6h-o6my zfpMy)>+8A}U>+26O6OTn*mWA`cF8R@G;EnSb6$&5nB5Ah@%U&hJOW=k`jrrl5{3h1 zcVMi1#yY^#Sl~+jAZohC_=@)-ldow%U4E;WGHgHzd`dMLaB5c0M%mLl_t;IRYb~eR zWaX|qH2%V|`#X8@hF0-d((^lS>`M z$Pb~IHE&dMT3SS#g(^{#Jh=dd_&3z*cGsoR~jHT2jDFhXp0P-Ra?$3}4_(Gd13vNf1B<<~>_+*X{4nTATp+ z)y*7U60?a=o}KPveAf{6lo(Now1R?Vj?frm2~h5X%xAI;nP_RG!M)T>aJo#80JrO{ zwip?KoLrd`bt`;|0oRRW6#v#v7MNsyyQLe=WQX0##m0d+ZL@k<7c?utIAlIq9G%ns zdOP}ER?@e9W%Aq8*1#Hm7CUm!3Qy`;8E*FxEHYo~6fK%qxfVnA&II63)p zl%qMKH-O>xLmvhD<2j&*I})V1MVB!dj&*_4Em3mqhKYA&NqoazAeIu z&sPBwA#C-jpqY<5*MD46SGJ4_Pgm7o3ICKQL9zS{NhKfxp}K8N^w%(Qe0g7nJM@) zH87P4!Iw;%={h~b?sM*;Pq*R4i5a(O>D*RtlVe;I+gd)2TExNRy#=Wd6#bM-!uinX z8JVb`7!2k%m6o4_$+r(V2LN~E*O*P~)*gru@%6ic`h&aq16@t;!V0FR%;CHPv8bu& zAGk=~!f}LYKC_>SeAZhaat>rzCt|SLZYX26Ga6=|=wSHCZ`}*PSqw(lEAzfHoQlN5b$}e9QAZ9nMLcQ$>jl>f zz|!m_8j6`8H-&;`(^CGeU;z2=YW%k~pHcjKg6%Dm9{#^q`kyj|CddI5pdN_m&KzEk zr8k&?O=up9mna$+ADOmS+Jj%>*DoDa-D(-#3>-f{MBL@}nx^zUx&?_q*Fh9^78c^9 zMlp*+=a*U~Xb6R+=C7k!kMBzYXpgex&hPI<%CujqG z{Qfqf>o;++yH@~zrD$p@5KCO$@3x@FTgqo^b%HxS6;#?pk0b@-m$Gw(X{Sq;PZdyu zb@BUwo#nR?-?qghL^?5hBBlwgYY6ge#})LX$n((*SaO}F5}8$2(!U?(2aJtnxvER? zzenD6CLkq57abTF*dC(e0eg^PCWIe;q9?EUziT>pNc~^@e2&#MBReiuo8dP8jMvp@RWxmdDx2H{J&5zyv({jf#^I4x<9Tenc2Yx6 zQuUb%=ips>Zr-&FfGF_x3Tc+8^cp^CWo8qyK2>Wlh8!-P-H8{*BeCm0(mUN2C{+*) zDs+gr#tul^NWDwb;fhQE%&GzrGW(!Ikw9}C2$ZuN!KG#@!!$upU)jAdfZO+7TlbWo zKLjbjQUn&A)vrMjZl$7Q@+PjdLu1zFchX}tEFd|d{E!XNWz*Nxw@0JwmUy*8xT+)L zew~qbQ^k1;VoS55s%|zRxr!<%4Z=LKf-~y?F2DQdjRhE`j#mkT7l3ryUNw>tl@rn2 z-XGwJ+r`0s`KUNJ^y$jO`UmtRiN5b*^9g-b^RbT;Np-1Bh#rHKwKZgm*HZ%ig+~Z# zlC?Eh7fe8Vo+~c#87sSVKxr0K)`IY@*@|BOJJt0JDg=o+!f#X}Gspa{V>FHQNI?4V z6eIEokT~Ncf`V$aozSTOEF(w-AOai2zrQewg|7j4 z#frLcDi{ePsJL2MQ#W^vTCg_R{rg+~_5HYr0b+0j#}keaW8gduRh@LkU}ZZyA$odQ zI6g)h8L4RWtd=!{COsBc_XjGP52z&iZIe==NN}>4Vip#(FvMjedt#cJWVWbut}XDM zdZfMm(x`it1U2gZ8MrJfGRQkK5Va?J;kDL66_Gv<~6T&d#!GbnKcA^V~e& znlBJ?KSq=@GL)%mrG}9S-QZ(l!S!D6;xZ&W!c5wuog>l%VM#qV1r{4@MAXz1FHa2H zpewn3M!68+R2q?l<7`H2dj`r9QnD!b{n=Fg_^St;yZty)>fLId07@~ zxQuR?{IaXHx7^b@w<*}@fj^!AF>;8N=%VsdtBcWK0gmo5u=kCdc)_W23%Tat z)P{qkn;Y}}xj=MP6)6UngpHJ{F{xY%4i$y)_{BV01h4z?XOv&Qx9mE)%UgHfFmOuy z`W1<43JL&(G4JV$C(tnRZGZL+jX5$BvVTM?>w6R$j-K9hA2}i#*Gf|0p-v{fA5LNA zp}AHT-<{sCh)7)9E!uM5-W{o`uLXk_-B-|$g~-w5Bu5Bo8_=CcuynXKOlr-HBYwp} z85~o@fiSszijPMZDza;lQ5)V1k0flJhdH)%vB3j>1Z6aakGcwzxb10i*9ToKz24awW%6^2f@2b~wf{%ugOJP(X zK;O`$XEz)*IqKOm^6Mcd-;}9qWXFKjm&uSnSvw!t^4AUnr=%BX;V;i5u#vHl?K zBOAvXk9Ji4kNd{v2FV1><`-ZYg2sh`2wH<{8{7Ee7q5%0-k)Xm-*>W3Nwi5+7d9KK zUbsT}?!7JVCx%d)wAoi$N6f!#2f*MRC zIW-+gUDh6XKYwD3$h(AHJ1n`QPqn}^v5p~?#Ts!Wc!o<_peT~WKl%)gD@rJ%HCqWx zEiJ_bLz94cpb$qhS43(cE!~9oMH|$oPgiXC(SOC5!mGb@vD=P{Y_2wg46$M}dq_b3 z4=XvM#Zj1fdk!LxzOEh*+j&R}TW}&i@c!P2+0 z1v2Y;P%_9x8NO`uz5JQ*AJBDZqavp4xb4eG$l_c!)(xzmHQO5f6ljB~Wnp2lc~nd) zrr}yw7t%$Zi{=7yG4L4uh~PU|^4!3h2(i2F{wmV@ZzskRaiv zr%-_Yf~L&mXP{6w==&A&M#e}5P#G_aUiE`gk69vIJhJiqn%nPfxO}@svFqc8&t`ek z{gch+^&{xJe6YZ~2kAFVfnU!H5s$&Vzi)Tw60(xd8>4>6UM<`Bclvic@sEr6qkv=RQXtADeS=d2IiTdVS#k3w0J|XvA6uR=slZBx={m?!G>FxKoO-Lcx5qqBHK|$M_{2^r05u z#cwgar1}GS1FHd%!jHE0=FJ*PSa2%lr#aTss69pndhr(%H+$+TJ<_lW&lq$uo};W& zXkYhCNI}HEk5Z?$m{HRQfWLqUV^I=Z*S}x2%pGVgfNyLLK+vai3zlC&m|8}bA|+%n%D^M!&%K!>CLY;TE;n-uE*K7;CX=z}oJMnCg@mLZgD;wm(6@6g$VI1cT&BPG;M z+2WX3W7bU1pVQDR!K?n!-x^OEobzZ>=Sa4*KLW3&utm2|G_Qj(uS5Cp0g9y;>kF@A zrsO#$)=5$|``@vh#)@htR0|LJm} z;|*!z<?2b0XFhGdsiC>0aa!Fa9Ziv;AM zX!2jwXD>$xtRZ=1hqT0;=4reqr(*W2DzcDXDXp@TvUk4@=hv3x&JS zqvm~k>TGzc2Y9_c-CQQ7_`zqa1^oD-A^3DSV`*s_3eIg^IR99l(zEBDUt0PFKAY^@ zF43eVmpIe^BkL`r;@Y-t;Q$phSYg54g9LYXw-7v7a1ZWY5Zv88cyRaN?j9_-yT6rv zzWeSz@B2riwQ2=bbFMMEj6R-+zq}B2JY3`Z`$$WZGOjtc+ik4-{DyZvTA-h^T$29X zvi@AZ;M8T)uu;*{PU&w93sl)8B%37dkd(Msqdo-$#v~l%2nNI5H(+^H!FuauhPk|! z)0cEK`Nviw0vI588&HT5V|#PV9(XE~U? zG%P03!5#VFloOeox1;0w&0HCyzg7w6Eq1Le?Avb<*dG;VIF239Pf>4x0c3PpSqJC} z+?x~is|T{*>VctKs`h>r<+kFgs?;;2GQDDwhzeLmc)icUVvVrq=s6;RnF$}AIZ^dm zs8aiCUR~vqp%Kt2yl*xl2(9n7`mLj-DQIMnMfD76KA@mRa=cewHy3yIhfS*-mQWC( zxl%_>eN=>FMxhpuoXU}*75U_S>kd}t?ttwHDT_Rt6_!@FRgTe*RjNoS!-iQ!%H-#HtV7=Y^eYxeoXN&ync#Sv zxuBz$d_=?&xZC^px@la2_Ei4Z-A|aqs?<7K3p_H~eDKw~DxyXGcW+4!be5@#@Kk57 zf`3qaCN$F!YtzOf8Ep50v}@L0^?$_PM}uj=gCl#|uE8z#5r zVD}C)6ZKcI`zU7uKNZUU2X-tn~>TS8ndOIKl!{6Twlv~OUI?Bdg&3X zsKlLJsYW4^;y;JSiqTYB`>{!Li;lHI=M zyd2SZF%%Z`rn#nuS05`T2Ho|k`Vks2TN-|PZZ2SA0!>WfLHtV??V=S*t;L_+ z;a+riA8!{^A??>DetNwS-lk*9(H}7lD1ZT+Tk2*y>BF=j7C$j$R@r5kP$S&)OzNnyw2ov zuig6c@FfubzTI{$2w2~R=y2bufbuHnTUgXWTx~xoQdKs8Xg}^_C1GTQq+ao%FK*oj zZE})_RPX4N6A{OJiCd^#eZy4H3vW1)3El7y@5x=EhEYY+AH)>^Rf;La&r6<6gR2uK zHGpXFHTT0Wt|#}OqZ1OSpsg~!ZoXpT>~19_W%)_uVUz6*4Y_Z?GQ>$MYc7&3eUF$V zqoM+1m+G##==>Z!o$)N3S+*5(oRKQ>9$H^qgb=nwZ645bl2C}T7a~^TFsGHnBTehi z_xA%mA_J(8Qar9hk=wHtyt?YHW51aC@%S#NUqEB|V1wnRJDVOl-+|PbY1YwSr^MV_ zHp!Trg+(X6=#i;yjly|6`#Mg=!<5PSSRi;LoC00Ughl)LnPE)C`$TGfU#L~%4gX|{ zqcd^Qp|V6g*dYaUN^sO$s+|^tSN;o!qrgzpB(U*D>EI*Jd1?8m>#GJQBU415=)5VC z%R@6!|9g8Dgs{AxZBhU24bcAF{K-Xb&z}F{Mu%hpX32R{PG_`Ve?*QEh4%?d(}XRd zTb{V?bWrTKx_1=*M5|+G?!}QqW7D^-2tN@kra<+Ais|K|v1P5XBXvZ-)QwLp4@_YTDMg z8|5Jw0NSJcH0`UAoU2)5lyBE)Qsw7XJfwdsY3!z0n)eUokP?<@j9+Z* zI&b7p`WYWYIO$?osY81MEo)p?@}gqE8x`Ee3F?qyC>2xXSScW>TWaTBRFW7ec*B@F zK{_XT7!EY~(yCGt{(|b9w#sBo{4^#lA9@;?N01GxM$Xoc$Q@cL`A4}#4G7bzS~}|V z9pFLxGWjJ7hbRe2V0-}10h}BoN{ny_9Xey;(O#(CF=!~NsR`ro6Rf;5A>Y8mI1Y3x z+#0BD%g>1Dj#5$sKohab?-iui|oRG?WQc>zC9Hcl7uzENC;t?i}ah6Mzl+{Y&vn z1io!6-WT8<(L+SNbnAYoZC4f-V||^T#@MJ@6jz$mx3E6`)&HnKLeGk@xJVlk4o@KT z?d*)Ux~Dg|P8JP^^Ws77mavEp|GcD>3H~5_`C>y@$Njw5|4=A_kY5kEZ7no0V|sv_@QSjWQhgj^UrHCr>82&`W)tWC)ay}1z6Fu=mYAI+RFkF0u%HqYQVwF!M1hUX7V|>G3Fj*{0tc324 zT($^gM6WZPH}Z@qVsC^I8Sp))-ZK%oo`M`w)+882PJUB zQSVMaf9ZDz3%zbbiYrQbk~*H=0Qqkxja%wKW+TJi$w606Pro7)i~xMY)-Yomyw6>a z_T9N`N1zTPPQ}P@QW6kvBVx-;&cPwmh`MgS>t$wc-oKM%+pDU`k4Voggo+^~_;kkk zWC@Fq?bQwiRg38aq&^Mtrx~!No{daLZRUo}ZL~jjgaHcf)|_@lzt^pgIOr}uXIgJOwvg=Y){rghA%eGNZbeTts5h9r>62KY0idh=W8q+Dd_yP-wDBh zi1ofc+!B>(X@-nk_4-m{aWljXq#YDEvGM7!7Q~&NP14oYJ8h+wa)i_Pl*xY2tgyNI zL?|k^A+x~m+x6!&Q6B`_l2tT#P8@7?dyN}}RLjVs^CWGv!eG7HP07p7PV}*P`qp{0 zd{qQ3H5LAoROp(lRz5>dR7ZFu1yrGHEf6Mw-6D3 zwhWmk0l_ChED^J(0PTxv4kqv_RfC;WA!be@DWwclikg4hC-*0N7yKg>)Yda$su=jB z{ZjSbjUg=i+_eWHxB-S#u?33cHLoA2uPqHQ97SK0jvd{CR9`+6a7T>cx(g$p{*;m=oLd0Z0g0BB69XXqh{F&Sw_tv5hM({PnkY3Wu~40Xzkxm z*RsEiDWR^6W9`g|5}$H+tIZwTy9lO76|Z^tiDu^Nvzfu+dfM zmol!m?nk$3)yJJV_`O0$-D6*WIk!)_SM^~HwXbFra%c)Ir~d&eLhCzxfgF6cXaY+* zpEm)j*Q32Fzn%|tUTG1))7Ux?6NgCz8*gA z`C##M*Oydn)UOASC!27JHoxkvi67ri91cP~K)Aef34oXyT*f3MQ~_5ef#>~FWj*!K zN}sKd3s%k@LYmN?_rqEJt1ey&TvD$W9o}$tGC{8Z-=iFz6>tJ53X+mSG8M1tz+&V} z@4vKiH`3f@5Kj9k&gUp{U+nfN%scX!->9~&5lMOvlwgdlvuPjz_o^1N^=1h_w`1n@ z%hQwOgax^hvNFU>_r0UCRwwUE*z(*QquP93PD8_&Mp;xvfX5Iin%-IHRDuS+$qrtvac6y~lytZ7oXEBIF7iClE0FR`FI3H4-s|=1V8kHFyw`!6 zG8CEkdX@c6e_0yLX4+qzts-?cqRqbG&2H0>I_iVtc<<)KY7RBG=lMRo5+>rDb71NP6Up!~kz-(q

    yt^q(oU5nC9Z-9AW*e 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 z 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]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

    UbhuzXp3dOxpid%u=?(R^axCbi*io3gO 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%0DRb}QKgBBG4jm=UgHUhScy`%5{ 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

    FZZfVef<8pD0yB0xLPql-Bt$a(8Wf~I&X^tS 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≀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¨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 z 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

    `Y7~byDTsT=Qy^dNb2iQ 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⋙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�VGczTcNM= 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 J{@Gi1{}+m0B}M=M diff --git a/filebeat/docs/images/filebeat-salesforce-logout-dashboard.png b/filebeat/docs/images/filebeat-salesforce-logout-dashboard.png index f65b29be018101d281f0de97b1c2ed2c7b29a8dc..aeff9a04ee492f66e97f901edf19882f48dbbe9d 100644 GIT binary patch literal 1390003 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

    (&H9;ByCfmK>z5_H#gh1NJI|+fR+Of>A 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

    m6X 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

    Hm+Y}Vy=dR-TX-d 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ⓈX`i@c}*ES&g>Rfx#sn?8x0#{x7jHgti00t7>uU}iZ) zb`-={fj_92c~*0zFEJ4Uu^En*lmar@C8+>8z%f^=yi&amnP@bHWr8Q^LBgjD)$$o- zeRfeZb}!0jbEHk(wT-PKR8?`BTiJ`tttOBj%VYK7fEOdPq*`j0;>_a6UJ6?XR8h2~ zGNCQ==dG_c=TB$S0pE5G`aQQdcNK+MtV43}kG}jA;vOk|YFM3hVJe(SVwk+8vDn$D z|25HV0W1|K@zO6ix=2~${$Xu_SR25XW&1%+X>w`(?(+1U2~-qqNe^PnJJQOi`ZcAj zAlzDE`?z{f3&x=#vZ{U@SKFCU>UEVc0Rd}3`aZmbR1uPx{I8bE5WmNC8zG>)bBCd! z3p{<^rT9GGiB#27bn?UwJ1z=xyCbLK)NOTZwkaAP|B(>H_5IBjx3Yql&uS<8p7-be zEf6j6xEYLKC-q-;2ZKE?-t;c7YI@uVp6z=m3%Y`#QA7_1z1SAz!j~n?2lB^lJU7~9 z6LIxI7rH-5FDskC%pC8a#t3o+)UZ7U@eREi|C@r;n}=;du<3h21ZrNKO3!NucyZo%}*wmLo}f@^l=AR|ZfHTD&+@nE*Pr6qyJ< z=}20Y#ipN!K)w+^;?;dwb|k*WlrOLSBzAyi2_2r`T&kR*U8G^x&a% zfpijat|sp8>RBr8?s@g)AnLf>iDPFwJ7f-9%}-l5u4A2;m_+mj-2}+Uw^nB{adA5v zZP%?%d$4P3YqiZb$QgKAs{6JkpL{Gt+ExuCQmG*4Qk61r zATGb4iRz<-_d`XtE$xBor9SCC7K-uje3#diY7RX&{z-l8@f96~a{s7GhqIvLS#&6F zMkMH8o3oH%2I9$-^A)R~_`9(mSwi-Kso9@ zUesf&aq>s07eA|~xBg)I_TD;@-x}NHzzBX4sFrQhsp+>Q+#3h>G>x};mSO8~R5fC) zVBH=X_CO~|fJ@8(Qea`m@(8@j6q2;|a`C`qlQCrh z?H`D)dwxo{wCp2r{X9w%-u7jCKOg4;3KD&bu)ay+OqVaSOZaJX;&Pw10u@U^lLZS> z+a@jZ63<4}yeh2*ZeCE$kP8P^deH3aIF;88X479(TV1VYopci{A(HAhr0vhhN-9HC zou0Q%fGh#47`Li~K*r%=sy=>qAJ&-4jErthi>xotuB z-4;xIIV^JI_Ku!VV9=kIaRu)~G%T;%_xrioyvb~#ixcBuMu4)utU}t8uan1SG0ar) zuYa>w)en)kWgm$EOMvbz+58>*O~Bsm)b{ZQw5dbCynZ*QPR_cPmS(kTCWdAY*aEaQ2~nOTh=}Pii0}KiLs|6Wue9&QK!P( z0!KV1GmpIMA^IRrk>$;R#26)HyPKB8#=$0jDkdRb!7-kW$LY|@v1aG#*86Xb%YnW4 z!S}aQ2Y;0JH{va9@UFUQzlW)ocW%hd`I71FKse$^|GTmAX>tMtO5c=n5r@@Icmbb( z5|WI$Ssu$%gb#Dr?-(}AQ$0Si3e(#j{P$jb_w%_7UtTZB&j&SnUa&7b`P>QKD&_uz z6TMeJf;0X&g>O$Sn9pV5Oqo?6uwjdYKM{%zEjJQX&c}-&oTdu$(Q~JP1^Ytt)QS9P zVhny}pe}){eIR>^8-Zfwc+xtIkze`42~B zq6#^Rtt|*!)Sw+{F$*0}O(Rd{gHOp*>{g=pqnX0uLJfV$ zQ~fitr=FGw*Jah~y5Z~`-HUAvGy(t(y|KNn3TKU$oQ$bBrwiD&#uFRyjp^Hm5?2)s z1wwTO8>+j1SF|LrXT9a$F+vPTd!{i2q93)tz|63TOGP?!OqiJBIdXf_mjnK3GMYDA z6OR<=R9WrUvCFwuxN>PX>9w7DsAG$e5JHLbMN5^Pe+UN62hp>ut5IP*KIr7b)P9}^ zi~X(FaaES~m6Olgc!c-Hrj`VHdS{5f@US8eqtlyx?bVo?TTQ|ZH4P0eX=xeaes-7< zd5xx#ER>w&=RMl_5SDhe+C9no60WE&T$9hV@Q=5$SKHL~P%7ZJ0u!-422c>8R1y_(?%|{4-}did-vq)vih2O9(i!}UDSQLGSdXC z2JV$q?=JoRTlJUXy7CzH;_(F-+IJct7kKN-LFUqaXi8U-0>OZmDHW0M10#|@o1}n< z|HmBToN&Nq&pQPF#Xb|IDtIxd#}4n-Q^|uxaB%QSvx&pYIkE5i76_x*|A3r$xT2t_bGA9h76b-w?L zmJJC35rTe&&s;HzVQ)JfslS{k2rxapg-(>GEL{8`;sXxNX^jq%nF}%OW|! z874@C%Ehves_Mr|8I`28>k4$CN?9Pyb2Tx@R&#L%bK=0+=p+iSo1`ULB9DDfrd8T= z4Cz`HmU!QS_75Hp0mY%bZ0oE{IWhY{EdnAG2^r3$ZWS{{=|`1j4K(G-@ubMIHVMXH znt`u}fim)`_K(f-SwA7uzbvVD^FVPvpBVeZP5uw}g1WHaIXed*U!aJ@G{R1{!+Hb! zvJY%%Y>bXA0VEwN(oS1$S7+LObdu8!>t;#2$Oa@#FZ)@&m3QIKVsD*LhbnTaxu-8e3e%Wn`( zuTxTBlaiB1bZbaB$BkhC^$BV7k7-p|A7!t6 zoH$dtFf}NT^45aXK{h6VUuToMM&A}IMH@I{@DMC8)Y5bP8-_8P-wVUd?K;8Y?a<+! z$p7}B2H~;U_IFV3+wn6L^Xc}_e$U-k;;2-CZ>Ojkc=+hR8By`KvD9~CAwn}VGfM{t znGu=h_d_~=cz+TIGK=>fgLiS=?5AacSE-j@*!Ps_ zk@2j5;3ksh-EJ1&5oMsbKDuqHm%QnhEc&+zXph+1qA~-bU?97eamv0E@qR;#jdfdT zvtyv89fLV8E-qG5-i0N+(OY2aQF5Tx^?%q~uCrYwJ6%~bOE=Hv^MlFcaAmx(@N@+^ zbgstg@h+P@&b^>E$9h*&a5C-)W@io;;I+|f7yS6s7WRW#$}D7EQRmAXo$z&J?aM+q zKTdex`Mt?~mB-NN$orLl&fwSkjnMn9cPRpHU)7O&3I7K#-;=~1s+Vt1H@JKk+vI)c z;N_b5-S;(H^1Ki%2d_f{{Luoh4NR0Pk88_4flS||C{zU=a^NmbIeUm&UiWfeFqj6{ zE_O=zLv$Q|7x-^8|4&C6m>P5ePzV`!Q5>5>xqe4!f#c#Lkf*QNskJDR^afk!D7oRa z;lWl(;;i}zwJ=Z~*u5qC_JfMx3SFa+gaR$UDI`lV|4nv#KLdinHD>;^>vz!zDj3VU z0<0goxR5+Y%VkEG8BGzH;MqbXOf+0dWNH!Fc%NR0k39;J;c}4kbi;@y4iTR>!PI6l zgxuGgsX$gSd~HUr!1fu5${e|BSv%s)i{0Z{M6l00yY|<>hdh#p66iZIy5ObR+IFxX zGzM-J(A2CY%`VsGxS4Eku_(X)P)j5^rcWQc(mi=MiX4-Zn4ucsMX2}ham{bRr8-)X z@>$rTHec9HdF5ZfV(Dcr0biINSC4Rr&N<*0akRD4sRk1QDvQO$nrMr{+7vL~Zk;>W z<=2mcLx2vPy2)L-)@Wq7WxsxPGM& zM1+Tj4Lk;qAA|qO-F3Bw_LKNutDVc{lhC;fW#-<0w)4iLJ`+Fm+B$9*cy9}wtV0Zm zSgGdXyC_n9ul(>D`~g#p=kU z8#%=W@TFZ`NL`70Lcr{NiX!*&ym&`a(YH1K3;Mf%@^}R9R(WCWx;fjm_3{KgaL=p~ zT(gFocValJ3wL_D-;oO?$-r$R(b((*q5BB+q+;8RU_YNwVzuqnQP~wGdLgBA!wt7n z0u3d4UgV4H2ADgYSD*vs8Tg&Ky^KllGd}d(FMWN8RqzM(+>8^)zP}Q`r<5YS1{1#l zdv4RWu(}PptTFlDAGZdF-^W?|wiu#yE~YYTf>g6VgRO0E|9al=`R||oNmh~~7Pj7h z`R}s6-+Js8yv4sCBYM90#e=Ki7lKaupz(P21hAB62;7H(B$u4o@_z;q$itB-!G)QN z2D#YbhCgczdN#4}Gq5Y~u1WXEAQNB12$2o2IV254gys$m#yYuv{t$KLyo?_z9<0h+ zja_#mD@>spU3tc(0hW-pc)6Xu~qXElk$q5l*_orwa(IC=DC4@)AG=kG^&tAi)rj7?g+}5?o zhFold%k2<>qw;S+w0$l8hvhs9bw+wR1upOZya3*6rdeh|>Gxj?cD`~>83_lM*W;eN zt*)839GNuVjrDL^%eH-0%lo2b4BAS(u^lM25~({V>i@fAc#2UyHH3Y=vJ9WSyDP41 zqWvtTe-F15f`&9j`Ta^h9%|F@#OvP#LHukQkFO6y{8t%FPHr=CUeVmya0t3dRLR(Y z6rTZn2jbxABMB9gD%9UmZ|FjlDhL1(F7F#Yumi_x<~rcuVXiP{t^RS_){ANK07ztkw8IB0|xEtTvztF zhUTIm2?>Vy^Xx+wglx~QMv)OCS62kOHEmb4pHjGdeAwb%Vz}mD4`ga;zJsBxql>LA zLd#ZrdX>~4e5$Y%D&_4t%E?LvB(bK}*jars7Z+$1f5v}ChNDZ~;i>h| zuhRN(7gS9uQ)XF*sa}#B)k|6kYzvM?aoJCqe|GO4}aR2xCbHuZU==WPO zzQeoCmH9 zFi48bOyKRI!1J_DVy4-*t&0(A3GYAEQ_&EJ>a`kibJ}1G2=sqgGcZ|S(oxNP>2c7< zK*>jkZyy-lsjI#T>NC~d?HWtY`*RJhyM>a{1|la(1gRBx_DQJ=&yP!7ccn8z=+9M& zOHR`j{IP!jrUvy=UO7AGPv>|&ndD8$O(}S(tUe4acbAvXM?lE+O4GY|`y?&ombqkQ zNn)e|XLc2oBE`u>WH5`#ndwM{j=(R20T;o MV-P1+bZh}ib`ceNk7q!sBLACOO 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 z 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%0A5hhKIafkPc5P6(rCA0%iAYpdQ(k$x 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

    $j-rOSGQ~;75juy<-9#Vh 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

    vGqv{yyq074_-(c5&S7j1X5tTD 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 literal 0 HcmV?d00001 diff --git a/filebeat/docs/modules/salesforce.asciidoc b/filebeat/docs/modules/salesforce.asciidoc index 5805a58c4e1..f89ceff6b77 100644 --- a/filebeat/docs/modules/salesforce.asciidoc +++ b/filebeat/docs/modules/salesforce.asciidoc @@ -533,6 +533,8 @@ image::./images/filebeat-salesforce-login-dashboard.png[] image::./images/filebeat-salesforce-logout-dashboard.png[] +image::./images/filebeat-salesforce-setupaudittrail-dashboard.png[] + Access these dashboards in Kibana by going to Management -> Kibana -> Dashboards and searching for "Salesforce". [float] diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index cbdd61ebbc9..4f0f0e147fb 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -526,6 +526,8 @@ image::./images/filebeat-salesforce-login-dashboard.png[] image::./images/filebeat-salesforce-logout-dashboard.png[] +image::./images/filebeat-salesforce-setupaudittrail-dashboard.png[] + Access these dashboards in Kibana by going to Management -> Kibana -> Dashboards and searching for "Salesforce". [float] From df0bfad693bac28548bb81bf2134114e0cf47995 Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 15 Apr 2024 01:09:32 +0530 Subject: [PATCH 168/172] Update doc --- filebeat/docs/modules/salesforce.asciidoc | 8 -------- x-pack/filebeat/module/salesforce/_meta/docs.asciidoc | 8 -------- 2 files changed, 16 deletions(-) diff --git a/filebeat/docs/modules/salesforce.asciidoc b/filebeat/docs/modules/salesforce.asciidoc index f89ceff6b77..01b6dcf9122 100644 --- a/filebeat/docs/modules/salesforce.asciidoc +++ b/filebeat/docs/modules/salesforce.asciidoc @@ -103,8 +103,6 @@ Example config: var.real_time_interval: 5m ---- -include::../include/var-paths.asciidoc[] - *`var.initial_interval`*:: The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). @@ -223,8 +221,6 @@ Example config: var.real_time_interval: 5m ---- -include::../include/var-paths.asciidoc[] - *`var.initial_interval`*:: The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). @@ -339,8 +335,6 @@ Example config: var.real_time_interval: 5m ---- -include::../include/var-paths.asciidoc[] - *`var.initial_interval`*:: The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). @@ -445,8 +439,6 @@ Example config: var.log_file_interval: Hourly ---- -include::../include/var-paths.asciidoc[] - *`var.initial_interval`*:: The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index 4f0f0e147fb..59351525200 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -96,8 +96,6 @@ Example config: var.real_time_interval: 5m ---- -include::../include/var-paths.asciidoc[] - *`var.initial_interval`*:: The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). @@ -216,8 +214,6 @@ Example config: var.real_time_interval: 5m ---- -include::../include/var-paths.asciidoc[] - *`var.initial_interval`*:: The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). @@ -332,8 +328,6 @@ Example config: var.real_time_interval: 5m ---- -include::../include/var-paths.asciidoc[] - *`var.initial_interval`*:: The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). @@ -438,8 +432,6 @@ Example config: var.log_file_interval: Hourly ---- -include::../include/var-paths.asciidoc[] - *`var.initial_interval`*:: The time window for collecting historical data when the input starts. Expects a duration string (e.g. 12h or 7d). From bd396c0004e93be3be7d3c384e6f8db1e52bd69e Mon Sep 17 00:00:00 2001 From: subham sarkar Date: Mon, 15 Apr 2024 12:09:19 +0530 Subject: [PATCH 169/172] Update input and module doc --- filebeat/docs/modules/salesforce.asciidoc | 34 ++++++++++++++ .../docs/inputs/input-salesforce.asciidoc | 44 ++++++++++++++++--- .../module/salesforce/_meta/docs.asciidoc | 34 ++++++++++++++ 3 files changed, 105 insertions(+), 7 deletions(-) diff --git a/filebeat/docs/modules/salesforce.asciidoc b/filebeat/docs/modules/salesforce.asciidoc index 01b6dcf9122..8e431e8d97e 100644 --- a/filebeat/docs/modules/salesforce.asciidoc +++ b/filebeat/docs/modules/salesforce.asciidoc @@ -54,6 +54,40 @@ The Salesforce module contains the following filesets for collecting different t The default interval for collecting logs (`var.real_time_interval` or `var.elf_interval`) is 5m/1h. Exercise caution when reducing this interval, as it directly impacts the Salesforce API rate limit of ~1000 calls per hour. Exceeding the limit will result in errors from the Salesforce API. Refer to the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit] documentation for more details. ==== +== Set up the OAuth App in the Salesforce + +In order to use this integration, users need to create a new Salesforce Application using OAuth. Follow the steps below to create a connected application in Salesforce: + +1. Login to https://login.salesforce.com/[Salesforce] with the same user credentials that the user wants to collect data with. +2. Click on Setup on the top right menu bar. On the Setup page, search for `App Manager` in the `Search Setup` search box at the top of the page, then select `App Manager`. +3. Click _New Connected App_. +4. Provide a name for the connected application. This will be displayed in the App Manager and on its App Launcher tile. +5. Enter the API name. The default is a version of the name without spaces. Only letters, numbers, and underscores are allowed. If the original app name contains any other characters, edit the default name. +6. Enter the contact email for Salesforce. +7. Under the API (Enable OAuth Settings) section of the page, select _Enable OAuth Settings_. +8. In the Callback URL, enter the Instance URL (Please refer to `Salesforce Instance URL`). +9. Select the following OAuth scopes to apply to the connected app: +- Manage user data via APIs (api). +- Perform requests at any time (refresh_token, offline_access). +- (Optional) In case of data collection, if any permission issues arise, add the Full access (full) scope. +10. Select _Require Secret for the Web Server Flow_ to require the app's client secret in exchange for an access token. +11. Select _Require Secret for Refresh Token Flow_ to require the app's client secret in the authorization request of a refresh token and hybrid refresh token flow. +12. Click Save. It may take approximately 10 minutes for the changes to take effect. +13. Click Continue and then under API details, click Manage Consumer Details. Verify the user account using the Verification Code. +14. Copy `Consumer Key` and `Consumer Secret` from the Consumer Details section, which should be populated as values for Client ID and Client Secret respectively in the configuration. + +For more details on how to create a Connected App, refer to the Salesforce documentation https://help.salesforce.com/apex/HTViewHelpDoc?id=connected_app_create.htm[here]. + +[NOTE] + +==== + +*Enabling real-time events* + +To get started with https://developer.salesforce.com/blogs/2020/05/introduction-to-real-time-event-monitoring[real-time] events, head to setup and into the quick find search for 'Event Manager'. Enterprise and Unlimited environments have access to the Logout Event by default, but the remainder of the events need licensing to access https://help.salesforce.com/s/articleView?id=sf.salesforce_shield.htm&type=5[Shield Event Monitoring]. + +==== + include::../include/gs-link.asciidoc[] include::../include/configuring-intro.asciidoc[] diff --git a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc index d47e5271606..02e6f4675c3 100644 --- a/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-salesforce.asciidoc @@ -22,7 +22,7 @@ Here are some supported authentication methods and event monitoring methods: * Event monitoring methods ** EventLogFile (ELF) using REST API -** REST API for objects (Used for Setup Audit Trail and for monitoring real-time events) +** REST API for objects (For monitoring real-time events) Here are some key points about how cursors are used in the Salesforce input: @@ -78,6 +78,39 @@ filebeat.inputs: field: "EventDate" ---- +==== Set up the OAuth App in the Salesforce + +In order to use this integration, users need to create a new Salesforce Application using OAuth. Follow the steps below to create a connected application in Salesforce: + +1. Login to https://login.salesforce.com/[Salesforce] with the same user credentials that the user wants to collect data with. +2. Click on Setup on the top right menu bar. On the Setup page, search for `App Manager` in the `Search Setup` search box at the top of the page, then select `App Manager`. +3. Click _New Connected App_. +4. Provide a name for the connected application. This will be displayed in the App Manager and on its App Launcher tile. +5. Enter the API name. The default is a version of the name without spaces. Only letters, numbers, and underscores are allowed. If the original app name contains any other characters, edit the default name. +6. Enter the contact email for Salesforce. +7. Under the API (Enable OAuth Settings) section of the page, select _Enable OAuth Settings_. +8. In the Callback URL, enter the Instance URL (Please refer to `Salesforce Instance URL`). +9. Select the following OAuth scopes to apply to the connected app: +- Manage user data via APIs (api). +- Perform requests at any time (refresh_token, offline_access). +- (Optional) In case of data collection, if any permission issues arise, add the Full access (full) scope. +10. Select _Require Secret for the Web Server Flow_ to require the app's client secret in exchange for an access token. +11. Select _Require Secret for Refresh Token Flow_ to require the app's client secret in the authorization request of a refresh token and hybrid refresh token flow. +12. Click Save. It may take approximately 10 minutes for the changes to take effect. +13. Click Continue and then under API details, click Manage Consumer Details. Verify the user account using the Verification Code. +14. Copy `Consumer Key` and `Consumer Secret` from the Consumer Details section, which should be populated as values for Client ID and Client Secret respectively in the configuration. + +For more details on how to create a Connected App, refer to the Salesforce documentation https://help.salesforce.com/apex/HTViewHelpDoc?id=connected_app_create.htm[here]. + +[NOTE] + +==== + +*Enabling real-time events* + +To get started with https://developer.salesforce.com/blogs/2020/05/introduction-to-real-time-event-monitoring[real-time] events, head to setup and into the quick find search for 'Event Manager'. Enterprise and Unlimited environments have access to the Logout Event by default, but the remainder of the events need licensing to access https://help.salesforce.com/s/articleView?id=sf.salesforce_shield.htm&type=5[Shield Event Monitoring]. + +==== ==== Execution @@ -87,8 +120,7 @@ There are two methods to fetch the events from the Salesforce instance: - `event_log_file`: https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_eventlogfile.htm[EventLogFile] is a standard object in Salesforce and the event monitoring method uses the REST API under the hood to gather the Salesforce org's operational events from the object. There is a field EventType that helps distinguish between the types of operational events like — Login, Logout, etc. Uses Salesforce's query language SOQL to query the object. -- `object`: This method is a general way of retrieving events from a Salesforce instance by using the REST API. It can be used for the SetupAuditTrail and for monitoring objects in real-time. In real-time event monitoring, subscribing to the events is a common practice, but the events are also stored in Salesforce org (if configured), specifically in big object tables that are preconfigured for each event type. To query the object, Salesforce's query language SOQL is used. - +- `object`: This method is a general way of retrieving events from a Salesforce instance by using the REST API. It can be used for monitoring https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_list.htm[objects] in real-time. In real-time event monitoring, subscribing to the events is a common practice, but the events are also stored in Salesforce org (if configured), specifically in big object tables that are preconfigured for each event type. With this method, we query the object using Salesforce's query language (https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql.htm[SOQL]). The collection happens at the configured scrape `interval`. [NOTE] ==== @@ -97,8 +129,6 @@ There are two methods to fetch the events from the Salesforce instance: Each Salesforce Object contains a set of fields, but SOQL queries have restrictions on the fields that can be ordered and the specific ordering method. The Object description on the Salesforce Developers page provides information about these limitations. For instance, the Login Object only allows ordering by the EventDate field in descending order. -Cursor Inputs for Data Collection Over Time - When collecting data over time using cursors, the following cursor inputs are available: - `object.first_event_time`: This cursor input stores the cursor value from the first event encountered during data collection using the object method. @@ -106,7 +136,7 @@ When collecting data over time using cursors, the following cursor inputs are av - `event_log_file.first_event_time`: This cursor input stores the cursor value from the first event encountered during data collection using the event log file method. - `event_log_file.last_event_time`: This cursor input stores the cursor value from the last event encountered during data collection using the event log file method. -By selecting one of the above cursor inputs, users can collect data from both the object and event log file in a desired order. The cursor configuration can be customized based on the user's specific requirements. +By selecting one of the above cursor inputs, users can collect data from both the object and event log file in the desired order. The cursor configuration can be customized based on the user's specific requirements. ==== @@ -274,7 +304,7 @@ The field to use to fetch the cursor state from the last event fetched from the [object] ==== `event_monitoring_method.object` -The event monitoring method to use — object. Uses REST API to fetch the events directly from the objects from the Salesforce instance. This method is used for Setup Audit Trail and can be also used for Login and Logout to monitor real-time events. +The event monitoring method to use — object. Uses REST API to fetch the events directly from the objects from the Salesforce instance. [bool] ==== `event_monitoring_method.object.enabled` diff --git a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc index 59351525200..7d189fc6984 100644 --- a/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/salesforce/_meta/docs.asciidoc @@ -47,6 +47,40 @@ The Salesforce module contains the following filesets for collecting different t The default interval for collecting logs (`var.real_time_interval` or `var.elf_interval`) is 5m/1h. Exercise caution when reducing this interval, as it directly impacts the Salesforce API rate limit of ~1000 calls per hour. Exceeding the limit will result in errors from the Salesforce API. Refer to the https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm[Salesforce API Rate Limit] documentation for more details. ==== +== Set up the OAuth App in the Salesforce + +In order to use this integration, users need to create a new Salesforce Application using OAuth. Follow the steps below to create a connected application in Salesforce: + +1. Login to https://login.salesforce.com/[Salesforce] with the same user credentials that the user wants to collect data with. +2. Click on Setup on the top right menu bar. On the Setup page, search for `App Manager` in the `Search Setup` search box at the top of the page, then select `App Manager`. +3. Click _New Connected App_. +4. Provide a name for the connected application. This will be displayed in the App Manager and on its App Launcher tile. +5. Enter the API name. The default is a version of the name without spaces. Only letters, numbers, and underscores are allowed. If the original app name contains any other characters, edit the default name. +6. Enter the contact email for Salesforce. +7. Under the API (Enable OAuth Settings) section of the page, select _Enable OAuth Settings_. +8. In the Callback URL, enter the Instance URL (Please refer to `Salesforce Instance URL`). +9. Select the following OAuth scopes to apply to the connected app: +- Manage user data via APIs (api). +- Perform requests at any time (refresh_token, offline_access). +- (Optional) In case of data collection, if any permission issues arise, add the Full access (full) scope. +10. Select _Require Secret for the Web Server Flow_ to require the app's client secret in exchange for an access token. +11. Select _Require Secret for Refresh Token Flow_ to require the app's client secret in the authorization request of a refresh token and hybrid refresh token flow. +12. Click Save. It may take approximately 10 minutes for the changes to take effect. +13. Click Continue and then under API details, click Manage Consumer Details. Verify the user account using the Verification Code. +14. Copy `Consumer Key` and `Consumer Secret` from the Consumer Details section, which should be populated as values for Client ID and Client Secret respectively in the configuration. + +For more details on how to create a Connected App, refer to the Salesforce documentation https://help.salesforce.com/apex/HTViewHelpDoc?id=connected_app_create.htm[here]. + +[NOTE] + +==== + +*Enabling real-time events* + +To get started with https://developer.salesforce.com/blogs/2020/05/introduction-to-real-time-event-monitoring[real-time] events, head to setup and into the quick find search for 'Event Manager'. Enterprise and Unlimited environments have access to the Logout Event by default, but the remainder of the events need licensing to access https://help.salesforce.com/s/articleView?id=sf.salesforce_shield.htm&type=5[Shield Event Monitoring]. + +==== + include::../include/gs-link.asciidoc[] include::../include/configuring-intro.asciidoc[] From 376b92d8690de5a1241cff1a8820b32051f170fa Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 15 Apr 2024 12:50:54 +0530 Subject: [PATCH 170/172] fix setup audit trail extra field issue --- filebeat/docs/fields.asciidoc | 10 ---------- x-pack/filebeat/module/salesforce/fields.go | 2 +- .../module/salesforce/setupaudittrail/_meta/fields.yml | 4 ---- .../salesforce/setupaudittrail/ingest/pipeline.yml | 9 --------- .../test/salesforce_setupaudittrail.ndjson.log | 2 +- ...salesforce_setupaudittrail.ndjson.log-expected.json | 2 -- 6 files changed, 2 insertions(+), 27 deletions(-) diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index d4b6d799f6b..0bb410948d0 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -126075,16 +126075,6 @@ Fileset for ingesting Salesforce SetupAuditTrail logs. Unique Id. -type: keyword - --- - -*`salesforce.setup_audit_trail.event_type`*:: -+ --- -Event type - - type: keyword -- diff --git a/x-pack/filebeat/module/salesforce/fields.go b/x-pack/filebeat/module/salesforce/fields.go index d585b826835..78aa4fa0cc6 100644 --- a/x-pack/filebeat/module/salesforce/fields.go +++ b/x-pack/filebeat/module/salesforce/fields.go @@ -19,5 +19,5 @@ func init() { // AssetSalesforce returns asset data. // This is the base64 encoded zlib format compressed contents of module/salesforce. func AssetSalesforce() string { - return "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" + return "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" } diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml index 66f7dd8f304..d19dfb637ef 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/_meta/fields.yml @@ -8,10 +8,6 @@ type: keyword description: > Unique Id. - - name: event_type - type: keyword - description: > - Event type - name: created_by_context type: keyword description: > diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml index a43aeb8bccc..1d61b6c0588 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/ingest/pipeline.yml @@ -42,10 +42,6 @@ processors: value: "Failed to parse CreatedDate: {{json.CreatedDate}}" # Normalize field names - - set: - field: salesforce.setup_audit_trail.event_type - copy_from: json.attributes.type - ignore_failure: true - rename: field: json.CreatedByContext target_field: salesforce.setup_audit_trail.created_by_context @@ -101,11 +97,6 @@ processors: target_field: event.action ignore_failure: true ignore_missing: true - - rename: - field: json.attributes.url - target_field: event.url - ignore_failure: true - ignore_missing: true - date: field: json.CreatedDate target_field: event.created diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log index 7d725a8cfff..7a289a23a9d 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log @@ -1 +1 @@ -{"attributes":{"type":"SetupAuditTrail","url":"/services/data/v52.0/sobjects/SetupAuditTrail/0Ym5j12345BJKvZCAX"},"Action":"changedUserEmailVerifiedStatusVerified","CreatedByContext":null,"CreatedById":"1234j000000q9s7ABC","CreatedByIssuer":null,"CreatedDate":"2021-10-06T07:13:07.000+0000","DelegateUser":null,"Display":"For user abc.def@mail.com, the User Verified Email status changed to verified","Id":"0Ym5j12345BJKvABCD","ResponsibleNamespacePrefix":null,"Section":"Manage Users"} +{"Action":"changedUserEmailVerifiedStatusVerified","CreatedByContext":null,"CreatedById":"1234j000000q9s7ABC","CreatedByIssuer":null,"CreatedDate":"2021-10-06T07:13:07.000+0000","DelegateUser":null,"Display":"For user abc.def@mail.com, the User Verified Email status changed to verified","Id":"0Ym5j12345BJKvABCD","ResponsibleNamespacePrefix":null,"Section":"Manage Users"} diff --git a/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json index 83699f8c7bd..204f42a35d7 100644 --- a/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json +++ b/x-pack/filebeat/module/salesforce/setupaudittrail/test/salesforce_setupaudittrail.ndjson.log-expected.json @@ -10,14 +10,12 @@ "event.type": [ "admin" ], - "event.url": "/services/data/v52.0/sobjects/SetupAuditTrail/0Ym5j12345BJKvZCAX", "fileset.name": "setupaudittrail", "input.type": "log", "log.offset": 0, "salesforce.instance_url": "", "salesforce.setup_audit_trail.created_by_id": "1234j000000q9s7ABC", "salesforce.setup_audit_trail.display": "For user abc.def@mail.com, the User Verified Email status changed to verified", - "salesforce.setup_audit_trail.event_type": "SetupAuditTrail", "salesforce.setup_audit_trail.section": "Manage Users", "service.type": "salesforce", "tags": [ From a20a033947a74046719d05abb09bd931fcca0b85 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 15 Apr 2024 17:42:19 +0530 Subject: [PATCH 171/172] update timestamp format for objects --- x-pack/filebeat/module/salesforce/login/config/login.yml | 2 +- x-pack/filebeat/module/salesforce/logout/config/logout.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/login/config/login.yml b/x-pack/filebeat/module/salesforce/login/config/login.yml index 15ddbaa9ab3..8bdd5df6e0f 100644 --- a/x-pack/filebeat/module/salesforce/login/config/login.yml +++ b/x-pack/filebeat/module/salesforce/login/config/login.yml @@ -21,7 +21,7 @@ event_monitoring_method: enabled: {{ if .real_time }}true{{ else }}false{{ end }} interval: {{ .real_time_interval }} query: - default: SELECT FIELDS(STANDARD) FROM LoginEvent{{ if .initial_interval }} WHERE EventDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]]{{ end }} + default: SELECT FIELDS(STANDARD) FROM LoginEvent{{ if .initial_interval }} WHERE EventDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05.000Z0700") ]]{{ end }} value: SELECT FIELDS(STANDARD) FROM LoginEvent WHERE EventDate > [[ .cursor.object.first_event_time ]] cursor: field: "EventDate" diff --git a/x-pack/filebeat/module/salesforce/logout/config/logout.yml b/x-pack/filebeat/module/salesforce/logout/config/logout.yml index a48cc3efa01..502fa247fbb 100644 --- a/x-pack/filebeat/module/salesforce/logout/config/logout.yml +++ b/x-pack/filebeat/module/salesforce/logout/config/logout.yml @@ -21,7 +21,7 @@ event_monitoring_method: enabled: {{ if .real_time }}true{{ else }}false{{ end }} interval: {{ .real_time_interval }} query: - default: SELECT FIELDS(STANDARD) FROM LogoutEvent{{ if .initial_interval }} WHERE EventDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05+0700") ]]{{ end }} + default: SELECT FIELDS(STANDARD) FROM LogoutEvent{{ if .initial_interval }} WHERE EventDate > [[ (formatTime (now.Add (parseDuration "-{{ .initial_interval }}")) "2006-01-02T15:04:05.000Z0700") ]]{{ end }} value: SELECT FIELDS(STANDARD) FROM LogoutEvent WHERE EventDate > [[ .cursor.object.first_event_time ]] cursor: field: "EventDate" From 015af02c7a5dc6c5dcccfdd14785651677736fc9 Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Mon, 15 Apr 2024 18:50:19 +0530 Subject: [PATCH 172/172] update Maps for login and logout dashboards --- .../7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json | 10 +++++----- .../7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json index 456384cf835..736dd52ddaf 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/15bcb8a0-f891-11ee-9088-0f36517484ce.json @@ -21,7 +21,7 @@ }, { "alpha": 0.75, - "id": "df9c1190-218b-40c2-9db2-15d83ae623c8", + "id": "4f907c5b-67e7-45c3-8c4c-7cb80170de03", "includeInFitToBounds": true, "joins": [], "label": "Logout Activity", @@ -31,8 +31,8 @@ "applyGlobalQuery": true, "applyGlobalTime": true, "filterByMapBounds": true, - "geoField": "client.geo.location", - "id": "d5266c88-d22c-4139-beff-9d595be16cfd", + "geoField": "source.geo.location", + "id": "58e3c77d-15bd-4516-a81f-56f35cbe66ed", "indexPatternRefName": "layer_1_source_index_pattern", "scalingType": "MVT", "sortField": "", @@ -187,6 +187,6 @@ } ], "type": "map", - "updated_at": "2024-04-12T11:39:56.508Z", - "version": "WzExMzcxLDFd" + "updated_at": "2024-04-15T13:14:55.200Z", + "version": "WzEyNTI5LDFd" } \ No newline at end of file diff --git a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json index fd60a5ddd77..1bbb4d88397 100644 --- a/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json +++ b/x-pack/filebeat/module/salesforce/_meta/kibana/7/map/c9668e10-f88e-11ee-9088-0f36517484ce.json @@ -21,7 +21,7 @@ }, { "alpha": 0.75, - "id": "af1017d3-ae58-4719-bfb4-a3cdfe33eec8", + "id": "b7f862e8-d875-4a1a-a922-63f5c2f6d06a", "includeInFitToBounds": true, "joins": [], "label": "Login Activity", @@ -31,8 +31,8 @@ "applyGlobalQuery": true, "applyGlobalTime": true, "filterByMapBounds": true, - "geoField": "client.geo.location", - "id": "26c985c9-1742-40ad-8237-4613ee9099b9", + "geoField": "source.geo.location", + "id": "97b373bc-81dc-42de-9d90-f7970d5c3a73", "indexPatternRefName": "layer_1_source_index_pattern", "scalingType": "MVT", "sortField": "", @@ -187,6 +187,6 @@ } ], "type": "map", - "updated_at": "2024-04-12T11:42:51.515Z", - "version": "WzExNjAwLDFd" + "updated_at": "2024-04-15T13:15:17.835Z", + "version": "WzEyNTQ4LDFd" } \ No newline at end of file

    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%0A()V05zw+f3ZGU~Ce4ixjgvh1#jM5b36xo- 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 z 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∓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
    l+vb#(g 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 literal 272972 zcmcG#cR1VK8$YfsT5a*PsvZ=b6tzWaR|hSE+Iv*3#2&FlX{)70YbREV*g=UP2yJb# zLSoa}BKAy#pJ#kN-_Q5@{{1`GMXvKc=Y8I1+~+>`dENKxy`GK+>v^8@3=9mc&z?Tk zXJ9xR&cML*^&IoblTEYZfs>z8KKdFD8BjgfmQFH^PHG@E28N2b3x{@0CwUgnr)EA3 z3~WFC`a9L;QSg$1;W+QvV>QD7>y?SKwpX4^wQUH9-S{Ku>{7#1qf39}nf~#lJe?N_o7Co>uvWU>}wh%~k zO>?XC32r;`cl2&CXFU1#zo~uKTM>5ZKRE`5k!yhP|7OEQoj2dwezfv?Sj?7TG#mKP zKR#q@UVkf^X-9iYKPcDB%gKH84~D;n`%gl}r@$0TzG%hC8$8fIW1i9ac0ZE^iw zKxNR$@p=^{yYo2QI4aZF)3-`y@AsA76kQURNRfM9XR&{6bkBGQGOyqFQhY_9-T=2y8~hhl<^E>_e3?^|d~Q zVQGiEHkidlXUYiHCS_9!5DHmESKC!PB#K*U=4mEXwVk?NTwsx(Ec1`t#?#Y3Mn6v_ z+;n=5tKY#UAOp{A4o zXe!9O0ZBO-BWtL~y}UL=QeQpa4W8|VIS-cmw|@RDJ|hk+3{!ny8)TBDj?8MCxVw}X z!@cfYk%%`jD&@_|H^|o^FILR-7*gN7eY>Rkqp>ejnYOYdlog;2#JIb}<^LS#Ieq%H z(YKc@2UMzp&!@DnU%&dT_t|B{#TpM4C6zfhX5IJFZ;Q(+Zv!RF4iyIyUYPrK%EC&bN_FhX2;W*ut**qm@v#Q5Q<`EC8Bi>!7YQdgUcM2sZMRIEY_*N!e_vq}&Ra=gP7ocR`R8SJ_oypjwSnBVVx{BsdQ zaY{#5qNj8}(B1$u{iaynp5#;Yps0x<`Oq*QyD?a$LpQBM?n#C06y znA}d|ra*t%pM~Xo{VE&OeP5Yasr&g?1G@@3vX!Ak+FypFyO-f!E}d_Xodz*6 zUPI>_%uGgccLzAi&?M>akh?lv8yrGAxPBY*`+Vxi0&SUm2JJhdiADOF=K&=KZr;9a zczm#Sx4~oXIK>8}r`IR!)RDBYwwpoS-uksGIoFoO$-hbubL@;3mNCc&`Om)$MSe(E z^zW&AA_R-mIpkj2`RNlxrm%1C0H<7zUqz-EicTS_5(_CrfK=OyBgZ@Q!xMY|=(TC9 z1?D^3zww-(FYa_*_0+$vIO?TjNjbti)7s7KxAKdD=Z5v=h$!SCFt)ueLqz8k~5!Z97CBnQjC1HktDmHcQmgZD)aH@ zw9XwG-iGl{Sl|j;{Y!u6YO8MPv}9&Kbvu7iS9*m-2c|TS^;0ts-7i79D>$5meT?Ga z#Kdh>#*&5!@+~L(1;K;mmVfzdZ&FN|UgNt^s$cPSAa!FvQQ%orr4y&Ou0zazA(_=^ z$9Ag-Y*txy#CktR2xpC~xPT#tTnxSFRQ1T|tKVdxL3ioHgKwQlEN<3@1$x#QtE<`K z8EetJ?yg}On{!^bHQVFS6v$fT#rWfD2^$C(4s^cyoXylUAUYqoGm4KrUQ4c$6_7hRCyWtU}*5rZEH?P z@to2kF{T*p_To+gkg>Rb-R;?1r!e{HTutopJ!K@Xx*JKbln4cCv8zt= zSO@9w92ENQrppFrzL&fI{#*XC!+G)>#bwBYHpot^@<-VQSg_)sN-hWPSiy23jz3iV zh|R!Ka7cj- zav9_+q^vaG-D(ZJWjliu+m)(IqafVU=y`?)g9hLQ+tY7X-GYeGa%1e6x2Ks7XBSdb zJE)mspliOeWcUG>xMg|V)Wualyp4aOkUyJC$KHp}1A#SZGrkLP^85)znX-$$A+lrJ zF9!rC8-sE4Wes?rU&Mf_B)L(toKj$zy0%&1aRX+>c74TW0X%i|T2=Bhw$VM4^kYlm zjw2By_K}wUS!<@YY!(%&*@n=s^)7RII~yw@D!nkWP@A%1-#9nFvhm`=Um`TUyuMc9 zQ|GnM+@LIECsQcYt4@xsuvlsSU=tl4e-|sfEWLJAS}!4CK-VQLr+|bgqkfr6goFBT z+W089zHTu!uce+RR(%|*t5tDJYiGXHZFPx36$naYmw32y_QF&Pzyhf1J%aCI5NN{l z<})#!O65wc%FxQNH)_S(J>zFs%r&;Vxi}c>U1rr4-SBZl=il&|XR&lmNl+`5Hs8OK zbpFm_B~kVieZG_v&|so$B=M=7#bV3#MKg*3o!mEHut&Y=xX{~n&oLy=uLl!1@-?DN z0&`ZzeZH2E2NfIm+-B0*-*@+;)un$e7MpeIuK5>~v~N{F4>r0HKlMc` zTR$s187?FMcreSU4c)V~9l<`V-RP(F^q*t(e%p>>+n-m#Ddy|`-$$>zox7jk68xyN zDrK_MMbo{+P!FbLX5ggi{PltWknjn}TLeNs>=_8iQ83YO5B>-sZ}9AHtM-!m!x3F~ zZB{Ldj0Q;7j`MSjfy`#A0!5mri z(pBKyt1n!~Kc?$<@(ve_O<3nGcn!-HZGheu0fV7CfK}TJB)YZwE1=^a^CF1 z%yQ1QZJ*gr);>n%*sZdmY%Q5m9a&E@5-qIn3CxAos~%U{c$l_%P0yM&Y;7rs9Rc+) zW(R+GE~jU5V=QkicvNB_yH>-!8o{wq1qKP4UTvPj-*Y7H!X_;@ySR>H--=2Gh_~1# z0R_uX46C6c^So~&CMf4#nO6flWZ=jQ2q9Y)+3=oEIY>KFmFMR1!=v4xvuym|5SeZx z-)hgBZE63pSazptg$FI;c!Zpq?*eaP)B%(OcE8Nw zr11}($--_Vu#TIe`s2sB6F=9_Iq?eOSCwgoIBPydQ+n6-2z6;8O(B%};b`BdV&}=V zV(JcglpG{|%GMyVGH{FhyV@=G3zPx}`*eXecl>s6*PJtG?>^aYQ+^7_I<1C4%2j5P z;Q+|+oMc0w-AdIieI(wF>b2|}jDU%mp)R+?6h3_84Of{l33Z}$$yU0~drVbm;o)-C zv~f`V1OP%RHb-|t3Da-o_iVz_N*_hVF2d{^`#Tbvp`fAZX@lMEnvH}NI-VB#Dij3( z8)ABIh_$(<`T+2+Ff|)*YYsPN#clF5lh@%3Z!w{FRM-<7i7WCv)G3J-NWJYZ8xiaJ z8o^N2p|Dfm6V-gIfbQcj=4L!;L5M9)%gp35)4cv1-1D5btSb=v)Oy%V>E7?ouJTJc zXa_QGw9-GTfmLQ|+m9k#+xxBqtC@uAkLAO1LU&7+hf3{xwL(HctiLYbi7tN8a(>q< zO|TKP)o+i3|A852GyQuj`f!#x1#g`0$MvuHMW3p>g`N z*ew@_PCdtsi$}5aDcDTsKlXf@+fcI}ek@E=8J=YP@$=-F>w?3wAvZHQ$3;8o88e_k#tyiyR@%H&s%DhNRw@F1!FM zE>sMp+O9(?_m=X^Xo*58gQZ@=Pt3N$Okv+Ui)|Iz&oA`yrbr;=r-jKnizVofH;IRl z`L_V}TJa)Wdqy+oO?IdDyH3oxuM{p|);C&^q zOZEh&H1G&3aeshKQ?A(bF6zSv>r2kSS0N&Y^{XDH`a7Lhs>-qo0c0I6&V)mB4f34_ zd~;vZ%>TajtrX^h7{3zTNmF91#BIl(jRQnyacJoas7jhNqNXG`*^D3rwIK7P+V1;9 zVnuKNt{;_maHnl}V((?d#8z~LhLIK0+*ZG#I;uVj`5K^a7U_?37WjJ*EJ;M-VY1PA za#_O->hfBSSJoMcsNiRlG?_l`E|r1HhX6rS0w0*`d9TY^U)hX}q6PEB>aCE2BT2DQ z-sNsk=k_nfFAyVi!HS0sF9GLqgB%uUzzL(7Bc!J%TSHl+ms>TD6hZ_?-Px#xyqcpD z*HdXJ@7ECLgM@lBNG8YWzHUkvG$C%wUHWGND0Qsnm@xadtRw1knx6xQ`Qzy-^@YOb zO(eF{YYIWFY<D*3vO9s_v4PH@MVze`J#PEeJR-$$!*D{O2nbvxsmcNrT~#!%wI zD0qjK0VrwvXkNXQdNktm-P-;2&AUhZ_OxA`DK#e_oWo4d6RRbBm8stTE0;M#J{m-gao1Z};m*M?orZfVQ( z&)^QS-m=pM+2%p%+c{P;eRxKycDVC4*Kq}5u+%`yARk{IX{c^qZ69IHE9c&C;c>AK zGowK!#GPIGz_()c@~p2mUYlU(wX4v(BebtbZVrH)wg&C17+i7!tbq(DmMHSOg0{Pgdw=CO>TD1}!~| z8ko#?|9BAYwCe<~&pd8>NDix?)Iku*DVGMk`R8l2`BgX9&p_dE%k;odfDMchK0F5 zqGIn#OMh31TFck2jNDx%2YaMox4R@NSM24q17$$*h;NY2!Q!%d=g=&-0i8H$zfO@0 zNZ7AeYmM$nGrbh)7ZDg5$B?Xbbx0mnX`*XV7q^hrPh~}vP$bZ0*n>mC#@*iCQ2h&B zVil3=f*|u)(o;)RcQxohQtjnlHA2?qrNB&*?W&2OuEC>quD`6nc+S-9!Ijcx7G{pV znEP1=R@!tIij#-lYjstVtLe?Y5U;okI_)+@sY2^&`k(&SiTrGpBpYhT ztzg(#sRQx=Vld`2qC)a9F+h-HDPtAxQf@(cX&F7aSzt;pqm;%y*774h4V9q-_3_HSrF$1 zgbQ_eo7WXw7i-}+NDXdgJM_4J8EI^E0YVQKEgEV*D{o6B$E?eGDtrELJm9#Xg)pldxMf>SSSfkbpN2l+K-|ocUBm{da1>?R?FWx2d5SOf)Igp7Q}Ur zv7ot?IrXEE!0nfa(K=*+8t2{~n#L~&0Q)nyo^|+W4I~*xLZU}#wUy7GVCN||V{sz; zuDK_7>(ZfM-NmJ9G-bXRgr8I7v9@Q&d8oYLGk6J)B}sN2t@SV$8CAcFzPjFj#9;^R z8}k`MLbv^lWE$s3=bX<6?Z9`Ij|X^zP*YuAkxN=Y0P^ali0A~Gb-D0>6`$DF8TH~x z%pxk*f3f`+1E2im1&{;az;;9GplQheCK2JsnTi3o=;O z2S_EA>GhzJoWXL)q@~`Sxl?q*e5jaWyh9KDn7O`iYC$62g>6_8@YrUBq|vK1Ve#ZV zSM{Dr;R`0LBeIa5YHHroJm?MpDbZ-Ov1S>AnXOf;~a!0<+*#MmNfNJnD4-Y4t()4^#T6Xq?cHk*h)!>?$SPP>n(@UjR*yd+R z2ij@v8H$)t5FQPf^XkKvk(=H3I!Gi^&svdD@#0Ip@`n#CRi*JUOb7JMu`WDy{>i%= zS)ti)NkmKv@4V&OiYJ18^TC&gZ&vCh@eu;gwl9CG)j_IPjr98Ad5W#Z5ENT)Q`1x{ zd(s%%W1=pPJ|ZV^>*NIa_;YUg1XUhw2=<6@1Ge=SVZYO8EyV%QN-0hLrVD+ z7zRn@$(vF#)v_74dGuzp4Rh19A3n8)+=NmTeheA{UO949g{%Y-^byKq*6!6#5rM17 z_X|h7uB6mZGEq}x#g&ljVN+b-USRn&W-q-0vp}p?zl4S6k9{=eF|Z&oqJP{hb7dHw z?ac};8;TDuDsn!mhq4a!Ot~6tU`&d-YTTfuLq8ROcil-B<+=kANEXEg6#ItLyi z++9vF2{liyj9f;>+3ETZi6M)0KsE`JgQId;Z|KdRpcLCZIRR(WfmOsX-gT>xw`&wV z04m)t9+|s%#52$IY8P;RsULag@)bzaf=}}e z0=RGGV^0)8adM!;&x=gb7`H9a=JezxT6MUt^&G(Msj1Fu^+noT@Sy*pw;vBR${JqZ znYjj?+A+G~Ev~u8YLgwME;dl0TD_#_`5pdNCD41UdH6mNnL&e|&WriEP+0riM108u zxN+^u)h`Wgk5*=iOm7}(ygIm9Xof70D6yAqb2%}=)ql@yRJ&Eyd(Cyb)D2p|E(+Q% zmUhg?*ioDLcC+Fr=9R0>gDCBfOCBV~JZ)U9K$z^~$jRfM{Edg;h=&g!`Tfo%3wm4; z*8j<7iA`hB{`B?9iXf6u$H(z^boMB7Eu zH2c)^7~V1rzWhTIB+O|P)afT7#uADb_O?$n@4MBt}uCXgl zE4`RCEj2xeYjF1-9}}}dmGC7(MZt4c8<$&rXWtbELT`DfkbP2tjUCB3ZLwWA+f!uA z8Jnw;YLnohqD45QGoMVgDymA?@OIHmzH0~6a!q}J6PB6lO40h`in#NHO;@sT&PzJiZ#@VE$@ zI0k;?8A>ng>Z*V2)rBuzVJO2~mu$BA>&$;(y!pf4&v(0Fo`u=q0w(de#XmpMIAfX9 zWac~*MbKZXzCr&4=p8|oLcp}TG{+>6XR)y`t|t781p#t6R2b%k?Qp?Fs03cly--C2 zpx=|OogZR7p0M4+Ec5dpuG(b8G};0k+`txa!4iB`+FDvqi4&0>J@BOM=h^!pj?PSw zs1rcYRxuk7P*CdgvjTmbbTrOPbIe$yf@9dyHTN%;hkV-4M%lf{exG$J?R+CL?d8_* zaF<4G>-12a-Ea_7;L-(!4RlSaQsa2^{Wjj2=Lzx+-4__5O1#OX-NvGyY+4RCNAd2# z#LK$rd+%#i&&psJi<_Mw9J5x(+`%id$ZIyG;{NL-Nl;4M5$!cUqE5AWeOuxz+F7^2 z+++uX^5e%cudODqs6rrYSq6Gn7q_UIwfFq-{WcfzeK*GLd-nOp3nz)qbhpcEik=dNfb>i-wK`?EF?gWbGdJLOol)`2N>1IBe4Sg zRg&mGv6EBs?vnVu#>0WFBBRQ>gqv>qqp>VUJx6}1#y{!kP}e=b+A;U@quVpV!rFQz zzX6;p^C?)Bz9$Hv8#?lxprqW3pMPQlm(0=N#f>)pesb9k2I7Fco#!K|reJ{BQhlU4 zV6V*oIj$^DP=~5^%(tr=3^UPGx58;TY_^f=ss#(c5q|E-beoz8)yE0;;C?u=uq#Pa z)Mn}sD)Tc^mA?o80S*I-Kt8i{n-y{{R0`cYC9sXO=I-lVC6Htx?$+Xx^doC`7kO(B z?eNk1eGXp4I{dM^b!HP5h^+PXP_vD|{Uxm7C9Q*OVg~I(&9-2E>xWG3vNCAH6s4(l zR78iD(>|~dXVzn@8w4!l0VxtzCP8k()804??;&|sWNUHHvJ1HUqPaEeQm^Y%Ez*FZ$RzkW*eXZIrMj3HscR= z-blZF?L?~{{FZ}_|P_GMS-#$w~57l(cRW`1R#-)P#5$e8fFjTD;xx@3Wo$m7u&sl5fd25!mh%NA=-$Ctpu8h} zy+ypJ+0}IHBX($miJN=vGeD6E8o?vyFpQ{5k1R9`nb&?761urW zB_l@ZCm7^7VK=P%sJO4mrlWMHy^#omOcrkuRf3fU@L^J4 zz(buZ;2!w(T&#pMVagMOvfAE7NEG`n>5o9{&sX+ab04Yvk{dO|i zKVR6Q`a|?pvGnB)!8Tbwx6RGIU;CpANLPW)VNz23{d3y?Ug50Lni3Xn-Q~bMT}?9# zN;5C&trp40*|?VU#aWEtucnBk>OSHUsD>!RoAOx1`PpM)A%dfL#@lgk)bH>X$Y?5t zqKU#*53(k$jQ(~gr8YUg3JEm)@-A*7aYNLtYy-YJF*bt`>*>^1#jW+KI&xcCv1P#f<*>KL;%@lt3Kd%W`LBes-w7jEnnf%T=ir`CN@a{8SIW36X(<%D(1}f?b zzqlXe=7D3F41e0vOXt_gYf8vFV{yxExV`1~WhpM*-zm$Z^+oO_zrg3Kv@fYXdEDk4 z+{FDx{qb1n?vY0`uG6h?>E1j(tv75U_ZU&tsbdd^90l*O@TqdRpEV*tMvFqJ_Fb3w z*jY&Xcd#cL%HPsL?a77xQTooLVeyC7d&BOOnVQf;!qG_C9mUup0|RmlzE@~y2Bb5w z`NS_2t-o7+Ox-JJIPNC~9j|~!fh&1M&Y|*mptq-;EvFYWrJKJdi@EppSYdZ)hpLqD zbe4J0!7r!K?GD(A7pAGn9!?)q3Z85XJuB7Z)Jd z`TN~Rc!g8Moh+#tpklidbr2NG@>UK)G{tFWxlx=D4Jei)xP9kBf`k=GqEy?b)dF*b zu$3g;5L>VtNS%=iJq=TK|H_vu7YJ}#6%es(-+445Nyo#5Zo#cH%ZV@`IPJ0PLKU#axaT~4lu-62l-kX$sOQn+)G@$$0&72q z9xMecxIt|O-n#URZl85M{pHuMOVCQ9j1#^hZb%Z4mVYGs1J&Zb`IGT3C}AFXm~=PO z8}IG$7r-y)I_|nKmv!N)OUGwUD1m~^vhIa=?An1-B`g~Ci%rT5x{~n}*+M=KZxQ1X zTdT;oES*ChKJ#M|&Xz8j|2@W5S{cPRXOpk4DwLkdx0FC5G{RNgl$Ox!BirQ&-4hqp zS;50%D%|Q#~72 zZs(PBFLjrpTsPCQXl`3Honw~!rB~~(Uk!8@*W|7JXD+J(15=O^k8ex^0x`D@x+uiz z0U6~y>5b4k$d+soRQN-6DWh?TWR_8Q(=zpp+V0d8P@v*W#+?guB#1x25W`z+uBvTm z^MEs&bFi@T6Vx`~`)4a?)BeVZCEIL{v7&Dl=?~bjqJ$kwVGmC{RD_>%Sai4MmS@az zP`73ZiTcJKyoeeT$i>194Ow8MsC#$s>Eqn)=OT?Xi_}_PC|nCM_5t!6A1ji_)F$k< zs=+hOwiB>WPUR6~^`_a0fB7@QQ20xvnjOzh8xCIMiXmEzQ3xm$f6bR@zF80@K=i7_ z;!Z&KF2a0lGT^T1Ov=h&B5tq9n+1k0F;oB7Q?|KPyA9OTCiLDpe|tQZt=BSGRbsfo zqgdm3+I#ER)S1M*a|Rh-yDpJ44+}w z2!Xg`7YgK4s16dkac0l|Q&v{iA)RiNot?#Z5zyR%Gbtsy5f|j|-oG!-PC#%8E;_;y zM{Yf9yPLIJM^&^@%1~vL6`9C*8^qvu0=avQ$!cfUd*^BHR={_TEXz&vG*b*cAj$^3 z1WB|bzD~@&UahgGOK`p(LM%XKXWNpM!Uoc7w`N4RHOe!u7B{mX0hI0>zb;#N^nE%R$E`N@DK)^Rp zJnWmF^?WKQK@Q1c?<21M>-(D(H`G2&K+zVmxtobq96n{q@h1R{00m0X^~$O`F~SK$ z#YX6^1R?(eK--I+-t^viv9XmM0oe8pwEKiKDr5v5TN>h-l15R47TQNyP*N^-tAIdL zB1HL>QMASsh}zu9?}$aRkL^<2E8>K_(xflLnDKsc5~|yaN7*}prbrJQ;zg-Fh1@gd zOLL=?_G)G_lEMb|3@Fl0;1;-Jj|X_@=IUs^Z~gqWh9ps+bYwlhlIK%GN$=N#!_;ig z8FkVq0G%Lu%f)EcUh zvB~w9>D2_WcJ*H6BTk)tXms7i9lJJoN$ZSks876tIeEw3x^-29I2dy1^@9au=Kr0I zpZ~%~;swH<^HHn;)NODQ-z6d_XH1aGtUBYrYA>xVP|X>0a1ykjM%<_&vd77}=q~1^ z(N-9yWW>5g0QW?%Yz+P7NOQ+~m8xELJljON#zyc_UF%nZ*vzN8SM{{4Oyx=eo~)s` zjxRT`nCqHSmW}(i{uBoiBq};&I0}G)j+_2FUnFTf4RXP_&01;kd!zjS=T zpyYwIpPQxr!RG8hnMEY}XWh~Kc&zz>?WWf|KUR=!jpoK7RN==MT5xa|cW?xvriIyc`CwGkgicdTKnbNPOP(qXHIKnJ4bnS|EuC-jr}391X> z8Tnew(wrP=c11jd<)r-K@a&;o3+`GR7hW|I`w zis?Lpf0G(+)U7VIHcg7A4y)P791mG^78!BEp0rw)cO7ri?aZryhI@meMM%!`&NiNj zjTQ@G&u-xw!U`h-hbnX~LFf_GK&@5`75H zr`bLiO8CD0hWApa^_$Iw%E-FO+&dui)X%&;mmK!G$o3OI8=kq@qtj_BFiz-*yFHrnIu5S0WvO>PJaqqv( zAxE6LW?+)3dG7>o!h)c#wm~SAZZ&A|(H5h%g%B^74EwQblD z?TtIO)Gb09ksKoH(hZOW;1Uv&WtTpgTl2a+OSrnKB#E~cGEp%YBjsI-!E*0xC$}Z0 z8vhd!+wP*By>k+oDZ94BT$d9|eiGoJJ-uAfp}4)EW75~WokM%xCIY2c*l+ldMwWy~2q;>i{n*o^s}|CHPhd-ekiQWck^{GOz<6NBP8>;6fzoOkJ|DXFS};hbi0l&& zkvp)M?0EX;nbH|4bOL^ZTX5ZxiU*vMtF$p7Y!dqslp_xfRlOfN_Nns)V<8nI{Cm)g zDG42wbF@b*5Z8zl_titb5EITMi4}#$SyU1&M4Lh=j3ZSnDh_h3;k7_iH#f37H3aOC#J!iJ>T!@_nHIWIC(Yxn zYlLO4_+&YW?Mih)jb-dPA};u65w}iu`|b>CKRWQ!SJ2K)p0QG7k;Oq)zjs3;k-H0i zRncezuU>rxV_YQDM9J^TT7sseKZ9)?l!;X}6TqD#gXcxmLNb2>=YQkHU;e?+ zn)D(9CwT4zH)xUtRa;-&x&&0iT+p!)K)%gn;W;HN^=hgNchJLMX59dO%NTC(0z3>i z&x?b?^gi+e4PP4OI^y9uxa51JVhNn{oNo;+f-PjE^c z(6roW-I_NGf_B&w;=BWVyPqW0ez;pXSrgYWi0b*!n`;3*&%nESeLcx_S6-e{#HBy- z@L*+T1gaD&#c5DER)QnHd|XFrNdIQYu-{dN^J|rECFrWGesJJF-BfeAdrWxlf>6oF zKd*#zu8Ll%N!O<65q?(N!CB?-rupdB&6ao3(Zm%SEBX=Kyzs3{=fSTi{ytU`5I-1t z3v!*|;@?9JFMbZaz`z@`_qOQS!D%y*{a|#v{;BDef}fjHoGXks#8ZABYzh|)@%0$C z4*&6o`(9Ugi9`+}jQQIw|LGCN3<-4F%a;PkrL|G?Z-n>hzuRO$T{Tl?7)P4l*ufQ6 zMF$PetMXmSQG+pGK5RIBj=|IC8Oj*vW3H82Mn7r#a`3v^>%9!F#LzNQUc99VhOu^H=ZL?j1njp~!iOe^(7!Yi&dRaH=qdo|`6< zEd3Wlwh^tClnu3RCv=&MSp*P-5H7=NgT3!>_IaAre_!|b?ef3vf4cu?`u%e!VeIatfTyMb zuA0p@r~ihA|EUxY2w;wAV1D(eSN-SZ!@r19|D^Dh8+q5u`53AfOb2)l?@0cmB>pZ- z>yqh1q++g@e3S-#+jDV~u_D4F| z@^Ka4FVMBcJL`WtJOBBpnZfS|<-rQ#3@hr>f5%raT&LCk!7I8|(`Mlo{=qhr+ksep z($u%F-AAEJFB5OSn*MppR=0yGQo{0`(c;Lt3}vpocki}XsOV$Q$i{dN4#P^+h^F~8hWV8OoivZ>mN{+V*O~|l>ethvb)PXTWv5fFbN`Wg> zZ9zg$ii2eipP|LHIcNMFrzGyD@x8rJ*dF?n#Q@_gKV3Dx4J zg-W*T7{BW#G17M~$lL!ttn2xTQ0YPLF8*#UT7N&+75+f$gV3#_fQr*1@l$PPaFuy( zz4gM%=<@0ond=M;o&c$hZ-0{glL8OK2B>0Jg5)&q7QTuf>>1VUC{m`E?q;BmPP;ts zqq15T7Q`Kv;0iY`o)bF95WIQyqMYhsT*f)0Nu}CZo4$o2YX6#X{nJxU|193DZ?jX6 zy!}WF3u9Eq$8Q3b@CQhnqmZ7@RV={XaGkdzy6%~$PG>SYgHHG1j~naz+%%704;y>Ni`i9={$AvopqC_ua*Lle>4Ff`58@9=gozKYbz(ArxQwQqZW4t(_cYZ|-> zt#zWG^i$?PyHF1ScohUj)+RUstHB*BFTG0b>S<=h|6Y=2%9dn zkDcW7zvbz#e-C(OJ3!8?W&(Lv{`-vK|395)BPb;$b)JP~C{5;u0vG>k_di>`J#aOn zMk`B##TWTIEzptsq$}StJ+7|xeWqw+2)}fyz4`UUi;Rsclu`eOEzz?kjUgwqAZ+1v zy_?KVAFTKGkw=%TtZ6$ax5QlWY#k7kme!Yn(I3IeCbPE|dKG>0qB%R4`ZZP!Mx^u7 z<;}WYMMmx5B!rfJx$hNt{Rrx@{Cn&u@qgsn#Mk$OPR4sZe345q^QTFt2d(3LPTMoc z>lyFgRpev%FPQu~3^c5G7pF{tE@~$}ERo&m+8-f2DUoHDyZ1#A!c~!9`FUIA%=Z?S z(KZQ`1vk_HW&hM11ie2phg_aMG4z@-J ztv(#a1ujXKgT8{?oOG^Us@K>u;qQ+n=y&|i^P^?>8GbkOMZ1`*xZ$45h%u~$AqX<5 zv>&auMk31zx0@glEoXH#3SaHaz$SZScqR+K@q-fqu20Mmqnj{R_2$i(nK z&@@=G&ocXt6My6-z7AiMg2}%wFq5-c>N# z*>2b|R4J2@P}XrD%PCs1RR5AI8po|@Kn zJ3V^X4g>^EMAD*g3raGnfsP}XiK3Ix~!S>E5u#D>{ElR?aMuF)^rbU(i048x~L{M!!)>(?EG$3pz(p~QA01=W)G|( zvT<=_fZzDy%FEshEOExuOCQK}RZsFhFO&MXm-maGOkRNF+~P7195YU*Uw02;bW?OZ z3$qv>9#okh*)#D^zJA9H#csRRny+}yb@DvEM<;{rdBEe>(Og6>k8Wlvz(3SP-^kvFYpyYbKkB%jNZxNMsUYBgx?+gy2orD!T z%qs=kxC`zd_Al5t|3JFIRmlDghpo1(ya1g`mrxjqZaMtl9Ncadd?Q{eAR6s>&+I5} z@?ctZw~^Um?9jh$_4Z$6?h}P~lPhAo>*oyh{>?0PRdWqYvNYP>-q-U0SLdhyE=(m$ zw|7$iq3V>8>BI$fGE8QVjLM2@*J^lwPwcj|AZor0!LkwrnZS3;bSb6z;pO7ZV!^xl z9!vS38@4GQo(1J4$tb>hz~q_;27pV+D345M=dYV-re4*L39CWb!hhM{@!Tq@71n^x zD?|zU7#Y>dnNhpZU9T%pr-Cx}RIjOiazQzyOh#$g_>m0+rRI>Aouje6g^W4Q3wE13 zkNPxjCSH|x$DzYgT5XyQ9c^hS@ZIcL+Q1#76E2l;*+k;?`;gh{^95$cO}#@4A1mB{ zIDX^p7=6-_{$~OJ4{Z@&a)h?SH z%G(1ZZ0SZVkLyR(qo3EsbgF}jaVUz+GgwHU5&Cj zW46?8^mt4oXxW;ast6_U&SY$zH_v17*zKFZ)b;qc3!Jqgk3^vN4aoaK9zMuCv4qkk z-35`mt_^~UPyv9i8iG=9rQ}CV?!Q1m zg9;NaR|VBG@2(-oO304+K3M_`3}%Tgy9bL)o(+UNuZXa)iSEq>oYf~=N&Lep%l!0& zn~}5PrE+*HoYef9qU*8Wd*eQ&5f8P+BWSu|WO;i-iIwh#I6bcVCK3plg)O-Bd7Jd@ zlSZ}%d*S>Cz0ZP!7Can-J{j|?6dX+T5^f1}6A@aLUHTK%V+RT5w6U8F2M4a`ssZKo zgOHDw-gpPu^W#5-dGYWQepAZci!H&3qK#cs6X`CiHmbqT5)bR=-X> zk?=mD8Gb+(01p&oW`Oi|?ZVXkr$(%SQ-kAdO1=AjjSVYFTv@~kzR{7ByLyR1 zaos$9Bjw?bp3yE=4$rVJ9=d4vz=lwzUgfQV!%Z4^;;k$|^2DG&u`-PoONfW{7XEb6 z1}_i5PMK9-ngpLE7ji05V{O93D(SLPQb)cfCUGG9kZXH`Ix~X0TJC~(qvil4z>;KS z)RNDAvEEnOJPC5-`$Y#HzJ!@b<7dE~fwmvaG#9s5mmbPo4y2)jr@Kbyc z>tMUxnVs*TFFaFaQEw03^plLbROo{Zr5zaR^2?8VWP%y`{D^4quQCxpm%>cPeZJcU ztT~!40u&o%g9IFZVb+mp8QsMtT|!V(Z7dGFRTT&D43zf^^~s(jn_EH}!?b$ixQjp0 zTScpkJXom#;dLo01zBfz`s0V5_jEo#uN-Ems2iBLZ$RAs<-oIXs7G<`n=oGkHH;HA zVsPcvz_14N+aHVs%vn*{XY1pBN>I;gJ&pMyL@~9&Oc|IJI;5`9XEeujEn@ zaEz`Ka4ZA^b!dK(XRVNae|;_2@oJMAw^vJhrgVL-p!u%r+af|5FzAjhb+E21KvA@` z3%E8LmyTwth34XjYu3;5+TA>3LV43n@NO zcYv70-7$4&x~JGXmNBUn-7Sezx!)eA-`X^_f-KD_6JWvlh_mZ6glqxUJ{*1#{8+C4uG=M5U zN9|x-BAD(F)!l@Hrdo@`k=KPExP!W3>T>2q>-;yrp6Vj~9MK$UTYUSmugIqU-EHDT zNhGQ49z^DO@|^3n&Fu(YUKu}y&3L9L4zJjuJmtF?L67T1V;!U-#nl_l1uPaQs7i5_ zFyKhpjVJ7*!m?#t9^2el>!ZB5KTon}6Ya&F(B_z3%-gMiR)Za8q`}lpBq21)wj~xW z_q}KNO9v5yy}Z|^AS%Z(+7wpcf28_uQkcUR5$!##5XV}hSyAGczvCl6b_ zNvcUwML2*2c;IF6A_I3<2A%@kb~ffn0pRtNrA^52{**JTNfHZ#`civg6m7HNBS?y{ zBzuqxM~X}tuv2_P+Wo35xbg89vYZg+Gxf4orn{&zE@w0IZa%J8xS9s1I1)%8c z&X10b_yBb-`cr0vXm;hH!B0EkRN!tf#Uuh{2YL_}sqXu!!W-(xn*w2lvD;A3H`y2~ zs|ERYfEhENFN<5{KPc7oJy8E!TkM)_csS#2Iytn1OLihC42%?@3ZlUi3X#LHS>%Q$ zztJIxy}-vZKnjBNMJAv*zjlE$)+-8-DmE_CEsZ@$UrGl6cNX%N^MHC%u0UXUqo?C& zKIV5h%%k5H8xFFf`Wl;cLdfsP)yH^I}NlzmJai4|FOj_Dt1u9C+OAGUh< zFf3B?j{_f1?A>POvxPl5KsRjQosq9&f!!Akra9IrDTXv+B|*u^dvSCaeyFZekniLC z_x`zyTOuzbM_%SfEX*aVmH<_qtv(sDI!54FY-cc+Mi|-QL#;_e~|P+-Wq8GrL`RLcMi=P3p~E>Fdt=$eM_rUMv0M`G6RXgmqHM zMsPSIwW7#zg#uDXHt$MU+&|Q{T1u85z<*~E7opOJSBQvKO&x37eI4>3mrp;_5l}fd z=QN(Q@ka9b~>98KDavi$U_oelL1pvjF9Q^uyb3&-e+ z79HkxKK=Kgw}y|PJ4)m{ks-jk=8MHe*c#}!?&oE}xDGcE)pZDf)wzo3J z1MZ^B!bfiyJ{5dK%e6R(oTc56Wcyaj9>z|DFjIxtlZ!N$fEc8=^(TqrNq0o^aYueg zL56cSl=eQb1TBy4&yTThdD_vbWrIDp$8$yX2^TY*8s0?0De8LgIqd*eQYWrxT$aqF+IyFfE6|J5NW&R4|_PK@rK zrT$plWVwmWR{6RLaRJ2Xsj%fM`)m+2vDE8^TI{S;?=U(l`9u-CZLC;G{_l^u;b8gOq{IIg^hL*F`whduR_cf316@kuH(---!HyJ8#6BV;giDc1aJt$xe|}^G=E|zj97Gg?f3?D)C@u z7NMRciXRr-HLpY<3)17Rv7j}#N z*<@w)csc7m{P0id=mW%;e=RP*sG=;z5fdIq@5o0}BH zZTXnfv^51zF?#;0povu6a!bLYsuv>bnrL4nVcb3`<;KdfZ?<=kJywYENB&{5wznjP z5d+HMzPX1_yIzBn_-b+HIA+Ex9vASnKJjX#Ckaub=8B zq;1eqS46#e=)jKov4KhXlI2SjC;ruFeOJiJOMs@4(>7`RtI?+aaz2C7T=0ZqN*I>` zGqcPfDiK>4p2OZ$lB1AMH++%BT9Vfw4)Hd-ldhB#hkz7D$wYfx}%c?;W< zjygbIZEW-F@`ce`NCBG~($h~0vA62qnH|X%*W!%CO%iiNJEw42WHj6Hw1mVSwtg62 zKo|BIstP)CT#Na4HE+&RvqLtwQhr0OYSB3wt#I)cq*5{wIM{00`2=khw z=QdZqqho$3>@=Lcv)8x_rFHl?IFGoa=t*LbvdWa@*g&Wr@`CNXhO*aea*tP8Rctfdb7!s66Td+)^NM$!*@e1#?!ZgQ=+=;#0ad|o zBl|}5gyd1##hMUimPo~k>ILPU5I<3eQd&&w+9Zs4 zX3A2&blkroqxwgT=4r9VB7uwy=~m=4Jwp`J88M8$YXgZg(G}n3v;>ImAfg>&j87tu zRC6{Sv7H5B#vl`BIZyz!bovzB!;xR+OsW%r?w9*jo1>&({!Ul+N4`wJUqSrkgZk-6#@8eP)W}!;%iX_Ndu7aNwg%1~6Uauji^l~M`1am?`+`{d%)D$^i zMm5Bzn%8eI>RQNCv?^k{=j&NrRrdAK{jw$Akd1EJ%G>E<)i$UXs*09+u(3dVqCmZg zUQEX=E1~(;FJ!|(EGrfy$DUf}-HbqJT`6?r#+Ryc>S^<)Cs!3hBW^pb@jU7}hYgEq zcijp32tORfWg&>ZF^bWeFcIZ7^P!$sCOl~@mgA@ogA8{w-^2J8 zVxqZK|d!`!Qz=bpB_KuH;%dCPhz3fnX{RZ`_hm+xlzk&X!Gs zV^%~{6hdxD?zQ9R_^+kOBH=LJ!ktiO?`NC4VK+JWW2Ba&mc3(^<%1g;YkQIBtvTkX z!H5$vUQ~D?z((OAzhLru)uUbQAcE&uPl&nK`IWI5W9==Y*|%yimvU93c=nMOuZ^t{ zh~>PRB>~u+a>ZxXJ=V7WE0@h(?_Mqa)LiMlr>hymSs=fy>@=GW>;$qr*pBTRUcN$3 z4(5F?OUAll19wqp*L`YBzS*+i=msfow-LrMbuh z2YiOV?s2`>>6ufg2vVbAykcQOSab1x1Mx>$m9C z2DipdNTYEw%8xPv0;()0vqaHbFT>V_T4%Y2g=Q_^E?4El`^@5#S6Aq^qH@$9bRnNl zVL-RI*S-#&G^gfFxpT78>{NI8wzWcw`g0qZimnXg-Q$EeX%YE^Ro3gAxdTHgTW3y* zlvV~@EawmG`0Q|Mapgi>*xSdOr4G#Foj-0XDAzvuz8>ZObK|gU99PcWX2jg8>T~*1d5(8k zE|}SY27=!#ECBR(fL=~ar-1<_O_20W)tao}>9Tpt;(eJLk1#uw&^?d+n1$)0Uge@G zzMHBK6KgKr4A*c2~eF`Ymo;5qbx(1Xm{u|JU)y*|1H&7u*N2tcwREixESNst zHs}vjoLxwpEND|EJXnkg)Z5W)YBZj$^5mZ_NvnpyGx4q8^gm8XsHIpZW7|#zD0=4_ zV3*RR162*@O9341QV!Z!N?@w;L8|Z4t8CRrSy0lbnZ7UvniUqRKBt=Q>Hym8xB=dP zi^6&8+?J=Ga#X^Qa$d*wHd(9R+5*4f+)cT~s_~(({h>Qpfbb)a>WsWROj^o@Nh_Du zEa2}uH$CDpRjh}-`kmWWQ{Cpk!rrd8>7vftXSv)knXVzcyVJ%$UX&XJV0C2?Kk?gKzG|rB!zf|lh?TkTWcF%LZ{`ndLdNJqmQN#lRn7G{cp;1$ zpuRQ#yXh$QZJm6L%EL9I-n6|WyUf80?CH*4(%Y(<6aEcb!`Qp>G1}#7{*JSy`2v#H zr~hhZA@1;8lMe>`4TX59mn*@8J*E)Oa}5JWdtK+|??;ngFRy>0>nVJiwIPbwT_JbV zU3I@YpJ>Ef1Ug>g^&xa>U{7;$Nw*v}-pCy92KLE+{wAk5TvXAn2D#97%EKx808c~t z{3#x_yT7jgK|w(sPdF_U;ez}oWb6GYf~Cm-6Xp{gedj)i)i_)JQz6-N)o94}UpKxm*IHt3i}ux5<^P=R<=nDc&tyGqRL zT@-`WmqIEFK1_9LdugCUvs`gy-dAjU@WE9IgV)?lsdHk01FISr4F9q zQLw(!;e7Pkyx$vTzCW*%$00W&HG{5>*gndY61DW=Ru}*5@Bg|O)x&%HR*~Hu?}uF2 zK<33)cDzvDmnQeWrCl=g$($a{(h64)lmqn3j@O5MpO&}yYu2@2wNXm=zz4M*7m@_6 zi?n@W#=ZY6SpIogk4W1(!V=|gt!5M$oXmUBDt^emiFY}{?%&M8lSwavLbQGh&nehA%>lpVvB_;;s1G_&^xcCoB#Yw)#>Dyw>BW5@kL3>XVxWha6 zk+`k;!L=ileAYaiXXwga&M!J*C5^Uj>T%;og)dh9b*JnAT*S(hd*1ogm3!ZBZe+?) z%6a{IJMsVGbf~Mpb1j2(zBI;FQn)I&SJdWF9X8Ascb?~x0@@qX} zSjX#kDDxdzjx6;#%wt)!riDp(9?1I=ie{tuuZOoSb63ps>O|?0&B{m561oN zk=&n-zjhAh;ifNRQR|0HA+=_CPdfsne;H%7u>kA`T$z^tSU8i=ulvTu;{7eA9$@p< z9y@!PZHDfwxr%Fx`|!o3Cn^*S?5ZZHxSPC573zVBJB^X{6?mDLi}j-QOU zxTC*cXWP(aJaybONF3o>seDpt?J+nOn{d|?v zcARt#1vCQGZbr8T44*#^Zpw5C9Pe3WJd6IV!Ai$`lJqP)pIKtrH-G*k@_YAjbP$!- zYa|of*-VnvlKGZ*xvGOt-FBjdB}jBFRhT%yjC=eW5>POVP`qhzRwA&Iov9*r(jMJX|MqhztZI_!%I7_l;AkDTstc6+uTi+Cq6U*AJbOs>TPSNe zzqI`83!^9-W6FK9Qjc0sv*js?lbH+OfAIRyC~~Cl%tB$oRc#F8O}s-)8?g_eMy4<2 z?-z7aZ2f4w4uwNM<&S1AF4w$O;BXV;&l=^^e;qgf80-EvkJ^bM zV~ty)5+`AuhUVqKmdC=Oo2$I?x)55fS(+7~{lmfHm1>j925{Aj(0RJm<|t5G)3}@L zZ&A#jU9$|tk=8Rnn{F{xjhEApdNn~lXzHx)22Y^|X;*`v+7+Hnl8vhttMjBB}e?6^-AVfAZGt%Wq>&KZbGyqhW9!Q9{ zD%zMnNa)oyXOXVR`HM5x^@e|3{?`IuxhY)YDJX!`cY%DDFvmS})uEtUPVL?|NVS&I z&Yglm=PdNjH1B4~mNl2lR++k6jjG*Lwk@s~?$$!=993h)OX7V$IzWvC^*|SYgWhmQ z0Yl$roHwhoH65<_ywa&Ebrl6BuUTa@dXfAmZ}hgkN$L}>b-xyJBN^{}SG}K%P9`%y zD?U}3^$tKn?JN+k8IH;7g@Y-@FbcmR^~QafoM>sM;wXVCN}91v(xmOKcHe`4mt17} zHCJw&P1Tw#^3CJ6=n+pHvU0duYY#RGp>mTwC*^5%6p<%Q)PuIA=bEkt&|Lh@&vddM z>@h5Q>vq@tT+E~oI+q9C0M+fLItW)0q~k_&shba@-=uDA_|WouRZ9b{AcKhKYN7Z_ zh)jV>fY#bvm#J`>NC&zi$qesaFs}clTn6nRagGqUOP#Uw|$RlP1IqKQfY!da!ATP($Bey+7z51_6=(K zd!@OH$?l;{b`0g3KEQ^%Zv+PBC$6lSZ zk|+=x>c68CWg8>o-K*I_YpKjj@-!~|510RZfy|>&)f?vp($wC-24~Ofl$MiUooR#* z8yKu!h%%DR8f;I%Y3LuuxO~d9`(&>7saLL2LD1PK19at%UJg6~CuChX<`t?*JjP3G zDM}nMm`hMyvWYy9);1D=t+&+J3T%Ji>qJ^*jm)48J`Q*70${?dhQfC6hj8=#zlLl`8w+z5az3Uax2=gJ|YkHAhpW|HiKO(tym*ahqE?!1`{SNR{)Hdf*Sr_DaZlS%-7 z2B}4s6a1*ETII2pF~PIN^_w|sqwbaumz6?*9YxtwPtLt795}!HRk2tZoZFh#VRlIm zR8{n-1?6@FGT8L0+U2_~=AZZxThn_%{mYgODlZSI`bFXtkSnczPS@Xq-&0$uv2Wi0 z!c0MG`jUiWt56GhUGGZU%m#RK0jKz?O}x%?;GP?P_R%F9 zq}*ZG{(V>J@p4gf;CBc<9e;?a)Yyh+>Y2$T6Pu z%(dG1jBD;L$%Qj>W|my9Rfy0Lgt|E`q+U6o?_Zz4I(C6CHsz0?iwb~M1^`>D(R+Eg%=!*4uc*yJfGHaF!A6bGqn&lz?;YqqD*?-lXhg3QA~Fr?QWIv zJ6k<;+Gd%D508h;ZWxD#r*d-XgIR}*NVT38Gi^XM5P3QbRS?uKhn9axw{dZQ@@)i}iac`u^XK|9w;w?!#jWf*z{QNC^fj4CY>mvT3P9 zD4+Ouq{H_PT$3ABu?8{KQzc#Up%Z=Y-rQ!4zk}vs=bkC2;C@8C2!lC7r{rvXO>Dn_ zSN7ky^P+ovBvU@XPwR+n$}uj)jbd_Ju?sCt6$Ci?D+FkUl~)mk(d2!5-K zPo7YYY)kc8*Zc$49KJ2-15;+cBL$WU)4*nn&9IVfBly#q@kvs}J;wGB6TAyA0X!z> znYp`2Ptwf6U@S&{5UvhcFns(#ufuEmY;pedo)^W+-3BhXSiV_SK#yE!2L10A{~)ByDP* z^tIP2JgPV}6!)zpTjEN`{#3-enY-!T*11wq_QW;JP{TXmhfM4CT$-xl3GESL?mzb- zwqW7i{`ZL9u^Op_TDL9P9o_2uyi1liJri0{0ucQh?D-3`~ z#3!^V?KnU=t0~ z5pT&MJ%-2J<97NS#A?1411Sb?JaVK>BUnO)_#Me@h+z_d|UBpIU0Wnp}|)6jwTT^?rwX49of?x{e_ z@T$+Li)CWH>y(NSud?PSc5Ge?iux|YU^_$Qx9Fc~6cWtG*-MOkzi(=XKCyhc^YIz4 z2BZ&uf&6Blt!`^t7X)s^?|9M?OD?@M8S`Z@jmU~$U#Sk$m%-@a8xKzk0CczaA*;UA zvNNXnWl}U~j(onUI!gD_@>IgG(y!yMW-wG&r61SpLi*jsx6nODuF2pIn-RagpCg>!nz{TiS z5gQr-x#_oo$k9|Cf6}uVKHqOApj2R|3cK44%u;g|-)2kcX!@3mzaP1};ecTSUl`NZ z3b30?k)~%xOncW5M8~w~vZnMA;x9Ba?nT!-_#dFZIQcb_BwwJk1?7Ascqf$BTEo&*K2ww8=MSX5-Yr*e=q z$p|OdrZ%*wyjBX}Rvr;kn2NJw6>)u1*U}jme~ct5gOr~PPhsiU;LM2@_>zeNmI*af+$uL&1s5f)Y>VRtRTr9pwuj#98SRYe(~Kchd;3Dj9MgH7Qyy`FT~vLz$cN zJGrv%Q+sU?K-KHQJqaWR6H6K$lx=+>03{Cz(#ILRS}^L1GPN zeEDI7SBnKe$VX$s)}D$-N9KDKo9!qu)jBJ68*_qR5aytbw?8yHchyN>op}w+Cch9Q zYvN(Bt5e5YMMy65cgP;DeZ5>jv#%ocwzjG3N zepJbj;MOmu+qYs5ZRfSn=Wlt)22ejT)|X{OJy-e;kSJ~?U z{*0b`O6!^Rxs#F9Wk~c(9Zyq)$n*%ARjin#Bfv5ia3j|riY#pLr=8LAOy+Jqa$(z@ zaCT8a&{$E3pMfGJZ1Fe2w&5aoqxJ>t;)Avk0^~u=(clY-Db!P1(M1Ww!)BPIzF~lI_BjsOf+?VWKC@4 zfvH(5UPm`2)Awr|Tt!kLc*-zG13y8&uh?AsV&~Ivn3F@2mcdL8hKusB-!lbr8`Cyp z^;i{xrljGgcSD?c_Xzc{Tx1E6lONhPZ9f(fvNhYX|4gK3fTW#fIIYsM;#6(hPwEhy zpDsSiHfiMNu$Q-^>}R-I!)svY4*FD2{bPB!{UH7>>w_W=TN$ z;QpfOkGT@=rcTj*;?-KRwpP56EzXLHNH4~%x(z1T04AE7M~O#>s`yWcQe&JdVcR;h z#7{-b*6vUhkI0>I0*2`!!xcpoU3Cc`{0YO)8T)2L$umDML+rHpQ3^sIJ!@I0<@ zbz7W&cH={`;Jxza3y~28(UR;cqm$jJx%@ojf=mi{&xqaLhK=I)C%yR{!7S1O1N*vE zT*X+!?*q$j7M!gJjCPHzD>Nnk@~DYv?&AuK5KYx^{_*5TfFNkG&IYhSjRd3c;=VRY zmbjS0a+E}yvrhY(PXU@K`P*Bs&Bw=3HlbN%mlgB?dOqqt+NuMOyqwMs)}{7LIGvN4 ze+9Sh_v^IVC>&>ZN?xG$5wY^tp8zqqDn88BhH&|CH#oY-56K*|=y?|=o1)zeQ(*ij}t4s$&2$mW7{96ZQKFa&c&b1BHN(^+-C z{2%LVK|4L*xn|jIcZ?JgxEo*&imH1m>kyN+r>svfWqlSl1pY7#toE8wlaBRAYM&x>N@oHY8L!o^wRak(hNZTBT*PPg*_~bgDY{1Iq8rPT0Ru|?v zXTQ@m?5RRzec8dMFcas=7{`h)fjygqvcjWW35zas>#>BLc+^^vbhKI z9H4!L({Z_!3;lM2)NcAQgdw0``f&+daU_?;AVK9_WE<7qE~rrQCPTUTi#g(%j$P> zv1$=j20f0@=gNA6u^gdMoKqC&K^K$j9pND6sH?!VJb6_y-Zv>xAj`K@bjk@jSibsz z*#c(ne87;Vv2g(JY3feZNd8Ez4H~+aToE>}iP`oJ$LLKZ|oWFXfr zHLz$nAtX%TLxsq9EeR%qLyx-7AB~j38u^aenqHZSw3E@%i>emt+X57uhWU3m?1&n} zJ(zdhrVNX9v4e?;U~G5{MANfM7sA>HTJRI6ZzZ38{nm()q`6By0AB5l12gNV8ET)O zNy#ygT8{Q!3pKXg2zZwm%T3q`w-fWPm|=RHdQ?~aH>zAzyHVb6CFZsIHFrzE9gF_H z?rX{eBQ1+vSvGQk=ngM+PE^!gSDnofL#}XDo5XxzYPX$EB&gXn>!*UQYcD!nThF36 z?YNo-^?vXRFos>$Nc?HjI3qn*qidQO z({-84{|nU7dsu!B5JsqimXekp?0+AQtxQ83`Yz;jjeu@ehjQ{acL)LS*tf%UoSqNa zQQq2T&p3sPFRQ41#T5@9yc^Ybf>;sV^L54l+V#@UAgdb7!4J0^Rl2Fb#T3!1YDU| zj`=jMsPbUhb}DeIN;-Ons~~+Xhrw9+P+8sTRV|(K)(^S~o~|(hmq0VBzLjo%gt)k4 z`?sFT`1TE3qB%Rmq8=T;THNDc)+#h@)5)olTzF!X9ZpOe@gcm;HqDB00;AdUrsNI_ zP;aB>r+U)XoSP6Ox5cZj{;Voi8PX)baFqdc?>+y#D>^4Drhj*%^;rWrCDU_223%3z z6tzqN$MhJB*A5cDb!>=6IW~}DoNJ?Yz(rr}d?-DMqDn!9KxzpOSK?z+}q zk~WcR#IKN>PZ1xmCr63{<329;GP%@)3U{;A;bu!$PAxJmM`hlfYFORB0rdJ9%#i`; zjffNbF8bj2?ohs7kgPSEYM*Ck;KKRSy##oh#%pe7S|1LV0ZkJ1;UL z9%M=b7#3YI{TU!nkG?swQpnX&9#Jme{$~$9EBAGb=ZZp#R_x4lObQ%mue8B)d3>&+ z{rW#YiLHIcbLExQ(*A$WdGBqw{qBFh=l0@S3;#n2A=WSTfBg2pNfqM%`+~*)4eg8n z##v7KaWNx0;uTfDd5M0hcvl;IMs(^fkDb`U)Zc6O%JX1sdLwV|fR^~ez^r_q$}4#o zH$Qg3S1C&ryP3+-ns#MHEn`Z=nc|XN z&PxkY{ZaMTF01{r$^(|56)}M^HO!VO52g7Mh)$Pyw zMmTF6(Xen0FP9_1cO*Q77N#8Zr>VG!=MwgBxvGIMk{s&N+q*hQ^mhZ0H^s#!S@UoM z=DvTCni0;-#g({n30(tSwva zXct1o<;*;eEyZ9rtYPvYY|CJC@qpbF?z5Olt3ZVNNWo5A= zBM%CnYNQ?PyoOo%xWX7~ehQA#*5CSA_$gPxKEG!dbx?}{4H4h7<<%ez+e{Z4R;?)@ zn=z}g@F=C@gXz8Gdj+&=NOz%w$OZ2j!;KV4-AK-H_T#rt0Xk|H%A98!iOR0Tk_+VB zZ0|sTo>t#d;J0aB4eCsxgvR-_!A}PtVb7HKh!I>oTeH26=Yl1a_*7P4Cww{M_aSN? znfrU%Ato^T?@viEeLjq)dcRrNQqNI+DV5D^Hd(z}Fm&B~C%o!ww^Cl~_vNUN3z&ef zQLYg?ewtG{^7;lb!hGWW6$G*yY=|YxZ?L{k9<_$twqV#P0jcVPdmG=ee;MN=Q0uXM z;|Bn`GqIC1QpG>HaM#sk-mI&J!YNykCAN{ra9$~-x=J~@`_sRGm>M_p6(i=t zaiwBb4!qZz@f{R`c8&(lB?b?+KR1E<`RCppw?bC{*b+4n?rl|!I1z?&u#ZsHjU+$C zw6r6F=$E}pTbWj*{LR@ILPE9S)O}Nio)a$ORZ7h-oaHm;d^4w0k7g}I-b2t_9CRZJ zHVg*9jLo&9zBTt#91EH*ZO?n;Pn&9=rS2x_a(NTI#idh~g}1Xur*^Su`{>b(~`Qlrl#`)=LQ@cD2?es!b_HaF2w2$w{_5Z}xKv)OWf$4+~#!O>6i>(A;wWj49$XhEz&eMJe6kdA^y8jyN$OK7X8LuUW zHdGj;;ox;SMz*A?`jUo(Yq`-P+cKef`Zrh!ONX&Ty9Qe$$2;Gxvo!}x&1qbq(43!a z`&NdT12!@(1+YqSfK>-YWXK>2Jri-fxC6Jf!R595o|iqgMtEFwqeC}PKE_4)fKHmn zGc_$-N`Im9>aeoJ)cDlt<#FS~)bd>NQg>ls0^cg5O5>~g0iP*+3q|q;E|P;x!ttjC zH%3_h&|X@9d8Q~MB4UDa3qqfNxBUI6ivNvwo|dK&IeNDcy0Z%WWDV_WXLFYYDj7lCp$kDHv zkpx93vV9K`cR1B!-N36gy+;-A`(#%nV-|oZF#=}zWDTJcY9(gU^~Aw*jjph(3OkA?2OALj={=yhexw%=i#Zk4ET&t!V+UvbL8 ze)>?XI~hp(bY%{k55lBbBX4^-*ZAkP&c|lFPyS*f%9+0|f4To2;>3o%WcvsJv_G5C z+1;*cBvy4>l4G65pDkM*B#dE|DYm**7eVUU4B7}Y&{{Ym%!>40V>61OM$vYBJDpNc z);p!iU{&Tv##j_6=%Sk;hMB0op!Au}`u8G?y>T&7>@{PG-u9FDl)BWF#LXmtwh>-e z>t+SB{V_KP(WJm(MDSDxCarKSW-;6<6GGO|`57;C0Zt78L*pGckQJfo808=G7;0PV zw?&7y{KZkuEA84*Sx=fCh3Y}-8f($moh&4a#&GgLNn=LMF&$3DKlj~#nW?v^`|4s$ zpbaZlkDZE=enJ2h88ngYyO-A*o-q2`lEECfBxTH<`1vIGNBzk>5qqOTSBS%&*q~wI z(aSb_UftfHvW!{d#y$=Sj-TypU08uQAZQL&`}FviXvfMj^h(uFTh`Fvs}P_#@evbX zIwHV2Z~T-HvO1jMe%gZS6ap;f*w_-UTInA0vQKd?K7^_c(eT;$VI#pm-`Nz=#Eysz zPbI(cf!Wbf-=<#)6I*+1+qTayScP<>bVw|!o}firzV4N&A#{BBH&Xj*OQG4jYXc*C zY>RpQ7qHMM^B4uz{k#0c`Je6r;I6HWfv9}Rm(}FMLOf~ro{>pwV&4oxT6Fd91 zPBHFhR|*q3(vtF$?D&NU|M>md2QGhS!hp*!X}L`{7e?95X^^2&6o8Yd0hY=Va2rijvFCGZ7&4RY%yi&5LAOoCS?!Bd^i|Gs z&5nx;I!hG5L5OF__(T}*lfvhHuuWyNR=Az>TiMBt~Gd?OxY&Vnl3+4v^PpIsreMI6zyB%NMriC?M@>JZ%#ZV}L?2 zd(OOw$;1{4b1*xMdUc{P;<}Yyw9$ka#SV3F)R@k(oHm}uro$KCgwoXKx84)L{`wj^ zOYuzFNJ;413P{daYvlwsofa96UKINp^Peu~>?fV%#CG$;O^1JqM#~Q7HtK~j1pM6* zkw3bJr1}aTGan?VqOu%1la==uM5Kl|x_2lsksDXmBsmqAe~-Zi_;*;%SDHL6&`1p- zH={35@oR@Uj-xROWX#4F!M-KfFQDE#T@~rm>+#(I!4;Sz8_H|`%rk&g=b4@tFR8lh z@*#NP4-QkPb$VqevbHI3Z?1kXR?>Y7u)=+g?_$p*`xV!@HOu)u+g9}-eTXgh1phma zw-;D6Ww#pT?k>=N9~ zHA7wtpKkkEs8y?d2aK&xh;HHx2Y)#wXE#>Ruy_G78UMZBnHAEIB_84lc%6lsM6@yi z4#kBUiMmH=_FKvkIl)EG05e{x6!*RE-IqJ7b7u8aL-@)yMO=go9sM$uy3muPvxkDz z%ImRv4&XF^y8=4y^rCv@fanH~4;bn+qFdou(6mV3QstX$XC2&b1asGIfzRce)fZX2 z;dyq*_6%!skl#HL1U_#hk&l1d3O}rCXST5nI59T$bu>t`IPnujI|2?Yo@~r1P;qwe zP91=2n*=-SyYGpRzmAyUhoA`s5m{1toTllBR>hXZw!}2$!qM9cNrz$fk z&m&up?Ghy1bMl|GI*VIaDQyaxv%I~5v>pAtpedP2f}800;Li7&SRUyAPH~|w zs*rrO*GX1sm7_SBs5l`Q$nN)Fh#y_;E>%M$*%)YxGM-C8WYKlMM*He*XMyc#6?g+h z3vVJgW!En*li!BXT&tOb~5FYBrRxKTY0540Ik8xPc!)UYJ=|*z$(U%w{?3pN4Aa(3CxyvOa(LOh~#fFRU4BC zVB~7^)~$lpL1+EV*lE-HWmJGVCTAU-BT6z4Z_NLt2ub8VY_f31XN4kQE~6_Xw@B_A zD7!8R67M&pNLSyp*s_ou8=zqM?g~-K0DORyn zARW%)7!Pjy5cM&zA9azW)e|UHZ@L|nb z1oVsb*6`#?F#Y9)k?%dp04-;_{qSI`>*Dz-X#a5xiDKLl@nfuI^+EvHWWp1I5EhuK z|3+%U1-+juE3RJFDK-V1IB~hZDf6q-iYJxS_FOsW_H7^byvRr;8N9@`b&@MZkJgP= zJkwvsyTo}u)d=hH>vu%Z3TMk|w*mrzVu#Daw;Z_Ha#LZYJd=uph+^Iv=|$HHkG|=z zFp?s6*eN1?J@N*{Ykl_4V@mvr0yC|cBde^eS=vKtf+mMqGIDtNqO$$Q>Z3uX!zjAQ zdFP#qf6&JO*>`G}2YMb!f&#?pV55zE%^I6SQAG{Y;g3St5bXh-Pj~Q~!Kqi1*z~@| zH>)&tYjbMb1EtZ~@FG<>g#L4vnkygu2YjCUdUzmLnCFCZ zwFBYZWJru*+lCkFlsd@T@wv}*!$S#+X6!xCDILz$C3UBkg#UiI>T9SU; z8`;In!pv0sj=i)z4Ak2?5ushj_IW4c!m4`B1>zK{8+s4UO>h33BO6IxbV>RRZ`hP* zkGp9u*?%JB<%*2YdX*2rzt;saTLo;rx8n(d`)&3x%e@SH`t4T%foKI4_SL12^-6gyDo4>mf4|7tV3tZWmNvrViM_i^6ms{(6eT;3Ef=5#m|kT1T^oq z8RxH|EA+zyNhda#6^Ce7J6e3z&9*Jnd1-Ji{w=C-;N_|GLH(7VS9rzk10iG~@9DA+ zqB}LYt*-kPrfrWpOihGI-Zlm6>(In2BgDclUF@2M0;`g;FJH7C>^Wvtl?_55rgRj= zX!o5n-ph|HsMJJEzE@+0SeR2trmH`xSt^*yDni@{YCyId=jlD@<*q{L8IznHxZG?) zI@QG$w1oo~GJ1lttU9yiTBdWQEw)hh;fdU~a4IT+k+^uYqzyUe3XNhO3M0T11*@sI zkcC0np#gew-(8A!7N^SdYr5Yr0a~JpJX6(srzjR*s(Cl(pD*}wvb+e3d`;ALC)-g& z846&=w~rDsBwX>)w%Rm-AN|@ZNg9oXqa^jn+hj65(-DbR?LJj8)uCYV#?_GOlNS>v z2Wix7LcuW+`=(DlDRNlRYAN7y84NNqM*c9(K}hFoMz}F}QLMV$ciIDX%Q&m*;f}iX z??zZH!ee^No5=9IMKM~3R%2)2^*;?WcK$43|N9cT8Sf%Cim_BKx-<1+-Hic$p80CO z^e(iQCSj4Kpn$-y7XSqJm6*-Aa?c{s3u~rgC0?$NrRIJPTW*zDdq4gt%BR~4t_jS) zBJUb@owCL(ZFZ3WxW1m?o6mbjvAfL7Q~Mb1Gwp>T!fp7F%zhJ{o~0eH_^^T%6#i12 zHk-J`tOsvlgGUyK0N?NsEu=CeexWCJ#IW}p`0&+h+QmqXjYvpD+RD#2-MFW%s|8+1 z-rektAY1Yx_!y-hc?$;QE~Vkg=R2=;4`Lej3*Ps| z%g8F;0CrdH>4=9yMk9&eKkOrWvHlt!Dr8Tz3 z7^`M#im5@+YN^&dHfB}STth^J&}vOFPeBse5=ulWND$=7x$n<8?R|Z(??3Qd&u=2O zz4v;r{aUZR-fIXIBoZHH=Jx>x2e}cZ>Is6UNnu@hpinMV z4O28~V+XQLxaxCKK|#~qWA41w*y~h&RE&D*LHLU7&yacj;m~`Q2tT`lcDnc;`+su- zQutk%p~I%9mTTcLEGkX+&{kn*u;;#$g$_l1ie?Qfi|d!V#{IrT}Jq}F%sBz_2i`avXwn7Yw6&oIrB#7z@98K8JE00 z@iQ@d2jEW{eFsy(smaat%|o=y?ZzuwUv3)4np`$BlQR`fZ$9r4|Dadded{Epo}#Dn zzG%F5Wuj$_Y#E(xQ+7xHiOuG&tTO7}>#2K$+%K4|gjv~Jkiy)`N#@ltX2WuK-?_k& z;gdN^j;-`_7ELWzBLqSGIQ^mJFEkU!KERO`_A7YagIhA&jO_<8oy=?!Xj?);d`P$5 z18I|ZUC&J=6XJ|aXw`m~jQ5zy6vQRoB8llMdS|ltJ~drj>Vbq1a3P0YnS!w3=b(;# z{=hv1aSGNN%duH-7A( zJ)KOk@N&#Oc6+>3$r2 zZtR1g<9+wz-ebd6(l=5X9Iza!B?Y(Oo`W`hJ^0fV=^cHFgJBP=?1h-^BFeMSrFrgG z2z3>H2cZzV&At<#TXGIjV<#=Dt0^bPMa&M{{1u$6Wom&7w-i>Znk~k%{HS9Cm1jH# z$vpQZ6ic3aZf6A8)P7%$FjIFgXmb8?kz~f%zPWO0)fC=vQh3L|v{St2MQug7WhiZw z%~@~tORJ?ugxvUvHoLY&2fFH+@g$g~0Dba-LOIp+6``+H1Pcci&a`aV!XDrIFmZUC zJ*u_D%Q5|jK-w9x?9_*(=@hP7u&_n@)Lvsy6*U}5Rxu*=%yWCace3}U_HR3o$636& zueR1QH6YLI)jbMm$Ti~UaJ!oAJUZt5Y4coLz?zO4qAE<6!{giOs>fNxx8LT$yAXxQ291{C+3`AqrW<|9 ze16(X*K~!$?h30$up#ZYXb;?&XwZ^D&X54l>yw#iK>vjX_W)1k`=PVdpw&?kjVBq= zCV?>0YRP-gz$Ueg^y*F?UUjAW53h=t%83r$&u|QcdAoVBUf7=aHrhY-EP!{p^v-9L z=kR+hQK)IQBPf?P~{;qX~;yH8|U*ST#ckeE4u<0iZ4|Vd-)wUesl~tP>6x4@=t!2Xslyzl9{v1zIGQ$?`wmR8 zf=?}d%>A}V?!TLpaW(2w(|*t0*0-ptX;;XUWt6hkLHY9vuVnay(E8=(;CM(n*vluMj4R9!(3{8#2%~;n=PkH-#3|Dm zxqp7!WGu`j3|#Xu>S3(NP84TRnA+%^ z{bqfG%9e+8VN|)-jtuhboZcCeNp~SmHo`a(QgJ)e#&YJ5iKZDM=VQ&)`2Z^Ho^b~J z(w8q^9STTff^emIbH70m3i_2G=NCVF^X@_xusqBRQttNF%((sF@Wbtzi;tDCs)6p` zam}}NXKK=)w6@4zEb~L%4Qpcw>=>P3lI51tcw*~C>q_VpO_!v%Za6XDoSR(h=d2NU zO5WRZe_PrSzc0{;%3Tsw>nPfFmLHJcCSES7vyFu)wlfL!gR*<;{~^@Xf%E#y?R2ky zm66@$7T`(ld80EKt8*1Zan;7OpZ80qYHAp@W4O$ZLuz{TDRG98X1j`KlA_?vA_(8I z2ad5l7KeUkdDKCF#NBTf>1ays|Clqu;AwX*=P>W=I3*uAAs6=Ohcy32MV-nz!0xL# zyI`0WK`>I+MBZQhx?~hhA`JEvcBr?|G=mPbCr^1-x)*jko*7jg#+6vo+KK~I4c_-e zbxgcY#A$mO6pMI;B9o7xBCG@t8}8AQ;>3P*iVt4&)>&sIWbpOWXYA}0;nbFj!*;;CN29z|hMY8GgQ`qzFLqIH-xcp;GfdKG^y zk|+{IpE}vNN$YYv@6qFgsW%L3FW+N4vQLIPTC&l$^_hD9-XnaQ-_%4yqUU`NBXP7X z5qZx4Vf&I1Z;_}*#w;v!%r)yEYLzjA(7vqFi zcVg-vo(sR){qnCDFaOGXnR@%cx%$44W!n4q+SlK|JaY1+_(R>&Yx=4!4k6^7Ve$;r z+inJrm4(y5^Td|?nYeZ_Rk?6FetvVmWKM$_lZQRg5|UYr;Ye@CbX>7=bR|_WYkw#Z zJ5q)HG%hRIKQcl`QhHL$C&4;Rxfi1b1zkK$yyqRB)SgDHo<}eaZ5Nf6*;9*$Ny178 zwecJVS4Ye1CLG~(zYg=*yrAO!rTEOT<$Wxn*n1BXUQ1H{A;03R&LCenh#vS*psH(Y z*>B|rA!jG^CIs?LS9M&xW*-*6RU?i0G84E)ev#04};w2v9KwLo|GP5o|NoqiyRvcxjNs z_1lqy0%^wB@|ZCL+%fe`@ z#`1ovsa?MxPDZHCw9bz`{ieh>Z#JlTIbNgdF++;QIlzwaf)80V9z+!G1!zgL`oRAs zzBl##!FgIePrG%kLHu6}V4-gBSGhxcH}a8kD+-tXbD`0S{rMO+4d+~V9q0O^)U1?l zWYW*s;jzblufj%>Rw#e3KzT<6x&d!|hqNBovmWO*N<(PU?;JiMby1SWrJUj%WP>IO z7t6+JIBH^DgP+SR!zhLBXag*_ZHqqLMhQVIVB!oyYd(#f{63o9pD#$u4tF>VZ2uG3 zlZ^a9vASKGCuyc9FZf9c8u2XQNq52fzf#u2N#aLMctnI^3$8(UC7yoB+Hi~#5T>;Q zRZ#)uUD9cBkr*R^)}Jg;@0!g|sW2}8%z4xm8t%})-K#`v_+YUC+l_vybH(onF*jw1 zT1k%*s@^_0cmXQEiB&Zh|vZ5A0sAyz(OT?>_lny6hs%4arAJk@l% zdb_T7+g;-lL;!3XiTMtwrG|LdhJU<6orFY1S|7riLL7r<8MhHDCeE(<gyF zxjKmNr)T^e2vceLwr2w#iS0uJx89#IeP(~ir##_b?$ zm^2Gp=bMHp4t7`_`qQ^&A#Zz@1j(6Z9WADjn*+?oQ_E!>gm|o9dYo5*`+3NE!bKqr zMmZ}NB0Y@`yN^F`UxN6+I&7)nzzjRN-Q1jIxALyozR%d&tf$*_PDMq?{s&wDT|zb# zLfS;pN4pkf;E5?mR|Vh}yRx+6`yiqmYzK$+TeacSk810jCW1KJD>Y7Fb}6f z2%K3omk9lFP0!vfpL>Wblh0egEtz{>O^ESig?;yNzCt}D3gPj2QuZCXx*M)nojm^) zQG#WZVGl1Ml>*kRB2_KccMdpZb>JH)A(z#3ZUs8a(IG-}f_k=X@8cOnwPT?6KY!ru0q{?Ap+`q?Td6dOI`8(R`(xdFe#{>@rC8 za-#JRzCKT|WP1ICvfqCWD4@wXo+El;>T4pR@}8LZtF{;C*3NygepKIV64&rZYz%b; z^7MUoMU|v@)=AQ#bU(EoB%oPIvhb8b@*qcSvZSRX4HAem)l=&jYn_;zlWSEEs~2wH zxy|{uc)3F0i=8Z+Pk?!xN_d!9cat!`Lk3|eqSw)j}@$d<{Km@ z#jRU8W+dZh58Mp)>Y+sh!^#VFVznxMpBo_fpt=9<(4*(90Dwd7`!TxZ*7?Yv&D-SW zOr8z3^RwBTQNc+#{{tA+T80k_SYClhX^39JUU*U5FLQ2WI>CC|j!wZ#}vJ1Ne(AQnj z{v`If1evhFjJ)f+U>6SRvAqJ3R_=S=5uMA`PJ51% z+m+rW_z9#SBrtahdYDExE!#KU`>@U01=Hx#dl=&UUuggUDWG-I5nlc0=Ym=Ix#Y6u zq-6I-XK#2XE_JuCCj9+NVSba{sd_V4rA zW+TZ6J5--pZz3-4%u(Bd*RnWw{$6{@RheOx2mgvOdhvD5k)6i74SpRl-W_@- z>DyF$=&df~CzW|FC;FKtu@{9#nc4F|dzqI;iMkYhyz{&HZCOYS#L9re-G?4`Lsy;+ z=dCcSx5*mHl?hyyO0#&u)HLymC;@T91J3`H|NVQiru!SgEO@^Uc1lzmp3n%#zGe|k zR8;7Ur#q2;sGCa1o)mSdIANvOyEPizg^VGj4zD43JsOF2PIZCjE<1m7H*?v4*;U$6 zTfU8FybE+)OW$;bb7zn81~Cb<#rSqj&fxzXJCOt0-pRr z&dJ&KAY1E@&5I2M;S0l=sX}_ay%p%eEi~r#x)Sl6@G_VO&G2MjKFT?`oc@9`*o1Z2 zxl5m_-Yj}umtB6oyCGr2C;7c(;gv2ne$n!R(BjjoWSqQ)yBB2t$-(Bxd!CA!!hb|s zM0za)SeLsk-5!=v>ai($h3UhPpR?iyH8@#jZ*^Ts>M%jTq9*o|t(wYaVbq>K;&2f~Rf7js=I2&{YEuxL$(bL8%6qYn7QNC(_xdg)fx~s7 z4w>~#njm1EaX2lr>Yv07hP5LcUNkOX)CXGehBVkkfh zmlx97_sY&_Kr9jGIF54K%n3;h8ecP~PO*#efpO13f#Y5s8kC!9qH(9kM||JqP4}Q= zSZwUviAoq`M?FEw3xil8-Df1_oHWAUnOZoXF-^4H{KqK*SC_CxEJ8xEt=T?PWthT}QG-XE$H*WvGJz<2gtit2G1PFYWB@xefc=2>zE%~AGORVhBV?IUUgo)B-dv6O@1U?GGyxG?jar!X!U{Y z&!ZHOaj~*$<#4^M?B>io7D-Z!ExG6hyo9m8XK^1Qe~$;5!N* zJ1Twf8w_klFqpY%h!ADquujP$cignxzY>0%(F)j!gUTMZL0m(T2ICMqNg}2e+~y$c z`K5u)b;pT5OB0mr5;4hKCP_oRtAZq4R?@lqi!@-Q5Y4sIJdBP>>OpX;NsTSRMlN#W z>hARVDtKqH*M3~D&}lH)sd~yow|;2WZOzo(zM8JrE-s_#0{0=U{7Dm0SrdsV;lM4h9-jtU)yX;aB$g{Q@rC6g3wz>#vcls)$B zyXmn|te~d6#ga`&+gE<%+nw$Tn6|^0$54+*G7qJV>h@SH!tdGXszyI%v#!xzjqo4Z z;MKNXQd#S~@937Y0K_2SbUl8<_ifWy_QIRtR1sks~qAN~khAi~hX zyHl+b_&EBSL|1o*c-32W(Gp8!f>9{V_VT=8`yEzgv=@XNIq-rq;huQf#@a|p76`Of-K5qTu?cI-8M=}fwGi9GEy8lZd@kz;%TtbU)}HO=x6=ZN7h?{Fk-)h_ZSusz!f8Z6 ztmn*EwLiPSZn?{k(G075S?JA@>Rsx=(ljP8hOb-j-=upV8?Pf@nQa_9VVGW_P4UGP zC+Efba&i{Y_)LE#Mzr^5echc~C9ift^FQyV)>@kgFiW4z5!z3H7;#H~c~wUp@bYN* zqN-PKXw~NKKUY&cG*@=%k_EebcBOQ>Z&&@uIlrsrRj!cgY@Iwh|2 zz6Qw5_Vv7cAgqg?9}kcsfO2 zc%3NcQp;at6|tYxR;{$ho?g-mV1oqb%MNk zWcV+03~(wtE#hSfU+6Bl6>TVedK>g5=5;lLKkgZUGTOE)3ttLPtxl#qJ;_kAiA~HA ztEyh^w@+4=FcSe{;V!6zgWYWkD278OB8cn(ozp4AbP<~H)yzVwF`!+0xf+<+{c5Yj zD%rVNcfYzH64{0g)R}QOTKH%+X?t2hHe}T+6^8 zFS~ErDGuF>EbHCUMVEdMzXk?_r$Voulg_(g9EFK0cS9$uJKZM)cV*sj*`Nq*)I z8e3vIcZh_Xb_heR%6FHfr7)IRwS#6;hGcNI`;ecedJt9QmP z!|+WIA}?hBIuC?=TX{YQcBq-YNN~OKBG4g&O&+~=!%jpq2yPd=eE~s>r!O{z?Jj}9 zL}gNr_2T{slinZ2F@z=q!L$?33KMqHoQ`jN*zBa@gSOX#>RQnoLe3Ye6jYeHCmC*0 z5T<9#krGah(!b-Vey>}7t9sv8Fn{@dO0q-v$gwnf@xd<6>nG;)LT^|{#~M8>2* z+`tH#ds-KKBtDy~rV-?Td+PQWGRa>W;d1-*o~emH?X zrMmZ9(D0&Gz{adORU?g8qAZc*0L1sUQ?Ay7G#6+Uwq6%a=rCDjV++X&;1ozRh&`Rg z8H<;q&AneCJO&@~BPV8?4|g^wJD+b%X`t*y=A#fW!D_JCTuO4a{kh37LcaI{6M9~2 z9>8%51GDZu9NCT+od@AvW`@EjPbk-CzU*~~POPlAQ`P=l0GG`LHm@@vQz{N|eKS_JjL>J>^yCx$ zO7pf@-!JlDW1=L|2Ag279|2 zgal@eyx?=mM~s?;y;=RHro6Yge9+4O#U&0D1=y^V?j5AS|Wg4^`oWi>}^J)j_z~H5ZyP(R(gHR1! zUwOvx;luxyw`78cR^Eg0<3S^5Zi$Ppnulk-o}P@#k1=|21LkwO%Kn{eaRw&e(Uq|_ zqyNRL^>h1BR?5NnA5+H~xCpRh^Twex(V0Ot^R=*EY5Hve|Gm6jthu?BWWMP5U=2%y zflQzdbykY0-B?z7GL$S-G@BwHLpqIl~rPH^)@ILhg(=&gqcx(hm7cf%4Q z1KwSP8PR6$|M)M%u0SP4=mEhFn>ey4Mt#B`SWPaZDbS|=upL&=8w?x?tM!1--mlIM zQH>nEA+*@dkW4E$U`1PS9!i<@aJ<^@xM0pabt|i3h;74uJdmmx`377)W1`oc=AgOD z5A>44kM%A07rpjN&(hn!uZr<2jp#W(;^zQDCP)AVO`*A5lXt^fAl)Z{cL7bpLG6IM#`!t$J7f zT+}4@>KW5MX%1ws$Zg%xoQWD%TR}A9@ARY{X!}`b4QFH<^6B}_d`Z9}4ainen~Rk~n)Y`i3m>!LZln+~dHi`@vle$Ku`czj!%UK5;D@u<%E|NRm9YE zSKoXS&T2HqJ+(BBwG6#TiVsucNDDCW48<|+IScr~1)i6P6Zan{|6~QK_@N|$>7t@c z8;hgka%H1F;z7-Ga1Ut2xJ#)|&@!}J;V^1>4pvvO)&5Wu*r6Usr`H%z;;~ zN+W_iu6p2oqVqhOC$AtjxZ}{*z3J=%a*c{@!8h?2HA9&h(u!cDQ+(ZOC<3S0TDaA8 zNJC@1F^H*#{HD4!`G?PeN<97u!`<3^U#rK7tN9-<-yT4%t%{mR;vqneFUEqA8 zOkev;?o4&ac6hPcHY6m!Cm{Q4YM0RPT_QMWP5}-?tKaQ*3~YcEN@qBkWf3b&Q?_v( zk6LC#llRx{5E~BOs&nD(r!_b2m_JAga!)zFIlyR2FWX17CkO`Co<w%zgVfTwb>Z;eDPq17=3m#x&6j}^cuNp045h&oc?cCp*z3pU9; zF|H}#!&etUi2_yX@8XoH%jooE<5c)^ySPbWD^Nrc3j?3ScF9l%&+)tO+VO-P90Tw2 z69dS(XICP@TADMBeJ9s{49O)1W=T+@;*z147W4!pgan(L?UO%(sHsx{_1NnOn`C-U zpw8k(+!W=`?pJ?DhawDlHG7Yh5Ibx{szNV{rQg9Wgih5nj+^ub z>#^!uN@gSKI)vu021(*Qrj)PgCFTp&C25)&tCrPmZEa^c;usu=!3?&k(eO8hk;}e_ zRsB?Ebr9(V!2+485WY)R>eMn^aD&-htcf&KzI#@BYLK0IiCPr^O}@htmQz)|x75H1 zh5~K}fcvUnXK08i)(!3^qJwrR2|;u<{!I~ zva8mxpuOwL^}b5YNcLi~nhc9c*ioF;?+n(Mw-3E=;n0LA#oqe-Cli9O5LD_wq%xM0N zLn~L`+HJKb-+2(eS_k@|Y>D+O@O`!vR!u;z_qn^`KA_xi^U3qJ zB7xjoIUJI9vMckH1OY+boTMbRP|Zk+B2VPpO(>F~Po(JyycLu3;~*+4jsk~!To=D! z(ALC=RLI^n@OIz*hNuH0OB3^DsK^^a*e4rlA_JvP2mrg}1V0*Os1hzK4+iD>l9ETK z5bLWfX+A^jsXfCQku8Q`oJw;JQ2HMYjLv$}Y_o=yvX$2k;oWOdcTzs^1@4;~Xj>os zc2Z2TCgq_+0so!J%4?Dt&(cn=;Hu&v^IqWHR|_tSr&Fs6=(oE0%@|Q0^plPSiweLS zR+qWBwE43d!76tud612_rlOklQDSqK$R;QUfhQ&|TTSG}R{a|;`#C^&F|mwKgIrhI z!>5Zs^!Cu!rQPRbKog&pTvv~?cZW<;Ewua4-eINU)jk&ne4I*aTpMien)W>RxqGfd z&MQ8m+8ji6N`i6Z;@y}&g#6*mcxp!PLulLA6UtZt8Rh!}f%CIbQoeflxk%y#&q^S( zZwX^Q%uNxJpnH2euQ99TgX#FsvTR$7feo%3>lF}wyPeTINdcF6j^>pND4v*_*L#6p zMyG9GnKwk5c58@&W*0dKH>{$p|1E0VqWhS|{}2SFyXMQzB()Ppj)u-DP9*3Z8uEmX zDNrV2)s%hKo*))G)qspS7amP;YBf2a%n%w}m^b2*T@&A+?SNYH=h|d!FxhP~+IAPV_5oRMGpk$^oRqN*7HuDH}8CPbCg2Jnfg&&(z)m);t412Yo zQNJ(HL$l?`Fj2{0&iG3<^~XE!TGp=x@N6URQW`>(9uvWf*LgxQBv8n_`Be|&;~&&L zR}jNRZrvx1q6OXhcW#srQbSiycO$WvcxV{@&s@U4m8G$sY)|KB?ZrdnOik~sSCAN67~$+b4B$!{O|^!{Jr__a&nUCz~FZkt^2k2iNwtNjy^_)6v(k_Tx7X~(lD_qiY)8gy_-KOj*)&PL4!;&if&XixdF*#S9eX*Z(z z$K8jrV8p2&1=bJJZo$DYb*|!%4Xgvfqe&sJLYmB)O7h?Glg^Pm%02W{bya7@W=D;G zeFbtxnkcnhF@Z$JKhAE?eJt)M7Ns0kg1_>%rdrS52*#&SUKON7MBIvOpEm=24bic$ zk0|{n1sbPg?~;?)`Z&H6_D^@6Hy|6ci5}3zng3h(ZT|3b<8qO@Cnw7X4ei(W`m0~m zG#7MI4Gpee$k4j<&_vhV((<0J?hAD;?f+TMiU&Ms<-y8SP3~GdZH}7vvbkB{e|PZR z6Yl@*){Jwq`a5QFkWZNU#sBWk{K{;5`<{jwOGH?qW?xrfzLb(+)9u#dp)gxm{`UK- z`Ve7CIu7+v2C>(fP1q(MUX2N9yPY(5s8nl>QYbZ8M3w6Gk=fdW82kHYl_8CVI2;bU$`zCL^VU=Z^WZuPeyoPY3JmCcl=O`F-C-68A zvwYXd`NuyLjrRCM#RZ-_NNS|L@rZP*+@!Y7@2fd2&m+Y5ExOiRRRfb%|A=B~;`xOv zEvB9xfs5`pDRO3+H;JB%AWnBIGGGQUQF;2s;x=O_B{0@r@@Vo+?Ie|umkI6L#=9Fm zu#ndim9=x?FJ9=LJ^6y9JUY7GUKq9qR^C`Fc2kd(17$?e@F(eWKT72R8l;JjH$oZz z)B(~8pK$opld~PEO~KeTCoB`Lna7axYS z2zvkT+sV!s_jGIrh8z4B-OE5zbyqX|B3tiPv_Bp)0mN@?FU^34_4InlbA1Z)VYbU( zoafq(H+XGxP_o0_v>6Q_FB%5$uuR-48x1R@OLSR#bcG@zw=B>`ZXc~QrD^4+|5b6L~HJ{0Pt_UskePH{7g!1S0 zsB&Pen@~Exn-S>GI7%B@CnAVG`Q@}Pw_-4%%WX2{g&~z&)3r!-rBBP7eLR|)7JKXU z$c*gFT(FJQKAg^wb}xWDwF}1!F1nX<$c?KwdJ@)a;CR;~u6nw4gI^6X)%}e1_QE^^$t85-Q9(3RJY69Dc ziVZ>4`AcD`7qQu?Y-pVRsN&ev*N}y7qXya>grvMpYH^lPW>_u1@v^Dug{&i@`j!Td z%aTf$7iY=^Gp!sWji+kuMa>x7uPU|@vn&_ao3YZA!YHHEY{o%?9eB5nP-s@5#Pv~? zHg{J97f`hZTNVJJ2RpJ)gwAJ%;0d;KTKR2oNkI>&~rJk6$mp zzuq#2cR}ZlH{~LMA3S~4gw&P5@3HEkXQIS@Ef4}gbe@qAFl(AHW)JLo< zyWjKmO@d+&fdzI!->yS7qnzZC6ugC1 zRk7yM@bkakolBbwNXu)=sYe7&HAy*0;o>ugZ#X&6V1q61nHuzQSr#6;q=7n|8mbM3?GVa&xA* z$@04^VdrOX(x;GBC#~U-@M$)!%C$Gh4oH>fXj8yq(2q-cg2B)CmrF4N)}6tg!lW%8 zM&o+8MVmlf(8?IF@{>gawLCcF^-Doabt*3J;!JILsGPmExp|$$asx%SYS1QJ92_za zQR1W?wk(N;C+WLhyDBKNcRPgKn0o^G`?ApIENYcB1NZGq<@5Y}-No6hg4Hvz;y%Hr zAG*(oSKS*l0c@xu$+tJaIRbSUGJB3<{mqqkAIl7u0-|y*IYw+`R!}E5A`ADH11XDU z!~HYv`M#gbNUOWgIg>Kk7>6y@_IxLRR&|FTn|MI0cgw{f^LK-T(RdYdL!h5r)(2@?Y+~-a%F26XCQ;+n<9(une(+ak ze$$bKW5voqdn2XK(CVvsGKi@#@fy~U^t0aJAi-;`Pg!mJ>S|+Ldwt>Zyhpru!dGjR zauw^D9cV_QS{zsfRJ86mgr;8%-5(}Qj1Q&05R^*mFv_`fbWhM_7OW<~$toB)a7mfg zX5jMmFVS9Mq1wy^HbDs;WA)LdzJ3Z?m-}=&JD+0jh@;&#q1v6AEv%p8O4QG%ONSnW z#l_ybA=RGeh-^o2{{EJkkA)-7*lE|ktQo=QOud>l@+M;CkP1iN{^ymcxa=s3ZE1Af`h~^CiL}aIJLnwxG zEqsg|8;b08uxCY=^Og72#L1-ctKOMckovQV*)XlQ8rbME@a6_JZ(y5gF(}N_-caUJ z0iE(Kgi(~He!?%;G)YNIXK7s;d7Rx>Y&x9)t6Et1`Z@cizyDref4}U`MQPu+nXzzdVvdxyqaMZrKz#FA zh4sT2;aJKA-mN5oonoA3%jXCpX)3m(pSZ2>;81?P2R(Vu(FbF`QzhTzW3*Eh1b)OG zl_}j3a+jY>7X5XwU71Ohdmv#nMq9k{o=eqsW<}8HhwQCKQ5UU(8}0rEn8r5#HCOan zZ3~ObnO~tgc6TJ46rM~xH22iciT}?*U~dh!$D6aPJs)Lhe9UiWm46!WJA%00)7dRM zFX1aRNx`ab4YUVjt)@P0IlG)aDE#0h|n5rx$bN$WYq2B}qsB52iqI$bbu4%7H z^4tjvSij{_Kc!%nnqp+n9;o|K*^vucw!dPHn1tugRT}GO;zsVDV@4l6t|$`;G?&-I zoc!}^kfDijZ1%P$L^7mn1ij746wBSu~TfNZ9Td8u{JIkbJCfKBx_e6O+;0h$(K4#4L8b8 zBk#^01ZL6fTN#vO4qzK3=^ww&ay`2F>93foY_U_^Z$|F#ssYO$C~|uCuF{ST_|!B6 zn;rik{d(9zk$oY!5TIqN^$TuaKZc>iD_HD#D+WUJLUvX;b&5Hcs$e?-nwwz zTM0*Cn&#QxqO;)T2-9g7N^kt$eF_h|?>SSt-1IcI>7w+CdS|R=f)0G(8%P z{S{L7^@=gTh7SiZ|OY#Ba<9_X&do*R#8N%GSn~j9C98)1vCM)*0 zpQx41&M4Sx#Zd++?u`x%MBOeJqBmo)&l6qQk|jz=ih z{sEL=0{fE=<`p`2JkqaI;hX&b&KV!{`eKEe1@A4d3sBF?A8O6sx3-D6SjiMYV7Sn%0IA<>sIGiOP&Jidie2@s+p)@Wcd`~-QQzaejlS< zH=OHg;`s;9x#aCk<{(ZFObvkQ30QkpWDAE$XD1yHM@$P&KK$Qd56;eB1qO?oScoKP zR$Z(Y`bJ~*s?1{P9Q;kOQ`1Z%+bgY0$Dx*x%BLYC z+1@6)JMA+M&JMxL$Mj<6nA#*!^EpK4Cj0-2!;sb$-2KIZ_m0~m?hzpSElatfT7%Z; zsq3xM?B8CWh-PVG`HdXvmwYQ>E#a9y9+Xw*WQE}kDvwfEcs?avNF4J;$km+W({j7= zn-(!SzTuxX*_iaqfNv!yfa==e;H3#h0JxRT z1F+*O>s~VnCb-)-jg&?JxTIgop6&nXOLwJ-f$WD<9-`*KH^)~5$Sw5&Z}PQnj(0y| zO#%P*P)@LOt50Rmb2csC_P78%-(THtW^cv6374+h`MlhBFB}#KbY8fQWj?cb_Dh?; z!P?o>+BnshJqz{Bfw~`(pt*PZD^E681X*f3*24J5xI>5+I*L~td|IQa;YUUCFsly% z{&K(BgT6<3C4>8ZPhOaeC^^v)}gc&w~Ecb7E?!;V!51*Rb>`tTc z%USE*$_2r4IhWw(0B5dFUTZU!)19RMk%$JQAevbcz2f8$bAtRoVfE5QkU1@*7yc@@ zsoGgjzPJxp5NNF9t&ahJGS%ZBOKkVa91tEuHJ3{6NvGDPa^BUkOx~V+GMz6aTx>)& zUtLi=vj-wo?CsBK*;J*oT;lyrFP^g&CMLeFI)cg@I1$}tTfOb6<}wLrxtYk~4^8UA z>AN=EqcyN-$^W*@_%u`02_C)@yq3Em_ek-e$cS%3Y@H|Rh)Ns6ZGaFPgjyE@_&2s3 z{R-2p$&PAQvv)WkOU^tn^%%xm0>OxVGKofjayz7&WJO$_oSdYp|Fe-IY34g$xyf>< z8A}`R2(_h~9lCAktc2b}@)2WgR~j;1do=(li0>z(HEo)1uQTXoX_$(V=bxMq%P2hp zl590Yo0@I$Y{YHC^;`#MgB!vN?H5Tin=bvQ>hxPG`+Zsdndu@kg{IG|a&Llf;0@EZ ze8OOE_f}doyILG)%FB~Bp+RnT=B$dY)9HTx6Ci6fz~X;DAiiyPDjYPr>)ux($}h2e zn*WOEMJ0W=!2(eW_GkEHZYBW>_mSat{CP^5@{NWt@I(Gh@(io=1&6RK}8jZ1AfUj;h*g9vo120`j(Lk<0 z9{y{_kBn*vFhiX?cODyf<;YVXlR1q#ll{m-^?%=*o4;?h`!t#P*7-p3j!qww9)wr= zNSs*CeYMnm^P6|;r}d>H5AzGfET;dvr@MEd$BqKe_ENBcw?QD4H}#NHr(Ulq|8>AI zJ8XVhlU8TtIv4kPvBLe(x%Jr`YB?n2-ws1Xc@OLRevYOyRV?D~NosK(;t;+Pi)L|q zZSTf~>$aOPS;X7QNbQS&mU#E7FDU-ZFNKlPuQlwMb*a<_3WOR;i%dl{DNS}kbHD~{ zZ955ZWjFT}b1sGu7lCW6(LHo`ojy6nD2fD4@rb^j=Z0{7h($9g_1V)qpP301ksXc= z4Gn7*FHNsq{pLSi@T%x{Phmw+6Mbvkq|_Gf+kkNhXBvsw*|2N><34;JbQf+oZKGc$=%MaQ60OD7+~ zTn&nuBz)TJudpMhk9if^?Y-NhN%-~7LFm1MCAErAHw67!EiG&Jv^8v+KKpX<6=J+2 zlQ(Nb=VJ5HZ!j~1e@OjS!TrAu%>Q#n+Im~vxA$0LYg1k-*TJs9Em^az zxb7T0@%6Q`gnh9YK9kryURxX-iGZoUg|yvnmf+xibI&o~cY3H|sCL@s-1fp~t;Vdv zys_?h?Ruy|avW83>Eu@hZw$0@PC|M&lj-Hjg)&R*lL?yRZoR!#(pkp*LWTFnqIW*( zmG_?L;rDEP7GenTYz-P1OdU7oe?08T1OwcEZczcQ%xe_jKW@~OSypg-} z=IWefHV)KsS?Ol<3mFWhnuWH{6qwELjnxsx6UP@1KMGUxn!P8Gc$Y$7(YtlH+5Mtg zV3kPU7rMIG(XayV;k)dlx!qZK1n731qXB%)o`itOKY*ehwc-4Gkqz$I&Lo7^Bah=h z|G8CNyrglXyh1(PSM+aZ8*ND{!`~t^BO{}q=+`DiU&mvfcN9kLCJsQ6TFmpg_5s4N z8??gx0LUZD2*vLuQV5v&ob{rA&`3*)!Y&bqrz{WQQf+vywlmOIr`5#1Fdii-nlE0Cga8L zIp6%pbLV5BYf*m!n0qRETZ7%%tVaIaZvLQ*ZCn$R-QJd{JvgO2ddLT4wg)y+f6aWDxz$eBZkh&Mv)odvgB#H#~o0 zta5DWnO?a#tj4NP1zpEAXf#SH;u@`3+8@%ALzg*omplKx;Tm33B~{gHKp>E6J}&=r z@_I|X_WOUucQs;wqQDRE{`r13Z0Cn$RG<@lm{Z?iq^4us8L~q5d&RopqyC&NWyXf< z-+Ykh&m-$`kb<(;wQT|&Cq%Ik$3Ng9pg_Dmy^q>fitgPuoBV+bodDeH zUlfV^8vC-6Dz$p-t2}3Gw6B=UQH(zi!}@|S!! z?X_&t^PrLZ{H!9|sPd2vT%P_Pg?s+IfVaPUsWL3Mnx>C8B_&oZOf18jEp=(0!G%G>_!B~d^N`!C+*xn$mY#|&bV_1#o{RKC;K zv)Z{sw1NKte+aR8GNoO4sG;0B;St~^>u*EKw99+;DBy-Q<;3y+=`mAVj%c`kR^4t9 zc46aoWxg5yc+fenPT<_d&Bhw5M@M_@evznm(AZY(DADjrPn*kj_bpsZU`DRR&vH)A zFCB|e7OM%VeJ_4vVXyfd!22eN#yT4ztQbA;>yc^Y=(g%6nP(~Lb=_qbLw`EX#46ov z^)}esFZD^86(Pn>nKhfphPT#=HAnuweEI&*(DCgLpzd;?Dm(|bMXj8s?cby{*PJOJ z@+&vZV-V#a7WPiqFY=}@$If{$SEN2E@4kj>wt?^({CyQ4d%*Iy=rv3}46YvqK$HK~ zzi4?0cE1}7{mq}rCtmgJc~vb8uZC4dD`EB@Cz%}mYPvdQ2CuNRW)g0x(MxkcZh$}E zFIqZQeYHuf(l^zD>C=Gum2h>IjVb?W(Oc;Z;Eq%Le>i*3xF)vmdpLl?1qH4mqDZkJ zN>%9{J5rV20xF%*dj}g_K)N)kN|TU)gr3k8mEI*lXd;~uItiWU1ifGJ{{F9?d4YT| zlR0zd?0xoHd+j|qjm8}2DhlIf0KK3z=m6^P+6O0;y0+6L6oK+#$Jwk~-qf})K9?6x zk!-KVm1d_wpOW!5w(m=9?vWgdvnLOnr3Y5jW!``)a1u+0s#tSp2O+A-F0KSKW1071 z!09i>vn#)0f227s%enaDdw^`XYz;D-k)u|^#jIkn_}r&!V0~K81ksz4sJT+i3W}Z{fx!i~8a1MF-sJQ&+Li#kH+j%vn(AKu zAl+txY*pEoQR?!hh}4D$YWD}0X*U4u#tb}41_zaHUV_GH)juzIf!<$a{FSKBH@E$0 zen6eIO{}M=(*YeK05`PvyOflx8t&GQaAVf`a^=4>64jlue~)zWF9s&pivS<=FoI&v zCPGt73co;mTY{meh{3kxI6$TcMjDp<_qDj$?ow9ixR+w}h7`&0rEu4zyHX6!D&i^c z%%}o%e}l2eyC9?b12nv)zgu!-x>R!4#>z7E^ne(v(Nb`Gj2RMt(p%LjR_DuAhN2+> zEkHLE{w~5h8&(`5+#GMBR-(-Na)3-x8QvQ>Tuis=q@hkgm}~^Xn=?3q`WNUEI#LDF zDawx>u-43TPl`=I$F&pKS`-TYEwx*8`nrxL^F8PcLYPnWj#x99y=b?@jB4NTzeiqO ziU-z7R4yd^9K;Q-IiOFf%L0lYp}0t`x+jG5QvJz_!wH|P)M)T~ori@Xq~F}g*)ZYn zEz5T}r6tGOOG{=oxEsPslguVahcvocQB2u1l@*f~!s=RpQY<{+xxh)QWMtNyY&{w+ zD!Pkc8keMS6ZRRFSG=jc!)|V998sUzeSOFRjBfCs17>#}sO27kiMiFJ(A!|k2Puu~ zHSx9TVC9FlM|WHT$$|4@SEu?kIy=`C?zmoueEz*<1PJrw4_+>OwU6mU#iC z8lAz1YNHCD$K0=*(f#^ZJ6B&6@(=TY3DrC~%+_6Au2|PpO6Evh=d?<5=>lBYCOs&> zkLv&%Kpe1vjN<_8eWm+eiaT5^;Lay}O6^WoQQ%CWOC8dM&x9x7&u6815_euNweQ)( z8nMe+*gcq%;?1Nl7X08mQ~m;;;+*JvbymhlO_+G;bDHz$=B_{-7!NoR1*@N4O5)Gryr-t>SFs1DrBakzlcs5xRZqg0T=wm1hz z&E!&Fn99>X#?DfI>=Pc9_0HS+&)ffTDCrta1_x5s)?lptO{B=zHJ7hYJXgoI!SN156z*i z8mX^d(Yft{S%#ly(yqs~qPkpF%nyI)j&(x}Y48rYllK_g1IvRc=g73KL=T+H_M(pq z+y?N{s&0@uX*a{3Mpj5Su&elk6Cy0V>iq=7OdguHS)0WofYxJDux@}y5DKeTNuL#; zua}}2A;p}3PKaK0AJwCRdi$HrsEgrYNeZd~c+zJM2<)ZH^;_D$bLll1GR#SQu>NF$ zOp025Kp5oZ89(se3MVUQyRBwf%rE_Vp%8cN3cnYGUp)N(%s>`|G; zB@30Tq9I#Xu=8QPE>%#9@A^jabG;pZ*$w#{GPVW~(l)t7kfT+alF-CvaH&s4~ zmeYXA1qMM333G?eQ?WOTaYUJcZRfiHfHMYkbXf+y0z}Q*@ok>!y1EycnPZ7;*UH3f zn!p_;navSmOg|a#3iz*&4P9SBl1gdGs+Il2GNLJuPUW9dj5T5%=AY_O9Vd$_mpXU` zGIb!{KMX|aOHNar3K;mz2H~amF?e^*Ui?H{#7X`rd_k4wJcobGp!6*3hQr4vdc+Aa zxBtD19+!i}>X>O+4aOEmEjq@?OxQ)yeP7SBaW#n5VeWT6o>%UaF{3KQvAHMwnFb=Z zWD{1%M&eXci!}nd_@6lY zcKnt$d?rgXK#KO$=m(&{BE+#&^KvXT(Fe7Nt_)UI?~xk+zH)@QfrA~kLdo2^Y3(6x zzjNXG=zFa$5pN4`yB~4(pPo@*i3w8PxNZdnHh9k+?bfeDTR7B z?P3^)aFS2=tn*|`)W|NeY@g^z%aM?fAhH#6gGI2=vLRo+;r7zdZAlQO>ZS4$ttPX@ zIa2{8*-}1oZRwH+II{0 z|0I4=m>}*1T!~6S(DR=vvyjpubacUl8s{8;{enxC>DGnOx4i=%^(mXOo>1I8=Glh2 z?ncb^(xO_cv{=Ey=a)fB9la0T+NGLOnU1w?f=I;_JL}!*HUDi%o;)E7SWirIc*Rz8 zTMD%>I_1n*F)yusw1nI)bY9jv%%yGKY*M1DFol_bv%@gTZ9f?H+p?{g$xdpi#LA}1 zs;$Wu%Ypg8W9?tx+g(cDelq=czkf}Y=|&mvc%#Mcg?I)z9k+p!vX<19r>p(87X2CR z0;tu{f{6*8k=ML}JFzw+&X_l)EXEF{b5&FG#0#a$Y3ZyG_xab|ON(%8M5S57toKg=pCD@2o{<9Ba-9wBofC*^wIp=umqW&3bwYk3WPMAp0M z;XStVOnbzCw&$~@#up;wc)1y5)rqqM^@IP`vyk}<93R+5Qx|n+`pR)gCxZtkhmVtV z>-GEJn-JpkBchI?ZP5H3hZ>y@^R3agwIRdKt>LGNCEr{3~2Eov!tx`F?`=~&)7!(_mGYh^CC&ul|d z;SLB8ChP#zX8Q3}>ACihQLr{>+K$A=+ckSw4uiZ@Gz#$c1?5{B*cg2~)u8uiQ>-Yv z)MS_M{|d52k*r~29-8_k@X;*o4`{ugbgrXLKaU0lo1#yH{>cy<43;m6HYer-_%6ZY zdcT|?q)Yx*9iJNPS-paX;g99TPTG58AQG9`Q@IP!V*-*k;Cc19CJ5sy5A4%a^z=nO z$iD&zdw3$SUCja38tu}|Kl8C-&8(t9ydR=2h!O1 zfjqU8@7fr}@OZFmD`pkV1P%;*JnDVAAV5%}rxA?sKqQx5?xc~2z5__Dd^{ODt$0%* zkLpP&+_%h-i4|uZr1n{&>29(>CJkUlsXM9vZt z0%9Ig*vOc}(AnDh!N{%Skip+=JOYIOIh27s!YNYe;!Ud4XFp?O7K@~wXw+5nZNX|k zzISuo$D0n)br9=z6gnChP|T62p(BS~Oc7)0GR&MH&^;a7X3n{;UuL71YIB7aAjm)B z({$l)n~=UK+VW~j-FU(8Fx!q4{(ZW|u~<^C>@n;%JZ5N!UMzt4@<4e1{yoq2A)2zg z2JZp6x8iAV8s&xJGK4;^X3D)-T-bB2a=vca;Vt0xXMX3~kNjjH^xHv?ezLF%-%1p!^rV*)YQt9b|Sn^S{0Q2m~K^_H3IEC*f9p& z+Cb*JxRq+W%S#dYhtb2J!bVlRRlF8rcwqicI6rH-eJEq%{;4x!QHne(DlBcthXxeM zeT8moOUEBlAWqSo3NSeEl%C*X3js%9+uHzO!NBu-NR+K@2Z1?l9pt_-T_5N(tD^BODn8;`F1|TFP?t z)krta!~J6eyI+AsBL9I~EBw*%_05vE0q^%_M_ZN-edaTZuEja}_o%)<@m3za-Qgf< zX^XktVdnf*iaNmM0QCPN?4$e{pg_!1H)oa(3QW>0cG+MckMAj7?_`%iI#UVb@iTy) zfE|45*+-@i0kjFE129rucGAQPElKwe9D&w8(VhA5#dVIkb4czA5_h(j(IfkmT~nl6P=j zKtcwmk6qo8p{2_~`X)AzB@_qpqU!I#l6a92e1=Ng0OZDT8uRMMo7ASgc<9@iZq&`( z2K;2Rc53Z^&uYlUs%V0IzvM1Li8ny$X3}v{(DvvWa>#=FW+HWMFl$ghE}nH3;58uH zI_tYX@9GU>OMPYg&X^D@WMuyis00=}TcPsYaLPW~7ABG5Lcm|G&zic=(?AGEeq+@u z<1b3|Qa`)OAs%O+u{!(ay`sfWMELM=nOlEy16Ys-&jGyMKSiF-b_m^5y&ue578D;b zp+Cyhqx4!<+q1kQ)hQn3aN`qC3Yl(`F~?&9u=8(t;fmJJ2Cz=(3V|bB*#PwZF+G>n znUetflB!(@0vP4@Goq}@V7R(7Zc4Ysn)i8;hagQonPiqhc`D$@{xi?~8;D2Aw|Rc- z$0dOiu5jH@Ua^EUySF_xtcu(yO5I+OW9RZ#P6fju+GsVPkSISO`?!(`J;i<9!-Z12 z>}7WfbR)5Ude<)NUn1|AVQ}2GXIw4-~K52DprT&~uWvEBG3j zkGaLL?sR7sWfKk={xO9NRdO~@jMXXzqp?L%he-g*; zR12n?E0B6Bc-mZ#^Frr2pLg&Wiu9lKtolEI<06mv5=8ap`gG~6hFC$4Hn+vban4Wi zFO~^cAPSrZhSu;RV)%1lgdYn~!ZgP;EcwUM1~5ICL7a0sU;kJ;itZ8k?9a_3@+QFN zb;)E@|$H`{n$>ghfX;k!futVIHkq&#n4N_AebB#rNnzkjtCdceMW-Fd?a1 zrHIM&QixmFTs7Szg1JOtY@5DWp8mj4NqF6ywD!A;JU}UjJwUkKaWOPxR&clq@5wO} zIO8vRo!a3UZveqAsrhCU;glc&F41|evPi9Y&i5!}<|bKf7I_nRPx6ftlC*=o5Q2bI zXup4yUSG-JbjYPQfyKcLdTR^T$U$4%!w#P1XGcd};>7B=Z3sXV0o!MjGyjIllTAW? zD|_@2km#i50)93tJG3mbD z0iqIGg;Dh`O5hcNf2T}?yg^_Sk`|rfm=JU9GmS4R1Y^Ppv8*|;MH~ZiD^I{(|1jM+ z--EErl~pm1MULS7kTd4}8#R7v9oxzm)7BEe(m6W>=##P&Cz|s1Qn>cKJkf|9t16i? z&pThZmY2Ad%vRzky+K4Qzf}jaO5o_Iwz>)*`wZqTkpth%Kbp~fr^qch*^)KA?9w!L z@66)F#jN;zKKl-lbJ77s-bu(h5Nk{8? zyTc9p54OyO|(MD&b(TU<p+LVvjde`UETSGqCCU(8PG%juPQA&8y!}Gs}$K8Xf%4*UE`hAR19Bt zm7_^bS^jNMqZL-t?dTv9X?OX}+Jn}T?nf0ZxbP)`H0oMe``YTV>PbI)P{!5mP=kQi z4u-pLSh93-3`ndPSnH4q^{s=5jV3Y_rM}w2kH0i=jwiAhM@8vC`Jj?hiJlV^%*%^% zsWCBX;`-oG}D1X0~>R}WvwRv^M|AAch{J(kwl?98kknmLLBO!`kruunY>q8l- zpCAA0o7{b!|No_4V$PGwr^Ox8UFP}3*i33w60HTGT!zkn zS|Ejj!n2(7?`%o^fjU_RA0iCP>othUtH^~K9V1@3I3FIM2_Hyh+VLv>X6L+NomfVs ztsuRp%w^~ilnpiC*j?)BSFb3!O~m`bWw_5DYc9)Q<<&z0y|}%DqhhJhFOi99Te8IR zz{oDP1x6T~SrO*umVg%44S`h^8lt59kN3QuTue1)!Fm!o^5H&*@3QCVYuoWClLA7k z^jd$HpbBKLua2|J-@jt+$76C<15)ms!?xsQBA^d!(&6RHBP@!&`Oqx;k!m6v*+yGw z1J-UiK{_}r%NjC<376{UTw=!$yM34fz1EW~f&m)oWlS(@zn?}UCjnKwdB&_}{??pC zu!fDyJVs9XvO8zhT}c|C-pLSi9DRIz)it^r3JMf2s`_mxCe{$IY-|Ph(9WD@CWKPg z7MZt3Uo-jI=Nz#9`E|A%!0=U@#Hcch_L$`mx?IH3##J#3rFM>iMxsnvOphEQ_Vk{2 zZ;PD6p6~d_nqdL|y#bFEP}(06E3-LwUdM1bFX0oYbqrAckvot=OE#r+XeY>J#+88p z^mf-`nanGSxmR!57Q|~oPD2SR-lFG58qPZRm4Z4__S)gv&A^FvRoS*dj-C48!13@0LjZ7g`-l8$v80%uR-q!54!sx% zQ0F9O-ZrP-fL*70G!(w%Qe+4cjmPV({O^H0Qs#b&N}i6Ki~~opF)JN)W#f^66uYo) znO&Rv6L(jH`X9SXpUW$3rnf{nPfxm>CfGtnp|-(HvZxU@e)F{75vBxmH%K7MEIB zki+zedxZ+8cPZH%G$NhZuLk%XvczkDwRTA4W3_&hA2s&=l}aYyqe0cItXiB5_mYcD z=&h*yY?H@dAFDngwKq-CXZnJDdE~&p{4}~F`;DVl4A=MO`+&D#^`rJ>C*+R*b7*LT zsJW_$uw^PPeRzEaHB$|c+diaHIQMm5RUAOf6Mk(hq-u|{bcLZYoLGqd^J&v%@1n8U zS;?-$E-2Dd>e|Af|JVFn%^Q7mJ+Y~;SO;Q%->U&0`%S;~Or8QuN8_0wJ*x)eyC9hE zI*^_`(Xn_9WUN3~t}*dOHHv3ooGf7k5)&`haQvyN#uN5HNgezvy!sV=k`oV&`LB8$ zgb2*F<}xvyC~eJHa_ajeATgq2$L-3;2&t@)~ zG9kWDRYrphkYupX+dCREg%BCZ!DVAB!vYKRpA8X zqy4oBencx{H~9Z;aR`hjxDzf4vR+?2B?xK|@ z`LT%UHg`;Kj26@E-COakpf&=r7jJ{!C5M{-eHLBv*eUuxjmELH_12Np89L6C5j^Rl z+#Htfk%i%irKPJ=ZEt6)qCgF|Jb8%*k}0+WYX{IEuV2aJp?p2F!Dxk7k9s((FH?~D z1ACBLubW8+GH`IRU_z-~IYq#4e(oYbL^-BMAH`;kwP)vUYTm-ihuqX=Z!Y5tRJ0hn zlso-Kf2JDS!3pWw&j$a#A~&+3r}jECU{Q=&I&z_E1gwO zD(wuc%^LNA^{X>MXb`?o!$uIrcRfEa7d&K@iFwv#pKp(f#Z@RA94$>0pW87LJnC_( z&-*nUKFvIEO$3>7_5Grk|G{<~r-k&e=HU#$RieK_1Zbyn5J_g-E&O393`|JYF(eLo zDVZTFhu025IP;qhxj(M?KAY!M&qz$^wSZem8l|bK?roicL#$u3`I3o}qb^?002#7> zf;=6WB?3pW94lzX@)NiTFhO(xqy@JpprDskv>S%Rv)VT3Kh%2tNg&<1rQHQ&xqtcF ze*t&;PUqiO2huEne24l25Mm2a+rnc5)q8;wW!))*PERBOOBmIp=T0J*+5~`-6srSt z;Bl+J-j6M3hcMMktl+<`+i^eB=i=kI@g-tzZeb}=e20Bl{Uin8<)GFY8l z_J(XlfMvtMN72xX8FM{eN7oAVexdllZn6oo|MC?7ZuM7aZI9Q8xyI)3d~a6qT+7{+ zg|=(%67qhjxKzm1XX-4<64r&8-P+WIO{dFA%sYXC>jIY7^@< zO)nO&YEC(d?j($rSZeRHQ^$0aYXeG^D0Ye{mm6X$a^#2JdZ{;tkMO_1HF z@Xx341nk}5u=H>GbokPHWv(=C-ZfB;C1y|~R&p*+Tbo7a?ltNU+K?O%Hgozq4d_dH z$N`PbMWEK#(qzu5JYvc8Dv)eX$8ud%9UEpFMF+$+q2}#Y$#$Wy-PLS&s!^8#$MfGC z^mT+gba#rN!ex>b^@Ec(^YbsfwX=G^p*Yax;5QrJy6Fpi|D|;50L=s3#{FbRkD|&e z`Lb))q`F)JCHi7=+Onbr_cvRs$}yK$YI8QB(I(Qrc ze592CLR~!3)-D;ELn-#X^_rZ<6{Y$o48Rcud<&6)Fz9GCz6OOYV#CS&7y`~f)~HgG z!^b7$b!_Yazcuqo=H`*z1=@|-qy{q@dSw zKzT~8Ft%2x$0t?3D7H=Yue9)*#v;Us(&4KCnxPVq-C6v?cs-|oG^~J4;2xu-W`5?b2lM1*Mbpb%x03}Oo6$u9ge2s87sQzZ_ zu(#Jk&E?sCEk5J$K(1o^o%82~l|-w8UJd6n06WS2Yj4JiH#e+iPU?X&##V9x46et8 zT;-_9&ji@iiYsXPu7`;TeV|TL2n2c;{=+Z3kT4c+o_9)9(pUKSqC-Lyf!@K*?SYe% zwHmxxcJD464mX`j@gmnxLvSqrP9j&=j)NEFBX$~bt)3hZpsv0^pna8ik{I+{&t&qx zh&WWMLKd}M_bC0U8~Dy-ok85vf5yMVkH{89E>p3uk!p82f_!Ul0!rFrw^u6S$9q|} zKfR)13kB=v%4MEdhL3!?TdBEjG6d2VA@?5#ahscy|5t_}Xv8;!c8#eb;+j*LIw&&kRYqS zmwa?^lu`n;Mghe-jk+UZ+Jju22yb-;yu@IO(zw_AN!*U^axQ{zQ{gKo(Kn-+^dr8v zktJ!5d#6mQH#G)5v6cTQ^~6hTv&s(38_!@bBMHlRJ+dg^@cY-!TG+c{V$K>7sgGkWZtq>MLmKX6(E7Kp_Xl4Ks&UoQ(n;hlSs7Y9l;>hJBw8GL zpcsc-a-xXx7bKkjL#6SnJC33`kd@sOqIS?A2wy~Or8Kz7s-<^c3n+mOxppjMa|q(x zvflDzy{Mn)SKlsKxnJwDGWczoT%pw%vbl7;UzJof|2(cV%~_6MT~hD1X{gR$lDDPH zUvg{fg!AD=DQDS8`)cU9c<8p$N-*VGnw5|;sh#DhRJU?(iDS39=k$`rgatPzcMyYk zZR(jbzMo)+9i~(z27I0YMk5{Bq2}oJN6CIN;Gww=L$3GO4=*>>vJ1TCI2nWo^$dHf z_ix|OWG8-@%4{Ro&H=Is^oXqQL{1vE znZ?)_ynoUkbMvGxN|{{LK?~du!hN!-Y^2~iiTT8dMzYxLIm3cr(CWxY3*e|N+l!Sh zleazjtp`S07eO*PKv2eH3=}edc^gL5bea(_(@R|qE6RJr3M&&%PAhdxaP23@mnR^Z zcUveH$<#?voA{mGjXD4EK!f>c8cy%Ks#0bj<~l7{t_T)HZX7w;d@nREq10J!UANk3 zx2jUuHrvp<&UQIzBtmEew0jaIkrgLm*W9Wp$pf*hOP-J4nW4Lj9LXEC;5h+Zx+ z3~+rY;!9d%3Ma?KoH?%;Q%?;}`TWa2L0GNn|*d`d*|RHkYV zRxz>gN4wKX?O_yb7^ruUoeOKxvMCXf!|aTxsm$=e_63BW{Jf;~OPA*1p4214;R5MV zmmPC*alVi3RDmWA1a+qXnNPl*Vos|92+>?g@3M$V`z$&;FUbsKe!uSad?>l5?~8X~ zO0jNRu!RF05dCx&2yuQR2gV%ysEhBZzC*QFX1&T0@Uyl&E4_x*1 zc|OE4?TRsj{Ok1t`PV~0fE_*2T9~7*R-Z<1kGy)$^7_nJd{AhY_6!1)b>6*&jcy8? zv_SI&h-~+o!T3PN#Pk<&@UOSLh1pTjS$v;70wq_wE61T6GLvRp3ScInaK7)YgI7HA zR;wswfaZauHf`~Fk(7@aLYM4O^=Ymgaw&igkokC*Hz37RpFTx^!anFOd6)i$=6|K~ zaE$bK_pzWCz=Ebh5p82qPn{*#E1!O)dIaP2KnMa3DmBIn4UK01L?sVB5W_wVr$Br( zMSFl&O(!0rKis9gzI=owQ^x0&i(K;Hl7(yXkV`lKfl_#)-R0{H&fvX696zb1EB_r7 zZ9uo-X*`Kq`K8@;Dyl05I2P;z7z^*89m@a;hE{o|(|=E(v2 zQ4_~#ASjp*E9&BaSb*~JyvNKRz!$Q8qCt!lG*duw|3lwA*KkeR1*NiEqvP5TFy$&8 z$*OG&z4Pz!UHS1t9~gy`8MNZb3Gs?Q@6NXau%_rdwGx;qy=6@9H?M7%AOuL_B@^a5 z76*sz$3abs!4Ev5oi5OBS#04@k6WGfR98pb8wYVHrIA#!suPGE z#s7N|Yqc~nC6MHm;g&g1;jrWA$fR-$>k{FL@VCdKM-r38{;$f+LuaW^V|eLq2rpWJ98-+1)iOW z?Sp*Zw}#*B+YQVX{kq}bppeS~^)=1)lNmcqe8>fgcPpCH9L&ZXvCPt{B?Bz2{|>!Y zWGFVLiPk)ZSyu8R>I}B0fWjdqeL&A5CCyHf!2t!-?Uo0~w?p0Ye&jOoSXtHHmd05> zT?|^=?k~Nf%8zd*9-`Yo&TWAf=iF8QqWeCM2GRkZKk)beV^A4!J0C{y&%Spu37@k> z!PQcD48&f!Bc6H>DNZRcyV2;Zel`1KMW$Z=`i;tIwb^jffc62oHUq&^Di`TRM5f(t zfl8j8lR9?AIp;@<&w!c&S^FIz&-pp2ziEJ=E{AFu<#)ccaJeLeK>839%37@1jGiZ8 zs6(WrYw9Lh$OMdMAI$xxQJ;s);omHFW{kC8%GuQH)c}2~sF+Y#`hZqc1@{X<+KB-T zNTlHb2ay0A1oSxOMx3B0g@b7_w9LhI=tk45rX*ex^O(&%>zp*O1I_>Vy|>baXZ<3i zo;?J9=TJ%G_v}b5-hA-D*l2U0#~}vI**#s5NV)@8=>T@}4*pql7=7d7DHYYVTy4oM z847Qns^TW?GT-;;7G+S{gw8o*XH0X2T-xy48h-M9XIElzk72c3CS%sU4X(T$E9dlxyOpbf~Pp?uKTWO%rZCe-3s>EBLg%STk4iB#F8uh%$NB0itk;e0x8S;|f#_`@UBW`K;$^ zaV5MVHRjZ20;mJb&jlh9K30@uY^fdi6;$$&*X91Zx&F7HO=ZPgWe~|r7R|>8>0KU9 zNUn6-;^9ySDR2&5PLXsJ*}ELzg`WzKJ8N8ig8 z-2!HM^bcb*tp>F^I)KXk3*HeTtQ?vdA!=_}v#{46+9>Y}92LpRduq-zq`})E9m)>8Q|4LmVH<~^r zL0M#H#cLahkCf-KJId(`vcb=&9*O1W za1Xc?A@J}q3QREVC=(!_(y#se_TQ5b;9_tUv@T+j-9-c@0);@T6AiLb04(!5D|dc_ zT76NFhxlbJ2gU@d-b(YML?GCv@!KJ> zl~fz{il9oQxyW(p6Uzqp+w3Iq=AvqwiWvr+%K1^3D6-S|Gxw6HlJ_Kb0Inu-RK*48 z`7Rq%3go%CJtMVFI%^bwbry9oI|ix(+O?y#6oNp6i&7iFe&!dIH0k5h3; zhBCtioJVE<;ZwW+48*O%`-^^m`sAO9GuQgDxXC3i0-n-9St~DTU77+UdYX_ujajtA zjQ@4Krlnnr=1i*}B|8HyOi|0`GIJU1NaVY`YAtem z1UWZe9~$3ehatw1xeRh)3y@;`?*4E+D9~G$yaE_=q{eTD$>Col*yW+L{Jgg?NU+h3 z9VhF6N;9czIr+A4qfpyU6InIU88qxXH5EV3liSfEbT^)pi$v0WAO9rc8f;iUn0pSf zkgK?hZ%Q0XKHDD#N`cP&9kDjCV%iTn$Cl}w24TL!^^r6_BH;yq{n3f`Ropv_vleiF zEw`(e^Za#r@7&=+^``o^R9Yeg^!XMFJT)cF++*548W9KAU+b}yMf6r(PHNI=VyM{a za~>nz>f~PT++^VrEPp<}jsbt^PK_gU(-$;MZ3r=;Y``ZQXkdF*vR2sx2PfE+t@%D1fB}|ovK+ngkq;W1FJwHo}>0@lz zbe1~Jk}zH&uf2PfMhJ{0Q(x86I1QCdrm$wtsTlCf*d+Lc{1@;`_Y_TUS6_u^|LVra z5@EMsqf(Og-Yv8{;flAYg*Gwvj^DdDx zz3iV1cqcHQJi8>yGvxtmDviZVn;D=s**DO0^fNUJQTdp-cebFvo%(4-PtTXq+YwXa z<4oakep~Za?aYa?&ZR)-VkCg^NRY|#+&r{1HYnRw)?A44X=dAKy-{$#qqnnK%x%xW zwP0I!JMr~PI@6l@oF>OAf0Gd=482+NM517RB)b&H*$wPR-`1zybKXBzHr@SESd#Y& zEuzl-lmNL`1NiKO!Ek(UHKvEp!0NKG0D<(%SIsANXPJjqCq7Bdl^teVE9eAr*e%O zOOTuskXvw00-xpBoKuF$xC=GAbyi2*k6`d6cs~*IUNhZrTG`8dUScCP$#Ir@!7Ia8 zZ4NXmn^;IoeVodPwuvX~RgNG2;s11TvdP=jw(+{NcUk2H#MmsWvlPe6Sh+^IxK!gJ z8>Gyn@!q_sGe_rf+Htaf6VA%P?*NjVV=1WX#ZKbY%W7EN+*fHHANXh);zAbWv ztCWrOHWqER+zZP=+Uz=$345apSVvrs*J$6{p885zcZ~aVOyn4R{@REPCL+1odpj*y zan*4xzob=mL|8-8)HNxF(RX#f~aSC6t%+cF*nQKg+6&3Ee^Ln8W>lqER zaw(7d8V| znb>)UkU*DTXr)yIEf)eP^@yGCzVMKh;DV*7T@VjRls&1tA0lon$+)1bnRp}K#yz=IO|W% zQW?jA#?~kSb^AAJm%k`shNgQ8(~|9Wj%_VkSPVEDSj;^Royct$6!jM_oxFndKg3ql z9gEWG{kXi|wSr)B&+=8<-t`(Zub9fXFp(22I47~xd1U;dl##it@7kt&SyCtzHiH^k z-fctr<l2=M#_k}c^MLVcTTJX$-fKt z^qn8x>g>c`Rv&9r5I*OcD=}$YWHeq%^ve3V80LO1 zhV9>L0<4h#{1G=$vbv&DWV)Asi{O2}KG?4}tM^r4Z{ryHM81?~CFFJ|`$KrWH_kO$!VO_GSP4 zv$m9tEPptONVJ)RqDY}APA|ZeWf^gbqG=!jUxs+8WCb^ zm^{($#U_{ZiL`Z)+DoxxyqdFUDD z&Bl`S@VzssQMn^VW_D?)70wAw{J^pHu^rE)YE;FO*nT^I>2cl_T08LCYSJ*SaT(Xt zX+G?Ub#(0`MzPR^>v9wbSN8KI0hdAT9(8S}#>P=9FPp<2*Cf}l1>+R%W?5K!#@0b- zDd)5|=_f6hwKIq{mu9%O7~8Y2@Y`D4Ga;lJ`&IZ9%PwEZ&m(%@A~r~g&et1gEL*i+ ztGPF2(sHffhi@f!&32Xq$7)Qp4ngdeTZ=?TOT^StHGlF2e`BwZ3SY~JBS`0kjLFiF zsijMLQ$r1oJ$ior-)Sa2e}L(ao2;=$!p5oY-&=4%CRYr|OqO22)?;9u!;@ZF1BAHe zH6M1*5^TVunplz@UPn}Z*rpRg)^9gTg;_0=uswZau?ABETX7tZ`3HFL`smPC?2E3U z1O1)4n7ti`_%)f2gIMSC)aEf?X&J^Inf$x##kDOFq$MK*&lp$L5Vn>0c_A%gS-2;2 z`xx@djxvXl=x6;>N@xD6?2#n%YB1((KkqD80e|cu7M9Dg60Xas7QtI()Ke9QWyX)m zEWdQ+=l_tOg>@!cK8hmn>}BDQiWEsd4bW@YZG&d8KDj+|*78`@Yh66x(S*z~u{&jNRxT(ZaAUA^}l z)JTe0OGo4sq^*!GQXbpof$nwl*z9iBJ?u6V-mI+y)?T(N ze~Ov0lEK!dUPK-aHbb$zMJ4-lu`Ouf*NU9^Z3%b__O_YF_yv)wILU&CNdp3|BG~!E z__dW!hpPO*)K*XSI8VHl5sZF}k$W;(zvaQmFLfu5r6t%<$zWr%VjiYh6_;9wzwK=B zWyK>#mfezlMG4F%(sKtfWjG}=+lVdE9GNTN#n$Il#OV*%D)So4)zr*?d;`l(=G>hksk9BKF zaS51leKgkuk7jR}=ilSJDzasgNeSI=-A@W$cBr!@g;H1rL?h%0srHXlT&p zQ**uuoxQc9HTRi(e=9eP_#3ZE+E7xVamHj~?^B80d`CH>^Tu-clGOsNbJ?hO<&vzC z#=_Fq6%W^uv7WKnO)A-|D_YVKIwYB4Y_(rL?=iyhjm?d%A0$|Q)+Vb~K~}DQ1ez5_ z+L-K}$Sr6SDoY`GXe@bWSoMC}e|)(l5Adwe3rms+^cM&`*3Tb&#;! z6^;UPZW@<@okuT2CYEMv{A4@4cD8SX4(N%jc?kM>-)Sw;G|nKlN(s!@clWk$qEYYA zm(LZXfp75!MWJ1o?vF$nOUCGvki4nvY90v*_HjhFnrOGAz+#44_1Uetk{~vJ8yl#x zrKdk>4jV=@)=}T3R`iX&QvcRgsM@!uAQ0YqGC|p&zY^Y+p=5i<9d^+v?UIws+KT1sjS2V;t3IO(QxPa=l3^ z$O?WvJ;oCS2D1%il`9h%NS1IOPr0)fJ&?aA=dFq_UpsYYnM(vDaFZ6szxdY(T=0`o zcAG7!;#*%A+E{p1Hc_Utr|)Ic+iLf+^hxU*5zwKIdnK$?&6sU_v5pZn7A|#Z{0l{w z+Fr+SrDxIVd`be#qC(B~w$Dm%HKBB%E%kY+9dWK7)vYSknCcC}^BV?WpeqjitE1ad7>5{Ndx>49!{O;X(TI%PM0}qWJo(q-T zF&s`5G7bq<%DNX}_XA{Ry)QhE@?Rm)!HiEN`aaM*9bFJ#5ZUIL@_A~d9~sGj+wy+= z`0dPm)_k?)e0kSikvYLDQ34iT!dWA>RcvAxUSSW~NUCcZK9MoHClvPW$jh7AM@lLy zrM*>6({_sOGFrSW^7(eQd7X#5ogWYR;=b)9^L7^?5G`{V$;l0l*#I>!Z^SpZ%5GT= zQTKxmipT%58Tb;hTVr2ia0M@FbG;rue=EFu)u8anONqM}_XWFlt6hC~Z>yQH&xJfc zT@zxOpFOU)UsBAyG@L{i-YMKY#s}OXPf=S>(Ui|wPJ!*ua~J~JeWDV7ywFH#En#~( zX~8;NZOVXDT5Ue*YQOo#nZL)mfWdf`h*?4I84C=M`tr>={kC>^U?ZU}4Q-;`3RNDv z0zD*Z^P0W45`w)l3(F*{&6jnL!K(zaW(34BQDch67y+Orz$YBRO3lCVstNLa;}-^1 z!s9Hf;&ztt3m4lrlQQQkbV#{I8m`8(K2@p9Wua2SZv3voME9JomE~stQLvS;6fsk;H4TaEZ~}1;mkd8SKtEd<3oUL(jdD zv}n-i;Tp-dFF|n6d&?Jp$Er{Hf-JeqQGJ=*guXDL4LZ$ulvKznl&o%P4g@D@1;sy_V8@b^h^SFxdc z;O6@o#;r+JDNJG}x6$ z37jbek#@<)fA^-u$`p6w1N;_Q(0-&{N=bHO)p_Oot%bDRNgIic^^Ec4x3|W>#e|p4 zb6N}BZF@5`Bt2f(=36jnh6Y$Fjppd+4}*yIJQm(!Ou4$7DG*zMN`k!qjZv+SzKn_L$>S1xJv&T%gHAG3Q~suC9{h z+8t7^gy`DVZTv#S;2?w3;?u4E2uPXLj6QtISccJ)3Z~r8qw;LLNV;;YcMWHgnqa}}0H-fUttNV(b!3^m_voQ<%s{OX)cnW5St z;pvo>UCMs<1sR|@;oljeBU#Vs>+2|ys4NG-<4cZ><*KRL?45k35#PQbq!pZ0c0%#t z!{F5ccfl==YiaY?Bi%UHGs>87b{Izfj?Zeu6ilGzgOSePMzEw=7xFu%kSrcSoL-S0 z%G@5u(Ei0zoH&~+`^U6g|%vV6gDqL6Xk#gl_7HQ}QO1({JVaqPM zcwZv!mKSl_jwn&!y>GUu{%g{P@$I;vHctsL?wn!RqfBGxUiF>yui#ZLT^7A5ur{QA zYr(nh-VvX6$Jr;WH!C-YTTZy#=Xh70{;n;VISmqc_4qvvnfGt2+I2Ag40B~=5`k;C zB3zfsLbpWL+;jZ;mZC%3j@9@YVSAO^Y`>IzODQfNs}UL&eY%^EnKNwWV9K<){arshsjaN|Zmzy&A> z{HgO>|F_SJ=eghU1@8O)-s9TW=UTZ1neW-)_Qxm0#-1LJD)CsB;7HlNXNI{QlWC{R z33k(WJfo8gn=_11(#^z|xVRdG`ACqA>5|j?8q*G~ z$u1fcp0*DIHLm8!S^VE^L*KdKG)R~r=+dyF7R6~y@5|2OiGM(qHxpOxhBc^_ zAG`~+8jTlHK_?-#V-|oi7!+LQ=afBSK$uXS|=T!ILM_#!|O;UHCr%o z?g(N_mop(9)LUsP>-{|Cg9Q=fyV@SKOPdeu=S`P6%zz;m0jwRZWo9K7@8D)JO^!#m zYG4k_MD)!uUqw;;Dc^U8s~(~3&_6v`d*thh0NwB9+cc*&$$u8=vMf;GxuN9rVVf|j z+@70;GO89`Fz4301v?8(FA2Z;p2^Zfod7)6WG<0~rAH)n!anU`xizFZW|A}Vn{1fk zm!M}VP-*lyuJ7n<)nIE{YB?d}z%f#int`T3Z$ajGm^1vl?BOjt@w^yS)TC<4V_k0K zvW&id(KG37^vRPKz?KrSDu-sRt=uiZ{3fupm1JZD5tck&;*%TxUf+nR5$e{C0W>*M z_()ft7#l8b zj=UDKm{TPud}61I*JK|~4h`4V6mj?5f37JbLM@@gz1=fVn2?6oEtGpv?VKmpU17GI zmvmt$XXs=;e0E62c%D4wBSf3F?3@lkkaI&i1n$*L^}|--!b++85k6UaeR=eRrN-TjlY?JowC$wvKPHVYk*OUsQeXu9BPYXFE zea1(!k@aeB17{R)J;fM^g@5cQi?=kVAaM8A&ozV@fgUg zzcR2rzJImgw?Ak^gp#nfksyYC4n)lJ9q4$d!25f$nE~}}+l8_}7_ow`w}?(@)`Tf1 zECa+&s?~IhI5#H_*+>gPjVD5H=#s#f-Kk{fzowfbG=d7rC2vn~_A}<+9wtu|@iR`p z$iu!V%X<;wd#J&JA>(BSqlKFaH!HYk%Xlt32;(!eIC3d>XRElGj2(e~;NtUDS9q|z zMsyK(&MzI1@pfoJ_Y5plT& z{)UUCMztV)erGUR$TTN5+nk6oK23PJ;B{4@t_6H>feF4i{Cq*WP3AiQ)eda6OtPQq z0(BRL5&{YQ1#(#n5x37z>vOpy`i&4n`O7Nq61<6^>rLqWp13TGYpZk3M}DguE!b(c zOByQ4gN#3IwTCrl=UzA3UXjRby;Hf%>YVI1ghD$f1ZMWZbaTA@^OK%R)Ly1hGix$jFhKscOmpdJM?{{BSmz9lE@Q_00|lKsr=`$Ko~E;>J!>X61JPUHGwV3 z6jG50K1FV#)B;aU8JG9U?ow$QXdeNGROt;QQvpcbh3}D; zLa7kR*6Mj`H0_HBh4fevfQlsu-7%pGeGQ!|lvv6Zf{ixYlrFEV@k4G3cr?NO`eE^k zne{FrVX~w|T<7y@vtC!iTNT7+q*D-eYW2IfF#Pr4#@42)5YPXO zjhx?~;Ljh``uAJ*5B zcFq8rak|vk$sof^=q(8Zh=3&hG=F)bV_Jv;c2bYtP(c1*s}bQwR^Zbyf=g6mkH?LJ zLr9QM<9dWshUC+m=(leVkN;5l-KDq4(ixo7?p->#WDFf`5tj#QGI+fVD|CXvu=}OI z*OBv1+h<-qlL@-8p6YmkydE_abzPcwt8?DQD7~JD@M+2)4fJ^ftM(a8LxfM5v8F<8 z)TW1P?HPnMGX@)gi$a9-N4b=z{|ysrmZ?}1=yHc&)qQfhH{kk>foA$2)LMH%N^~Hl z+}nsc7XHg8x`gmad!e5YCx9{Ndfw&n#r-Zg(-U~$fZ^tm?%zX{!B3n8Dx+NHpB^=l zWq!nRC!5B_w$LJ>{?VsCT;9^+HuEo&M3F^$fYDRHzX0?8ZR+=yWw0AuJ%v`PEzGm- zB>ezH#NY?^snO!)Gdw8|3u*uDh!U)L>CwW2ex=)j)#?2)N0>apdIbGS!(xivAGZ!I znk?C_wMpn#mX=1=0CpT)18OO9O3EIij>?WmpR1Mg`!CGzEuBg~$v(K>=chMrXPdjd z1)B(jl_p#M?Bi8zuAxadc5__VGJ~+yc|2HLpalG3Z5>#8u3Y6)4W;bp#21K z_{vdbQyOpSi>`s}E3*Lue;S(6!2?`>LZIVHs{SE{`?3h=t`t#kX|LyL$U z%A(x=so^?Tvx!|_Px<1goO3wuNt|tJ9>XCCXX9X94#vH`QSb&!Cdbf=gcOn(!j@iolrw!0+?%pl;*8KkKEiSzR?8s%#cT# z&~paoQ>_9fs@zM$R^Q1gi#%zu*g zMMPfzeN)8gS)=Jkv!-PdN$;F7&3wv}y@=r^N`ph<>a6{Cjw$oZ3?N}RjRKREoXr+ypMOvcy9k*C=rpruBq&42_*#bXqnx* zIcfBiuXHmmj=~HduU2g-7C^TfeNXpS8E0yAA*q3Tu~Dmku&8cek!oS!(} zrhEDF``KX3wl;6M?h<9VvA`f`JMQ^+n3jLF){oRZG1|)46Qnf06?V}H$?%6&xm2(a>-J_TV|xqh(b=BVfY0KTGqrqhsCtJ8=C3|Jq_OKa*yK^n1S9Idd-aZfp!t`FF) zoA|R4R;m-p6ZNBX3>Q%}>eFEZqLDu+nH)LmXBDd@Up$}N>^-(Jh}|8CrW=27Qk_v` zc5gsGQxs6s~ketyl5QTf5)K1)2}W zKJnSJ`9O8A35D>D`bdU{THzLf$SXB~h_9d~gU%1B{SPk?lG3rQkI=cL`qbPve#Gl+ zQf>AsWTo@Vjq>1y=RLifzPL0QRuxma-k&>gmXv8axYed%=2lIgXVLZEeLqYnDV_H> z7}IIW+2!Q@R$B{gUM$_Js>GE|RZ{7sAA-i^78iM~AOu1@aUbUGRzrgvpPh_F#;$QM zjr$WZWI^NX|F{lPF0_HF;=!-Y-eCoEBtX@J)YAp;M+$?l^P;EFBgJ4PJr`YeoN<;8 zRc~o|nY_9OlZrqT?BPY1Ep*e=cSaSP$Q&i`h8b-YEQF}dWy##c)3lQ6Nbzcz1R!V7 z9uYx5$s~iDgcyS!p;%xk1ZIG@))kHR>8bfd~Uaav;C6DdSdJ zuVu@&8?+&MhIs~ED&k=~9VEYR<51?R7pv|9SIS-_h<6zG%9OR_1{-WFKYBKmDg;kwd3%{--XAFjoA<$vyvbBu~Zu-}~dK3mQyGgU!`=DecA6 z3C%oN8N;0Ai*KeH8#%l2<4rLmX!Y6EP4(@Zc;=K5&=vq_lK7)ZzI7{$m+J##71{j| zQ?9K1YyPJ?sZ2_C5Q*}W}s4nX33#U%|;cDT6Ju=+`cnj556qu?t!JyT-2HA#e zT!rdzrAgz4(wc$zax^BOwG$|>Us#g28{ZUW*a5>7^*a7bb{skQuS0XpJ(_IH*?iJU z5KM1^c;qDZ1zlZ0uj6jv$Ov$2GYbr8x!Hf8*9IgzC&N>ZuM$TI((0o<=oH3>@{Wq8m}OSDd<+!FDO<}-|x>Q zpozZXY5}=|ZBIBp^^7V`09j0u(qFkKV;JL1CX=(&NTSW@^aL%B64#){&oKA`qY;Nq zuQZ#iY_rmt`=EvPf6*{NOu=}|VHAG8`R*Wj8;@3!w_EocS+s5@}| zG6e+#Z#G~CesWyJsDLZf7Di0cRS>JPI0$PMr@H65cQ(!M@4xRDX$rEUlFw_hO*Qv} za0_FrO4WG>H?vB@^v7YVgnXzTlZLY>hkKOYb|RL>t2R5rA@e$VZyrS3{kR>s(*OPk zBWU49OiR#L?@+-^I-kitjq{X{weLNqyt-ss9<^D_Y88E(oSJN>JyH$#UGeVEx}d4q z2|MBY=@B;Cr>8uevGmwS{3B!w%Om=+crPO8=D+!Kd6&E+eUb~6RZgF-I!UI4NV4o% z%aBwC^Mbs*$OME=kIA=e}{e7{{m0%||TJ=MH^IBy17K5*ij4JMj( z%kn5>HBIR8$I&1HlyhZ|^_0}I2Nnod>w-P-P+Ob%^t@4vAuPj~S_4T!HO$|`Z13VY zcQ|m`sbmR>h{^8RJ9R|4YJVm`MnCea%4CCIyb5MlcUqqw*qr{b_gFtIq#E4^ePT5n z-aog?H(`ncj5tY`Y+kS^b>u>L!>@dwWxId>agsh#wLb!(hd9W0O|sgB?S^imMX1v~f!3JE$y9YT7p zx`&P)l~P}`tgWg8e{MSmz|Jc`{`9U!cys$6erv@pI6}5phG){r{kuX7-R}XKcb5@CQc1x^9ybxu020mZ$ki;)ccORz$h5!aQxN(IPK~^DOa1 zH@@^uI%Px!kpum)e4o~n{*g#VK7RUT4N*_LCl1x8_6Ds!T}Go?0rgY*CY6^ih1=HJ zDd1*qQP#*%^wR=Y5_d zucDT!IYvFPSq=)LDr=n|0L;{o_fw{uOX`A%chOxB@{SkpZi9EJ_a>+4 z61RJyTReKQ$99OX*|!wz?VZNk_63T6AM=stvpgYYh_I5tr91RWSC7lXXRZ1%fuPGf zpp1aO(4Ntxec5a3-4iAWQnE}|wwJeo*E#sX>bwip0bXUkaOq`@K9EBf^~V)>Sn&^S z`tdFzj}Co4^uGp^(<}e4gwcQI^M6JBeevBaBO+p-sN_yoAyxh{dNbkh_Xi>(w~o6B zQ3ypuM&EZvim~ zo@<%;Dj|x&C@_lWCYnfo_iP@rVU`QcYXURewK3RX7uz@ArWL@S*O~S0MO#~2kI0c6 zC80U!(DSOd>OP%eNGtF%=yobvHE~We4$~4A;Ns`*>P(OXCB^l|>!ZG_C9loTK60XT zuu4h;K95+nqgt;;81Cj6y0}z4OTTO<3|IKOlNi%HGr5?u_w$naz=go9B47L$kOpiw zK*|VO?*3MPL6aDcIrLy7U+9>*_bJVO-C#5)OgSU$P1C_v#{zWg?Sj0#@*6&8e~_tL z-Gv~H3bY`UimViGMIEh$-L~IQD_2zVcsK*9Jt1a#ml!tf$Jm_Q>NYH?ur?b~h~To8 z;zw(go^T$(aw~3YxsoQl2K^FuDz9j)c6q`qkHBrfH`c&aUfVaVA{S+?v@y>#>~Y-UVL%5oDD2|%x6!rFDAh67T4J? zSEGCQzncFI*Yn3=k2e{uSzzgdqXVSE1y1g@9W&glr-@B`<#z+RR;20pcs0kg>f8$(^#Sx;)cumuLP{(D z%Au+p&A=-KaGI;6-|BXp`uq+$w)t4;{>KE#y)^!?JP^|OMU(K18gI*jmL-y?@gq@L zkyb$mrM-S^pX%=4ix;(@!(b}26Kz?tIk&Ab!fSk}De=ANM+?_uC|pIEs^4yDsCx89 zPn+12W9{nnH-9v3p}61~KWmp~jueOH;P5Cf}r05UpTNb_{9M@7QzCs*aJ#y{K>7PLBQ-=4Y7F6XUPU2svdo zzKh!BL%{NvrBeL9L%P<|MP?BPM>1Y|YG~U(=X^+JlwAf_6%qS62@Xd5-z!cYeOBc4+*X~shbk2_+|owX$IWDf6%1g4yhkNu@Vdu# zw^MUv;j|&7D7fbp!7978o}TBv{p7hyx)GA-W_T?bC0DFnQh|5a;LJCSEt_8mAf`Xe z0Rqpe=Dc_6U%E}K%-ZE=H$~j~oA5-V%+H9JB-+UW9}wQ1HoMfrpTq~oPzGlBn&6k% zEPViPaX7XFxsR;HC+_bm>pf^gZ4^kCI$FQ9`SjOC@K_JVmYVFD|GUmQP}-aB-_ko#%j(nCnjY1gY! zLr$vBrXTY_pM&pMEy>SW5ED;#fgatdD;Qx*m%e5@XARf21CMR%q&Y4-eH2Dn8P^j2 z7C>AiP-M5cXOPdDzhD^gV%ryc0LGP2+X=4btCqoeZsj)Q0=8ue2uuINm0szosO@Bd zsu^L=GN%0{IUdzDx{Xx__#Q_rgD4;H_}HxNoZjiAv{<(DYKEBoN8+mv=OsTEYqP}a zmK4wEj@Jt6z4pj-qatIabYBkFVhcwhfy*5j=iplzhP-h}r*{QR1o zo0n^EKZBb-;Y&;Py*SN1M#d2Eim>Y)DmqHImKC#%Q9>W?C9;2lV}VpVEoUe65c9#yf3=AA(*S<+T>>E62@ zto)pe6~f4jD(ESL;n|}u&lupJ@lKyfz6PINJXWC&fT7TDS_Ti~s?XImo;V82g>}qC z>^BXD-o|59QB?#sfGg|F{g>Df8+{4^Rk z5X$SB5GW+A@gipd-!-k1Ei%&vk0b!4U8N=JJASy*5HhVyEvD7*;>uOmvCxa_*>UPk zL0UkDq8gZ1JS5S2;6(gF*2;@cDk^bm!JI0HyXzH7}Ft|_;_pX?{4YGFD%D)srPzlI(S;OkZBH-Pxdugq zEFaCDCJF{5?m0)q@Fq+rH_6y%*g zwH%0mPzUPqItSN>4Xa@& z@J0Y@!zo@N6bXggi3|Ou*4Jg*Gr#zZ#@*bqi1Zb$5X#KSG^x7;kA!97JpO3N>-Yi${nCum2%lklnS>cTqK&|FS7VNlWV zm&XjW9DUS7dw!~L*B)hSZKJZmV7=y>{#t1BSvKDnSjllU;f_#(OSc`M>(sAKNkf1UPa-ud)q<_HRu5u%g>=WJyMC z6s!#Jm_$Ab5+ov4v$L7AN5fmjTlv(7aMw#~O}ok5-N`^qF&O%`fzG^_=lN;nA->?i zmr>vF!xOG#AbE7M7<5$#Y|5F+&f@bo zqt~waeFjBP-;f>8Ovv(s3kRy7AmgXk*}iRS1Fz~yP;aZ~YoWS{BMdqP)j4E+*N@N5 zkT3pi15WyEG&A?s+Z+9}5AbrR?rZOX=NxbJ%rjlp)_* zMvzau)tUmvLon{De77-mjhQBaX1`HXh5VGpH~L&k%i1{uk50@(B|uONcW%%1@f1vg z`@lLc+I2aeEf$FTLRPD7YkCoJPTjV^1ivV_TLGSf3e&eik84#nqjA7yV7k0BI)Y>s z9bCkKRv=ie1{+aL0FTHd4~W3s3L03$p}7^Bb{gjImH*PT(o7s*76n3_a3%UES8g!~ z{}jZGIo^5&-N$z|Bx~}RU(Z`LL=^7JuJ?zcl6Jcqw~^{pjn3&}Nl9~30^HmVxe(m8 z6pUYw%%jJ2yH&78XI=XSg2_lZo@A04;IGN_l@{jwUH|*fhjYW8$!6rDU*Z z8nzmmm3*42CL4e-@*MrF8|dMD5B<*GfRk7!aBmLGX7B$k>5#vaMXDtgC42tp1w_0qGB*wbLaXiBW}E%foun20)GFD zJ+q}p)o)$=de$n(J1w=N=~wt7faHd`o?N1jHY?C`WhQ|2r#5r&X|M}vM{XcaRD1!) z*W9`L$(|zja@c-3H21^H&UF zz$ev0no-3)Kv%+qQ)tn5vY2=Ez&ScefPEvu%GULGXo6Z!W~fn>tQEBS8K6|Kx4nW; z-vZ8lJ{^yR>9fU|cWKGjL;plOSlcfqMnio_o=HNknACER`eO zbW>Ho`KAFZfXBn&IL$$|X(Y>w3xKkYEAG0bTcBIG8H=f9NSI#|eb1S)FJ%@Dk zZ)5!>(tEs+@B+r&Ud}TR+ak~4YC)d6Uv0SwbzE@(oDV(7hG2Y5@~VCrHAF2kO@|mi z$NEY-MA96r2)9!)zoXVN%IKh>dja*Q=SS{t8#Il+KIBaf?suk!{)zg1X)4!ir?8pn zG38v+A7Dro)u5n``-9sJIQ>h@v4gLF*J?cZ=D4L^ONebvl<^QXzLpysV6$&M>R2h6 z8h?ik6$bqZIox*F){HzAW3b&4+M?Grx@g=nlT93wCH`SNbA49B_7-7suLt1^{2XY_ zJz@-#C6+gNGu?14Mc$Q*7fihjg%aM5!rg=>fT!n!zBxt$eF;O8omn2vb4PY)P$DD_ z^B{-4fLR)}nSA4E)RCRMY-LehY)O1D$3c+B-eTm4OOXB!*0Jbpdz3dGS-p z!s?FZ8F>g{>|9zb!Jv!VGx2F>7}(y5YHKi?S;D@x&28?`3wX_lV#71NO#L}pZ*zq46V$LO6J}7pu9X>EN0y{oa zn~agnj1sKduk8@2ya9c`t|JWa7UG5kRH-ovI*sCE}hvpJ6 z%^fgvzdWCT93fC1-?MSM(mlrLmug15VzlKE+0Dl!ug}3t6HV3Gsc-hBa4|v!9LPTLgbTh_LzunV5(6>I9h^ zV0m2mhnPK++iL`Gbh<6c! zsW6&@0pa%5+SZ?b0r%NcYki06T>W;tuFkI8?=~o9sE$d#oJnG=rS44PyyV1|>f7U$ zYWv;SVCL3*no2P02#CFp8Fj41dRCJ##WeQgVhit}RC7GF#&=+yRn&Irm`Xn9-39KM z7Yof_VD)t;GpMvS+WwXq<%Pyjd1t~gJhKDd2eO}U*l0B=1D_T;e^<)WWIt_a3qHJ& zN@szF@IQme8p}=!&i9myG@NJ(tit!W&i-}(Wrqn z2T|K6JO|&u-I{BcOgHbm+b0?puo}GlEAh!VDE>F<4a?IDP4?K z8utBU5KZf%O<-5ltPl@i2tQ;f$s7|+GLD|$8;86-i~v?*BYc8t1K_U=5Ft-C#c0#r ztiRk0o^zrl(9k(eFg5bkzQm?$Ni7<#u5Jl2dA)v;y}NfNcCUqnse)v#s}8U1Pi9U# zI^DHdxRMIZlbLWaO}8mXvsP_6;&ib&vOQ|Wl2da0c{peW ziXO;o4y?nkrVJBQwwU)ZRP%#%nqN|D9K`x|n@H+yt%)p2@*b`M((aXuY4GSn*_4rM zJQWu2bR?c9Nlsx+tFLk zSn*{O`}3%fyv<*ks@vz0q4!FIyaPgBx$Om8y_NS^1tvMf8LV(;j}>kkk{UQF0hxNn zHbxJhnIu(F+8&GR)c;gkp$$IHOescBy*n6cGy)n-7jOq8-$Dp>^1Pbz>U62 zOX|V5C&uc|$6}wsjj{pYYG{RmUw`5!AX$9mI6}>ASYT}eAdJB9h`d2c{gd|P9)>k{w3@lQ z;3&P!sU9ieB@6^y-yKf9S8vl3BOdN*Nw)C1x$2)6f{1YQ-2?9s}A8d~_s z0o20$xn@$?i1ueNL!zpOLF~j4H5Xxk+0un^g~%6&h5#;hNIA@ z^lI{S)3bUjrO1P-L+=%nKyB`4)Eh7sVupETrh(X-T1Oj=EH%C!bj!9NTc0sh!Ahw{ zzi!YbRsH3z^OzmKuF&r4==IUwq83RgTFir9KOIoXy6V(B?d@nMdQ3#G^jK`^mdH&Oc$o&ag z9q3$v%Ncd8^(I@|l@fE*zRl2M7yMRaSP!i`2%%=5_gcQo(h=8v9c@PxY!~N3?^ksG z7NDBW%xpE7(>!>B`rD552v^xEQS}d(;sIUHhH+Cf05-TTEi-07<4G8p7(d#+TK{ab z#=Fh|e|l|xXT>3aD0)GE*i zdBD#o46wCP=}yzfwfIjPC;CY_xl3+a+0n)CP-GMl;}&9oQ&lsvzByDOIxzHgUDeOp zQGwaKan}mLYk~O~p)U{DcF4X8EPCr6>_5_oR*~T~$iumr^5aHn&VHi`#fBBT)V;Mv z7hJ`;JJesDW|RC6Br!XeWVDJ5wQl`$kdqUagM3ppY%NIG*4~I?m;}pVYlS%+%4>;_ z-RGguw+)a!1}zqiOJfxnq~oozjz0&%Eb}S?^JUw+K*O)KG|2aSf}>*nG8XXxztfJ647mobI%g!ljnFgW3c+SE*`T3n<-^94@k&U zx6x4$9~l*IDMQOA)e>$MXK7;tOhYm5ouNOE{_BJ$Uf#26yU|7p8*B%Tho*bLD{)Vd z8Bl7)KC13H4e4T6xv24`Qn#W!d2Vzx%DKLFOf?s2GBb46rnny;dy%w0keU@F`1ND6 zZU&W5tc>iv;`s*u04$Z>V1T_@)r9;s9y&g3(e1;9_?V4zWo5g z;5&8%edvauk!>wWm-K_MZu8IyvU0(ypuA`^e)i|v%IcASkCtlL5kAG2hMiNXR?)3% z81Wow&)VAX$*SMFZr}?f^x^PO$1m2Pond4T*$^O}rMlBP{Vr2H13@2Fn0y7hG-qeW zMc+dLB3RScg_#i(Tq5IS$;B&4`2{qf*C1!*5{CDN`L4qm0WS_M8h(#q@JprL{ik|c z6S4k4kC`T0(&KX(3mU4%Af#BE21J^?8=OQP_XC24hD*XyUFt#*h+Xkzo@OBB?2=(# z`4S&!$nYq1k$>!(D9bY$qh>O*z;{7B2sIOWlmLCFQfGBSiD{rJ7STg|1@-!&;%^2o;JRnGDwQj(JJ>{D7Z_L* zHsqGalK{C>*tbT{U*V4XB-Y5C6A=72cYs=6#fE&eAMgv=u{`0>x8XA9>^9BeSuCQL zJYH`dnyaat_Bd;em7VpF;Ost8|7O@}JB_1mE2ekJt2QZJ*L|m=?&fE3ZovnFT-}|C zmq*hfU-aL?sWY_1ok}HhD;m8Gu!%}Suj+z}&?{h*v>{$SYz0NZ%|a`l zd$$IwQUwW@4}Ko5z)gDJEc@<4kt_xctP+@g>cqW4t#pK#Y9y^hby$tw84xB;1R0SDZona``$H=Zl0KUlPwux;s(lVQ01 zWi!en0P{;oX_`+hA?`eQ#F(U4sBDX4gmtvFjjLd0J=X7+2>er}I0yRs<||-i{hNJ2 zs$AWU30UnqbL{#aMEQDN_7Vb2c&L_Uld}&f_z2xYhGU$7QI-*jm#;@pm)1vQ2)Sa) zGx71w0tVJ5XfU_L#v|IAk(pH5@fSES0C^6KlFwQy2pai0sDC8qxXntcc>mFxIVj4a z+mz&OJFe=d>H*_xpSI@BLGk+%M)Ugiwoi41@urhp7;GJ@7Vfo!YLiBz(RO@Ey5Y6@ zELGKIfaD_H)h~+IL16&HH+-jssBg)a9TtL`ZERere@zr1<2=$@RNF|)-zfdRL-Lv+wVG9E%mZT@lfG&9$aIg;9FhOSX z?O`QK<0SNNhQ(X38KC?wB}kk!?ao70^38%3$2p`A9#?-S%2r&Uaj)Pn!50?7Lo{|$ zn>ARU6}Bja(qJBRx%veTxnQyb`#Ky^6V&RL+bO;pKoi8PKimo{Iy$bP97aCqNsGT9 znu~xw2G6)X6r#rgCN2TZkfvnEO+%y@TM|tV5GDtcj8^w6s|JnYv5gE5iI2A8uQ9hJ zfKk`Pr^2&6)QK1-2IwTNL5;^9=fwbF=UVTLCNI0S&Ys3pRYn^7mL=*oez?HYsUL~; z864U+OY&=B9@qbika7^0F(*G4Fsc!eHTYFGiH>m;*9VOT4+6T_UqQ&tY8%582rER%-?+ zs}y!+Ik*e0Ef3&(p?&t;THo>c_c2Pj%v~Cu$+r)v zBz?Gkh_(hevc(pun`p$AMiNCMphFGD5IqxIE-t=Wa=dGfm&8qESB-pGr%5a_!^;k! zW%@!*ota%YabP)BPQBeB0{=uZ(|loD7bSEWCV~bqkDh#N<6dh{oY6Ec_LxzkHxan_ zoEt%j5?+&BEc$KnQsb zi%AdSC)y+<&I?N%Kep-G$z|`lF|xFR)^Y<{O-vc%5twCniS5&7)tIED@VbJ*rJ1f) z59c1xVq^p~(&@8qv;bsW#^}E3syhzpIt0v-f$+5%uH`&cXAVp90o9%1%BT!mLKCX) zy{&%mHloqaUaC5mYs$LdoRm2r3qeN!W}7aaGt4s-hP6k92F#JNvR8QXL4+f#5^79Y z-aGb!^0T~Ml&V5x(19^;hyd2q;bKbWzJJed+>P=X-^BaOI(>$yMp`T4#Q39y$Tci@ zFmq;RZ*NodAVyfp>@s30(VgMp@v&vL5mvOCT-{~821{SOh@OwSb>put&`b8cL~i%Y zQd~@Yz~>g?CxSnr7b5U^hIW|8NZ#Cpv3-0Hp2d+7Iz@ZCBAa_LxNz-fY3~dN=QoQG zkfSv2J#)x(jxs~E1qhM~5#n{JN+607`;=!?b6a~M(;2-Of(v-Mrq;DbI}x~P7?Xa~ zvtv4F^lEdO<65q{!E-U{SQ`(q>ds%r%;@z|lNx)uZQ?JB811JkNG)#8qQ_$J#=lqH zU_>MV=_kb9F$4p{$>!bmw@lk^-NwS$L5>YNilpkif@tk%x#hT0Z(B< zADw#C?0;V!ql;Z@>sQ!p?-jr{Ez!)|Y0yEa1-k5Yj>NYQsR=RPoR-B(&F zMA(X%OcSVoOdGF?EgWQ)ev;#(R z>BIf6dR&q){TBpkDyU)>@YzNMJM_!M1SjE$BrU}O(7`QydUD{&=~x|)CsC?bzhn$v zGp#l9xBKpuTZ%d6E%Y36vBA`1_&);9l9TlYN4Lj^gNg&b{emmN&y;lcbc4`oe6EQy zn_!`KL+f`2 zMqe3HHz@L;x|663 zs_xzWEj9*o_`-~wLs?t^U-$j+nn_-{c%y~ zj8p63=rsg2(e-g#YbT1kEr=ryNGQAnY4ki*;OZ(>g2@M9(+*IwKF=sD)%U-Chj%D` zHEFz5%MRcVqGH2C|03LWys<_@-+B=orFw6fisyfEA6Ylosm}SjsIB1S@ zdJGC2Vm{+xY|bTKZ51jtybHR59*HlZ7SpH^B;eyE;|WdUf_`PH3f$ZXqd!5g5SBkb z`FaE<%&MToj-a=`?v0?*QcRk*-n?w8^*M7+pzR`|fVK~bf0Mi6ay zYfq>H;7yH;9 zzz!c!v*fIznb{vuO;U|4c1zswi}>-`YoLB7g;$L2|OyGvJks8;qxBNz@MmeBhr7eglO>>KiA= z3qy);EQhzf3?c}hVso1vs<=v4G22%$Qju~S$)f&kM!AHbePddwKT!-zKi&+q{^yg(Bi+RR(;Gfys{^9iy7mWA!5|b7ku)e# zK)OK@P#P&|k#6bBkX{ia1Sw%C$)Q2IL8YX-h7yn(7?7Bu;kVD|eZTw0_r1UKAI!{& zefC~^t!F*!Su0AQG=<~rS?J2Xy}v7Oe95m;P^1}#(WE(@B~x*Bo_XJ+s;U|k^1~WW zbR_1RAjH>S`Eq^V_@mTTHWkP4xbIKtj-iSjYT@;XR})0|kMV;E-N#p7>ht>td-7#2 z<4PEj_o)~B$@<0!;bUTc?6)K&rsIOVqsghMRZ|7-J2X)*ShG;j>|)d&`2_}lI>Fuw z6?|RU-h^=C*kqlp#Wi?0T{0)9@=Tc7h~3KP>gHN33?wn>mM`g+1Ru~UI}nTgstJG* z^MGPbY)jN~^=!n}5Oz>0DCqp!1;(v2PZuu5OvVeU=-Gszn_I8$z2I$)wpLubX&B=F zRIiqjikf_}c(yqA8kMzyKzC5^#kWqnh4FKm^%RTUJ4>%I>@K~Drab_hAM9{j@a&|5 zXZY-C9XKp_#Z`XZvBnh!UYO{C?$K>^E{|war{mDn1?xpFtEbpX&D^cXH^b zVdz_5Aolw5zS7aEc8SkiK2F6`ZzhbQYw^8pS%5;#H_pmnm3SIEL9AX7h0A z9dV}+xO7X8eMH)5DT|^m|9kBi%dMNG;dn|sjL{DiAfw8SV^C#6swCHMj~enLID-vN z)(@`tR%Gtu)<9t@D@(QKLPza(rwyON+luuYA*earkLA8MJY}~q$xzvmirY|dXx~qq zK3~CsWaeo}mpiz~U&XcLa4o>g}G zeoqW?H^#l>se_+97*tv7S~IB8&9pA8edGmq({g5lZ}t=Jj;27`XAm0f$AgZ79zy-47yxp#7WWMtY|lFK>Uwm^@dZi`QdoIe%3PnmStXhgyU7}ty?Y{i{jV4 ztRyniU$Fb=6j5eL=zV0KxU9RFGi1%XQP?v&BDXf7 zC#_v5G;?zFq|PJJi1Xv#Sd5&)ME=Ikgk=xlL_=CbHO5eum+s71MpZ%D@p)YJX z-#(nuJO?dm$6!&V3%IssTmoYAU zOv~&e-j;&7qaPVHQ?qFA{%7EZ^+>@xFCPP*2`6b%dW9isF(oY>b!%7)@4%B9Ld;fQD78oY?->$o_%^6!f=PLx^=eWgbUv9G*Ud-`p{$gN`-gL9OKyen=1O{YQagJPaiF4Gt!MlYiw zKRzu}z_W0N!e_X6a8j;E%=>tBn9pn);bno#7|S%9j`Om?m5nXJVBdGc=Nv8DiihI( zy^tU78fL7n7LQ9ZLnWj6qtrS@R{5azvHLQ9cn?qlHfYg1x?K0YGhLVSKrOu2N#iMz z85&k0A!(n)ZMO{M@rxd}rC!h|lE}auDiOoc)ePp3XDbCdGYV-72?2jXpwn6L?S61G zD3AW^&~uxSia~C$Q;cTyM#u<~u6J#f*L1!rkyu@z#J)?M{{ZgYu4LQ!Sk){^9-H=J zh>N*95ZJo1d!T~7uwGno8G%3#7QOzEzpE`#IG$CI>GD+1CXZs?i52_F!23ua)amBT zwb7M2?^)SSRZHm$yWQn}q%GYUL(ky`%GxZXWj5nCQ9m{otd;ti>0F~%A#Xutr0J1N zHfV%^9w@F;J4IVJeC{2u&${M3mHhBNV$RNU-N;J2Aw}(JJ*XF71{x69?GjE_;X69E zr})uuhn!_0Z1m z>qEY1Q(WEN#ZGf0af+?6*dAiQ5Geq~)pu^B)VJulRrz0BEfi@zl1n=DWMamYosg8m zyWo8G!-GL|*(tC0R~Bdro}xJe%G}lo=Ba|AB6Q#CERPcY>KrEq>6lGpjmX2gVkdhM zB=`Q#dYaFnSA=&$gUT(AI+;b%28D)`#>VTsOEzNLnI4o3>nn@{IU4du^Cx0i+J@fw zB}9f+`7)D(!~ZT0LdKe`0q(1|4S(NQxik4*f% z>a)iY(Mrcx%?rLv*i~HTwRo;CB`ugCjVQGS!-i zo?eml9+fnIlEIC1S63TQWwv_y(-TIb;L|^gq@Y4>zsr|DOLpA^_EB)5+!SfmHRI*l zFEAFp9Ch$XgzV<-3@6L6aWf0S}sP^xYTE zRHS+*hEedCD*aQzgY~DZKa$!6C504QaN~85`DEMkGFWN}GWUYa6MODDj;v4Q^DV)) zlX)d&HQkR{xJ26{(NwW0{Ng1Nn54@SREe@0(kpMPn>wB6VCU`zQ_SAY&h2AcRCy4G3*J&i^LNV=(@6rDWWii9YGXxj zB;60!#r8z4*w1;#g4z!EGn(eL9o&_kFwN$%bz8NzJS+0njGfT*7_lwG9Lfdr=$Rb^ zHILca=H_4fR!cUZdC_FbUSp0N4*5=2(bU6Zx4o$t6x4&*JJ_TJEic6+m&Ch$qWEG~ z30i`yxCA^UTX}b)G}8Np(AlgZqRp^z-fYC$Ml~EZ0F9gn zJ_JqVy{)8Dl7ui{m9ONzl3jO%nSn#ecUy=>jmNEUWMHLX#N31b{UM3*LWw}Duh7-b z`$nN8;8O0(%Lw>MTF+3fxd3*3AnnmZ*MSe1eTNzD8uN!8AG%7t2d)cv(%i0x(nc$Ps%x@4f>?n2dr+)FjR5_W3oHhCsFRFxZ_< ztlJj0S<7iPpNAT7viOFm9t& zTNnjg$%_K_dTT^{`pY||l-N|nI`5l?-g62;7=uB_A1dOIUw237 zhj8i+h1QCMZj6OUpy41F^qnqRr-e~`C=0$C1x3Wk{q@RI1&ab*BY#He0|6p)ncc&E8`0^4qRxwRFYgvkGv^_UVF zn=u+|;jzh*_71q6RgO-SyZKT!rIb{VQI%fPrlp}XZEp6HPN1Ir(H31&#(rxk36!b+ zwyG|`s`mfGstO9fvm`<=2v!r?X+J%3D4u;G7uZoUyO|In*QBkMFckW(=*3YUS5-c) zVBBhaFZ!x^Whag@xMUoqseAvuI|C9jt0$?~Ki1tBFFuXwW}yO`0(zt-099&dc`r<*V?l8U^c1&6)z-=Fz(RxGmIlP* zlvRhV&oXn8@G#J6Uo&PF0X@A0OD6j?-NOY}-0KUQ&krf-wRzdJpEAyo2rYaG!Vlu2 zIK4}*BDtUPjZym2($7p^VN%k9c`zN{Zr&d@5i2akWm|@6GIbw*;{IyIPQ^2v#*H!Lp7LZqqGn{}rCq4nDZc{d`y1EC)||2SsBYk{B(I4?!JpY5 zx>fs=(kJsAVDFZ&ta~tcBK=8dESmPD&cmraaT)f+OY9s%%3w!y)s{XK^QB>KBAT?m zHq?k|8%VogZY7I)ka-&T2x~c1bZIk~8Y{h>S4!u6(U0O7U|-+2#uqBP77j$wu|GM! zX%lNaNxQW$DgZ(gn2SCfj+{DKa>4>3oTGzn)`<7OdFEYjWkMC(W+s+mCRd#E$3JO% z?6Bx=8DK^cSsJ+`+47l@PkumCU-B)4RQMt25ZQ56=5^)TC#Pm|)LtX6kKvqMN{`RL zk_-0tYxeeMbA@nqFYp^gqR6&F9S(P3HNO8y-($WRSJw`Sh;f?rXt;*TtEz@qFV&_% zKv{J436&VYFyO!JJK6JOGXUoJa&1a&l8WrDbQd0aP5G)&&`_JQyy~$W>jPuSxQ#e% z=js|dJ2#gT^_l7Ku!Bm;HK3I9RT6F&IyF}Glz}<_#@+?N&Z_6#=bY?fole7iUjmpd z+s|+RwmlRNGWtOmBd_4V_!^*!AIqz`i7>%VA)Fc$ZY@B3X6W#(hU~W=7##uhP`-RA zr${3kfy#BK&{(JW4zGA<$HE_3@nDaVe7nzTnQyi}zS>DZ+!Es;&4!^6wK#|{c6m^H&&4r=fC#^=o1g|gX zaW6&*Rls0^^!J|CK0I+>@v$1^dH~Q&_@2bN1-6Ig$HotlOHA|bqH!C|0&u5xA}}e; ztBRmg`c?-*&+eQvxZk{*EV6uA~-g+@Ash+v;L7`eHhl3Yf!GYg}VdfM9h zQk&T!yV2azgfe~AS?9gz-S8MQUapxLilL-#9>KqO@|?<9LSJF@V&lQ~Eb>e@tuN|% zw~*5s^w9Trutz^i?4x><>j9`(06<0aCn>ffu9hQfV%LQ$eX`HJz~9yqsOScTKj&%YN4WnD&9$mCO)kDr! z2uqK+q0M{ZaWPe0PdxQP#Oz~nPs@ksxiL2zdP5^A7G32O64r5?W}78*{{+Korduk< zmD@0ua11O+TR@5*E}aR4UmWyaqIE#(5oqNY0uS)gHN0+4A>^jchx9NeKlYTC8 zl^!2(nF&lx6oSF5!m6SSYqwdfbu#X!$>wNum`O)8c;M)J_uuLAF0Fb4AE1W~dtdBK zXgSeKeE50hM3h#nf<-xuBO#m4k|+^OV&CeH+r9x6>p2dSM8Zt4911pXSk|o%bSTA5 zD#7kpr~ZU^5KNVChbYwStPj)G@NQ&Nx%4p557_%iJO~p#&cm@}TA0t;9aUN&fZ`kK zi7tM^>_VB1K>}SK(&gr^3kgE7*7)f};b)07{7wr1D%Rfyo-kfT;o&(k-&b+cWY1xO z-58+=8R)7Ar@@3==rrJXnFkrRxo1J_^2+wRQwYMBqCAT^Lgv41+V^LWyV;suIzcN| z=AFbtlnk07md-dIp%AmkDh< zaBNGt=|!dsgQ^P?e2briVt$_`xg38For8(&WkPew&_%fa{o`*QHJaAaXnL?T^v$|W zos6+sLaMPTW;+<$fu>L+Ak>S&@A3AI|nn#Kmx7g^{fUhKyVK!%1M^9?g_*VF{ z^=pQ8st?WUY@3nhCc>AXk@Ho7@?xQcAJ@l{-P^{&j7e!q7+;_z0-<^Sbfw0*b6CEG z>JC1W=RT7{Yg(H>7TNDx79QCr19y)t#XwBozL}JcSJG_)Ugy;S7a5*&NQF)dOYsGk zl-Bryn(Ok)kuG?(Dc=(27WBYrg|X;94dYh5Z1~0o&eOyXNPU`0a1>~T4LC64@!LTwthIOTmL;?i^AIscA)F=?z(Q7!0rDUK?N`2Z=@RbHUvYfibuq_w zMKj2`{cv_RsKu_-c(Q)AmO)bH^L9@DAEidXg?hV{?U>Mdt8irH zF2J#}4mRruZ0W3XhRZ1&%AbRkcr!1UsDK{!{o1Zg&snd=-X6)(s-I09)v2}uko`-G zDK-CyR5*CHn8@?k9JijG<>>FqU!*pD@Tk#0!M0UKR#rs*PviQ#ay^|K;cr8Np-^-5 zX4?;1tpdKP;HF>cs?hcGNP#O2oAnT(3CGBL6VHf%L#M8f9yw=ZXut$J3 z04&~1Cyz`5^iX;k5Q3E)qLUNL6F3&pmm(tTMI5y&AIFUfWO^pwAUv@2rPLk!Q8=Rv z6Hs`|xl^WcG?64KR{av`noj2|2i_670N!{1`c!>xiwnb26f8>#ih9fL4tYJ|apSpo zm%Lkn?l~GbXQ49x=GyT!p6NMo2rRc5UzSJd6b(omKNRZ`R6N>GP|f%yLYQoaw==~R z6@|U+hB!ed*jJ5d3KV)+&9jk~0H#7|=p$fg=*cGwfET5}p0`^)eN|FDgVy#9h2{Cm zgJoIh8e)Go_!jd0{mUy_Lc>ILi)NNxa2HFy^o36EE`HhUzd!zN0hy}nrHhZ_%+`?R48B2#>aT;;zdwD+3wd@V`wO2n zO&6+wMPQB3W>-l3ZRTLIuffV5d~cdvQ^xHQ1};p=Lz03xK^W*HFHfJi%UTcHKCN-hFLU1O zfgdE20b$SONBH}Bcm{eBg6Y-i)FUD4fBLQMXsO~kEP8o=g=3`m0ikni{s{Z@ipGn6 z19wq+mh;fh$-_t$pNlhy^VH=gOqF&PxIfrbqjBW@MDkn zD^7!B#I?#`JkPn?qeki zLFk+2fm^F8L8Dsy*SLT!1z=IqT|7|a&SAW0a@v^T>m!xDA# z1d-{qKzVZ@<(}pT3|%#+IPecjms5)}6D@nfX)znF=UuN=rRn}$ul~q%`2O3HDSHRxT`nZ^Y>+(-@KX{^`K%Q@3X}7V z%PJIVa#;%}#V^>9(J3ali$&fh4dKD`_MF)a!ludf=5-VU|MM<+D`4m z)qq}TMP)HFFy#;J;P<2~`o(fl>5!Y{9~_*+Z7-Wo zf5UXU{Iv<*NGABs3eY9RkE;fYodl9yl{xxuB=$pX0OI&Q`kZ*lH~@SFBx{X`Et1Wk zn+kpCs008L*x-4!kyv4XMc|Ki2w4yPbNMJfd<5E8iV_`?@U8~fhj4vZBAovnU-c=+@5uMZ{Np(mrHbzQXB`0@x$R;#dV z4+Xm4pTaUA$4KMTwn{4Z)&y94gY;@UvBDq$gg@k3LT32TkYeyyN?8YY=s zx_$Ae)-IBpn|mG$PwamPl*$&4KRpB9O>dBf^?Y}i%Ln|=AD)9&_HCX+D}XA4HG?uo zGy10x!FEAxwr|#bN^Ea}Jx&;7jG2tlyGh^)rRH{b#!*%5PcY+ULw`!M^V;q!0FCLt zb6?aiOBJ3Hq*tLLfF1JNppbMT6fOt%MzW=YkwEwJ<%cUeb!K&O0@gYAN8SzgJ~(pO zBGF>Q#x$a8c6rwV!fFc>3{Z9D5Lm)uI{J9p0IGVJr)kdV7P8!K)yVFOX1 zsEz2OclKWJ2Wzy)M@R>LwM~=(`Wd-!>hTMR57fS~HFLD@dZGzlMrfV7TRCdjK2LLl z1O(oaf=*QvP-?Z>bvYdfs$Y3>-rT&V)a;0vPBhkPddF@0*aYZ)D`Y0ZgI>HyP0R{H zcwDHNaBuJEi4hSfe9oO3#FXlkziAWG5z6^?OUFS~mSVAd){$_w)`%j;_UK@4>YiN5 z@iCMbap}9HYNgc>sAN0ZZ@2Pe!QDjXAyV;&IV#C6m&641=-5>a+X_+&mol36P%olG zOPB}JgM;qSTDG1q`Ji1GujZX#gz|2l3z-E(8QODic_P=3H1Cn7Wd3}71{P(#@c@n@ z5Ij~9Ab{PO-S~soX}AL2TV8hj)2Cv&Teonek?c@2;HetM&%q#RT|T4zZO~hFXLa>2 z>Y_lWZO?+I(^*o_M15%P=B<3e+}g(pSW#<|dYCMxDf&>jIqFP{x(}`446umgFZil% zuDWU(>9&^E1O&OW{xZeg_0iAe}?9{@0_8Zi&1-zEI~4@;p${oA2 z`749sLA;c6k;Ufn^fF@1Dwf<3{T`krWT%`&ugxVTGC(E-va~Q4t-7UaB=*x9bJb+P z^HgU6NSx%EVIBYLIIMY;7y2nifL%0!-y7H8stp z{|RQOYJe>$FiuZ3LmIY8hrIegBLf=&b5wDd@O}Xv%p+wT4G!^NEj=y`zQAXGqFSzkIH+TtX|8Wr# zl|trxFzY2<PXm*yvaWGLM5F>30*sGzwI^3||76Bm`-L%r6*CzF_dC zRs8uHR-NbxBqtwCo`LbPh>1y2oZw0gJdA^e3&xXy`tMZ)4l~XPB*BfbJS)7`2i^u1 zPpGL8Oc4YAPo@g~DQ%O{ir>o6{Ls5%13S_FIBFe=<)Q#2q9SoeCJZNNNRny{kP1nc z`%k7$YIYtVzI?Q&af=joTg!U;_G?PAv9a+`{mn~qoxMUt3yW?Bs^C|Fux&J|*ri4@PtR5{ zch$1vgDv_GM?j&+O@XgKiX0rzMWXKA?r_noIF2R|UffI@EOKzdT8>RY zSZSpWq3?@f`l&)syD-vZQXZGs><%C;$qp1`#dgBlT>Ez*we)uanP{v4@`{3?*HNOQ zqn_|_T!ewUqnJ(^yl$=1v@~hAg8{op$4;Y5vb@7Nhv3_ z*d!T!c#5!_aCUM)K?iDTWICw;z%Wa*7kX3`6hicm$6}nK5QywtS%bXF%J1-di;Iiw zVm#w(=V)0u_+_xO#=#dKB+j*$F}sD2sssgB%-$rN)zj2-rJQ@wwW9O!fyr-J)9p)` z+T`{grnjWm;-6NWO3Lb3ZR%8g*a6^mM zwm>HlCgyIGmaCqT$7E;;D$*?dqa;$y5|!kQq_jjuBJa_B%j+n0zl4IELf=WiZR_-3 z2L>Q({CE(fSC%_H3fxw|>f+0vTmF{J3A*h&X;)ED`J*;DARmVZGgS#z1Ohu|r5?tQ z9v-F|3XyAJ1>L-p=yeaPT#*cpa$wBy5x;Q7WOjAN%9zp>TAIB2QKBQPE?I* z$quwJB-_O9~(67>RZ_ee5>y}0uTJ_DE;>2n>sx2xD>NhuyhY1C*A&Kn&%KYqR{0q_mjG?cw?!pZa zz&s4f9#EJ(3(KOv7bh@qPav$%eyz6b`E{S3MEJ~J=3w#zuX&T2D>O8Vj~G67*41CW zjE<}Y02c6%WWadSj&nbbfDwxg+QL+}E~7`Zg0J4&ZajP=?7Z~;ngxDSdU+Qh2C&x9 zPIV9f`H`aeVOc;fRkn09a|j4EONTFG*amprrpO%UE2HA$S03TX055G`f;jGz$wJlk zPjn&J$cXPLZ(mP2+t<4DJ{_h)1<^dGPiBlTQzav8Z0L5?m}Rnt23hRvTw+9TBa|jv z1H%Vyu)0MIdr0O&3sVmRZFdr#pL)1R)L92EhmP9~ueY2qr$^%H z`M%Y!z&7+8k+fT~kh$u-0Ann@Xz5TaSn4NQ#*MelD(t2+Y(*|(TIbt3g;PNnl_k)+q{;p(v`aB=1NWaC z*YD_5Dj+fmqMBY~w4mAuAlFTGCk9p@jm%+N1DKb}Mox0IPPRU@oUAGDHxh;|eSY=B zI6_72<@aPL$bl~pvF+PUotj^m7m}B22g%F1VEgTbD6&%1aV2-rd6r-Y&p;5*&_kD$ z90SXh*h9BcfZ3NzQlAJWyZ+d$0>}Un=6mJzb-nv)v9= z2}`K($hm&=l7<0oLiozptpFf;j?#Ww4QwMT6O%@Mo^5EzcXs^7ODwI2At3g+Ee-P{ zL<_?N;Y2tV>!X&g>a{pk_(@&Gb}!K3ha~&Sj&}^-RW6;f{q%wEc>ZNR?o?M2>c7y#{f6J_Eu)vlEs1830Ak7fY=wF-kD7C^~=d+r43>39p<-$0}U03@#tVIGy z*9u2tpJkS!H%0eAXPGMsdwWdlOi()g7Z&WKuy!BfC8_-@6b!u+>x+Ts852|%2|o8( zy1bAlxz?*CaagGmV{l*RR$=u6Dnr-&f_l3=&Ery?*F;I#%m0*a7R0|ycWNhp zG2c-epomlNz=0T-?G}5@^LB^%5090qoy6KjBPfa;_L^rM!)|hnHvw8@#};euV?9#C zVFH-%d!x9=Rd&h`K+F@SP{aP-G6sQDH}YT|oXab(VK029S56tT_-J?3VJ+3c%u(0$ zmBLEDhFk)h)Kc&#(%Mw5YcO&daRr?;h6p!+m6D^nEyq+x$|V|s@mH4yOis|kDN_#Gj_8UV_?F@kn2Vf2KSFS6yFFO{9PK0U$DE9sCpHF@ao+6*F-*je@k`+{&c9C zfFCuiTT4zSp~q_iQqx{5|A_cE(iLMK)8fk$L)gq~VKP{#lAT>rM5Nm4Z3{rm9xSxy zbg`J$WZ|`R?2K$^#>k=47^v>40daYM63DUg0w2363-@^XT1&dWF2J-ap%Q;9W18l)CdX$CfHd;?bO4bvOO7d#|<^-$wX!E@)mw zNv*xzFTuf~xpN55>t3DCeOmXc36Bc|0UHHBBKCdxXp#sPU14`5bF`e&TFQREjg9RN zAD@QL(fD-Pi}^bu+Q5*)V4sT~f%_VL!Kx0Md0R~eyVH8{;BaiQ1h_CrnijoW35i{z zA+pNMHQPD6e%p$v^t@ZLyhpEaKgHW#E-|_M=l#0kv1jRZi^!R}9MH$2WN(T0bXRf&-o1mKI&&qr$_r zt&~l9M6vy#3Eb2+LI?B;17vrHzrkTffv3UCl%XSrMGw@v^N1bC1n|wKZedQ_gBC!z z)yYiIV8CNfNQ!8=dGVuWrkXH){R2Fuwg-TjLIV`}!LrJB zFEJaQGZt9gio?d2S!|pqVc=K!*m)?YW#AePeBU+{^6RuGr~XEXX1-1)O-snr*I=lo z8tj#hBteEN!!FaMc-@6I1Tgb5%*}F*9(wlnJixyE?^vzmv(z1$Ujw5tlBFtzU7l1k zCtb=sK7!|(1~0Vo?pZspqqHFsoesafrWx4}12LrmMdJeXhoH|!?bw3FfOZ-=F0G&WF;59JJz1Ykhjr2Uj7G&7tZ7vQ{*#B>g?xg%BZ>U|8!dt)faj_JZAa z`BqFE0)m^_XB^pLszaRACI@;Tw0W*kEJsr$_3H!QC)fj`U?nI?K_e-}@ z1{)#T&2{ciAJ1;DWCJhG{K?PG80lZAO(E;r4ZYm|mL3E|Uh)rs`ty$=*;gQY<1WF` z_rX@g>&f`Gg5t^U1*|A&Vzc5T6AfHsXfap6f=t4Xn|px1rb={5a*1b0^tV6XLeFp4 zwyA+Cb+0k=JkDS9_*uA*S!Wp?$o%Mat0G<(Z@=&;Jp zum-jua#4R@aaVjq>3136FnEvEk1leTY3~AKf-2eXyj@B#bQ5#!J0OT>^i-w#>)(KR z?c!BS6{B=fu zg|BWCiX&D($Gj*hq<-;}A5ucQ7E5a*mmB^WW>{|Cd>9_?`HN|s!hx@gm3$WK^gLdC zvaTDNQqHD8`>Rlc1;pj#cAZB)kzoGEt`vX@$^g89Y772ln|FdyG3Q@HmF-I zidh=!K4`@=K1paDTF*z0Tdh~; zmnRxpI{0_k7#0cEL+(18dj8}wp=4z$c$u{Cvfe(H zmX)SdPz?{q#n`;+^mH~c3PG$kIZ*x$)t(-C@y3d!;Kv9XlwaGQ+dU63Vn6cSHcF$4 zlJn!j$VrVT>MzWn#GIWSkY3c45{q=GxmmY|MuS!Aml-dD(>Ot5K!_$;DTKmj(J-88DjxrB8K&eU6#ycK?^Yt=<CVL+C#smU;xae6E%2O#d^lQ}FYeLbg!gZ)@TTenN3@w?lqK@ITg% zA~d-Z!8m)I@_i{S_Sb6RsNW+b|FE=o7OYBO1uTRB#HTENAji|Ns|orbwXa}><%57Z z=iLct2Gwo;nt3|xZgzhy1pEY-pE$VuYcuHG05vjkhiH+YcY&%&t!Y#S$A$cMQ%Eo; zS-vi+ppEK&u2+;fX+@wataHxU>%v(LcJ(uNGL9X=j!(}T zeix7E4cbBvol*HX0&rxhTo_?~{zpVluh3ECM+%o}n3(wKyXwTKISby?x3ok^`~MmG zE>OddGhI^MBq}wn>K^{C{Gj%MU!NW=U4x=A2DBuMm_#SGF0@w#=>87WE{nq0s%q#M}^vAZsq zTmk(48ZqB0!mNqW!jf~r9N!p{@51sh|<0+V0P}j z>^&Y#hE1-R2};^Kg^q=#8xs{PXl*#=@J3?4^#5WQrV)Wn;nBJPY$imQ9QIHOFuQ<1BVgil2ik+q#KXT2G9E>ODwkrlv)y+~!D{sRlXe zZ(NG$v7<|WmWNt0AY8Q=2RL{z*(y8`gG~?Lb0sHMzIF2aKEHD)B;x_kp=pn4ppiWLM4_G z9C~Iuf)-=Nh+%tFDnMTjsz5b=ndORW;>(9~mjhd$Ka!OOJ^pf@-??|+@^|>Hryg}Q z5A2R)*4q$P)KvCAcv!np1b$5L1_EMp$X&Xw@bD+-l*?+lBQAD0I*t8lm{b;Ux&Ha? zbLrM5i=&o&*HeN#?7A@qyb70weJGCimBoJkjD&Ai#SCFemCyq#&SymavQpmxs`PcZ zscd>Vx#MCC5p1UMwhzm;;4}n`o_A87&dPe++;nA1DvuX<;!eF zU^}(a^|JrUZYP6cx*ICL;uc~><`i93P{Ca1zcNzT`pF(zq2ylyS(m*0+9^s&!PGUp zZvrqB8psOfn(7fktCkGJJotkVQVSq2Uphm?NUOT@%NoN{Kw0tMf}{WTMVXtYB?VKu z0hkpDNGp6R0?Tz|W>#NjDcie2^b++Wc+#fX8wuPmO&K#}twCYQ73hq=dAQ zk`|yJ@%FK-p~bM46R4cg+;_(?*KM}&0zC?Yn?=?yGJQnlr@ImM&EtEQ9Vaa-DL!$!w_MY#a?>8lHr}_jwqTy`qo^GQRhiXJ}$!9En;&=PT$wGjXa zJbY3w07yEDLnzmq-B)dZp8`#xb#-_X0WsmA3)stXEDY-2Md``Z=Y{XwdD^`7^$5PB z5^f>5Zhs$EmqX? zE)raEYP)kerZL6^Z0shn%ufr()q02TV?cM>^Cl=$q?pDi{dp`XRdjEjEzYk@t#B)v zn~Zyu)7S12)3J6~AF9;J9)K zQr`TwV<|MUVd{18dR2Pycx)m!cZoA5I%YKRdBcwQt^x@SfA8C^09NJ}Es&O}zmZ&6 z`9qYQf0!fp?Gs5PJ}|8XFhj!A!L$F$gU&T@4)OmR5gMS=3wu>K0a&G6Jwo2&8wpsAEuVTE0m zow)<`{%5||`S&@XK~W;u@KRa_9gqdU$b9&4FK#(VzGol+5J@D&_tTHD=qrglfB05A zqq9Jb(>>k2k`MXMjL9}80MqQcv!-F)A*yEoNXn<=#s8!yK0_BFe*r}+cX@U|TY-ZL zVF2~%a0nKa$dro#;2P$4-AVf+XzW;7DJU)d;Y7rKfJRV6M0R6C(}wbL!$ktGRj$*# zU}Z7^s^;KbC>t>!b+#)(7Df)wngejV^rJ^v-gR(FW}kPD*_m&oh_~TM-^4~>g?x5& z{CW6{dd^p=zgzo=T1wC-%pe-`=w{0V*2TrB$T+~^`L~wrLtnptz z^8E?m85r%w@bipUR4ablwwX78pD3unSvC5N70Tm@t7ZNcDFHXj30+*3^N#2x#geK?665puiRzRH5|kyBQNRKb^HqUn(eUoD>yEBI`eKfL9Q8l-Cb{;{gKU!y zHMO=WKz}|N1wVcIbSOufM_T4*G=2>HZWiERjFL6`?}jproS^6BP>VqblYq5LnrS*3 zI8~78`cz##N`E-TOBYePejN2WgW1>TUkXcZe$~dGjhGFLPjW2%J6$0t#hl6k=JN;8 ztQ?fmHID>4$wAeF9_^2NKsJbf%c;RI9cQbXtJaFcIpGICC6HYl#)_1Uq@aA_MhpX4 z+C~NavjC~Zt_-Q!IEP@fX3JMV2wG~rLr+3CVOVs(NXc@j>M!u5He!d4-}KdeSsL>- z+toW)W2~Dg*H`t}9je@!B32i?+d16qx|+4aKzW2M;95!2ndr8Bf8|~o+~h74~V;q>ec{8ZSbBz z!i285z{+<3GdxrU6Z2>>f5*A)%_6##Ba;!M=2|J{4tJhWz&sWKv}*uI>0?ukd27A2 z-mQoO-2s(EJi&phZV@euNTPtLRK!*Xt6l_IE~df4OpZjQ;lno_7?V%qiMjR*omz7( z?*Jpp2{ZoDrU%G)XztkQZ-=ok^fjCa^(7te4W_w{t==li{*|0HBdRD^1M6>G-B38};czcWOeJLQ-E+A4$Ej7}WUnPuN8emZ`iVJ*UW)tt)r8$W{d%2s#gEzlRzgDjRU2HEwlyma z#wZH-mY}4blXoSz%F62n`%$fHq=CC}94UiR%*cvMswdbzx7Yurgyg6@K(6PT^G*D% z;bq58&kXu^4ZWVxAfOFUm^4AN0-HWo?UL!bK9)J&5;|NZ)jfy-{t}>4TVh)7ZT_*D z$olcGDiWW``Rl?KzH60O_`F9QR0Q1&Phf>k{)>$H04gDaMpYs!9>8Xhl18TUYBF%E z?f~$psOY|M9lkJD-#tl`r9BfWCK-rj$K3vO2{PpnVBD$6= ziN5bXNIVVWIye3K^h+)P|L1EP_6)sg49HTYOtLqbuZ)JgqpFE2rZtg-`1s7uTW{{W zCahS@IR-T&9=XLf;jJ1e24G++S_ovA<@zoJ?ieo+B5>iBER>}IR<}87LMkV6nzhyJ z>54NacDS=S>Y&donQ`}?bl^N1`7gXCa zx!x4){g0rs0@>hi;j@O2hZu+dl4b~BAo7)i=2_WW`Imrtf+19 zie)Uo03wc#1rSgakd6hBE+rs=0E*Pmq=h0y92-beigf8ckrDz4As_+@(jfstLNl}g zp@je;$#dh(ci!Lo{PV15t!FQnE9B(1fyk^Oh~-Q6Sj zJO7n8{13EF37n0JisTn~XuFDxr(5hJ8KjE2~k<>jA!2V9VgN_|d*(RV%aqO;2ygE;E0g69;P8j6uV}?ldnEpY$Q_1~=+i6?0Q=u#0U6w|1 z?c=`|k9b>NGdCV6Ti$}&e13=D2Xbxa)DDmT0YpaI#|LKbi{z(!VIVPbn+<5*q$!) zq&q`*q}ti=caX-J1INy+6}~XI|H&Y3s;F29vOHlUjx-{^Sr=PIx(&DGxZ zhZC;G{ynb;g_fnC3Kc z`%M+%^fGUqW=o&p85`h)2 zR_mbJ5>PVI-RLWF(qlGM>6o}5@>cC=V@mD#r=|c3=eFV#)!OUs@Mk0u7H70JXORUX zy?P9MRTQks*EBE2W6?dEr-zHUEGE2ygdH&66R~otTeKoX8d~grJe3WADzW2J1)YqM zlxcsmf(#h*sIDTnc@K3d0kt=cDNc;xfl^86V@i(a>gLl?+(dA1r5t1h{uHh-LwVRc;YV?XnB+#_1hA_#*a49&76DxTm@-CcrtS7 z7U7M7Y}1EpclK-YgBl_~GL@P+io@f-{rju?0>2(2DUq3N5e7Q(8GmpS@B{y${zJTp zc$+39RW=$F1#o(|(`%&&t2X@0)Oc625owS9t~APx4WRU#oG{ zKoftZqC6@nwreT8pZLN?Fr^9DHvq>2U39k}`pl~VStw(jB<)V14UDE z>u%tWijFo*(xZY)@0vJvB!0(vF|%-x2EUidfo2r7dh-fBe!2oW#H*OiVq)2g<7m5= z0>Te!%dMb0l;MXJ)_7f!>rM|QBl#0A=+A6zyo^q+XA519HwNRTXSy@j->^N$C#gXL z7TVg5md|&CaO@|3bSTC>Nl4bVu=w-{H0zMy4+*ZVYEQV(6+$?SSa!GaT&Yb-Ms8m0 zvp+Nx6^($TCy{_4zrck! zCZ@bgPtqjoLTqCsonFaoXYnx@MJTGIv1q?~AtlG2G?gw#B#*N{-R9cOQ( zA3dX1YcnO&ElJ~7PpWvhKly|nOukD2FoObL<9x7;G zA{BiPH-OI`7fEf+T(=u=I?$bT_9_UZ!{hX#`>h%LHSRVGVE#nMsf6$R+Hm?v-iWVo zols3c`I~pgrJz-H^3L6hYt`qSQqpY4wEW$`>zmdF)@V=ob7ztwP~n#Yt$WyMxm(mB z*db|&a3SW_-CfNEn7dx!rrq#_8uZ!ZHo_kXZ2x#=_*_kHjbI&7J48*XQ%g}V`n#6? z?&i+$)mwL*`)wPw(eX zU<^{#NGs)9r*z1sI|So2NBGbc$U5^B1>A##Fr^=0Y0H(hF@q$jWRrWEJqM1SeqiuJR`}zQfIFENe4Vs) zW_z>LLr^<-Mig0$hViV8sQI1%MAUY#Acj_r=(s|yMm4vmK*Fa_AO9*8oUSL>xsayV z1uigErhj~m&8471&;nAk>#?pCe|ta?bC-#wL1fGkjs>t@zX4qZW!!G9o;`PVU&e(+ ztmk+TkCU7w1RxjBSQ8^l6bVa!-r8WGHA}foDU3NYxrG?C=HPorX?DfW$P6(>PlDZm zGj>VQi&E;Vm-I%Wleh_E8DG&*pL~RJ?l}Y02ew|HksFLxq7WVS+V-3E9O>JV2=i~A z_>{j1>l~?a^mo{VoE>?{{9%oz_hOEu*C+)b#oCoT$HQ7%mwjn6f!Id_LO{%j%>UNV zdtBs%qintJ_cVnv+RVtB^K*OJ?NNxJHHaM9!D^TWvLRc31MO{+Bz)46ghGll@cYiH zSJCT2i9CIO_8VU+FuH@KU>H=3*{4As!rRFayVl-Wt=BvqnAuvYbtfaVqf@XE&UXuc zbL`IeUZE-^)Ie@3G=y&6XKNegY~Yn%Lh+%u+p^-{dsxnW-nZ)Gy_i73p&m=Xx{c2ohLakndGiu~N=z7id)qhhyiS02 z(1)05*z-w-7~dXy*fyl(wg`C;fm&V;s9yWoU82d&qDE%7O94tQNzNKlpeN)n|%+hg=L1`Q({W?L7$=RiN3A2@nuQ2Pk2)Q!64sb<^BrFO|$ATpE{oH@6Z zELIC*#7ez$_@WNaN2w@O1#NqH-|~QG0CkjHrrWyQ9w2KM2#959wY%q)CxAHp!CO-e z#~xw|-F|AQ6&{PYo*i1Wgay1^5a=zi$muHk-m8~QIw`RK1`*gE#3hsuG=@H3PV~4! z&ge7o)Bv1tTw$_!Pi%UfU?nQQ>(udtC&E8&5kyBIhrEEg!6-KiFxuM7ysT5s2x0{YFZ)FrZqk zFJ`%Do!U9=1z<3dJf3m=NvQG%%SvSfE4YEvxFgGmhem7pL`yoT3J-m1V#d znmoX&beYU`gwzMe_)xn`P!tX~OQRjN-{=PhLa7Zc3fpEI8?s@A0=JP?SldoZ&Me=+ zb^}}1ZZ*4+>-xTv1sp|+a`_H;#SK;$q6AlK$7k1I+eRg2^Irj|xC{>*SoYP9K628HP zF%Hqzp?Z^LNoA;SnTigv_d=D8@P?cLeitzXwebq{Q!kleWvAVJq3k8&ooS?q)WfrQ zQH5d}<|!wn%^fIe((jLS-!nYKtr!4utj%)+kE6Y+xlMa2Y*6=r3{K1W_pM3lAr?fp zfc8!Co!~`d%0^ytFss-E_uehjTAM3tlbc%2HOT_(o?`njVVhd^=&D}wL zUz4$IIjs<~tcf52$KDeyfK|>$c*q*<;kzw<-7`|reXLvsRfd(#U9u?*oc%nc8c=eg z)h2p+h{71Ic1Ctfg4G%oYW(kbwExIZu7)vSP<t>1)&W&ISYi09f9;APy64yMoQO}C_ zX?mmnuS4(a+Fk;16)m0_Zzi_cHaD`Z3FGFx2s;!p04+Q$!g!F>CiPL_>cw9rAAv?Q z+1>Ll=u-dO4a#uisi4E&wv;J1%Qc(ugH7{a8`C$%|Ai|f2KMkC zf5+zGry9f+ixJ-AKhyI=0buPHP532D#^wB!|lB$_^rjw#c-~zB&QsZaDIlx&X zEs-0|#?|HTOBem{?$jCBTyh3~B^mdYYC5|vvU`djpblXczlS894?h#$^{Cmw9m>gu zXb^Sy%M#a#f7RHJ$?b6ZgioG6|1ml7%aC;NtWTB{wC`@;OM$HtT~d`_K^r5eyUT8w z`lnawdryr@{HxGhP0CiUor)>o!kBZa1i%Gd1s%zkQnIBypsU$!n!B1Fkh&kn%2$j_ z9!o*WqDpHT2eC$iNq;)*4>#<1zvF(wj=M3l>BBIWvHTP8rT!r!iQ{Z_p4)KPrV`VYJL;A99PeDt;l4=WuLgprAZ`V@0!3H=MCw4 zG3I}&;D0$;ykRX820#n%R~?xb(%q;s3z)w(PA-wEEyEibZ>Iv<=AwipOi-}2dV8 zW(PR}QSdKRZSURXZ(V-V_v6^TkXb9+AU#2N#q*_5UH+UGdnVRZ(Ejb;tZM9c6R}TB zk~{;ms%E-NM9$+)DgCYBPo`GPMtjh3cNs-osU$FSVKvCVA`$6cN=`>(CY~ZrXaj#p zG8=#XV7q4sg)!3w{z8Y)`G;r$d7GZ3oFm*TeVbfDJt$C7PGVkrywuQKjWsDW^e-cN zV|44Sj)5j>EN;STb}aD*eW~Z!iPvAF+EB9DGIJl98B<|y5&TY_iY0VN0pg=PG^Cck zK|Gxv!<8NC_7}skhy2JVtbY$+Euc7~=dF7CBWtQP#mi(mx$9PAWw~l$@Unv?VuuDop9I8eO5E2=`cc$n0u$vjjK#6f}fh8G2rK6A+zpf#r2C zY%@P;Hk|PSD9OEmRDRF@fw(0T9vw^^iX0Ux2khWV&qA3$GR_Rce>B22GyjbqM+}JY z)Kd$!>%C!U*$tELr|W?(>5nbrR01a=@O}@U_#LH6+d&R6B_50+$YE{^R{GP9cy__A zV7E#4QR>>Zr z-)o;i&^2v^7yu-$_&9Fa_0Phe(_Xpg(o^t>_i%5C^_^SILWfo3x$v zeNokMT!sbMu)nA&H3IN1@=vB-zgG+!S@#cXJQ3D0FXLNVUOF%jA$Gub-pDa-VV8rs zrK&eLlU&!yEj#kfni99#w08>Exld)nDy$s^+#$acBAa12KU(fhWkm~bK&#Xt;+@0S zDgw%tYtOo0hQ+|3e|cHg-(v;PSIzd;Ua`snhj;rxjY)y+$5XGD__e6W#=)Gsndn13 z&qGO^vbp?6HBYx7J6`xvAzyc9Wdw&$7?D$H6qZp2XzjqMN zmR!U>8JA>v{@1NYUbn7`>k<23^6Rnmi_mHXQ6*jR9N7mCr*=gVtqZvlVMKV`;eJw= z>ilbtoHS6fBb+uEO+KENWL8+_&4@x!z2aq@d$MPX$sp_@N(2z}aMRa1rktxVAzvbOc_!;!ttQmmsR@c*qn-8X>6{j4}|VONkbC)lar ztn?=i$;kRZ)#0q|^Qcgk)esJqDR7j_TDr^L`C>gDZE-FAD$F-~(JB`C*6g1AP&5E>VTE)DL^vtlK;VCB-YUD1|X`jeGUBRte5 zoQ%n{$@uUMZKBkcfy1~s>*#+|!Si49%`63xr9#?LTl&uXX;~wD)xu*VwoCU8n=)!s zVBf!L+WfABIx4O<2N_x(tpVe?d~MBTAxBWO(DYWchMZh3bqO@dg|!*|QU9 z@Cmly@FZwdLTna7coh)Sz*FN&@Ej5sc4V||*7w`CB@Ou~yRI_O(jaw`lKqggRsfZL zl->dD*XlYjh6MD;LB9fa3%z|TW|M=fTvjL%>eMl-bq$4gy^A^E-u(0W%TVVY48O{>`NkTAO5T!^5l-vjc0Mv!55@L`Lg9^FoaEcqZ3UI`S#83$dC^?c!cwB3eQcA}Zwowmb(eN;r~-q8`` zSWOk3`QFw>Mu+rVL)|7qiO=9!|c^hLvU%lz0(`e-V*ZrW+x8sue%>n=!fefGSY9?U+zT~4B^5OWE9 zRRq(Ur-Sr`efPiwGI{`2Eg)ai7K;)iZ{aR140%ugcBy?$+`Z!T=ukE4%+Y{~%mLP- zykm^tdXY5Ca~S@$QTpFrc^C4c2hPtkQmac_lu<*qcl{l||1nvV1!<)byk)G5@Z6V# z9y`CgmaU4*^af<3Wo<(}dAP3R(Q^kHX9O}NRADt@Z1@cmpfQ`fPHu?d&oF0p&1OXRz?co794J1|z zY7xKHDArD_c1T_yYlwN2At@i7u1Ow-H#eT#B!8y=4;Ifq@Q)FCHd8w3d>jx9Beo6y z;SoccF3J*3=u@^Kc0`9~{KQCcyhd$2>`(-LJ>F7W*r3>tiuLe@w`=`Q;*ev!+k};MA?8uiiA7x2GWWYeKAY@(~{dHTxMz|kV z*fZefHJ%gno8#;W=w-YB#}nE(%Kvex!Cj5gs%aR|UTaUsD0ACp6#~ghfy8`IA`Lv> zaZ&d`L1;44ru9&Lk3Dn7W7&rDY~2Aa{w`*(O?7DcdBpVmCwFsO|0_^yh4oX6U!EYq zLuW%j@dJ>WWB1#RvSmThV%?mou#OV5ngB3LoRc9Nwh|!xR|aGC55qINjfz&Zf#ewf zuHHSeb?N3SN*4&=D*sgXW>Z*wddBH(pEC0nl}R{qk=nx7;h1hSap|;c^KdpsZ}tC{ld$o$BmaTJR|5ldMHiTBp9x;^}Tzb4#qEhyNaO9?Ie&)b#onXc@4^j%|+T-WfO_qOH4FRB4CR{Y;^)ILg7!KDM zKu2Uy6~DI4(T2D#o3*I0L-Cx9bnF|5FtR){;d`7b5Rm>w^E{_AVx2ttawnh*&p8nv zW@A$GK25k}Lhj$jwRY|S{_*ehY;m!Tu5hjkV|gj;koSyKmU;?Au&lg8S>RV(5ab;^ zjD;gLxKm=GD}6<754g|#>q;^&8gHAO*E|g%SxWUDKn*!?t%0k8NB@1pG@JY{FW+-L zd{-uJ8D{RFUmcOi8S$Md;qd$WhY+pJDvZ?7zJ z*atRfULQ7U(R6v+u;n>|c59T-DiJtMWx(Vf7XVg-FVn!Qw^5f(Zygtr-zsTJZC!?9 zUoY8S+!6qKJz;?Ioi*ypP|%UXt-Z1h-u9P)Gz{AL=BtM=-M+600{At~+O|3%6JW%G zP}XL>BY>_2@Eqs+XZ72D@LO$mcSmz}G=^b7Megc3O12wK>)A47Fgu-18 z&UPE`?C;4ag?zS8nCao_Jbn6VmG z3LjZFGo^r^`G{3`9*9YN(E%nbKHpT?rwj;*VM@#m1%HTAi};EzVRe>lQ6Yq7=s$1E z0|lwliC}7npv_gkrBR0L<@AsIP|J#)9z#LtM6)t!Im>y|3#iAfdTi!6BwV^)YvD~o z_S`7VlW?JHbdEp@nPW*@ssniyGk~z#w=%E!4n<Jq)v#%g)#s^lD{@nB1ulKY_X$uJY5r#ktXtVdXq%9szfacfNsfUrrp z@cI;_b9T6HmvyZ_P0k|><%!Kp39%b%43(W@%{$wbkYh5ZnNK~i=?aTWOq8Skmk31= z=)Nex(^^ro-|S3zR{X`69Xpau^R3Hy+?D8Fvy0zb~Szj=+zaW>kiB3agYnXdte z>%wo1U30(>Jb!V(Uw0rHT=JN|D^1-JsNuBA{7cv#sD|Su%4HizbtK%8NrUD-ZjAyq zCy7AneNgzJN9!}(vU=ayvS;=3Qr4TNyFOmCKCiiJ{Zq=h+Pt#ktpY78a(!LwUFNg1cKkmfln!#{-cd_aZg%_Ys^ zy3hlDD-&;Nkp4}N_RkJ`K=JPZ>4nXd*UQ@PEQd(c6KY=`5`2(aHG4TEc9CQ8+Jn-d z4RqL|@Xc@F%XSuyorwW5&zHu}0IILoAAlSob>5XBxQ6Y5;7{;ljG#|Np7Y)>1XlKY zP^z@K9Bi*Y`q>i7V`Jh4GmykECBYD;00hpiI9g^?l6$5OUz8QLa9p7{yfInME(a(M zIG>omvC)JJ{$_*sPr*>5d9PL;Nhv}!un99 zh$n_I@svh~BKdoFi|w0tI}*-gtDbz%z5VhKMhn(UQ4fJiPXHlJ@HdidKdB9JMp)AH z8;Lu)6uI{EJ2f_`uM?;eA5!DGE+nTZz40ab&S3E>)vdR7GP^g)% z%u8qu5k>*RlVqagUuQ^fWabcnnA;D^YLuXKX@7y9E3kELAz&7Vsp>is96Z6j5z?&& z|8ZDI9dMB)qvq(m+>+n)=T8TjpNAh`()80R3-Dr^JwJ(j^xPECG%}Ffy`X-BG0t8U zzbR49#qUQ`BqL`l_e{9g0_iX8^`6^Zsj7At^iB=b50$wMEpTn(tDRyNFzi|*w-65) z3Kjw=fI*|#p%N-z<=drE!D)++N9&&cAxbRcQf@X2|!VTE^KrJ7W$=m$k3O7gk9|{dbDFpR1N{@%5%Y;)q zlfW}SQlX7NSfhWd^&oJ<)%Lk++Rl3gzmWQ1URsVZztLfA`=V`iNcS?3h}GZmc5zc# zxoGMmDB`-#bG~i!>U#>AcIenri;Bfa#CKFMkSAF!Bx5_phXW3;1I{oJA7l{Hhvt*h z&AE}7(fadks77-A^?UU`_pr+;6{wZkB~=^!acZZf8+#{)0~DM9u)t5t7rpScWCR&Y z4oSIUHRFM99+z?z`qZ5+hm?2jSll$hK?H^8)QkKiiKD~AoMc&Op-j3GE%)A$jW66R z0u6c8bloY%rM){7g7$nN1{;Pbq{xDAhn}fx_h&zIM#}=>YhAI1hUF1#`x3D1{uL(# zNY=C|0KM`wbI|!}7?Tq^D%yVRT7G7g$@XBC%LSB-Nf#N$OYksLxac)waGY}*$mB>g z6|lEPK+9g`=9+Sj_)RqJ0aUCpepf|zdwmv2j9(fo1nU#eF&k7AfH=od87qvzHEckM z9yO{XT?r{9XIqHpq!p%C&(u}Eykxws4}{9W3Flry1txN}qc2~)cn?rQ_rs0TCn03c z4(W+k7-n;Eq|CHH?=KSHFobqSE${(%7yH1ByK4=s+(R4l)eO$JI0et$xQ-<0BE6I= zIoTI?ONH&i3q=LQN%Bv5R`@t0@EI_IEv~9rx-1PG3L64TiZ&ZJKL6{jiFcs z4wHm%9~t9ML$25&v71sAR@Fwx!y=_|n%iGU@JIeQRGw_zC&WT#c$P{nzFC~x5~n#3 zPo(q{JV<^m3}PJ!%@0(y*6NTyy|%Ru%xo&Zs-oM%40tD`(@m5ACT4w22)<`LN?BkF z$S%uxh-EIX&l({Xtz7H(fo>`QCYS@L>v&>6U%ybh5I;-vT=j%c%?1vzumnKsS|54}p;D zVY3KpiLDCj>bCl2g&Q&#UJ3}BKB6mm`v6f)o;78Z2(&VOdNYf%c5$63adHgi0@3rN z1xI@_F9OXtw@^NAX{~g#E5oF^o%&MGP4C6OqYHp;f`O;w*O!08v6k;EaXWj)>xsQJ ziGB-%w=z}zH&SBn0=67L-nqT}H$W5lqm^Dr0Y2-ifewqZnu5+B_!5+DdWn&Ef^?BD#CfNHrCjo6a-r;}_Gc_ydiXR-n9Q4VL_@9! zRBJCNwsTZnb+60|G?G~LQ6@~vsL(fetrUXL(jPxJlFK#+GKUOwmiU4j#`!n&|AcC> zTqRxmB4t1Qa=VJ|mF{f8}G}zd490u&NFnMF3&*&=%xwKfGsv4lMwjfVC<|Iz+buAhsxdn zaZ+!U;ZsX57{}NyMFJo{J9TR!Ddg|3_7N4aW}j)>bl!zyF?R4x`2w7 zVyT&DfdiLac@RE8XL0}Q6YM`B6=7TQF8xDIBC-EUR(aAjAojWZQ(3TmAMaWQP>JE! z9Cbrd&lz!grp%ri@V;*vd105y`w&r`%qoHe>fXzRi+=NWXf@82i$?f_}2H0QPd`t<9+cq5+L`5#62@j(0kDE}l+ z!2U;PGymm?f4-RC_s={0^Vj`L|No8L`bP`?bFu&6KQr>rU;htHiX08v4VnOUPv?kN zavI)#E6Gsa{grL?&)p@r1?)3S#oCyr)KZ0G#w~>`SnOk>l;I!hdcNqb&YL9xSF#Yg zABtT18)CvbBx^J+R09@&OTEq8NbxV-#O9v^sX>v6m-8M|HuOGT!wj^^YF_o*-}>?~ z+n%uMsQkwt`czv&Y`@2H^_gN<;Gh}Bg-+GI%odNlfwR92=cCTh;OH}Dre}X{=>i#f zU7R;!kuPc1k{*p$ALu0 zZZ_fh{+b?3wW8)npt9z)AJn{LehyA>P64EgE<7oNTO)Z^l@V)@_jXLxi+2{jG8 z;^(`AYtPTtB0oC-6YaH>VJbaKJ@03|z8UN@__*TA1Fa)sryexNh%u-FxIx5tv6+NB zd8=9@*r8I%%t-z9vroryX~j?MyGlNwjV30a$D-K3Se7@O5!J+lhd{6WzNgtt4{Ui_ z?-ko;-EgKd^ga_&$zs=hvhSqyCMW1F!dbRTG!OirpC!VtNv>|+PfYl^COmGcbi=DT zIV*Yj690uUjS?Zu^BQ%|F6BHyf}%6Ev2V=(H$>b}07=6{p#SrxgDELe<>k6@W}E2R ztSK8U<+o6#LP`6^7c)ewpY=1G&wCv{-Lvi@;}RE;HJM@QE%6q;+K;BMnQiXSPLB6v zx#k^kD_1Y_rd9(dz?a?&l?PvU!sQ$B=O4+|L?E3G)CwG8T|fMEkam2uz-P{LX?NCW zAjLDMaY3=9bX_k*L?FRE?EOyTrJG^$?T3@b#v}W?_8vP{bKxH~#v6_JnLQIpnrit0 zDCq+bl~HpMk zvT_J9WE&On5r!gZBkPum<~aH|MzgGkWq8pgBr@Y{910PB|D**r=42JkdwyD!Cbau( zhbS4a`kNR2AalA~;cdi3$J=8i{ujbk=?%*gzFRvI^DeX50q=JgPmJ=fo@SFwtW)rSr(pRem`Xv*~3_84=HN+-t4da`@(Hrrq|33BUrN&Z8n z5A2OPNRT+Tni=;;dZ{OvPq$?I@U%E1`1E$B0Gopm`k@r}n|s<^mfixzAU->uPVI$5 z<|E^ouhx|u+P(G;$^P_u#j?JtQ4sPg>z_9-6N`z3dnSfQUJT+oFB^_NG*Z&oet+-q zd}$$nfXkwT$56;SiQ$;c+!U3g{rkKsCmfeH9^zxAwnT3-* zB1^TRoNTj~vZHl=Kgz5HYBorZvfYt4>D|txKsQ2Mcg=Oi|o<Hd;UP@piE7EZF;d~Qmf_k_i%(H#I*h$s!Cs9m3t}4F z=J%r%#E?S^;h5spF5C^jjh-~DibaC5uT+tewo_FSz#T8X)SX#>Rf6Vb(xx+Ki<#LE zibkK)>H3t=6x7`h@t(}`gQ=ceN)5e-)l=$xRg>LlbmI*Ds=9LE3sFkn5Xwzs zSLu8agu*R<6-ZRvQkwq$HY_5PQnuhdaFvb~+Ood7P(g7^ZBfl8smvwKPf~!~w|~j` z?VU&I0dv%;+0#-BhH}R1A5IL1%rT4h($aAnL}OJy7gn9B4Ww`8&e5()DxH4t3Nd)G zmmad0bUG?Euo#J_BkVj@P6&zbth6=x(4Ug_k^*NM!b~P`$Ko`fl!W6?4HwSo|0$BD zcsAbRSyK+4oj(!qJoM6|5!P!&HFGQI@NYAd9d{&TtEu&`DK4I!!s5X#nUq&|?8c4{ zdyUg&l$w`b(Dqt9^DZFGV2%j|>AxO785}d!L(A%WO~58jpq8J_MJvcQ`)=W&npQud z9@WfVz>&jA2L5@{YW;f-!c+4#QhPT<(VfYhq^?${^R?rrKQygQj|&IO{uvZLaN^F| zhl%U@^Sg01oU(4u(8!*voGl%r=AM-|JsN$pjZ9)YUnesrfEiT{pUSy3rpUnw6M|mB zZ9~YjpC@}a|3C-M^_EUF9t(e^n?*amc?Plt&b~t&I`s3;n?nux>p5^I{+_?y^{hNZ z=&Y!B9XP!c>TCbu&b0tr$|dt#+RxpbjHnjLf!3yBV^PTg^PC{v^_Kh*7Y=A(!v^P3Q| z{m+1*DJ^|U(2K!_yCQQ%q#!*4F;W zo&^V2X?sgJn&XWpat%g5eir-rUfV|1xX3=C>Urw$gng^73xgT(#D+);9}xgPd#dh2lHtX@TZ);LUZ@avR|z{%^}_nnMe3NoF{IoE1z}w}`&j zh@4&aDhTj!D}Bg*y}OJylQyN2)XGc-xP6)@H3zI;s4Of*C5(QaaAsh0qctFBhA-~+ zTs>P(GpT%8Zc>lh=V{quJzktTs;+ofQzjPNeM&ZDw^6QQ34N3KlhKG>R>kT0Ci7$c zl~CZE8ckY-{+idl50`E%w0PZEQ0)9M>7jw?!Xm;bont@Y+PL5swFhSYCwHI;-4>8{ ze$@_Cx_$Y`!DDAu?2^o^J{&o>lytk@G3MRIoix=Nr5oyX$Ve-8YRz$x9}n{o2o}ZU zZDA)n0*t!1WD^1F_ZmR?5S{?Vvf(%Sf;Km|)GWb0#JI8cV(E^0RD0f&^vNA6dNMf2 zPKP{P{P*Ka#(mg0e-n1>iyKN~S>D93isdd+DJvoyh4u@D`f|NPmGblO@{Xzj+qcHH ze2+Z6-Hk7ot*=L8$WH??m79|X_)JgDd%?}d&#$lP!WGnVS=5#j8O{%9Q6>&_{QU|n zzVslrqqG|ws_=MMe_@`IBC1;R&EH=gD)#t%Qnif-%ANW5tKF@b{Wq!@0}77_Z4Ru% zE%j%V-O6TX%@~aM#)Xl}M$vnS{(O^`L0lJbtm5Jqb;;(?_O@4Qe|T@HW_Ds<>FUpT z-Q#Pf+$IrG|&I=K2gIX-5g*v81K z>;#q1AtP18l^f@G5(9&S=mlDP@IwjD;O3VrlPgFWt zl4ZES+VjOeOITXb(j#1g;cxr>XQbWa3gYqAIb3+&j8RsuGR$Y;eYf%4%VT(AqGtBc zP_5^Vnv7m=u0oI)XIIY-a)q8nRCsJ}=kMlF5oO75apuwAjcl1MU0FiLI3G#jikrj1 zOF)$$?y#WL)VMS3JornGe#`!_(c`8nJy*M7OLs%J>v8z9R}I|vJAR%;g+a_<`u(=X ziOLh!1qY35EwMCG>G)iH&lBRk3Z~}xw>N`ful7vZ#EEwT4oG%13hk!KsI;fWap!2P zCDE@7ofp2-HN(cUjR(iEHt%bKquMZZKQLH2+oo3|6)z%Dd!%L~v>BoxL2(Mb`+SQw z{@K)r^`EhQ6Dw{8+NxI!6Ruhv&@wd37p)Ed;?HcDj8Pq`?9n6~R~@O-@zUps7|5I3r>Y@)g=^hW3hX4k26&M!usE?%Ui3VnF#vscP2Nu~7DV}*^Z zS`7E)EzzCZa{lgQizUF;90=Hl7WfcdY1Fq4NB4V3$R^9{M&H{P`NAXk$Y9DzJOL{g z^P3+OiY@K9G?c4gW}$gg{WcEiRWN&T`2hmpre@5s1M^9%W;Y&fXfeXh)qe`QWf(kp z&R=4s4iiFTa^5Br9x5s7mMVCOW^G2j}A9E$VK&&-sPRR%@j^dz)r z--zzKTFXsj!v*v1P}}nx{qaZz*Qv|uMEdG^Y((seo#tXefRZ}mpw33r64?&EAG_W7 z5Ve@qSds)3NkCebi~Z!Q@Hc$HSF(F}@0a>B3Dy@Ebgey!woLpwibNO7w#rvFwM;=R z_k0i<`BZkMdO2$vuNgq;CQ_~2#G z*U^s}TB@KcOjOxN<9sly3_63r?i%`Ra?r60tgWuoP}n`YRTi4y&srFe0}2Swi;J?_ z%7UpaL8h&3qAN?z3qps5ESE}e857{osYe86T)}~H0@TB72W=*lCA1H zDay9cQRup6EP(@z*=O4@!;Z;J?n=Ufm8!y{($R$*`DLO)@fJqeMU~;*#QlQ3Lp`B| zdpr)g&_6y}2=kR=RIAyJSli(TtcTu@hCZJOUMZNNFy0R3eqY~MZD^H!s5DnwDpmIs zlZCCo1&7z&$z=I6#^WFQGDHH?AGgQ#rU*PP=x5+)-1i9CDWuWQy6*5UKf|i!IAMv- zht0aH%hi82(-dwS2WQXsUaOQEFGMzm7hlYWOlu^c+ zoMEx-o4EpWktvL!_y7vie)^u_jz{7QX7$-gsgW7~7||*5&KQ@4zl5AWYehnxaCtJsoi+R>qeEo;gi__h*0#~W3eIC6_jmnU*PtIxmWiuAcAQST zn85g4uNI=Cx3Ft=o`5wB+XioDME&?#B(A+EOHaIwv@2(B58teQMD0Pm zHT9RB%;LW4gPNCx+@}q(GzY?&4?BBqoZ4il>;x4)vwa?NNxlevTJwUgZJ4`+4tsG7 z{*5*Ez7t-m(enEvn>dHY@E0tNQHA?@hr+K%wDjaia?2tMNR+2yRwz=6_->5n*(|H9_HXWop?+y#BU6hOJkXmoz?2@ADr-oLal z9C69dzup`zw$EEppcZsAN(!;wEt9Y#^zGjl0l?ZO$%CK+{FqdQ_THf@|9uTQ``k?Q z|A6X1`I+xH(*M896Nh<8B>&O>E6DBtBb4v$KRHkTy~Al&<97jV`<>3`PA_wCD{hg90^rX>NZ||5^dTN%ifriVIIOI^!P0e0LLE#te$f-T z#Hzlmq7t1Qui^(Bg8M(3xGymN;Poc*ufv=)^=oMxGcA~PhKOFxepmZ$QpM0lW##Ci zT+zR1=|4BU{pvFH%>?39JyJTCVBAJSYF?Z}>eA;D1oq09rNlh5J{hZ^_x9wg{{sk( zxT~n&iZo4;rEGjtcQfmt$KK3M932aEwYObI*`qYm%m0vJaro5(Lj{I#pI$=z#6I=u zKi>7%8Qq=rRv)ddNVDxVKVpq0zGx|OTi+Az_$E`JeS!LVv`qVCIQCBmlzkDt|A#o@ zXr=`5>(@OCT@DPt*-cSprPZpGo@;vt3s5ONLLSE?;Opi`m~jIeJD$NDmf&;d%hCG# z)2}xy4up7pAS|r(3W(ybPAYecjM$22iIjDzI=ei1)~HJBOZXEwR*712jk5b=64Rbe z?+vP(*+;mj77LdlF${Jf_coZkP~ZP(;(LYf!k`&6z2oQlfWbSU5~Fq~jC|V}mVXqk z(5IZhDLwzyr90keVPy?3)w^(1eHfMGCcJBDr^bkx(QzLv9ZDK3gsBUzp>3}hVi7@G zN>ulLZKfYiF9jSmPy?s*u8(_KvZZlL@&{_8(-~1JWEGq1hivng)iHAzhzUgAvo4G4 z(>b|B;1oJjtSW+)YRn5xKW8dmTiy1rceh>Xf3bsWmHVh)9hgF;+{>bAlk|DUz5Xh$MGA-_Pgs z{e13S>#lY0@3-#$yGwWWe((4DH9a3sefnMnWa!(*h;!j&L&0CkvHK6o>W?mGO34{d zY}yoea!%txNwZtaS)2RNAIoThDE>YqU+J|*E^l{TT`(~)*sstId&}@DGk)l0AHH*N zL4pI)rkh12PX?tFc7r17D4#1mcZ^bjz&aW@{r)*Z2v6517-~Gb}*7)b? zQ~pLvs%ow@76Bx0)e9{uSQ>eSdVb=+dLe(W$ou^Zwf1g1_e|-8Xl0+Gzrf=ocLQVY zaa-JQ8cpm^O+e*)*N>;A9g&CU;!2*;)6p_ZmrOpb z()QOzv2hy=QvOZ#=eGQ9^K+W9gMszbM|98RGw1WMmQ|)ds+<(u-ef(At~85L%^`FV zso!Gi2=ie7%Cf|(6~T)*i%!ePqp+C5b_%pmH}X~1k$>L^B_!dyw?irXKB46qD+_kW zb#!AkFAC?e1x7?%`(DDZz)Kf>4)86b7+aT%*&y_^kl6|&k z-9txF%tm17)(7R-)lskknuc1u7oOi};c0ApcJ}JI|5&C=<#@_hVC*Z(4ptQ*37*N^ z4P~cY^oG0Zy6Dx?eGiAfyQBEVVR1P-ASu+{O0z#;I)9~aUNS>iHEd)3ubZC*jKWd< z+OT4M5w~q6pBidST0pq%xpUmp|M8-qZd!pT7#Fy2*GbL(6wm_|)@V&+IP|Ap`v+Zc zgJIhKkCvHA&*m!#jV3VdMm?(1r8c(K2CTaoLUgW(OC`7u8e&#%ZtIE5KV6;w;b&Sj zDuUhI&eStBh(4xhaPC)Yv&vTUm9?qgV)viavG=f9W2^fH@nJh@P+h)*dG>!^zvYbU zp05u>3G7!`oI7@Uh>R%h>+!lZR_oZHAtG;!*iAF{d8FU2;D@rRcwb&3f?OZ`vkgV} zWE#x2?QS+iFJjF4^Qu8#|4eAG&XXn#o5miOz#3jv=r@bad{;P%#7ry!dw=J>%_E)M zJjhZ3w}Et-7tW+q2~GD8nuzhw9!1mF2bP{SF8>w06aDAh}Y=6uU3c4_y=Nh`SEa&nxRxD8zFzE)d`~@JB+0n#|=poYt_W>QugwY!sGRCJ#B&F(MEW zrVi*bVAKjD2PVBHb{Vl_pKxT|q0$Q9gtV?cN7@g`#la5f#i+G;f4U;ZufI z=*q^c=B@uZu3G*hJ&5|&f41-LJ@MnmqQqtIszLSN_ZxTkRc1e3vwCkFZ79)n$vd;o zsZICQv+>!gHnlb@ngT9`=2W9|@9U=8REEt`!^_20Ju3L@zkTOG`}ZH?41a$K|Bo8J z|GVf@=QS|g%Dek-!O8R67i9k5H>Lmc9)F&}(3&m-#GZd$J;w)Ky9PSZbzgL2l6NH9 zzTAKREi`EAoTPn2N!AC&$B!Rx^|i#~!bIa^gcOFZvP2&N^x3Qr^8el!?@?BQu6$W4 zyo6=%d9?7x-I%9fNTyw-kWgAiPWXed8XOZ&rQ>aUo}t@1HU#-a@)t8h28{F$WSsxH zT+@#V+7(}pI93#d5(@7q+ofalO7p36B*d2KKx`DY%B9z81=CIJ$|MP^oM zf&l7T+T0v9RHm8puVnCfMFh7MY{EaKBSmhp;8L1yi~u=5#a=DvkOP@Fw0|a_o%+1+ zlFAG&quRR!#qU?RG2c;>+>MV6V2IZDu5qosxFB8cb zC1)I|t69Y9hTI9>zO{PpM3~yP+Qh&vF9ZfTrj#WxlN^V?4N)tM;zqD4=eqkorbzGD z=+=`s4@jEBcXv1JK6~?FjN{oU$d`@gp|=9 z+4|3T;Ztm(G(HGa9T=Xe)_NVG)dD<1kCCs?gbYu(yO*fuBbN9Bx|nDwlnFIOzNVXT zq9=v6mZesV17kEosYhhgr+h9wk&(v05)>*Pw!f%p3VNd$Qvvkf|6EdR-tANRB|hn! z#(165kLx`JC#bjIz|&7{kJj&ZcodtHZ57;ynz{>g&je5JH18QMA~|hG0&=sGuR+;1 zRf7=ZH%TFqr_zIbxz!SjKz+%Wth46@XYJ9xa#s5ahCjG@7yVC+F8tMtZOU8YgwrBW*~;u^SPv9c()s4o~`N|HJoXmH8c5JjbaF*NvG>5t2*b}iGOA(Djb z1)e&Nmgwp$z_v_f_>TIYBdQz5!-ycZb~bbN`9&dj8r=1+!>yX`D6yw~-IMI`aI^`{ z$I`tU%2#N;W@SK(th~F;xV35u=RDO{s1EUQAKyC!Z^V9LKiGJ%8Hq^ef?l=PZW?LgSl;y`77XxI|ei1PjE zZpx%9Vtv|62-Bb~)~z;gFMM!<{_V)(e?b`I?q#CNo-XYxm0MrhhHDoapniCEzOe??(Oo#`p3@pSV@a zJ_CpPhXx)Jsj%{ACrR2ql4@VK&F!f-#6Z2!sv%wyhW?~l`-mG!X7P@>wx&z8s6Y$4 z=Ii1?kH)B9XmQ<%K8wh`rm|FZ$GoF<8M>yK%bzp-o?mAQU_;Fv(z0+8bT&kR#*YBuECW&2Nl(I;KQh~xC3U5+ZU%%(73l%w=VgiWHK{t2)C z-d_4p_8VjOVJ2d4mH0lCG0l^NcziO;XZ+M@%55`EpI&l(0eUiwg23LIIemJ6z&M7>wTMZ7l3PYyo? zl+kyin-mYlC~Q@Q6mxv-Plr>_@*CR?FRT9nO8o_|NS)5`SPYHcUWj0JA#|1MFE;jG z6dI!N8>}B0PitdX(v0wWlh2s2#SIruXsY^}hyhQ@zb3by7XWb0VhGM<|2#i`piZhm zvI|*yO*l13UWfS1BaHf=eio)C&&i^|iBCale*UVyqe8># z*_5DlX9M%04;y$>B$7v;+19AIq52d8X@*qsb`G0s^<&R3#gxcwj zJ=RGq4iqYFx8JhJaAK~SnfSS-z9>5(`XpbWP-kVmnOcO5%yI z@DrXp2BiH9i=}Qfq({-y(r?ASy7u(19((i328Jv6Jq8p`h0IEOQ9uUflyR{8aBd^^ zI=?+{^k|8KfNwWH1+Hiu-C=G*hrJ!@Z4ApdO!ABfOx>ZF{Rj!6^kbq{&c~ZHJn$OA z-81!>cmUrbhY^1Y7A(N+AH_?h78|xmb`(fUf~zu%j~QC%O2QVwRbNwt#$8S6OYn^1 zNUDGDFK|Xw#<;3M=2Ir`CCn$N?66P}{x-bVNOk95MJwOr@=R|UHQavxNv!p`f`hNB z2OG|7pmxzVx9f6L+de4OiR`8F+wh?&8{Bw_6j%|usT+MhsI%PwcvI!~aQOG_agjpq zKh#;P^+QFEUvDuWBcYFo0jbyUpJlwNVb^K~UGfnm*717k2XX5C|?95xzW?1qf^ zb)gE(j;hC-{Fsq#Za4W-yaGdexX5ha0(k$5=3NxpV|Hy9yq@G&$M9m|Ycy|)3u8)0 zzD>ryQ{r+QHPeC_6mt+W1ku>iM}FHd&I! z^JeuQ?oiMdPuSr1W&~pKX)Tlem8ZkMUHr1dk6vP;NquRIYU2#g82Yq6U*T|fgaYH* zo#jeujp?4cC!`p+s&OLPE+8W`fc&c_ovQgq1P5JF?8;C&uI(AEwSChZ=aJaJadA}*k8GT#PuK7 zAIF6khQRcr;xVx6h867to{*W!gv%ov%C>k_6=i9lZLi7|_BhFmCH3IJIa0q`#X0V) zd?kZW?PKH#+RS;cBfq4e^DQPj zQb%0Jk!H7Mm+aH?IT~+JshQN1p}YIQ+`Rvq(Aa_$WU^{MW8>b>BfmVmeP`Dap&>E3 zSiV3i0*e}(qr6v8Y>v_cr%YU*O_?r@E#C{1L9e8Yy}n)f+mkxd$I(WdK!+|e$;hv6 zC6V8FnWru#pPY9xsuyKA8Wt^W^?*OdhU`bH%JE_*uz71W6^%HtxBff6|MR?r?MN(H z_&}Z&cmJOc&e8SZ+b_Kz=jB8u4k9&J+>hm9?#hCvv(j>< zOZR9NY(bA6vQzepmO~n*X$=ITsjE0~MIp0E3Y*`Xu|B?28Xq^D5%i_~=iZ?KmH3^s z>yL_JLxZ!>^##n$Eca-513a^Dk$4!HaDFr4bpWM+$gIom74If|Lx?Z6pgCI>PmGc7 z^Yw(A3N@v%4?F<3DhkbOc7B$qg{9SAG^v)v)`#$8(h_y}PlfS)2~)rC6Ykc${LMYQ zg5v-BsD}D|QZO@JaoH3!ILkXR*??}a@vvDmpGBsH*8bI>R!{50X&MeQ#I{Xo1OYMX zw|@@XM7fMA7>+d3s@@x$PIr@|&TGR`7@_f}O zKV*m*RflCI2?lumynq%rc?txjpMQ9tJc@|WVh!E{j+u&HOkOhLYz<#1-=3+Ouw6lO zZ>8mO9@Z{yO@riG*E{%f-=5E$rlDQ+mHG$Bzp7C~qE^c4lVrwmoUi1U|eoN4bOaF#_ z+wuelhZef4Rus4{wIz3Ovfy@sxA`qG`wb=!e6o}F8i~zZt&APJ|)wQx^ z<~n@h-;VaS*XXJXF23a#oM-N&Ny}Uyoifn(k^fFn^Zl8{7o%Vh7Z>fo)!GvE8f_)`lfFF&}u){GVYD30L{w!n@EC!tYL?r`(8_>G%YdP&Z~6*P*0N`*^Z1!8f%BRB%y=MsJ>G4PqC>=CD|KrSo_EI+*Ia*L)Bem?p^qFL5IR~ z+sa_Qmv;tBCln;@OG}QP+Rw^5d%xl+N?esI-K=HIA=k#~wDP(5U13kpv@tHd9_0UDH|my?u?O5;2B@0Eu1 zXQggLJKdP`csixj+-$3iPoKF>q`9^AT&U+zA8B6q+6vjZMTs8GxACd}VWd}oLC!ww z?Vc^bAszq{{w-6}16lq*ucnJ_*t_A&^MuOaXWvSbOgmp9dqJB|UJBH@HDd!s7571` zZQ>Kn>-3U&nr^HR_BUwF?!T8Pxt4!%`nMYSAFBWN1NZ+~+xWkp@qcs5U!YWFuJ>O< zb%0*R;bIWwjhe^dCVfjUlTT-N0pzyp;ReisuqgMypTzKJ2SB5rdh!op#(zDW|No=} zz%T2a`JsO&e4kH9e(vS}w4^dC!b@xFn=BD0CTJw~<=fIPD^M>ZsujoE!z_MFLFd zo>yFKgaW8fQL&o8&M_e^mJ(>JP+2fY}FR^7E%s z990P8`C|ISIfQX8kMK?XWN9|;S@|V0WBZ}vCe-D!~GF9vcJEwAa2v7$sXQ6tOkUuHq|qC=5_c*65TEb|)Q z%PHQ?;U1?iJwd&&58p+|{?1vgh}buq`i`x6c9l`zusU#q>Ii_+pH~>0G(uOQuUV5{ zNg~@!V4bEb4;cYUy@e}WVP{1EHa`i$NwB-HRUR!U_a%i*3xRVc2%)Y!!rpt+%v+&M z3c(zZ)}0pFtL8aOgh`(P%BzM9_s;F_IPTy109bZ3e*sk&azex^C1<-U;Om_6)Fr;?P-m<6uLh&Nd`28 zmfJonu8zswC8u18V#q#3CxtZCx1sas0cSGGbm4xTr*rgo&ZM~ImlG$G&v^tHaB^dn@$xZ_bLj!RvT)M@4+$r4l_ecg(UBn9Op3sr_lO`A0 z3yz!wzH`>bCKM=tS_32lQ7ZFew4l_NHc^;Z5>nq=cZrA9ePlX$3vXzbDqIE_FX^MD` z-Hs+^|9+!}&~2A=09r)J>>~&0ALExWv68D-{~kE#X*5V8F+~+Tg5Ho7z1reLgf>|gU*W93ZZsnDAUc35e)^0OH<@aYA5jg}9iFf2R&K##y>zY0J&{PBsXSPjSS z$B!Q?RRofs)9Y1|SYe-pMM6l1e^D|VYgai-!~Dc=PaKrA%&|=dYRVx>C!38Y=9k0O+LpHzzR#z z*xh06BsXeF!11%K2=ry`*DJ(ZSxkxh(X8f+n(Sj$Ua+dH59-V#fgv%Sw(meH?QkEA z_rwCYi?hFp4u9~C*>SC^yLQoH@Ce^HnHoP;@5*NEb0tZd53qtygvYP4Jx0qz_UrKg zU1DsR^+&3@b202@6ZZ1{eoTKT83nZ!jBKS6MJH%x2{!~I=@SngtOYAg3>i*%H_|`S z0)cm5;ZWQCni~9*$hkR*OFJqyw8W(LLneG%Zypeom%zm+Lf3vsmY7QF zTg&O?5DK4`UBND99vctRvapjhuB*v}v48B4#16O@gI^3*Hv62w07L zcV5~fkkR4VnJg18=Ml-?{z}p|W$&1B7>I}oAF*?Lu%EBjPE7Oy;`iB3gr(iHS`UzO zNF_;syCF?&GLKip`w`&Of#VH&h@&=>9p=GmuFUl11tBg&RD$us{bJc~Z$+4pmx$R_ z5;b=?@)An)+sa7_X%HYt1k;L&(G7cdDPxe?6|uAWwwjI{7i&lyi|7>?woTiPRkAJU ztt)>uOy=(71&*|lJm=a7fhO@c<`?!iI(^2fy>P-F_^sv5!c5V%^hp@)2*ZhV(q6IA zm1ZY+e4-wP`SNgATg7kgQOrV0?Vn&kr*G@r8L~JWl*HX0;=D$dG%l|Z&T2XNgw~*B zLW|#dWLfDsE$LtK*l~;CR0%MZC`3%J`My>2*HPz`r&G__?t^MARmiytfc+>nVPn zDBPdVOaO|*XFuo8OTX@egoKZbyi5y{c~|!%CI!pfeF||QiWOd-3~CDnHL`-zna!r0 zmzxuCXGT8j=ZQ(nAQD(Vl-SyEY`ZUVf@C4##t#*^WGI6p5JDKm0lOZ;>(I_Pq1&y8pfWZwnWM5hhQ-3y@~9-OlJs|D2wE)Y zl)LjvjGTAgkz;(VDQ+c~5F|JVpyISrgSG4AIlxA4%af@k*Dy0MR)xbSsg%5Z!e<=5 zzh2N@eWOY~nj4Xun;U>)Fmu85VjzOyV^tlRUS(RLoBKOV-pqHW5m-H6J)9cVylWaz zxEtnxYAxqa?y9H#XXWHxM44N1Fn2raNxbI8WeNTz8GkK`5+1ooCNc05UL2Hd* z2OEShSWv?@+V7b+gpKZyv~wmm5lYs8e!hOTk*U?Ip>$s`v{C$JV{e0qnnw6YIw?FY zFU3B@;JSWtUv9kmoa7Qk`N&ZXbkd~HWgr>}l<&AStqO+RcVD?IAZ@ke#fU&gN!i}4 zQ!RHJbg7v_*Um%>xDU)d7CZy&qA~hFjL;@7(<$=Hb8V~6M?Ci_VMYdQrqr~6cW-7h{*K>wVzKqCErQ%M2)q6u(bs5TvFjqr1MM}7 z1;xb01sQ#^*&<1v`!GnwdJHieGFJ!;Erw2(x%_y@qL+8**Iu}!)z{}z7r;;%i(8MA zc!9miEM63fU9Y0n%ql`2p-ZJkP~fT#?zar;1QOVxkgc`D6RI#FHn~4{sAM$1^ze-$ zbr-;a$kKk|fjxZp4F;}h`A1cO0P0U?Vzn0)`wLK-wdT|CMN8FfQzr)V`Q_|v`80yj zp`p9js!kbMuZcZ+slp$RCN@`=UNB)rWK_nu>4)SL75|0nYP@CKH|0Esn(QB>!WEk( zE@W3)6bmR_>?8$r=Tf?u6nT4|MGVvGBE0yB*RWgpTi2qUIO&GCV$- z+yH~sM4R9mDH<5O6#kn=)#~NvK-aRCWz9W-Ze&v%Y=VH3+)vR)2}ph^cN8V3J!F&9Z;vqWuV;>j+qhaTEDe*rEqlr{^1bT(1eXs2U|4Y`{X*^R*IhTyeT+@0WdJZngP>bNm zO1EJwO4fVaHU(4npwTFGW&q{ucF2im)%yB(FARxN4cqD$KOkqx{!F{17ROx-gd9Gg zNyKy2$#L@x)d^9O7x*UfXBqz3jS;Mh{zBIz`!+7b!yx^<$Fir)I|E?zv2}j*J4w&F z?&dC6X_dzBcp)|A)1v!W{oC8t#E8T9N85KCpU8Ak!grT)jotBeRo=@1X&yOFGEXS% z6O#nIe2b{^@7urY=0D&cuQOlBw^*vLhB0IbLL&{r0Fi2TU^N_b5~pN`&`q%&xK={5 zaL?PeJ9gl0^y0ph|DpzyJku?cA(Sv@0^f)tH{L|9e%!^o5K<6)1KnHtF+XAG?+ZMR{~9j{vt z11RH=)~?agD|L4DSXs~|0Bsh{p*S`cyoHD}OT4T^d8%!cK2A`VmOFyPV9vdHmnP#` zqCnlR?3kOu67BZ6I^LiRDm5I910ap@sxF%XV6#I_%QHI3D&P3MA@`N(XDkXF0(qwW zoQ}~(rWd?EzH+e6*I9pDDh>n_?}7$Ck85!$>#V&5C_Z`TBY-x1GOvi=?DN+xlTQ5C za#o`n&AEQLE;yy$zv||1inKUQfOo}2WE%VqcvN)6x;e}6Wo_b#rY}M^=K8Y`EL0Rz zgDR<2^7xtrzN$-KuDSbQ8Fu$s~W5v+yBLpT1)}dz~ z&(4T_{#x3?C#t-(fcldWtfTY9Pcx_lmd~0@Oa%5SAXwUoOjZMG1Pgbhe60Q`*Ny3{ zlW#+oE@n!aOV%D!Aq6{q+|#_(XP)QMEfoB7pyL-s3&eBFg|)?sORk@;7RehtZdSMI zBz~Vi?eQj66EQF=EPnl2twuUrtW)85fpn4(K+g(j_VtLZd%FHu#=6|h9BF1z_V~xX zOk6x&bTHR7JLSOSh8#}A^m{?nc0J-DYpPaX$H1q=8(Q%L!d$+4%Er!dzL7S9e)8nY zyrQa!4ut@X@10^C=HR`&pW-%++uBN~Q8teX@|ty3Xce336Khi) zoqS!N4;otyaJddFH-PfkdUfoUDT~WONU+#%v4etzzj-q{4;Hp!xZ%f?b`r5=0yxDl zDdrEy2RCKwIg>V}-`YxSt2#j37tW`)(a8jly|lV z-=#N3Oh0(Im{S?{<0Mq0-?(2^<`(mJ)aLU71!fjRrH zQ$KGlo~@wegCsoo8}X+rCK%hGYP`_)E6T@Pvp^_zksQq;Aq24}`x5{0eLtR$nf7U< z96_`Iw-Xk1F9B?3U#{zv1Ejx&MjtGz`-#ac17n{HF=@xoIs}OxF{myg35+L_| z&*#t=?^wo_mH*5m71UH_`)-T$DEyw|oax(PB2h*~Yaf}x>-xtE4J#nnntKarW!{a7 zlclkO=>lI2S)KHyfP0uy?@J3Ya#*0`f4GqncW+H~q+xTed$ts95XlpzByg2$YEJD} zXI?Ty&ax-ndvfI%g`^`DHPZJ)3*YTm6L|R^GU~qJ1Nym~ko4QoOkyjWl}VeID9U65 zb)R*$Ouu7*Bi#u1L&@V|CC&EdN*v0f(+tw8ze5@O4q5l=4ioiP;GCAd6{L^tm|#}? z_BN+jYH1h%P3w2QyPOM?A3tdp586%y(2^c0nF0?|WS3iU zY`lOm$!P-B`hXd&(3|haBD*uxFtEd%irz-Q*>_g? zaoi?@9f18=p-&?_bh}n7bZPn?gyD8t$Ts`K^%$njHM2=(7^UJ=T!?@yY>b4h)azc1 zJGa^LbEM`rgC2gLPjmlc1BWdRmtXN`T>SwKpX*L&n;^)f+Akdb!pgdkO|VCF2HJRQ znv}@*fnUvaBy|S*Kh^xanpsu$hSu2V^Rlcc!3i~EQw?M~YW4`HkIbH}O{zB2&PsIk zn3Xa~Mhy=XE|EkL&>f&Kz@AJ<{yXfch~@59g|2*bX}&E*0{_0AX~(xzRFK&Z&^Yn; z#NaC(xF6B{=6{z1L(K(Gonpg$oa4gd)u%gfiUOX?1Nm{tu3x2%tUi4qU1iZ{IHxVL zqC^ARDlGocJt=50T%2SMq$`kJ{AaU@g8?2P1{C%|9k!EmDwe%e%xk$>v*ZiTUJK8YSCJ; z@t#7GY(!cbg^IO(e$@O2A=#-xq`*F$1rZA-cmlbe?b!NpyJMSm3>Z178I5c2h>2I< zdxh)*>`}r8uw9OvYIBsuk8Z^FXv)e^ZJH{ywnd@!czLGYw;~=DFi6KQ&O*~Mq;6@3 z2O>D6c<0sptR6aSiwe6sxcUN+$@u0u$w1F=8Qy(*Mp>CXP<9j%YyQibybQzy&WtGc9*evLa zZAy$kIWC2N3LDU14P?+{aBJL!_4g@l_O|&kfnF|c($?j#_UQ0OKVk&^XWyQ>uv16G zV?ns-*VW!)z{)%ssbovSql8s9u39=e&-z-&OjY_VUpE-)!&M6;R*Ns9vON|PYJO9OaBGJ1{1VmDstf~QO6#c1_o{BJmY?IkErIKdl8N{rdoVH)SOz~Q&_PC%VVee2 z(TSR83BtKvIgBGev2tOBMm|uZG0HV=#K~?$B!Uympe8W%5r7HkWADMRnPD3j z8IQ8Lbx`V#C>xYI2}zj1?g36$C63O#Qm~Om4jw$j&d|t|k4h59PKL%vnfd^Jg1PtN zpE-MVnqs^$SoJaOl={#>sM~Fqt^pVgK4s@s%bbALc$Lh@1C+eH`;LO|6fKfN*t-RR zFQ6J0nYH^HF4)<)Qf~+l)d2GZ*UT4GfKXckzlVi0$&lZImj|5pT-l9mp(5~b$2y-d z*h8FWpdblIcIP_mIQtb%-0OlecE#jUT&q1SY$e0q63*0^dO3Yi=1KEpHy@*#Qosr< z6rjg~MC{RrdYG6W?9)~iE+`?$$R9vvn$)QH=*IB^*}13mGwmk|!aoBk7zCbAX?r=? znJf!+zD`~Sbi3(x@~dO#p!ib*Ujv43BuV_r-mz>wi~!L>nn2u^rJkRhPO^_uM#=_3 z7hU;p0Bb0hm*V5gFPT#!6Q4)dZPdl8WaEX8f`hZ3^vKW`=sl_`&Cwo zi3W=Kt)|9G4)lAt-Q%{u7eQj=rdo5yG7d`HV6(d4dxl)GN;WF$f~f-`MaLb9`N2t_ zgrs|Ky*wtY?%j2H!->7^wRdU)O47!Db%X=wytr1#Y%p5O@9!<+&GjldSj`|<)*9&` zY=m*{T%b0O0VUX!Cww~Ql9mG%y&4zA&hSOC1mwj(UlOR}Z4DRC{EGzRdTuH;E+3^w zC4m!6M6@3%6R!nT?!Ebqh+zS{-%BS6VA%8dIl0fItMS{6#ld=%T9A}c=~`>u@$!N> zVrA_&P?DF?$T2DXxJY3A!tTHh_hQ|4w<_c&2K^LYm&PtTqE1W#fm%l*=-zexYZLiM z^TQ(v&&7-7n=2O_BOGuxsCmaA7zwKr?%pXUdGAL4aB*$4SfHLLpDLbboZn)9-jylVXJe3Lb zx}OTf@VMu*GrIa)J!)4gojWb6YU(}#srdWf&=M52pZM$0(;uWZUzsL9kPfi7I02N> z#ITuZ3q5J*jrqs!+Z zv3o$wuA@fm6jrR$@m#f2$}(X9E)G*WkJ=7el>)%5wxLHD&@^m%b2sFmdvq#M1qgN8 zKWsb)+=KslJ->bQ-{-OaKQuG1w4_IR{7SIv z%>(mgzVeR_;27dO|G@qIeNX>Kt>G&zm*X`NV}uVs0F8n%Q0hno+rcp|9ggvE8Sq=8rOb*TNaYaZ7^GKY)^dw zttTS9Nx;H2><<2^Ap%&Y1Wk@~9{_>{swc_0?fDQU`+O65ZKqBwn+HCIuh`BqBgAQlULnlIQ z_&}U*QUIYfs!`#;{^)a4N1%FF`s=}u_0O{w?BfxXJs4c`-|ROwrqUm7)0JkomS&Gs zLVZfI{2m`TghsGw<`B5oF&UeNZ$<_g`T8m3QffU!YW1~XRiD0GBXwJNrRl|yy`WXb z0S?+5CrpG6zr9!yfBYknxyq^*Bli65I-2fu!-WvA_D)H`Ywuw_r-vN6@+N#G$VOag zf=4HLGE0&-g#20^;nchaW7Q|C*KI8EGuSke(R< z{@A`7*nTM`I&8}=#i$dVB+~-V?&-OmUtWm9l!rgHZt4)qk&eIZ+WlXrm?pyrIhI7_1qjx-nvo!O?66^J+ICAq8eejii z+(_#ehmfug;|yF7f!IQVcHTgd6IL%+xbP%9B_Qn|c4A9?<3F7xF7{;Hx|cXj5jxhn zTHVvJn=F{N8k}4J9K^XmjD_`j`I7#ep}AAYgDv>3fmukg&*kP3+?6;%8Lc2dm;#oS zv5j`<##`w}mAHHb^b!ECGz3NLORJ#5mg$*N2j|J|3|e0_KQa+0mmv&R06}Q1XvnG? zBy2r$Z<*P@=Q#u`-5{Sv|L(}0mAy`4Eg`R;tG>Pv(PY{z|*xXMb(CQilt~8gqRb_U_MjrVKxSA@{Ts z@5Q!|U~cxhQO9(3bao^T1!Z2n8x9yqE-XHO--(wEl=wewww(QEww5vOYWdG<;ZP0Xy=iYp9MhZKeXpj{>$S%y;E3-3tYx66tl|@XX*1>kNNG z31I2aG|-;w15!TMgv}JE6Llk;wS}vlMr_baxM%i-Ar<;tl~9pCrPfx%Q2WnxI~Tl# ziTKhObM<^P#XHqmR1lRgCxMW(mtVYKXyBL?R>%LjxV$rZ zGbdmHTJ@WET(;UytR$vF@I$04O@}`!RpM?mD=M0!ErwBYW?!>2S2@-^^zt_3Pjye(kV1r7VXn_!(Icb^@`CzW|`%&!F`(faAW%bJYI;^gR#sKCVRa zEaQ7bY;_@DA35_s28<7~VWE>b0OMT>a2cBi}lC4=ggkG_V4;01XybW=(6WZq&ak=e^_dS-Yuj86h_&_z zKDFiUbOdz=e^%+16j%6u`y#f&#uaGr{=VdH)Qz&L1%s#!kbM250RH!aigf@p6F-=z zhuE><2JeiqDatvk?62b6ese!_q-;cY>&wKiD|t34}7woUGVUP{zhwtnuhCjI{O9G%u!08D|r#MaK9md#2g*{DIcI`Uza z?!)c~yYaEPJKwoM2>d;_w8^0n(qhRj^ki@N!?#i} z08md5Q41h`FL&-1LU9-D=646JqxqW1BRk*KXQ=9gxfoS{<3jZtesR31Z7wsFff>z5D2jYCR}SCz_Le z_pVESJ!3q7Ww-Vv^dtYftkBPBseq#ZN%#@7?wkEm zRXOYL1rGQ#=a5W{X{n8$Gg<7Zk)l1WhKLsGY` zL=}BTXI_@(%<~~{R+i6y*45un%nPIrO`7*OR|>U0d6htjwX?1OTsls4m?vj-BuPFx zFexmk@?Ek2hT6OZVCT&N|B{Iy3qjXIo!>pP@M}$R9)S)PrTUiwPF4F=g+5A1rt1ZD zjaDoc8B&Bw(?!hkd>w&vqWA3l6*x8Hbqk0=#oV>yIR zg?5hxvXk$*2Ew=BJzfj71{Kj$gB@E!-2)uq1{tab#AoDr)^4pF16V=ydfyw-I=SRx%g=@#k)egiW9?wROB=~6oWwQVXzoK_o z&VeUw7Pq&w8u^2&>6cd%n&K{tk5NgDmsltl;>QL9KFnO%->Xau59z!ohMZz+<=Aq(2n1MVGHBDv)^jFw$vSgo9}v!PW(((NP~6w%y<0JtT4`O zZoMjDTR8P=(g;v@3nch5sGx9Q{?9e8Qd0ZXgCbx9&7Hrz^pt2F`O$ppN!Q2z*h8Mq zN7FntD)npgM#8l_!}Q9MtB>)Dn$47jp@=S09P1`xM?7FmAE<5f%0dW?JnnJXi?1^O zTICfvmFcKuylbh?E9YB}+ zIOQ|2D%R^!+91ys^X7R4?)=N)^4ycM!>Lu0to6362~!CE?DrBIOmo$x_K)jJ{GK@_ zQ%+7j5W==3;dFq>2Q`<+7N1ftYu{B8Q4aoX^xK@HML%@)^f2l}@5w)Cb<7-(7xL3l z{i!>%O2riZxTET7KLcs$mptH1{8vUGU_ep)+%j8L$m4SOZW6(5XYE&PJz3`7`D^DY zzK!BhMB8~^za(tP=A3bwq6~!mo3LqLt5Mdu+c&isvN_W50~0Qap*pY-4s$GW zgbjZH5T)fGWr>$fYy|F02|S+=7DhH}PnxwHrEf9iX1C~;ViKyVQAg{Qznh;G;Um}n zz^=d$b8V&Rj)Ye5B^&)?QXC=V6Zasub4o{vK)D<19Xrl)ww$#joVat|Yo)nZ_;uqq5{c8ZI3tU#WHshe+gEs?uAAp6WL@kh48jV|D zPc{E(E!cab^6+qGP|RpmXSYq~X{kA@Gh4ytMJC2d6C-#~;L{15En;H0G=F_{)So4D zw%p?m6(=@f`U-FGP#H^tr?JyF66_Fk-FoI^l%1CBF13+zLQ~kX#wm(?EaW8lOH zyOlf+?UuAa@%#Xka;sRXb?QUsV$h4Hi!PD1iLYRqR+e$o++@H50AXVK`o4knZz$`O z!4wGIDg{$BWL`en;*sIwhBilXcyRpMekBSzy`s>X2l@J`RmSy4Q-bFk-XA0?rTfB9 zTAatn@^i_Oz13w7HFUqnprUkXe78f^F>3!@J7Vcuj2wacw4DEJ!RXG@wvNNhl&b&1 z-g`&G-L8G#Qlt=@IVZ5j7+V|f3zSmywbKmc?o_D?PT6_LTR@M??ayoy<@%?^|?@=x7zwEL}I9q!h z=)jL?rv@6{8ZB7NDYBYoDs8Hb!3s56YniI9wfLurHBu{vici{(ExVcw{XUMBD^&+& zn6Y}2@z=-E6c-$K9C-X(>Os^ZPmr~RM05VU3!XrQ&#_!JORcLK>nx^rI&9`}oztgv zIV6(Y0Z{dQaMv)R+PJ1XQ3~o5Xi7z>D|CPgzI9w=#C5gJY#Uht+utc^wC4DX?1$}- zC#deqyknyBU(eDX6Zk&SpC*?=>YJ1t9jXJn6}Gic6uzqPBuGmtE8WD`N?SZ^IyqB& zMeVR5-b^1DjAPXft#W1YeIggzQ)J?4KbB0CewXXCE;2h@o5OD5*0hajr!R0R^!`v% z8;yp7o4LZB7 zR$~1E_Y9}(yOMW{Ss#ED9?JxrkVw08-ZLI|YzoqTgCn5!ep1Vb6ajmB?f0XBq~&6+(OG1clsYHZJiQw>Y}p8S?IMuG^0C z-}A5ZPq?iN+NBow9~h<7P_AUirJ+N7_}TSnL~)g>B#^)=88r^nsy*ae%Ut_<-*1*% z40#?F8R8*PH;zui_dBGhth4yx6+Z`u=_pe}%v;#_)U4pBMK(f(EO*{4HF*o~P3OHF zxpSvHbV|lz{wj&n>h>eQg)x%d_a91$3WsLM(3dl0jlBnE@Pi_VaWBRZj4mf_H4ik1 z6T9t-DI(G~mH2t-%Xh14TLPGG^<^}wnNSTcTZVdc(@{N|cs7V!?QYOejsI>Yuwx)# z15IGD-25K+DB|G6707Qxu-i+)%eNH6)-6j4sLh(8D^8041z6MRu4Wo0#cldSps(pv zbx4_hUvW{>!SnYVuK@SCXOYf>k_Wk&Y@#ACnj%jE%iem9neq3|rUrtGwoEANVWz-m zS#rlrEh!bXMfn(Rf(_K0vex8a7l8dJ^F{C%Ym^c>*Cd2WnVg~pA|QC~qa9jSAF8Cw)2qfBz8^QO zCcRsHo&>lWF$p4LycOM|jNiOY2m9ECu$%cc1L!;<)#7~f~J+_0=yWlAs zCusKN16gj0zyB7MQ*`W1p{x!HQ&XHIS76{v26y_0=qCx+M;`=u(g|t;cu#xDO+(|` zK$}Q7F`!9z&rt0G?Ng%~&*iiL{C+JWn#~hP(~~;1ITW5zX%48C{r86g1@FsipTG=6 zh7QVzmo{50G*Ne)BVu_4(FVQOA7ggETEU-{cF4h-R!;tmGr$`_KU$J++Zke+Rz*6) zQe;dHOdc0%CJjGG+`b1r<7~k30tZ1=mujf#j!fitvx11S zwy!f*(!xZEzIB=%8iN)+=64 zV?oxtNm9@-sAA$(Bhu)hDQ2!y*rUjW&{{QF&9FTXUp9%iiWl$2{Zy$v{@Nr5lv!B- zc*b~;7-aQjQbV!U@09Qxw}m8x{LQ{7Zn%Uce1;3@8;?H`t-Ft*SJ2ps69p~QrugqA z6%XjbAFGe+XqQuR;!XXO;T*NX>X48DnT9Y}TPI`;g6$U(L2b3>nAP%<}P zN_06DK^AJ~>~#h3V^bwOpHKbaJ-~E{K%5VgtR}3SeE^GEe-ke6fo-RW^>qAzKB#9g zcBwDm6t6PFHLx}FzYuIm@jleAa#+pQH}%!v*%vuc^pw(G5S$ZZo}I}0$DFoYH!C4aFDnie|5#AbP5 z9m%XR+c2=>?>Gr)t$hV9f3{=u9VsRC;j(l5{e6(%6BK83KpHP)KZ%SSp>+B$py`c= z8=HQMdpfkgnd1>Z3WxwRNlX3RDk$i4GV;TGA@gOtYL7uv& zt8ZspZk4b=lHphevCiwo&%Jf}GZ4~GAU-g}Y!=Gyj(I8Mz4%ExDiM@*BqG#ceddtP zO`p81Bn7k^b}_JgQ?$LG+}0t|i`PZ3^N^!iLFuh$EKOw5BL$kEy$gf_2{p(gtDtfo zE4wdm&B|kno^iibP*wWMID&9)>#Mizua7$P30O#7>T+059arGG055A|zc1ECWM$z+LBV&&2uE@wtWfk@yVdDJAGJJ|% zknKS;&2pVv$grH(*bB7j3LYbX%3EjCE4Mt$d~ZkS*2~wddHENp6HP5vs?R#nRevgl zE(l4|i1~JYFi4z#fF3qo-F&ZGG|u_5_WamvcR#CLIepSfD`TB zuJUwTbEVdtSRRCqx_9uqLRlggE$ryT%p%-wsNje4PvdfaDvxBQ)K<^j9MYOHP>iAZ zx%`q@SlSHB%Yit1(ccC7-9*18tP^Y@WA~{}!87qfP&F^!NZSeBg<7^+q_BH_H$WuP z6|LyTu7v5442R3(d9O$n%`ES<7F|eTflH(<4vg>7UtYnKYU8jzX>Yp5@x3)l+V%zU zY03*X)8nU2OY;|qa6|*lG&9NB3wn9n-2(mV`JKfD#geI286zN3_!K#z0rt+}zm?$O zJ?k$y$W2A{f{FY685UZHk?LXVj?Y#yeRit0hp370D_bdOu%HtPn@9=bl5}@MC^|l- zl{14<37qN`?^*vq$FU@hUt-yKlEcFWYX=>ju7vy2B~}kT5rMSJB-Rk&a2ECa zyLJbAp+adnGfUNDweG4>tihMo{GvGA$m>bw_DnKs8>y@&Uq9It3$#e-j_L|||9ns9 z`NoTG&2|iy?Y+B92dJ#A0OsCz#E#Wx6Li38h%DOW#`+IB9K!uuF6=cgyZY;xbytaK~ zPUCa2u$1b3yV~mLy2<9X3zyWszYf{q$vLiny+@n!+%v@LoqAueF5m z8Fi<Zq+w}vQhkL#gQ83) zdWFzY>@n?_XI{0Ywd|Vit1ke(P&tCg&)V^&qMC}xqxn{D4%WwN=K;+*PDWp2jaJ&= zn!!7>(EUO8tBI!`^ndy#t#?s|#i~HuRi?5*Ves3jGh7ViN2|py9J!;PTnZbn^0QN_ z+-u~YdCh+5VWJ?e|>LvG3I{=;?_YpnNd-qZc!saol<7#1itGLtG44VzSqi5T!rnR zfWy2L>J17D%ai6uVDwyzXxAXQN2A${rn#vdgd(6 zw}1TUJOkrDvL2{7xo`gSNb{qoRDaL6p?VdO{!bZ)RM!;${RRKyZT$CJ3J&JqUibdr zI5g!QM&{V}l4eoOgito_b$5#TPj+%%+YKlG9-dxD79GE!O3np^9u~Wb7tNKdqV&I`k(x?l=dA&-}B`f2mkIXuRkAM3^7l{sVkK!`8%)| zLA1A=Q%7HiG-SYuSLO7Zd&>U)?NLomaBDNY5+_tBQ?j#uv#NCuin#w%$oY*O|U7h1UNKthW+VY9ane5j>AnRI9e);CwRYG>o+e(Dm^Z01Ih1E#R%17inKR?e)s*I&9gi~~H$ zEtV3umvG(I9m$SwPNSVPyRi3NJ2Z zJJ7LLKcWB*z#`U7_g((BZBB8O=NO12px30vr*@-lJ@Df4vj<1aA6jnbM1juSDKEBx zKSFKgjd|a4p_}%SPx6Hc@7X<`-W;d`41)qmI)nN^_E&vV%m~=2TE=ZE@+-3GxI8>( z+=q0K*OaO_Qu{q5i9Mhk1+{^gpX$Xw5xg`w6HLssIM&G0JJ2-jHeZ9CZU*}`YvmPh zYFyc%s1y?tnQriWfEEFj+?d=o=06alt3j<0ueDL-zzyMn;FU`ITZnS z-<%O?)Dnb@**Mc(U0GGD+k7nj!CXQiOr5Xca<{R5k6X5K^JqQ1`I<;waT!MiUZio? zKEz2nZDh;3L9xnblf#K4EqF!FxBfXnMs_K9HLsVfSEPKxsBU(lCGM*y7|}0=6Ct4t zC0M-kIm>T!RQn;nvZxBDOX@%Kn`+CKQ!DPa)`4-QDzKb;_^PG|{+hU(Cx9g#pZwIJ9iSF3=us~-`yffwCKWB79u6lFn71cSIIbv_sMAzxyNY4G4=M0% z07!iO%o%6Zu5Yj))XgpH+~I;hoNt#{#jUMWyx@v9?&eH8eJD=({nL`QXDyZy_fO|y znpqYnH`H5hqrg{Ae5yE-zwHiNHWbiXxrNn0NIvQ~&wYtFb4d^hM0`_JM87JMG)0lK4In7sK%%| z8%?hO`KQf5Xn7T&3d-l6c{mMXULSAu7q1I2E=D&`_ZffGFnUfc)2J=ih z56)fW=`x3z=DFl?K2~gced4TKJtMd61fYs;$j7lz(}4MWXA>E(%F}BN%^G*7-hzv= z!h5~jbG4>%<-N4Hpnh?(UUiQhrd&xoK6mpCKhLlFt8z`N&R)pa`pTFT*S1!@UfRTb zoqXF&m4N8WlMbV$y`kApUwxff^!9*aOGPz=qqrll%qEw462=`ZnnRI$M0>-qt2xyf zYXm`@!9uYdp^P`RYQ)3Y^L2EwBXK#_aeKul?-Y-kKV?v3t9ba^F*u=5O;rg@3(qc? zIYcw-AZk#t%tK67`@5PRuN}d*-j$q|mRPXQ61CZ#)X*~)o=xSl_#tgb&I?gGTH^-( z=F^gzIRQOG9Bi$!qMLu2ArcJ6Rcy?aR0dtldANPY%b3k+x% zmA`<^x4WC)_dR@#dL6864w+_pa59uSs=}AZVg%L`Ctb*L&4O|n(KCH50yz-<8Zt%c z;?ABS(3}xmxss@`(3qouesS=MM=obsZg3IprF~1n$hcKwmpo{5IxRf#1Emo0{Muf+ z;4AK|GM<4T)1%QI_A&$_%6f& zWQkyE=NyC93`1~Eh>ALrvRWv3Fj?v;ZU`&7$!E+gUEbZ8s{p(S?>P986Dd~-)GfeN zYrO9zFUElifAytDp}@21(z&h_+*r65IO;2WImy%J*gBt$>e2WOtL2@A=7{w!4{9kJ z_hM|0r)|&8i*SpS7&+K90$n}(ZuRhV0+aY=C%|k9zmg2bYQ-H# zwyyBa#}WhHns0sJsKZ)!rY>|5`rVZM*AZT5H^cB%&5;1rSoeinTKj%@3?iD;&|xPr ziw=M02!M;LVfj?a#_Re3He=rvlpTnMPNtKtlNdUZ8on_J#C`%n14&6;7KWEAaL96h)Gmz^G?E~Z z!GK>~x@8(uxNnJA2Et*u-C;^Ik??tHpeEy5mUg}t5@Rdg_ z{9s@{j|7+U6TwFm9@{PzOrasP#%<1(%*UJ)XmyLtZ6;fNwXW?oUvY?_^j@ZM?CDtV z`Dpj98aL)4D=VRwFRMyizTDRmj@`}J$Zxh4M@BbE^W`6LX|Q&FhHs;QEnt&=96aNWBkOlf?7 zZqaHC1Venn# zOMkj1Ontc*pima%Ix6MIGFs1LL~X*j31Fu43+>fzdGhn`cR+=AH08)<Bxx+;PT-#LjtNK$!N#JgEd{Dgv6^vS)Cq(^ly3K(`mH%N8#s?=1TV`S++LQiH~S} z7J}8y(_SiH@S^h~jIa$K2h|{#smR010rS_hSBvTDe-d)uerC9P#7sb`%z(IuS|Tm- z%|&I-C^vJp_CCTj{BgB(2;nF0STU`@RL6v~1ehd%suH;Ea&5!<%7GtgKC(zfiQ}g(I`lH`*ml;ivJSdw zGxG9gxivkzBd!)#xVnvf-SF((4f$8^ke#w`Nzy4>ah1Tr2x=D z$ivBoy9Fhc95?*z(&)+GT<2vQO&7|CV;2ko6`Z$)#6X7Wi-CYZqb`wi|$sg4n&MU@MziJOLFFdeNCYuL&h5$ zmOPYrH9(g)eeJLNM5v*zQrzAEJ05^+P~W3KB}3E?k>d#GW)9;^Gdm8$D~X4u1XnXI zc@F!F^=wv1ac2j)Gy*|+=>~7=F8AD7Z1KUEhP>3$qd|l94i9QMn>xEhTZL2|nbUu; zOi$|t1Tlw>pmQI-#2(Xqqs)laOukEusMeNx$b=RDsI2qKw0e;jsjl-7<8Y6!v+HI6 ztgM#u0q9*u>1`vYA1DOvE3Zq6LjtaQh8jqXe*ECwKfuKzGV%p3gS?bd0$5Gc9v9Ag zy+qDX^QA#lxNdMoH`ux zi&LmJw|Z=(Iuh@ZyJX^2Uslg*C+oGk-@^WQi3PqpC|S(>B|GTsbUn-nSJ`SoAnL<# zxV5@9YS%o?LxLKC1z)@EgGdA0U#@wr@Lg;kB4SM}G-Zd!^pw=`7uDs?6Gs?3vTgu@ zTwCgt0OkbMd3n2_YhhxSKAu*WGRaa^D$qigtCi<%LPBtfLv6YRC&JAi1t~wMgu;+& z{JQzRZ%lkVc!XD3&FSTPni?DA1><`+!mOS0WeJ())!EtoPx!AW^`Dd9YdMgx>tif% zaikN_uMaj-P{(Jo@iA=|=#->+Lr3PEYU(ktVmZqF#VN3 zIul1N6`mxo1gB>lyLwb#9Yw7#z4jkqK{+)c#y5-NLMAU_96O_CAdI8O7e?YPwkE-!xHeN4sr*5+g0oqj*A_nej66`2` z-#{(LR-tib&&&!KT25)QH5V~HVX0tx@iDIW@~i<1VT4;#TQo0H;NxMvKN{be zop-^^Z&#d5`OxZgavk+RzLH1baM`z5JwbX*ofxlR?HgbDG-(j`RMBQD*D{5iY;J=} z^~})Xua)qR@*Lh^+6L1u!@CP978PhJ)$fC#AsG{UzqgAoQ5*9w8yK(XlI|ZF?eDvx zo-iLMF}y%+l88}S2#OmK$Ha)S6g_LEty7DwZDBJC*Dp5i?UF-&HY(wk8c{*-m}A-2 zVR!BG+0O3y^nBa~bRTMoCo>P35tfCgrMfqCGW42x79;IfUWD!hHc{!}0?BT+TzPfx zY<=dJzzxwc8C5bMv6+aV5Z|)GlkhRckxSqpY|qYwb2mj_ zY+!YiOZC4lqKsjwudwcRW8*uxzAi_Sw+xBjcc5ja%x+&m*025IlUUi*(nITUAvo8n}loJHoa*pPuJSB1lkBmqtVUV+3^R;u$(c8Nw_`(76x81Cy% zW@>e@BrNx@`EyS9Gh4b(R@m!qaNR!SV;Sq+tYHRH8?xHY)I7!C_XWw9QDwxh;XF4Zf zGM{1O@o<}OdBLRuw<o_kja@=pi&kZhB-6uMQEb28+JoL756fh1Vz^GX@H%*&-WjjgIp%P`myKRm zOz)3D=N!yQy;L1GwoDS)c9GMlZihL3MlW@Jqg@E0slYmwnxm1p+%rPVvl;t19hq70 zS#z*Yy@9egPW3}To%(r^Ra|PL84r+Dr6JPFkSG}%dCFS<6qv<&5?=?Yag8Or>fTOI zzqd7~0N|dayLQ1zrVqIERQ%UtVYkqE@QQ^FH?Bw88O^EWiFUnAh?OLbz8r4fgJ%G* zrsG%iY)%>mojlKcei7u<-x+&P$2yk{TQ@7{$^n=DE&H~ga2Sb)U7+?6J81p4>Id?* z2CaP*F`u35iK{kLcRCie;R?(1(u5VxJa~CU(A8?V-B?(%=y6V7 zj@QbN9f$vZ0)AM(c8kY}BXrvK@Tt)nC1CU*M9tLJnch#Zm5{)$S^Hc|AxRR|NXTJ- zzudYrewqV?&q{xW_55b^hOq2vWfG|4Zp=2pA;>VxB47w>oU>X%lN3DH8sw8|i))=| zjG1WIVCYvmDEdo3uPBFu8x42_H;k!743E* zV0GdWi;bF(qIVp7Ga6TS!DCw&Sb(;-ZaY)%!&ZWFOzsGd@2^p`#z~vVnFg^AhFbxhy&8m3NT(%Cf#OZxiJn?zS=?C`%Q1W|7Mp&vY>PwKlj8R)UczS8 zj~RJW&#z*F6SX};6L&c9HcP>LCeB-?U@>8}4$}5uEy3yRg7jqLHV+pJls1;~f3@?= zg}GT+#>{1d;LaGMz77~un_29T;?sWmH5^jmadM6~$Vh8~fQElmzHB;0^H~SFD`Z0X z(^Z1GWaGfWUV}xJYV4Da2hB2ArrBivO9F9}+5QW~_llF^8nm@=IWu!zvF&js26h1s z!_yv)6>iC!U6260_MMK%1kjuTo&M*ZN8#8BHscHE$1|+a9j+&-&g9&qo`jb0Ijbj5*m)s+TE>*a zSlE2H>j#pc1*CVdO80YY0=Z!IsWoZT;{(yRti-5fCA-PX0D#NJR8y$ZU(`-t^OYHG zeM8G;Zd8j;-uY3Sf?A2KcfMh`c`Yt`_o>$JIeBM;!DTvz9NJ#T@%^`XflLnvO7wC3 zdWFxC5>Nsf)3)7Ffi5z^p^U%xBY}t`$yO0OnyAdZX8<|T$vm6fDn+OaEdI}U!n!uV z6O#Y;@r1zwfG1E`dKF8`vbE|Cs*DIhU1y<7CI=JwLIwdD+AvZLQ|L)OVTI5xt$V_a z=;ylREdVGOk&Amfktp$V&b4Kx=C`kab_)RPDT24m>g)87rWRgx^a^_&(z31%N%jm> zuS#hcjwC7x$596$ACXWNAU;a9>i@T5$-YLu> z%iy^Fd>`(fLUa%HgPf@Lsc6EimpKVJ^{(*8n?l+eS^f7TjYkp=YXI2~q5wb`+T49a#`zfUR9LR^CFjs^OO7G1kP`$d{ zzJYwtXUUKx;p|C$kI6{9kr4T`TL?aE-y1-552^CO3$@3~yr`|8y?HikX0XT1yt{NUZ^F{I0365wq}ZzVkUtQesg$nYv&EY)aW-|DqU;-my0Gxcnv?punJr#i-I0DHAuc`bbm&NL<$!8> z)2XDTIhO#Sp;*4<6nW^|bX;*)?l-2`op8=>v`|K-09)&kN z#oF|sv!1pA0r{`#&MR|U{=*ZTG6<2@GTD=vbKCzwlpGs(OULVg1{Sv;WJ#5rY4CGyW$& z^S`N#|9IE_|I3~Hn_2kZVits`C+Xk&o9oA*Aw#!*j2ZiX^)xu?s|BQ+6EjD<3snR zp#|`tf=&%h>X6|=LpOT9&v+l-`moFcP`fMW0ZXM%oY0R<>-;Q*J4Nq1mb$uKJvO-K z=>=PS4I`kh9TW`>D;4$6j5*9SsYlvmJ#oZBZF_PP0JIrk34PXEvXD=sOX$@waU|4& zEFbn%8jM^Ttalj$^=lz#Hjf`p9u_`}WqpRuE^7))n%oXY+cCO}A+!m)s5hn-hM;oz zMN)RuW*x-Xf?gCxT16mF2Sn_!fc;NkQvX(v{<#Zexx5)W&*-0x{|ab;nRlcQ-Ld^3 zjqVyS*ODvlO6@IsWgcp4KeHmWISO5$p*LYRN#kV9Ip=f8h20+VzBw{Al8;ZXCOn#v z{|{d}BDs5?I%H)84+U}e&TT%*GRFR@FLgrnNW(@aPNT>SYktpqM)iRht&->*l5OEM zQ9l!L*%UhzK1}>P?T1j3Own}o1-%5WZkHYzuBikb^JXqSo=jufnWQ2}=&362*6v8b z$Aocovk7?_!NOx&f}ObB@`{yehgoX*c&XVwfw|YD;zHC z9uazZ`*lhHr3N#TU|Iz*>PYl6Nym|MUW71!Gql8=v`-4`d^zE7b1>m2)d)?zO8pTS z{ok5CQEs&s4K#x0>N9kre=H68H*=rHFEn1z>_rMnHv0GYrz@)?*%JN|4wg~)E3=#F zn{@z;AWwa0l}Miu;PYn(23j02(0(`YE_5US@MO_q0#1G>w{wpb)+Q*G;RLIMibg zNaahV=_@-ASfn%tu_M{50)}-G@S2;GaNX(Q_Q}cDEe>CaoOIdE>!-O?nN#aou1x3b zLgGo?{hD4=;yqs*CN^;ix;73s{X{8;%UK&+ssbGiqI z0<$C{9=+pJ-w8Ha`5Pr}P+en-FQkdtK`il#!7v&3l@;^#g*3u^7unuS*wd`G z12_Jz`Z5)T=Rdo;F?T}mm9`;A5{l zWS5zGd+|Cri_?t?xSEAa6|BnxmBux$kg5AQhV7TsO)|RZ^JC7FUAHcy8pg)-_WGWA zw(;>ADGA%=Kg-JqWj|0ie^v4Fr?OokZ0ybWO zm6U7pbZ|Wq>0kk5qsrz~?-6?}dYD?Hwra3IzY0uzXR*ZG+TGQc=|x$eIK72X6Xs(Y zP8^6z3n)`JeL6V5s%QFKe`sStVUW5C$YbSc*SYldiXnt91t27NDI^~Mb|h4hMhAbm zE_8vvc@L@%7BIFS>91W<3l3iDB@L@AsQCtcoTc#j&82GT`mPxxgng*m^n7cyOe=sr zX297!*qM2<_BqEJi%6IQVUs2nXkk_VY{oOoqB&Gx%1@wB>rHK(fQ<%L;$M>ucr*s) zuh%QO0u%lS;)o3xOD^A+TZ}I;uyR~O_jkz`LT zwQ@{bY;mZAoK8d)zx7?vFk|Y51&dScOQt`_!8~zou?5#*Yyg?gH^&E3D;T1xybQ}K zy3751HVww4#S8U9^PSw^n4cPJ3QKt|4%JzwFy|g&J%D(aG|w7fFvu91!!$`kNI9vc z+M1or!-?Pv2^mzkfcYrrBBSxRom50MK~JU~=3F@dQdRC*GySRaa!IF#MGBkMgTuZu ztoiBB!_N1g2?xGMs{-RS#heSDx`=xNe>iH7_sP{;dAS{t6}VnaI@Mwi=Y)>Sdb z*YzA6a#mzm*C$B1g~e{M7Z@S4)sy788tcj_;ZHwNe!n4&6b^5W*1&zcT7>Jji@k*K zy$6rUnt4&H$vnYn&SSNn8n`rm$D!khxj zt12?=*j2pDKoY!UnY~<$aMwr}+&0vSBvZFoRylzLy?;DJom?4x^Q=Ja;|*Fd+}6Yk;&Q zljrfVHNOy8{pzRJgk6N}6%O~ImTJ#XXnd{9lsT#oW|paPE6s}{wVD(75cmuRRSxf< zHoc;nUL>WpU8eZ>mu$z~&rwl@iLVD=i@61>#aRd)o0D;wd_|Z5(%5Ls)kX;A)6G07 zW23>UC55hXJU<1i@!R~ihw?ztz1RDg3KeF_;}SfI=DlFG1Zqd4Rm2QrToyhI+BCV9 z{#ns+sM4oGpjNq=LzR)g>It9I`o9Dm%*E11+yLqN5lj!<%f9s2nFL7^h|wC?nuC}S z?eBNu!hEXtV-(tSeVziejL&ve;QxkU7(VuYiebp5+IJS9oXWbu8Nz&M{@@g;f_{R- z)|rU6FoVmjMi6^5_`JLa_I? z*yP4j^GDVW(n@sSoq3*qt9CWfpSMO_`=J~?69|iNvA0wUj4n@`_1!Hph&*3?>Oj_3 zF6w>`lPq@-yy=S4sQ4%X>SYNK?dCA=#`C?5Sljui?)Ty4HKr>%OM5XY#I~uCNtsc9 z)sK9yqs5_m$Wy;PV)4~U{^6<5groqho5m7ad4T_REX1T;zwG0mYy+(oU>h1Gdmldt z4emK(*C?MC6qfaj;cHPalyPPy973z%C_99CaPer>cY@;Ij867Ot2VpAqKTp6l4n>t zohwrIm9P$GZUrXbXa3VOTrK4xN_M!nxW2Y9>B4$!d}@WLMOXq0+Q0F)zma~4DLxp< zQdW@Q4g@o!>B0xS?rbq$b^lFZfgg;Q0TTP6f96gS3*1K{*Gy(T#OU4A&`-bLM10Di zB7_Jx4@pjZ@uG(wlw20`q%(@A0CnIo zS;F|H^-av8%tk_6?5sAG*dl>6b|&Vf#d{ob;#27zQlJTfaQmPq-Rq20-ANsHEzOQ0%@!$xe0oTf#Q+MOJ>%giU zZ2PLG^g58$m?*J5bWxwFsW@+ialh|z5D~YZusw0Q9_m$9ONjXT%vbA}XZJW7ljE!) z5I~IG{`ppzu=#?+pes3Nh!#z*(fiRN)cxtcfa)FHBEJ-1 zS2SO#7?U6I`aMYx@|K@JuJrC<99G?jZw#N&FU7!e|41+k*mSfEuhf2F){fedL>Djq z;sf`G?8(-KlbyRQbMf(2%5?Y<^4d1?@k9W@x@_qXgW4wSylFQ-*{azX{P$~ws}sp4 zsD6>q9BsewP4R*8=(6y7h8BuB_U5W|x_xQT^d7(?*%`d}H4CO|PxXGJ0qKGVvsFRC zEs1nDvxcwCIScDy4?*gK3$2bJ{-Cd5mA7$X!0sSuNZfqRg^PV!T|4}oFIf)XQ=eiK z(xspKR8iRW?)mgZ-w2vSv@fa5Ubh6fJjf5gR{kR{C0vH5HzuN=v6~^~o~|>J4FvT} zh`T;e)Tpn^(+s)%ONp5YX~Zh&ivB|!-QFpQ@!|>v!FhnlQM_3* zLPAhH=M!>3u+;cx`&R|WYcO5?EUy#&l_ZPebBJ#ah{u@*miGe=5~@yS`f@HK_&%$t z1MV%`^_*VeX(~>?K86RQUe3@Y37!H!OyRtecP3tP^+iw~5N5`X^LnJv|PaYg$we z3zNp%L8h$Loys|GXm~0;JsXu4%+&o)eV+^jZMqnJSyQ4euZHzC4xy&P+>rlG?w~nA zF9Vn&wN6Yy-7;&&Npd#zMry-3*sLKvuD1yH;B9T$;zM0PUE;Sv;rJqDVe!gKAVp}{ zu|T9Ks367wQ7K{!SgsaMRy12a>8!w{=pdC(YdhEx;c zo5NVC<)tT#NLkFaM&p=%9nsB1>;8d{!u9)!Ah+F8GH_??8pjAIggxZ2*-uhdv-jFL zMA2%H+|Fgk+;mZ2o$@ZYMp=c4rcCcmCKFbL$0)E`iM%+|y|TaARW@u&l{INUUiZ$4 z<-x%|5u4?tkVZ3dVw`2gKVb1Y%;eiu$24YlI|y?MFOPizhTa%$U4+kDKptQxqEgiq zYcV!_kgZPu+24{SPKTIy{aTyK&GY02zzWw0z!nJE@t?BCgQep}&isu_;PaHi7m5~j z$_YC5#n=hGjvgP-gPTFK;}-KW#9a-!ybexI^gdPGO;}BF9R1uqMi`Vw-y#Q{ZGXMf zzh~!b?Q!|4h(m7Zm4k#((D~ZyluTph1dSKPkebR*Wrk1|uq>LAfo{uUBm0CICfwE@9QFBCE>oIL953-?jb!tm z@*Gx!P;poCU{OGUdct0&dWyu)IS#k^wx#TvZQABGB}(Ov4S6?y!uXh>lwt4IDEPrw z(>`XPJ^Ze0r{J4PzcJJ@U$cSy`lF^w%29~I}r5hx3N6f zqg!40^;mn%KObi)HAKUi`+%xg<8YCnPEBum<25T??8WccXsN90_@duvi$jf_i5r^h4P^Zy)0z5qxDnFH1HZ<9!BZ?w$jB*$eQiFw|N(}cdmm;EbzWm}l^YZ6;OHCJ|K!rf9R?sS9MptTzsZoHHIJpXRC8#YyFDJSwe z|5JgmL}`MG!2gO__~Soa8+NV8BYKpwW1%*in*DN|Kr^%c6`LvUXN0t0wZ0g<>YbZW z=9=p-gSb(;5w^T|89kx$;PmixV?*^-q-#yQnP(n+Z}<#J)}v471EyG04zJ7@ewB!5 zUt184m|(j|b>8$f%{Pcn{o_p;!m0#)4X#BilPmmJJi{H;8*GAXT!O7^)EtMTC6^?y zRZq>d$hf8rUc-O+=~K?VjWiLrF!f}yM)i^}7Yeu ztLGjmdo&pZ&(qD!@7xG16q)eDk9FJYo9SXwmndHm4!r}!Uq`CQ_OrFrZG+|y({~`V zZRPPbrcRJ(4K9!WIib)U68tNgSF-}O>JWMNAlOOuJo&K!n|?D%CB)V@9uD>aH>Uwj zN~@Ga*jXd|-J;K^D%mXF{1};Of+MDG;Sa;WgXT_|==*&wJ{aBOx<7g0h*;!x9m@ZnYN*QtrOcC$Wf?L3b}+@0AQY;qWPIniJsi| zAlGvUu8BvPO%x;#?H{?@hya)ro0Vsy%xW~S+l@-zX3xnwGuw%!7|1qK4fkJ zi9e=+zwFKPo_(E4?}g~V+4|`eJdLXcQwWnC6)4LDICj-JqShqGWxEC}q2lfjGXEEAtCoZ)I z!ECt`F-ZO)2LWbHr(^l`~&x?D73=%%5U z7e`rKuDrm4X+PBo$>_q}^J@KmxstdeJ{!Qt+#1XoK&_=6m8ZE50q%cDzCv`3c_^qPX^R%vAv&o(iMeG|w{|l}o-Fx&U<4Ue= zKBwxt7sToi=9ChAboj{IvkKLS$>IXzX0YqcFj)z8wN|20hE^~~5fU{czlV6f1$nfyDmyYMF$36*!_ z7}c2qPLa3D3G$ew7xABaN$$f1{KITTs}el zx0;<83Quu2s`CyCLG^7Mf|~4}GHqhO*{IFlG6=G^Q*cJBMDZeX5}z^@)OpDI5@B0^ zeh8Q=RCG0C0274~Zu!*(#=ik2wQ_2WWxThxD7J3#z5v|r$K-`xsKZctv3i<(KdMXJ zu~$>=diY66C;;}R-a2@08!B-b{UJSu(r5%@VPPdpC5VS6uJ6nn@ynm3>|B2^h(Y$g z+Jtw-NjjTCM=N7Z+)UKT6SVMA1`&u&_4Dt?BW(Z=cB_4Ya=!7&^ZxnHVyawopfK1a zrbtKndM>r=g-{A|j4J<{?mgR2ig|xW?uR+w^#PZ=ID|(f?5fkRCIv;VP^NFWlPHH_8l*ZFv6Yoo2+}Q=%IDuJ1RC}qv%bV~ zwqgQxNmaG!l#4uke&C{L67$;|k_Q^9fqvOMiwoBt8O;#>PA9xQgy&yi_Mei>WV7oy zuM=UwX}cde-p4@tE4JXg*!)ME4v$JH4#&0Ligo-zjGn}PbXh6 zc2GF7mvk~2Y+nZ-z3Y#aG#(b;e;(*pUro8LrK_i`a}eb5RXY0vwk{J$b8R=ie27&( z!}*Hp_!-WKzT<|J^d_(6EEyO*a^6nfCMx#IGrjrYh9O&_O?E@AD_VCMipU8l+)}hJ z*GuB^#rUVmA%&zammOo7O|?yVyKy=Eeus>Y)h}P(@PR?{T83|6rFb%rWy;_v)_IGLiNwr(_L>rSSL? zL%lo>(MY}$6IQ&G!!-icih zumRG0OMuXOi6WqMq=X(2=_T|M+W!P~=FZHW`K|A}Yu%WzlJ`AlpIx5)?0w#on|@ zHf@%4ER*y}TFd+ow_ERV4-{bs z^~I9{3zn)Ek55j4Q%^D2t_zq%>LYvL5)W$-LMWu+kP(XdZo{tSIO7r zyI$=j5<%oaw46n`97Oq!AKac2rVMoF3cD;M4jO_!W5g>9S(uwl7bT|N79uJ-*1teJ zbqh$j`l6Y~K@1Dp=;-T9r>|kxH+KCgj(7MA=GIcQ<&7(ersU+bhJ-n&-hK)ZrAg1Q zm4gfm<*f(*zC$}1HAG^fJ!_PP9kSVOpmhaGX2fn*OXN^X(n=7#*B!LqF2?WJ$0L1$ zz@LNfi`;HY@Ffdce3-^SSY{vvrITPSd-O=H#!ZNzW?Ol@5gb8iOJXaWapoy1+-Gv| zmE{lUv@nvGUjL*_y9~Xf-|Z5EixerBazV!|8f?OUk0|>pm~%6-es~y6e&IPR?Km;D z&6^{2WkX^hu4PX;!G2FY_!3VM)Mm5qyj+<#I5b7 zMZZ@IEd}L#Gm`He3!Zk8!a7oA*FSb(*L5B_3hgKzaVlAi!``faL8Y$hQ7RxHaQZk0 zMD=6y=5u0n>HF^-zXc$A8LR<2cuMara9i3I<+nhLSBTb5nyvAg@qrm+6+@1zu#;q?y{W!oN5WhQnfkL zIex)sY*b(8Y@7|5GGt-6NDi_PCw1Y%k?RZ!+6U{q8TQv1prWRu)0^crGt#Ovvj@&Jnvy<9sZJFz;3E@;bn`?IM%^P|mms`pz-(Nz? z@952*`K?&Yr@@+#CES;~00a}Ao}o@mouy_rP*CIJv!ysju-OFaa@4eXX!HEiD}yVi z37Y>H9Vdb&o>~;hr z1@{?>OKrCyaYE6KBGix}g*%FWLJ1T|;YvQ4@~2+#CeOqqSPlYjA&+~lGq-DxtuPV{ zAed44t+C{r-M!*^hn^h98tn3fVX@MB&8eZX?genEBwV`-M-Q-6+hd%&s!!3+!+o8> zVX;$ZZLTnf&8%2k84@iw!{+Hi73jil3pqB6wtc+8kLx#)B z)#XUH-eUtd%ct?j#`0PHe~_?F zh2h&JoM5D9b9wKhITrCrwzHfci-BE#w-^R;aiaBlh!gk!>KQarn$zA9N(dJ} zm6o{OQmq!_*�T%_mU^_j4uc;SJo9(Goq->Mgt`3zY04dw#}x5bIEdBs@}xaL4bu zW6nOIJ!7Tu-DMD~FoKtMd5eA#5^3L3YFxP$7H!w{V}a%nRVSuvIhiRuKQ(W0t6^}y zg27bR$tldrNO-&&B6|AO3<%Pf{7wid%1UgpKO!!6-F*G}x5wY4bRjO@&scvcTMZ$) z)&T&3mq}6%cMdLhCuEuh0u;@Ya?fJ<#N=^-5#x)!97ozL3WEK?^3RYys+S`#D5uQKpjvJJ}r}3= zze|6~pV-aGL+A6BmxF#xjuCW>Gd11(w*tAy0I`Tb!(>8etwH}a zBrl&{SSY|${3Hq(HdomHHf#vdoq09Z@3=Dl z2I$eW(F~M|_OkP;|G0b%2(;ziH4};#ARg@rZ-2unbO68uyDGCZ;GYD7(-?!oR}n93 ztEL={2&2-a*mGMhX(oUAM|@;LAkw<5`OrcnrrW;$_IjPgz}czH-@}pRANy!cu!8N| zV5l1G;zKQmd1(G6*;Kydyt6BkvmbYi|95DDv!KbJ8BV$1&*J!4;fg-(6UHnywz^&Vt?ybmG0kk zO{#7*f8Ac+T#2WFNNim^{kQi7R*Qv9c@tpQ58_ere0gX8Y7$z464F629(;Wpeuo%3 z`#Xf&%KAgA?rqM#vNqMMi5ab8f_c zH}ssC!y70ZKh%dI0xQsQ{(mn+6m`GnR2u835ZjRr&_S_F68a+sr5^IUXW&O-sg)Hv z*E^xsp@T}060-bZLjomo9IjTu)z-;wVO?Vl%Gz^1t#OqbvBI7Q58|c$6?E0&lg8yp zsUex)>g6GEoRkehzg3%^17O~#A8nq>J|XER8a5Mmx(y*Jqu8^WKkvvRG1s@61t7EJ zdG!xNCZ@cs({Jsr&;rF>PC&m+ZQA%*#6RCYa)aS5wC ze$$^mB#5TVNbeQ`Fp^F}8D+ozmE+tEfZ&Z2SfOKX`d6l25#|GQTFyWA@~h#AZ-(``;yC9I4q)ORx=Cu*uXw`0^l zWOXoMKg`+EvY#SIG5p#mr^B@{cwTmP7mw?xMrfLSMrgNIM~xlJp)w>+I-H8g1)oDF zDE})M!CNS)A*Q1*>B)o?fCIShGYouD-Wk!;(z%HaUZ%amQ>Nh$34U>wYpmsK=N4W~ z>qYCrdaR`25r|MyLKCB%Ya~nw>1joUSo7D;%;V@G&!xV3=NgnRuKG^yqetug@A-we zAyg#CR(AyErp_(z@{8ZCL~wJiwT*8huP;6*_^6z?;ygQL*p#8B6}Z@Yb`;xxg8u#cVRMlOnmhXUoleq%%XO9Yt1uG?q2m;*S!EF!%p1kc~0JuI>*zB_KCy%LBLI74>%jGb~7Vh!4- zjz+0p*6S!=vbTngCFc4VUb1Z3Ir5AIGo)7Xg#0OxAd7thj&U!K=7>kwX<2s zw!MZ*rHcq9m=VOmSK^A`*&OR(Zg~V^ZtB6osOhc6iq?=_xARR!%UKg7jo7-tS`C=hMv2Grs)j*F=2Hi zW-#aLL}5Xy1tj;y^S}amjJ(sNhLZJjsGHDr)#W831q-rRM!E=2zS9B9yMJ@PB?$R} zmP~l)FAUqp{+X+anJj{G^UYMwJ9GNGrjZAjRu)y1;R z;o&H8{kT%9CxjLvau@?%>clRb2a_gvxNhL-MdEp-E|`JX>`et!0Dg~5vc^6lk_G$X z6!^*;9cb#Hd$&JH{dc=|WqPn$vPt)$5fKsi?gf!zkA16#2fcHnH6hZTTfB3iorIo$ zSIN0f#5A$axzD=_-lhcd-8Bz9AJi;UH)!QgoK*z@Rzi4|5*|W;;@rP(n^6kb^|EW z0s}jw6#Idd<|TOZ%gys~P$RSZ==1l9vc!_z}P<|04{8EB%HSF<)4O2re_m)J$Refq%xm#Q)D% zO6cZV|2lQ*UHOv?f}*Wa`XM_mZhUp>-a96Eo}ha{nLy>@4W0ge`M}~a5}d=kGhTLE ziUt7=&hI?Cn1TA)u)^PZk8BJi$i-S;Q#eX8l&%obes$`vR+$%Z&W)iBLHC0<8#kDlD zWh6IJGL+Be*6MCXVgvIQGl>9R+w%H*(DskChy6_wdXScMVK<70$-^wf^`wi(aRYWX9b}p z@5GCZFWvmMpZjS5aZrMYN;pB}5_9!T_iwqtp8~niK1iW~o&+}Lbd5#id{7VrNkEZ% za%lw1+Jo61kfmL@to|W36Gb1c_9^=Mr6ajaQU42_Ad5ctXc5mFv-RnLlnc($uD6-_ znDL>q4r(Or6g^)rfK>91gT>;w@)@;Q35lRsbIW)xxwrTl?-<}d}AmTTUwI(w3O*7Ze%HZA7<@ zo7Rh9&d9U{ug~-Haz`2jUf5wIg?l$u7L2m0LKO70gm7=8KLtJhR1{dyWi(a8fBF@- zCLMA&dVevk)hs{ZA@WQ%BA7|!lgB#&xs0$PuJyQFx!~KW!M7*y$jo?KrW+e3o$Wpt zs`&YiVnM#~a*rwNMpW{m=7!jPlas*PI+e3{g5^*o2`I3w-AoXh?V7v71jtSKB;S@k zd{gavElcs%V+8$16a80~Vj;w;#Pg6yYGaruM&SNyh0wFwWv-%KvzX&(E6GHh5i#?L z?T+24{8k@v)ilxc3h`7(ZSp?P$jh z6CVrM9h65P*E?550CnxJXAAJp?Ff2Mf1bMt04@6sC*T$M zDO+W#@9{4hPg_Fm2#h>+dG4;P%97q2sNj8yqr0k-`<2^NlsXKh`{F*@`VV1@{=!J` z;fD^J!V){#68to18>ui~$G^R(%Loh$@~|tp1YZ9oVGRrVw{Z9F44H1z`f_94oYJ=2 zJJ0U~r*mvuUFwQrac~3LVwUF+Ox|n4VYW{1h)}bE6@m8dr9QXntjv1RMpTSRBY& zLGrl(ICeAV96=b+h&CvWxgQ}SJ?h|!awEw7BBzU7lyuB!g=j%z@sS&KDM3G1G2B?7 zbk){iEDd8#@ZRr@x#sb7BeVbuo{lm%C}vvZRI9VbaJ4rPn_#^!c@QJ*n39)x{nEHB zf$D2|^?#Y?ak99V+H>P7fiQ1a8j+_ffi&-Qfyc=zfwW8B@s@Qs{^!w9WYNTRbP*BF zt*sxh)Aj(Cjd4!y_q6|gH2(*$O>L8ej@xJ282z+(vO0E%;EbP>8^xPuMH}x5FIX-8 zx^&W8Kn;WvJA7FL|DY#yep{-N7)Z`O7@p?*DFCDv#d{fK;j(Mw%!sSqb&hc;M9kb2 z(}%afZn~lH6Nv}eSPS>&=8fWG4M()||IGQnfP`mFlCU#C~Hn?)*eXDAcY1)f3uvf%-K zqKF@v<*63RBCHJuk##B^Gg=xJl<;ul;hbkj zMZz9E*G?{&UaiAAw=LCpQxc*EfrDvoZdJBv1hTy@eCGnN-TUcUzpczg3E+DUujd=D z!HQZ(#@qr6SwS37=bzn|DA{9Ff1L_YPugaHCIpzuCQ3(9|40Seu7H@Gd9aS)3}s9I zY@+*hTEchO)f_suKp#!c#xxRFQt6$e_^ecSwJBR^6srAsOl>q5w*;PnNal^R-sOsDy=Nc0!U$@>l_t=d-iM90#Uni|H zz8!{VWwr*K-G9nRzqRRFV0I4Y0m|p*5zIAxev*~-Y^&6Ga@@#v@x;_G5BD4X1FAk8D5-DX zySre7BqRy_C7Q@E+;2duBoDv8SUCrOJf1BoJaxnejGYE$PHeNwZBSgP-I;tRoDRIw z(Q^HI8M_7SJb@hiEs30DGf^!2aIjQw684sp`B@%~Eczr=4F0CpNJz)nu+&3Ntmi0{ z|K|%8ffpw3$OrRdfnRFcoEaEF)@WUeI3FbYgm`II?6&!;kI;+>0R#QZ-T!>FBV_yZ z1kYhb?RCGyfLFAzic#SK8OW>@;p8knb78DczCWC6{gcf9bq3%Xn##awG|)et1<9iX z3AZ^6k8%vreuRH2L7B!4Qn7qA-GJlzWXi+lRnl|Aq#!r=ZHIqs;P=N8;OitQ!5?J> z$sKqk?EFuaS7u~HD_EQb192xZRd~KJf=wCT%$9~t{eg-9b_v__pzQyPUPZG&acqOh zx?7Geir2LPaT`isUSSxhGT&3xwcknfJA@v^(Z9T?^TuwsoE z2g}_{{JdllLF#i-t;F^^fg1iJzQ4Rv`b!|5<#LgHq;Oc`UJ&+FEff1Q`Z{2e&UbPM z8k+L4B0Z8LOV<^-{%!n!KFa12Xap!2LYbb<*;cDZUJVvbMLf z=H@N|9KFZFRgJ3BT;U|sg256;^AV;%7!0PruPu-Kkchp>TUeN5s{6cN+-oMwulB^G z=Ry)74Y$^EhdlK6J!aly9{30MWT+rR@KW9gaOX&FuFQ1tVrQ!*>e6~McQ!?P7esw79&J--57^+f4j%Zy&BLRsflCng+J2eR#jSEq zrWxNcB|x-#5PoWw5cE9itxnDu=FDfPX=JJ{miRY0%}+~s;(EW{KPEhZxTEvc_s5qz zZM$Z#=+15}bg8hhNv45B3CS6*HO{pkWxOX?hUn$xA;*xCogNxeYjh{jyEv%7fqN%l$!<))dHt&u=C_2e zurGJToYWZ`kVeIqOq77W0Un67N40iHWS(ZzruR9iNBJe)?z6$dgJrm&=cibbp1cUt z<5*N^NFSfG?`{h@(+$eKp7r9=$WuQsQrPY{@(vcdM+r}x zr>EOtGD;f5S?(_`7}q^S9zQvgdf*>&CKvI2mCio*1}9{++A%YXO(q#Us#j0qd3aPp zzMX)7j2P(?A{J?%;h6dX<5ppvEUDY)6zmuBBKmls4b>A-dVeEchUDLtu6 z7shzukq1e&nv$xZ{IsbvPN>lS)8G+#d8MD*kCBG!!JVg7S#ls=^%=SNZS?(46M@y=D0c5Wyo|p$M#j66ST|H$u&WRpJMGR z@2c-jcU82H0c{|qkH-_FD(CxGCi*%uR9Wp=?v9IbZVUO< zH%3HEsDQ2s5&Sh3F4b4RrZU}|r`pPW-nmy7Rw(D&L%ZJ9?3O(2zVRMoxB8{4 zZ>4!9szO8>vJ{8?gfH1KK@A8SF+mhlXy!#NU4>i$eFzjmSwA}ZoQzeudt4#8@dQfl zMR*?xn($2UTl0<*cZD330_ip@Z*hJxu3oq>KQqN~Y}Y_hJ1S8+HJi36%YEL+o^-it zjov`mM8-cDWcAvZ8uAwm{Dv?FNUSqc?ELau^JxI-lt<$ zyVQSr0UleY%zJ36Ytqpy*GfJ^~LO3>L^ zl?AAD3H$#w8q1y||3Zr9{AyI_S3=LLpUv?EuRo3?ztL9a-S)O^O2*SB(b_*2L!4(d zy*TR6hP)T$XJ6(3u-G&#!3N?09WNV=c4jGXsHHP9>hGQl+-Vl(o*6JUSD-5JAjX)i z5asV2&nNfn2$0#%$8TLJd_3aLRHnD}(U}Zvn=n|DF+#|qok_k-?bb7iIF}vZfdAB) z-Ycql-WFj4Va^S+1Fo_BF(+-lz&|Y3|VbR5EbMp>g6jwt*KBKm<7ufNU_C zWSMUXJ=@Ux^F{a10bVu=-CxaGSv5^vRhjxP@mt9pj)#s(0TGv9ug?kUF`8m3=bRD3 zVpuv++tqd|+jz{WD7_}}SYypfmDc7J_wbdf0eO|nHiSBOo4e^JC%Fk+i=9*KW^Fs|SIyt?c>J_z(^paxc z&e?MniXp@T+Ft=WP1*HuidUj|HFd*o;Cu@O68N2B`~=yI(7}tx*++^k^a>93k3 z2VqfnXcc-%(3A`)?W;QJuO<|)a8+3v*R2pOZx__NBXW!~)pRfOqjCwc`>KxPqUsHa z$1hGXn)%lOJZBIuUaae=R}D(@y*=9Y-?ugTM8fP*;QE4e5dv5lrx9*lM}x9LClQ6% zvZdn3t0|*W@%ritzbeJ-@&Kx8x!wOr588Wl$1sNUcD_5;aZq(JC?Cz`)^FXIJZ9WG zyURy(<{x~vKwW+fBCTV9*kR)<@)%ZS7P%EM{&MQTJsET?=H&Mf$ANYN+tw@&ov+?M zXCAhh=4S1ac!pWz9XQ@M?oqqZ{~}2E1LrfZ)jeq8rIcjbylLkPMpD zvT_!RAAbrWv|A!G!*p9Bd2{l&`&VcyeVV;^-l$xJICW=4fL}q z^*F`ak9joHQ&2;izgaX|c3X%1O-Il>#Q_DnrZWCaA0x}hUXf8Aw zuX>o>OdcoE*IGL|dz5$nQJUe)>RMWY^B_8j1NBA_pLS~k`~0o+z8;h9gpOgwy<`s?zn#C}GWxlR~UODgAo$uf=+=svxR z8KB>Hl&;^uQoC+&FWHkQiy1CNyRDG;YA$-@Mw?Ze+iy1M&zycIDrgnpBb^LX>_C-H zm%>5PTd!`Y_De*G#u=#7>Fuh|*XJ;msj+uc=>N;z#J^I4BmF@JMwffsM&Kt>Pio>WfVOuHi9nP%Mb>5#Wx<%1-In#iY=9bt8y|2{wu3L-I z4lyrXKfr8N?bdoaSBY%3mX}H4<{$BH)xPMMUfCISb+6eB2#m?zt9PFqkM4+@o?I(1 zSW(ELl6P>o9qsU2&4b!$m$3PIb$jqK?SJo)x; zAFhhqz--CbPR8QCt+1AE#l@?y!hK-}}oAH6jcpb9RSBbm3K$L*cvAV^{;}^+53&-#~;bj?XjvZf~XO zR+)X?>6=?~d6J$L7K;v!n)oWWWCyp-d+-f9?eg0<&Rv)L-4FC{YX=`Dr1ge6G2VdD z2%{DC8fSZUP{C)|G5>|lw-{f?#=W$CMQ~vQsjYy?GwQ{@)ewLVC1o0Bj|VNSu3kyw zVc?%f;V{joJwHiLm(yCW`)+HF3}w6u*1602LC0=TR=zn>AiO4EF(x2hT+LTk@$$iE zc`3XB8_cecJtE%x4P$@x+nAHS`X;rb*BMxMy^~NH)?#rg`3&PM+)2NvLMsbTto;{|?_Uv=C!MR@NkFwec-}Xu2@F+kQOW zBx!hc@vyrlTqY(rQN#MlsR~pNN@6jm6lFq3>ECb@h3Nn^lp5VQPH>19DVXb+ zkp&v|g_mB?XdVb1nC}-I=Cd;GAojRFly*!Q+&2UF- zI?BY)ScKx7d00Yc@O@hC@wYx!5d}0~Zk+3{H!*godf0qd=R!{Irgn(-mMV~w{Z%f{ z#a^|EjOa1}?l+F(#S=gDAN(kuTRioXb_`{&OY1h?!zi^m13y&FmBMQVfX+DIA8n@Zk34}$Y2>K+fN2pNSaTKQRArLh*7nuO(drg4(TIo)?e?#A zn7BNY6lt(8a@%{&*VcGOnenDa0XJO_KK}4)*46easQbM!2#bKkI02Taqdva>^e$rR zfXO1|D>Y-}SXFAm(o*}4ND#ZYqdZ^umj`?ve%FNK4!^#kcIL{eOF8-k8 zA)>1yey(nvep{s zY)PG$>3|N*xi*^ptxJ<--vTMsbgi&;BjA>fk?053 z&Oi*ecHMI}Ycxpm#hT_ZCGH0g9Aj!_7p2ceJMdfTvgXIpL!x-KZ|_6dG?S~pA=8Zu z#sEF|H~J0=Odg=fhIM+lL?8<--l8My$?c$+?v&%9->dU7 z`EG=G zN&B{qe?;DH5I7d(VdWNT(Fsho(WE$5+Qh6hkWVAG&>OKbihot4S)%K4A}DnKVQ3vw zvcu;H1RfqWg3d7t+sz~ST(^I1SapFii=cn9tD9^$bCTtN2dX`r$ zLMJ>cAW@ZDv-HFMHQi%oLkFKCVnrTRDi#&(W-z~}iNWq}r|Rz!TeeNI@tK%>vP4?9 zHB@l_g}?bL5P$OwKr;Q8E$P5W;SyJt7vEmal`hy)rQ)dH3Jb5w67)SaH}+gf{;=Fc zK~Fz>R?dp)2h@{6)xCy^1kIJQX=D5KqxSCp;GkL}-rlruv$-8=b|Efw+a@oiRzJC^ z>D1c->y_L*NSK(aUWxzd>z>YSBZ}{Hi4kC|(E0RUgwG*k$uUBXNe*EN9)h z?*nUgLittAJ;=9+$Ai6)Z7c2|N6MdiAqPu*m|RdkHMZ#)6>IcAg#k2p!Ra{TuxM#iO!UQBXsyF%jm& z1cK!_@q;|0z8@C?ZMp|8FpBcnpDKaXlrkPxatqs!ty`7Sx1S_+^E7xCV*>o1ned<@ zsniH}?}p><(vm^-T}RFn!b6ub86o$q)T@?i)ZAt;j@*pe^1cDvm+Ha(Rhe-gfAMUc zX%8#QJl>yFemTjkbC?E`aeFqx@WlfQ^n2&^a^p-O3upCo=Q}kCL1vQY4YoRshsdS1 z>%G-8*PC^pvo~2io)+&g;ly;LhnP>vI|wf_y;#3X=U~0q9Z`V9tnuV}q~oHTYj0mL z`FlMMlJ%fxhqSjNoB9dHd4gik?@^upN#;OajwjZm_n<8ZjEikcqu{qi4qT_^jVbx+1_?J$0|~(0^#5-G2^cE$yvKB#ekTjCZ1(na8+40KSR!uwZF*`C7duR`WpM zvB8Dm5g~uL)KiZeokhD;v%4G<+UI9Xr0|3HtUks%L9Si_NOm8B8Ic)tYx2=G-OO6}OC%3X)p$`UtBF-_|YPI3=q4rw8KS zbztkpH4D z=-e~xklKhCBLZptl@m&iLD{ZgtBR+-j7ms9NDX$|3QjC>UQ{5&m=y;8?Cl!5qg*R+ zm;O~mp>6ediXg|ube5sh5;eDjH=F5VB|ii}u71mUV=TCNVbORE*$ok$^p~WhCwOtI zejkvd!N!(8Z^}8)eJ!by$*q)1bU*iKh-$P-{8o#JFXn_*sNE#?b8Qc*dy0!muG!bL z&O^m;n(sUQThWGDhc&EDjVoT}kx|Qw1GP*~oSOWDa!@_2TXM!2HE>6%c}j+HN$5a_ zM(dLIS^QRGBD2ywwzMOfjJ=n}E|&}c7w`W@m=Mq=nqdT+ao|`U8n`euik{9hYNwyD zd_!iTkfc<*H)T?H3LnwlYAMR__c;r-i#_1B%1l^~A3?Yp^qqTg^lSs^*bbH!eC$I~ z;-xpT8|R7abSn{iHPyIIvU1-4G9DLS(4p!aF6c?`h( z_MuWO7mBc07YbAS1FZfHRQ^l;WD$za`}iKegfkX@wBpw{9E3dY!bEbH;c5;SE*pWU zwZ&cVXL?be`>)riLQl3tZET2OZATyT_vYV}a$jW5IY|>M z%3rMYUi}Gn8isB>=x{vhe#@EKKSJqwAnJJ{oIgH#w*2!Q?2MFu4{8Q?+m>0%_% zu^c_)yk9$y(D9%_wRX)OO-7JZ*%^@9$1y^SMDh*!PCdCRhwh)pkOj8TaXK(QRH%6 zROSzqkwy!B+xo4o_SG$ZCz%8M#(bgP)!^{D2PW1{VKPD!?|bOLRaZcUXI$|}9z1xr z7sV8))t{3_G4?<{BnET+v+V`58(|_QCMF3}zV!F1cl;*;z=x?_&k=WB#KW^qliysU zyp@~18=9J8&9CL%_u~%?Kv`g1h8ir*eu=FdPGA79LgffK%dq|!ru)VE#4DTlYUb(o zdJBgNBeYCiSxgjJk6c6Z)FX02OW!{o&A?4`1f(215lh^E>a}$2T7^z7{*GFyV{V`n zMngXMjOq>frp*q8vxfU{yTQ{HZ6}O<>-vpL>|i3{GJ(OLY_Wgm1$YjSg^8dKF2G;FJ`9|x z&SM@2j&i`%hq7wAxRCCzG$qFD4?y>Krk&Pm6@(vUPK$%ygDETI>@m_)wx6a=?RSD< zm0l|;jAyZ)rgT!+4KZP-Vf83}IB2=GT4Ci!Lr?NP?cBDT@6OH&W!=Cy zqxI{fiF@h-)cAteA1M`eqVtB8;p3A6a^#-lKzl_mE7$WVr{nE;BHTs5QaF6RJmUZQ(&DE6^ z)#El#i?LVtRL4#I?Vsm|3;Xt*@Cn2gXmxn*M-57M-Sw7~EVk=4D2fr~N?*6Kw=lU?;EqOL}7_c9AK_zVT zivu`ZFPIIMla=VRHRq(W-~MqYo6n>&?MANQNBGt$WZ&FO*TmfSS;i7jM@yJ3E}5GB z)9mvK@-g$srJ*h1QU#f9>|U6i_k4-$&i@>cPY9+4Id{Wp&Q@hofdaJMahA2wQ;`d7fsUZW6-lKaiyt@aaMWJpO zzE4(f_UcdB3(XhpaBJaN1tFW8d}(T*r)(xNc&$oS1X+geVA7o#czfe2OtYLu48B3l z!X;UK3aoX71Ipp;@e-(xx@`lQ{c006PcO~IAt{bi;gSZs-TW~khxcH)2J$S4PML{; zqh=KuiE$6ZW~^6|tRySX(F9;+{4aEpnqz4)=m1ZiyY zQSq!i6xiz!ID3o`ISRwkYFt~hO%q+>fs>Cm8HFyiU57qfo77!<2lwfzdk_{)OH243 zb-624q1SmYVu`x zQJD`INK&(Ei-^hur$?N;fqV$o9#OIOd2-RXGY4_^jH$?kb668 z^JUo5xryjIz7Qr@okGLPC%G4G`%hwJ`fh(W#(R(W2%gQ;EAT6X^k)q&u6?Jp;+ee= z$Oh}rslYpZdz9J88zUloY~%^)so05;l6ihtXDo;mGjAJD_9A-Ct&p}8yG1hbs0f*y z8z^()FYb1jYlcdgY-24Fil3e#!WPuOTvK@wkdXw6%A7z_4C{@(o=gdlEKrOR*a#N(xP z91V_?yMD}!&DpsK+V2gyn!9gXQ!(vqmQG=N9NiS2c=;&U;fkxu-`&j?(~U)v)uI_G6N9Ib5p;ysO$T2hLqM$w!| zmJ4~(FIQBa4rSmstw_hXZag4an|9q$|Hblrg+ud}i2PEsaYKRVVSdkhKRtSLc7nJ+ z@LMm{`)R}uLkCH-j%%;=Z%Ia>_^}2&47Zcl&vL^WA~dV#sUw-tV`of zDjt<2*mQp%F6!^M-d>*-#P7~rr{mV{JW&`r!S}^j9UL0@6K85fO2sU&#d%=A#p-^5 zDMG;3hy((bI^KBR@4PJEjA=iOI?F zwj;-j=K5?xhIbpLVOyUDt@n+Wm1NJ_VlJrhtJQSYgj94afwLss#?Uum*{8EU zKl68=S;mU{N49dQH zN~!4CIu=+@?zvN0N^j5O{jEQEJ1rNfWqTJXZtSnJm5ha;V5Q2ou5~{Itvl>`=MpDP zt3M8S;O%ZbX5?%7@+DjUeIvJKT7Cs;c~;PRV?l5+8#2}Xt79sN5}-0Z_J?GIa33@e z9qM3tPjeh6={dadUi38l4D_b_-I!$O(DOt`TVnxRn@)h(%`FW8VuJ^4P?ysY<#%xo zWHk#L$TEFe2$8DdPO`YO%d&-&$zn|Ovn$nH8lKgc8m+9j;k2jXIu($&Pf8V?j5~G{ zR$@8tQFN}KEC@NO+i=1@iq9~c|8rf}tM{4f>id-d)oFk&eA?-EZE-{n!`safJcD~f zIz=PveU5c4WZCy3*G1%pHWvp!(xJIj5} zA!`cB8QsAX0k{p`1VOH^IY%}$On5@WV&qezBVTP%5JdC+9B<0nWJ_kXclYS~(FdUC40{q+~ro-0^tA2Ym4f9ayp`>3eQ?%lKI*AVYQA))}GY5OuWZQZDKHsT39*kfds zdw#t2(=XTd^BVjFDY_|)1yeA=rF?v%?91z@3E$Zr;tyAogM!kqw_5H;Dw7h@7xXK1 za>#URU#G%Z(3A#MAWJ*_HL9upgny_`hb1Nb&0lpH_z?FS6Num5HaUyT+wH?Ta5{@f zop^23sO-JS%lDTYKlX)41v$?PxDqz85+ccO<<}**5QQ9gO=ZShU(=$sT|*(;P+_?A zOiY!oXH5^%HxK%IJMJqe7k|^hld*mzy&m-&H4}c{<@rP`6V0zHExnZWAzIEEa24|1 zG;%eP$u+(o;O@s?L$o#11>;|ziJamfMtfRRRQ%av@{8Mh!$T~<44I~&<2=IcZ!DqL zb@^g@(F(BTD=p8iR-Iz-FopjxdDd!YnmUIOF%8&axqRV>vHnU2Ee>j@Yia$pnfK3} z;6{MvjYCGpej`}((go_kMFbuguWN#;rHd1$a=&r=2t%4+Gy^J24tpvp9XWUX+MC@*~jMfsXNFS<$Thc;4i$ zWmV8p%sFN-q|anUyEdzUh&AGzzU9M@`P#>PAHrd`y2bIKNIYc}{dxb{+L507^I|HS z^mgqUxjmp7N(U9suK7E={9v3J2oAtAO~sk>CO>$&PHo2ivnsOc+NZXWBQSOy{DFYn z1ZSB4Yn(W)H~RBnZvrhrQ-3GJpKAB2I+|%V0lKZ)n!VLunx%FD!Ya#~DANO=RZ+-I zUYErR=Tw0bisewSdQYb%`_cqQM?uqt`^OKr&SF&}JdYi^s}dN#i#1XF+Xe(P_p0LM zeur55jUQSFJ8aP`t33279JAeatHP!@zwe1u@Hm6kAVwnAk6=EvGDbV=S9-N;X(H+8 zcBY(8EDBA0emGO!I84bJtK`pHmX}yR|EvwUUK`MYr!C4>1My8=`G$cw(Q{Wen@lAB zW?j*G<1e{EH#?j#0IzDzGiz9E2a;voOmrM`r^hT@k zEkr%b&ZUq3%0TarWh1V(fIsg|9EJ(LCH}^Tlzt`rql4f7@jbl`ESqy$I_K@5bdSWn z*J!KYF@O7uK_)-%LBZ9Gq?_BF>vWl2BiFqixsj;WJr%c}V@m!}@!%_ZaP#9;#{&%p ziQmCJertH99#GQO)$aY=!M&KlH+lItgAZC$xy5Dyb{Mm~R%2S5>L%DzR#TzKe$|}> z^hN(SpXdTHkn%B6G1&7ReB^&psYB>H?L<lS;3fN&f@Z4OUPaq}PE z_JtTL(Q_qq zbh=7!wTbW12Vle`m@uKHY3_naXZhDoDAz+fjH%>9!cdP%7A4O1b1S z-ekJbpEOOA=9WBvc-DxMNCf@O>=mVU0Mvzqy?M(&uOKk`!#e;fLNn;)vp>@n7)p&a zV0LpqaUlQe`+no}qG+Dud3AsF$oTp;0CD7o@xaHFe|x{@d&od7eD9~^{)1c<#Vw0R zh4s$J6DtazR6!TUX49#0cSY;pYqWkFP55`eokPFYZ;bRu+kif#ey4=-LgurT(@xKF zI$+^juM5?E2W0^(L>r9>HR_>{0id@92qt z`a0a{yMATb9rL$uD*}99U|XJb7C3*C7&pyai|d-U+!cNNqx9~N?Lkcr2uaiVuZBON zC;r^-pT_s2L*LBrwI1IAOaK1lZ{zunF6q$mlmqV%D*Vyi{}hEEzkaW|{Dazm+O+@s zTgP|QOFpCf3D^F!Z{WD){P)p)f4XoJ5EJ(*!sY%dV*l6U|9<_BBk_*|`{OnH4}gt; zuPK%Dx1;_ah63n~KR~qpor-+VfMB^lGcD|oE`B)xz>>T6%ZI-|@VoatGf9k?V_f0O z?aaGDUsi-X7quUb_r3S~Rebxm0oqCew&K=95gw7cyj%;EeiA18(WCQo3ncj$9p0j0 z5s8jwyRz43)}FkQ6Iy=pD^f^a^9UTQf)~|uH3xH~P=spGD^~ssV!t>~FDQpQ(J%eh zKZa`mR`eRijFddJKqDeT62LAGYyFX z!Xn`(x8SD&4R&+!jX5f+g?7ZN@A45m^)ZbP+SgJKII|twljq!7d-sTizd|gQ$yNE% z0>ACMNLo0%R^gM@u<7Yg)Dw&pLJ|2Dg~J0p^Rt60hE?7@oH(h(DXxy|E=24!8pgW( zJVE#s{lo6(kS&Y#A%kPn0c0)nzcKJkA4c5+v?-4K41|1#&T}^pk^y1}&p@>N%e9-f zQ7+A6zOd{)Ydf?Jjbm_gbEO-@wU#GX#NdhAEmg?nGgRIZ-K5;i>Y$*_;8dsiL74!Q zY59u7(CKP~mNOIkk(G)jqH;D`L1uUBsDxPFk=+tXN}!(OZc%g6L4!KVu8R^3_Js$eR~z=E-=Hq+7}r+Z0X znjnmiT%)MAik^YgRF%|Bo zPlFGb*K+B_9%Nm-L=2Zgl!W>tA#w!;&UctiK9I5xlO3e$7R~lznIAB+;c3>(UMXY< zVeADpk`jy?Q)n{@sP&TXP2Vgi=u5E+MzRfgWk zwh{6z3xcmO*FEfml;s<6W1zZnnjMw-vmlNoeXAI#eNmnqu_p?CADlEt8_f0eEAD{S z<2h11{IGH=EeP^)@7)pECr#3yk}qdUtA-(xNIyOtYeA*;VHr+{qAIya(7{`R!M*#B zBHMJD{MtNuRfP&pWn^&V{XGw2xQc_?tfVFyhMH#|C6W?n@Uue>y79YBajQa$zO95m zNwgMX*l9F)_r9snBwLx;r3+HqR#U7HyTV5{wH}z*ONF? zv)>;aRi@gxO{u=Er?hlGvzQ9C_CDQj`(HM#q+tiF4UB%h>R zeP~QHs(REU$-aQcDktuty4n*!kU<^5yqB z>4b(0rnOR-^|Y@@9*kTuZT?nu>roGwK=UN!nwrb?;lUfer?Ru0`@N9_Ade8jq4K2E zCbs7U&YL;>5|m({uV$#SlQr)44E|4FhH4By_FdjB*x>|bM@%mss#<)&=~Us$#u6$w zL2~%~h|}WcZAPc00$oFGX^|U)nL;G%Mo2X>*p^#Nh-Q}g7TL>M7Dojf`SYOD0{b8X zp(XO{G1zUfP5w-E3%mBaEb*5Ku_2m8!%Ug@=i{q>IP$}cyw98Q3iGWUviRA82S397 z>hF;j%+5b>s#tv}?g?i(7A}&|o?vVG#-j|k$h9bJ-@e8K-Y6Y^AOX`B$sc&3XTfch zd;*V!^xVs^6VX_h_DS`o7!=hzFc^}(IE1VDn_6^(FSWdcMPwL=@@{pj7bsQ_0httd z%V{SLG2Uo8@>g>4VPCwZmx)TAYd=9(fD5b6kY=wU(}q^0*g)$dGHhIZr9uu8X8VzM zui{vNP?*40b4)45XTIN`CfMrpnUta~6$yji_c}X3ax^ zk_rB2ybUuDeE(?iB*Fs3RvK2 zR|!1C%@5+Avj{ww5F;)gYC))x12*>_0m+?z&RPDUn)y{-wSI|aIdH%F(f>6PbQf%7#6tqNIPww#X+zMC8i^gP^FOU; zDR4r}pRTu7!HFxzFh+#nP%l^sn!*hWn_8^0;>Z#HHtId=0XVw~?5)#uzOtM4ikbvX z>}51F8uAuI-cT#KiqhuP`@u>2v0}le@P{C>8l~A3TyT2zgRy}Q;nL7M)x+1j7c2=3 z{98bd**Tb4U9x>zQUc5nn2>exvIcGGT$9PW)%4PayiXrLWI>gY%Y1!ws~1mbnqYxb z7YB7!2^B9m5#w-X=rLA~`)wG3ud+yOz#&s={fU713~7~h7L#)-%~i#rl5fr&Y1G|X zA^02lt7|#iD=#b@;c8YXQ-V+(jS*2Wu0znm3!NqjB2BB3sB8NTL;| z0eMCn5TtoXoRlvNofJYSa?xg}e)> zco$@@(^{m&8ufsS#hTKR;2N?RoN~2gFkM_|xam?09Q2Y+)mlS4MC(v3EmU5GTT|RY z=2TD1lb8L5;zH=q=TZ?^McUz7>+C}-J_E05XP?|pc1rOqoQ{P##_-4EH;j?s*r_vc z?up3>dRa9_z3rfR6Ux0%*=icdhxuCksbOzGLrilFD4P+6e49#MHZV^nC7U+TQ&%+a z9_-)m-K|DA?3ckM5n2JJTxgKV_Kf(Ihv&EJq`HOiN1j&d)`+>fXM*Hz4b?BqlIM4( z+^pp2#o>i`(4#G-as8XYGoyB`#lO1jFmtV0XN}V*PJ#;pF|JmB3V|i( z1>k7SGovZ+^OS$))SB;d955Oyuql32?N+quhRAy^S47{Wie6?pVl^SldBPJTHf1(7 zdf9ZXz*0pFp|t?=KnGP{KME8uFNjLqtp z@9Fx8IKw7L=ai`UI>C!@!#IO^FViQRTd7$D7Yj`$U!ye6-@88t4;5VAV<2kj zd^3>3NvT>m;7`Z7f-A=!mj#mbxX4#tD?(hUtt|$EevjYPC>BX5y1V7uryzD~)X{Qz z6zi%=x~~akOzCU)KzbEHR(bWPU9iLYlf>k7oSD1GF@vfxNN9gk>OkUTUH1FZO0|xW zpxPa>oEyHnJC8R_uZ;!m&$odP6^u&jy)$F!?;4_T3_PyZ8G=e8g<&S|JO>yRfYKgs z6I$)UEJOZ~lwAB6CFX1wb0H0=+?-w~X3JUB-|X|hT4EDjXrmdZc?%}jK=BK&FZ+en zEbHl|9tEF1Rx8cF2#lYWH@5OvCHtiDOyiZ4&Ayxym|v|B$?}m6{An-DVw)^~tTrYQ zHfBa)IS`A@GHgBg(qqN_v)ZEh^p%kemZ(&f2JC@OCOqH^hKnpxita4E13(oo-jOQi zMktk%XG=)n>T5ba9|hhudi5SJeG2dR2%z@IBBNdg-)q zQ*F#kq`REq0qIby-od0xB(Cop?%*M@{$A;FkzGdQ*v%BeGQ<^wcJ|!l+>wxx>TmX_ z64NRV=j)LaOw+lRILiKL{xVxeF%_YYOgx&hxYI?hYqk|=uFKH{ z7NEY!(LwIKq&7KZPFE-W%MEcYmdzFF#Ul2`Ij4e0t~2z+5%R$nwK$ zW-u3cNUm6zF4qGMYq+VX3#BCswzT?S#S)@ig|yb6cz2x3{KEOVcrWo7oOnRtGc3A4 znPo^(AYRVBuM2|Ap#*t4y*j-ouYWu0lUsdR$?yYE$rBQJ;l*qdv9^4h>h2TcJ}LQ& zPkE_MX6Vo?zzd-Lh={F3;;>q6+B|cJS)6`zbZOi(=R7;gN5VX;T=?s_d0*I_;T1)2 zZ3@5~I2JY=FL>>X5Y=hu_ect{Bi@hTxCX&eDLq-rVvgJ^cVzOPk#SKLh)B zjRS@gH>XM^4`l?7x|09Jd5n*YET^db4aZm9K6&AnxS%(*^NYWo@2EU$*V*paWt<{Z@N2o)L6UliBmlFlm66PPn z@V$hj`th`0_I3Jns3Q=~wQ6DBn)f+_A5UK2cuhpMQE2_fgx?BX$h5ARc%LGv_Sz!3 zS&zSR@kQTq%Hnje%%8z_wFy6Ht-L z73yylm^Rb%_jc8N;|qf_pSuZD$@atkPB*^!rp`Kw(h$wJRz=L@hD9}PoTt>xOS@J%a~wDU9hLV7y^sl zrZU-*O<$TMqx$jwG?|rGNwEH=8Qi6+?S^@7gmzO=X zltg={a(JgA{)T}h>i+02alF#C=4yjU(90^RFdBb>*Ym@Wual#`LexSUU3W7x9+U0( zB&X!0s}n7W7GceMp4F|Z7WZs+wqr`i635269|V1s)yubuIWq_nCuS?nYIzs} z{@SWR%cjpqTHk$rDSpxOf>pou`VgDOg6hMsttDE74g(LqJ4`q}gGlsZaU^PWMCo?bAYwi2x#)A{#c zQ}6fD2mGdHcobPW+qJ99BhE;2QeN#^M{ko+0vG3=F|*>!z38e#&Z`945&J=G_ zhX#Da`O^pEOuA89B0;w>Sg}V7Q;H>PywtUGuXRsnNAdll_V4Ge?a;)i5kcdA+8oWI zUtIh_GMF?Q-;alBzE=~s#S+M^i^7257>pY?%C3J}Gq!%dn%3!I&;KvJ7V4QC3>R87 zh$by00i;&~dEl%p{{AoUFaJ2@TE7+wJl{!!iyObiX8uK}bg+MSQJXL({K$&0_<=B}=>P zRdRejC`<)%IvexBKnWlrIm5pibU-f6m#fZ-%G-Ohh_p7YN5DnV6BpHvoa}Vywut^v z^GcVGvCWs!fm5wC5@?=x%zlfs{*oO<`-nfl5^o{*5i-(OH%G`Tr@Y-mpw-&tZ>>eCQ72l z`1M*-Mb8;W$yW-T=O*s5sTg@`DP()Yln!!f+H`1T$YdhmN>B1y6!4( zn5O30m7$eIR!~pC5vp zZshed!+fy%m5;;S*2ri(FAi5N91S9;E?iTbTRjTRw|#DJd01zDzTnZEB@bhqYOc^~ z=9Me0W{&gxT<%eI1~X4=;E?h8>b^F05|#($9x}W*tUlbNH0Txl zB@fNHkl^;4zXoIfkDAhwa&@lCP01A6NUgy1O=F%UOi5XLCDCHk4#A%7@7@=pJXzv3 zoUP~kDvVkAsNHly8%0nYCe?(sJwSJk+VII#{o-DvPy%aY?5?WYR>nyZdQLzn)%fJ> zpmPnetesLaB2jvcM=d|-g_aHA^kz zVzScMiz1}7s6IRqDF?83ZIOx+CLg*nc+13IN`Wcy0wF^9o0 zzZhkZcR-ll>8sdOr;aRa-^t^>FQfm5pnv67+be#VUB2=hS&PJH? zi4Q71V|(*Zc4wWdX;|tU&i?h{OB~$XGbuuA+AxrqwB7hI+SG)7ZETpg9E929@--_? zs-r}I(`Aev*dWF5Gi5JwSTbtut%bv-mIPsOZ#r^+m)?J7EIAuQt3NK`(7aaYAykCE ztz+YKZrh|+Y{*&pZZ&Kr6ZJ-QgeIb6m9oWT7)1#!x2=zK4NXu*#M0|VsRHP;4WF>y z-~T_d>90}%2sQWw$iFKn8=a%8n%5=Mu`T?1prDZa+8+6f71;_L;8Y}9;9tv;K8U{PQ z*BjI?zARKZlqT*Yd$~_TlTEmss4U2%}G{FXt!1G2fCyu*l8`%>^#SqiEmF+()BMH4!wO?O`4aJ4a2V0#q$jbqHkSa=`+@XzDkL;2^iGJ znqSn+F24}4j!xvCNF)9>w)m!%_iyO{f8QCkx)`RhtIcngR~4nR`9p_~Ad8Wkp3FLI zF7Y|NZ2|-YL%Z0D`FT-x$fMe7ckfG;HAs8l2vFS#T1m*)TvbsEIoA zy^3RC>L6GrGk+R9kl`?1KP;nhnnZ`DS=C@j6C?6O>n&oBLtzuJ&x=3L=nI{I?#ULE?Ssd`y$wHM#8 z>P$%qtwPOJ z9~HsQBSBdQl;<&RHT#ueYbzNS7MFcgYZg|$$xJsPl&e6Km0H4Qq);TgPPe2;j*;8` zC*#D1%)G?vqEe+)o)_qi*}0!hom8)`yS{SqDy-8EEC7$R;UAV?TW!B)aeOL$Ul85a z`8b?i;XgRvI#blL^)B>iOBIm@7wQ(uE*rao67{RX=gnDsqyH^QyKC&q!qFZ%kubNM z&#~0Hk2KHX2ms}8} zow0mLUFntx2=5~7y(6G~QS!w1W(#R??XZOCJNCFYr6IzOMTOWxUYuU4l>^zrdUUfz z+&=s&V!~6I8tcYhuPI?*8$9*(LHtAM53tayrRySTXX%_0?<&ek$}i8?cn)-(@a*%r zgew)I-Ukm%q_lMiIoX^xxeI6{4jETiOXHfYhtC~)7w%-{m=9Pdg`@P|q$*tn^QJ}+ zf0Nu34@Kf__=w) zt=Z3BoR2AT{q+Ksi^P?l*i7DdQ2-{}liil{W*JY8fdDF{2}$JNv!VVjL;ypD2S{CV zj(TTs_dmoQ5FIrEQb{-;bsYcao4!dvesx3V)5m{BA^z)G{?o%l{T)azfoQ?=Kez+P zdzJ_Ck|vGr-~I12qHq9|aHa>x{ySF1zpMN+^g#F46*vEut@%&hr;Z{ZNyy|XAJxC= z&)?^0d*^$mo#yrT|D8@`qy{7kRlZLCOZDA94jM=`)!k9QUDD90@&AGXzM}L1wK)CS z^Z&82KU2k5;Cn_L%;NDcaJc?N3+g-H7prAn<-Zpz<@;ipgMLqL{+CgNV*`sNH)HoJ z%!>al;EV#${bm(e@ZYj}|ADVM-U5q7zs*bZ-;2cnES8HFUfa*K*1xJ*|LgnvFQccx zV%>2~{{1@YUr(ww>U*J5@ioK$I0k{+?=TrQq<6iq3)A__g(yWLm)Y0CDWLOMg{_#2OH;kAuOtnoYxQkMjb4qQ&6ELFU4OJuI(q!y z%lm%WjmvGbBU=agV``OZ@NmaanYUieRMF7nc6V4py+T*i*3c195WUJ_UmkqDmFiSX zAhcCRcu{4!DU!d^G&9sqP5C+BNY@CbJzMC%1h|1!1iVTTE&MCPajJFp208Q)Q^hKJ zg_DP}fESZuKXt{cvu#y3FC2=j8fZi0J$3d}#V;~b<0faxIwiPn=jORd3S56+ez@D2 zxZTNyaO2R6%njsrm%DPZ|DrpP6dS8%?T!Cs=GBzTTs*dsuA$G%RZ&2?ueCzwin({U z9=2(%bXWeL5>p1eF zf(Uo_u>xy9L7lyabl7^E^~IVKiWtsy>$X{hmz0v{=I9h{Y~0+9b`cQ1Jvr0ck+6R` zBd8m2@1k!Pdm0;GEn{hQx@S|IIEvzoy~>!lXxYHfeSo z!;w!E9M)-`{c@4XfT-&FcAHOt*L(WGyCxysX(T(%Wb1RDUNqN2Ve1{L-X_Q9r^4ig zYUoqDtT%HfWlhb4M&{Q>1)ryu1V2myZhJtl8d}Yy0)4E1bVqjiF0jQh{?*I3KOnS`S`)IbpcVuM zEFN>or7QBP;7dza#{w7Z3+!*c1eSZnBoUKvTbjkpY9 zKJ)W)glW{-TGLe+20*&vcNN;%SodD2bTuSYwP{DxdmfQGIuWkD$P-rvVCE#d`Q9fP|~#bL0` zH7t?hF25Kqla0%bcCsx}t60v#S7WO6J#T9h_;>*Hlfpaob@TYE>v}>&TCHv=CV|LA;IXcDVsUwQ&B-Q)O!?G8Z$Gh?sAz6TVKmv@Q|2sR5`yq)5UCcln>z>EuTBG$~n4ym?kx2W)jzOjWe z2v1+dAlii+A|4ynKLAADrsNINfAI#2hTbZBmnCudO8dZAZnJJC*J)!kz-VjCzTDUM z_Q~h_%-jG7SZ(bD1)8Zj?n>>jdm&1L;x1v%SbsG1(-)G`6soK1+3$>rc0Xyaxu&Jf zT_op5Trn}1U9YL)Sa|7X@&GOLdR}P_eXvTmZ>84h6Ma1GySYjf@6C68O_+#lUcj(! zjJ(ERGrQ^(uZF{6g zl-Hq@9J6Joz1rcFsrT}bxmcA2&-Id2l~GI6iHTC~7FyacqNd(rG;GS9!zizw2lx2| z8*Cpg(7a-XwSEF570d&|ne}quwV}5=M^t4DZc8;;Cx_nbQ@*MPV>Y4fSP@$ z2oti?3sIpJ2Q>i`Jhcw>9e4Aknl-yL!WxrWL{r_1f+@Z9FM7|9YgJEQ1G_RT!!+gItE9L; zP-Y$WsKvQAs+X|dHJ*$x{C45&Ww^iKUsDHW?5Y$53Nw#BPYfg!7Z1$y-A_fkjXC9VZL@xC!(_{v zI|({=c`hshsxw~Vaj9JHtK*EKlO?WfzOd|uPY(*ATlN-N79Xz@=$jftOtkSGPgZ;- z(ZF+MW&;mQx&XlHgD!t67L;a_2RV26tFIV$C)b?bmW07hrHHq@Yl^v2ZqnFoiLl|} zV2WVy<{$bPue~AZzL;03gU-(xfom_yx3SIHkJa4F#fwxRw_6C>J2|3U;VjZ>inZ$Q z8|4z5`VYI+d*>IcLu+J$PYK}{TD+LeBT0hy?+*-9Zekk*ai-} zL8rB02dJ}zmU@0+l--mc%&P zezm$YqoV00Pvd58U!($GOOxkNezE-6s!Cn>ai(i&G^K-n3_Ts&3auBX(%Qk<)4&=J zJz_}X!Q6F&2&}e7hI0#A9=W<}Wlnu39J4_eO6POIBXB#Hukkc(@U-(vg-d!4cgv`W~wRZbFB?>`Y$+Jt}NRxo5$qmd|gDfg<>Wt>s7g8K;5 zw!%CEO6$uO+*cGXh`tdK%^A>)yi_oSdPtj^v#*gzcj=2VO+8oLEE#xCHlZw!^PZ2i zNGlcFpxMgM!~Z6oFI(dBLmic_6~}3knk*rY#W2Ig?CIAei+-|^48DtVAI8=?bB-=t z+?Tw!1lb4(4~nER&bXk(f~WA8dqMGoi;D;27M+s>+>vY9pon!AO_m3gnPG=!+Rb#G zdbi6;qB+n#carN~Wo6X0eMJtv9NRUGoG{wF6k^P6g-;f(N1{QzBr9lsO}Xnv3h0MU z_AsR{qIZg%O959zP|>Xxdpo?DS3*Xs+wbT2h(YG-uiTJ@U+iITtQK;v^vR;F_l7&V zCRu787JJs6IB1@r@cC3~BO18`)R^?|U9~uTkL@VZ9)i{skH!k)Qga`Y;tOmv_^O@V zWA1@HQ?0xeJ?bVbfu{df?rcx{*nSa5vtdbFvwEqFRtDW%Xs>y9!$~AJ^+WNkM^wS) zv`^@KySbxlM-!F4RkA}B0=(>Ug>Y#PA`&WMF>OCmp&$GT_6M-c{p9Ek=rlkC+|yRN z)9B|Ooj}<$-D!dvRI{>8DczGVfC|WmOc#NX+QU3B%M{Rs7LQjstky8Ki^JV=e2F7) zm3bMu3}N~)qwAAO0JLNmmRD-{3m@SJrM*@RMExb<*r<6U6s*7dGkm1}<3;@8+p2i2 zlh1^o*ePjz`@J72uipr-E@$fk_jc>^E)9`ztd&IU`o%oo@ta22i=p@lMF#v99MwV5`WJHKyw~UDo||x#9=b@mTu-%LcA-urU_5VS3VysJ4(QeWL0X+Uf+jwdWpD`!QXg(BX!X5rCdd|F$^{$gl*|{eLu&W72=<;r!(TD za7vtkS*D@P$sn`1gv{!-5*K&&qE%)n3KuB>)7Z%S=ybW#`}S{!i&Knuy-jnF`ieC! z)j-C#aQd#&ct9~A(yj zuVOxFSH98Il)mrUm_ryxQQ>$ZcRbVYbEmhS-u6wZzLe6%?yhAGx02`O=`K8J9S~8{ zk*(Kfs-_E)|1HdakHvsa`jOg02JIRvm*H%!;dODzs|}ZOKAP#Cnw$vrI|Z5*M(n5S z{SeD@mijv_{1X}^Pd5?SnHpj-UX!G{{4QLX@>iz%He;$CBxEL%nmf{!NkT*GHr32W z>e9IC`n*)OUup{EHt#1@%ir$RmGRC&pZi>BY@BcEHo>n zQVi?kG!5uU#Km!$U zKQENV(y3q@+~P~B@WO?g(b{<-I^|`S%JEARWRACS5)d|7jpq)LbyU`Cyn0&qkjz3; zyFyp1Al>0laE(yjLK4sHiDIzo+oZ!zyMjQRhv`n7bk^T6)W;X|o-4cGSYsrJhT4kc z=q!&E>nfZ-usPgfR34!XSg@dF^CEi`An$>HNj za1c~MctucIEeZ{Pqs`Rjm(BvfjCaIP!*E@PTX8HNla`!7g*|eLw43jb_3y{=Q}4D} zsAj7sIhS~$OcPJ#fV1xk#aD9ptrjg_3W;LuXT8Z_iHVV%G3VZlTw_`O*oV?}uW0G3 zLH51-UDA;>^b+L1hhb0o1LE19Yemw_IK*GQrDe?by?cAT7aX-9X z)HIkyn1%RSDO-?|QheWudSs1}2y7PwhHC&YE(|*~?R9~LA~5vgRUwSg@fI!cw_;)m zEZa4$*3Bf)C~zi8Oz7(Twc7gcT>$-jW-_4j1x1{E7lmM+Ux`8pfI`1IZu6l?Ye!S6 zo2uYemsZWK9Yf>Q_8_a6uv;yV_|d;yeeh3|dm#PM4%VLSTAnf3sCg%#ll-irs={q>EIe_l}AH?HZ?pq)q-f>?arOs##3kFN>ygJNO?cj6z_$jLB6&s{8IP& z?ZHiH41Un=0wc_L95Owq!Yp4BN(z!=Qh6Acv*$`#1mo{_M>%OWd8&R}4hiTqlwbu% zj$0o~p<(s*`u$hizM@9h;b@^n2Oqiq`_*q4w7ze0=0*QtnP2%UsVgw0&?MD7o|FCe zt7ho8Tb{t|sQ*Qg`l*}V)C9VxDHM8$_usEpp<&N_T;;v_s{#Jug#Ew_bRRKH8U6FZ zw10d5x|T1d?Kj7Jf2)Z8tJn3%P@lyD-FH|J$h`TpCjF1}#bgo1;5FmN{}rC-|Jd$< zEOmDqOGCe;TEzbg3iygX#?VwqmI+M6+&)Ob%C^jZ`ia->2H+MBM@t*O@p`%9=Ww1y zpzTNyg1A+G`ZKAoT>ZeuaWhT!XQA#*V}RtDMW6CnF%<61%yyWwNVxrU{Mn|W?Y!SZ z1mFJo;>`ks5UhN59yV7l_|GPG{}=4hlY20k<=T5$c1qsnMRdtOQg zc>P8oYC@n#vGfi;AZ2e7_)>;POW}89Mv|)^cxs7$fAJnh>%H0MOTgVnKUVG|@Le4N z@KwfDSKh#trF7e$4~%fo=R)KLf>khn@Pyw766&Q7NAwxKzda@c_$DETG5!s}8$TP8xHMMQpt5(^xirM&OdRH~=_LW*x3*6iFsfN;WWhzwmHzZFpLGxL~B4NS)ALFZ0E# zpVYrce=}s~y>jA*Ws2M?!o?rVTShZe760Y}TcEh>H|UOMIcV4h_QQx{5E!U)SQdZ7I=Q>h$r7hy zA3#e-*Lj4k41@uMqYjX1vF(&zty5oN=4>{`a=Eha7OE15wg#(fRG{gBt!>V>A^T2> z2jFqV6n?Q+yKPcuAMVqRi9Mhil}kG=q9d-iQAe)FS=w&4Qeec)QU92(gF>tJ?TH!jRn=IPT6=?xt>V@Bmb3IXRX zk;^k0KKq4m(^PXBc`_c30KG}BmlHKx27Hc3Wx?d+Y}vB<=H5-tNcZFE$gnK=B!goPK!B36zmnP}S?u_T z`F-*#bVB%ugK=lKz23UPqgkwMnV7D0Ub^2W?x%v8!9Hc%g*SWLD8^8!tQBhiW3H}u zY_)n`=K8$eGTC(cx&9B7eKE^IoUv6gjsUd1-S23ZFB*uLqNAMqh3Q80^~YishHq7k z`&{apKn1nop3MrW-u2ajh{pV60T%`5ttpx>{$a5+l3_9v;pj>L>Q!foKuxlsn-W)k zGUsx3B&R7pK=!xCmlJh+@int3r0cm$s-PRKY%KHc;dJie{%SLw$HBcw0hbb^>XBW| zcJSO7f14M>ddTVCazCAb|HXth>14khaA@*5&`Vbsb*_R*0%-$wXnx z`I47$&#{j@cz2!j>-49+s173@Y#ye9DyGi8D>t7UdLTb9Z)7cW#dJHdrSk2C0dxAS zGk8u}-DR*`xmer?U*=*tbk9Th?frJ9nPZTpnOjZ{NmxP*W*Y{#QyV<{mgd-|Y%f_y zG~nYMu%V_cWb3`n^2Ro5vamFMCnn8_jYm1g{s0jw_86 z7&{TJ-_}iQ-)AxDb(aqGetNjY-S7SEaI4Sj^ne|M7a>eI^aH>c5XVnRUA}JxxpWyc zo3RQ2OpuD1PBuFH)0@+TzU0Mj_0B%s23q~8Mx~~we3~`ZZ-#2mxf6J7BF?twB}fJ6 z^(u@TS}~RCDT}Ko-Asj6?~T7mP2<-UKHZRAg*7w`mFlavg`^o>_{{hU?>1k0(UN-~ z4Fq#oPp)BezINJ;HaA%)cedQ$7!W7ps{KOyK8#9)6{Z(&o)ZOu)H{J?Eprc)0I1-o zx97XvrN(Pjr1nSKw^U=QV-Myy|i?$@kwypB22OQF-@}5qZb*q z`|IOhf~_5Wl*{bqB>*ddM2^&n%(6I+{tF4K=g2)5)r7&@Bs|Z%qU)4Qn)U-5QE*SU z89xvCNYBp5uwLO9CS8{E)58P42U@wV-fOF&95$QeCFW_x{JC&Al~_tsS zo9-QG!`oegXr`03a3TAJJh{}}*UZ`n)wtv5O@mbKVwO(FW=#fONa! z*p{7|hi=iCir3!-Z16eIJ+MYKd-YR5x35k6O)>A_f2W77-(8-V#l4>hJniEn zmcWk`uY(MNO3d#elgHEiYSzIVplXe^{nacZJI$TjUwe84H|QI@|dR!Bi~Z#7@ex|i7c9DG|&AD;GPh@zJV z^$W+AqXe_quAHXGbr|M{yPAjUKQyb3XBg?h0>DXM z%l=s-a`a);N7MvYc{DQ8a8?#+U~`v ztWl>wRZ`6^unUw+>T)uM3N*#&M{h;a77RT3)>j-HJc;h6PbSqC^aj94PVWpm1uTH~&7(s`k$oT^R5clyln)&&j zJVSX~Dt^b&=$+Uk8xCwp^990+-^RMODKMH@RjKK0_feFm_uP(T@5)M?p7$`VuT$FE zunh>vOFR)6z_bAX?XrBD^-Q93mU99o-r-KgsOu#}%(>)OSJQKEH8cl|w3dgAKeTYh zUZi>`zBhdTbo#Q%il4do)MBKhc>y(Y`RHp93D03nXjQzRTcVlAwCA4uVA;zn$0jJ3 zihWrBVjFp3*UXdio*)AEtyL2S^rF)k7LOP=(fXR%$sA5~0WAPv@e$&a`$1aeZeK%C z?=gKamGJ@UaBT2&Wco@hs)c9;N(thjAo`(df6zidPo)xae=WVCkRZrCc3rVproT1bMl_i5kYaL!*gpKtZvvHPIf%a0J>W-dpL;&Ht*DEgPp0i&mnu$RAatSHI86Nj{k3 zGQ=66tE(hw$e%)F*0VCZ^i|!fZ*3qmO{Lf!dLx8<#$mt4U86j{LH&v%XI2cBb9=9O-ggXcwidAV(A^s6AJ~<0VoPTkZ`(A0GeRhJN?tu6vuxObCykl}vKn>Crl?=tLEva~3LHyldf{?M zmFB6{u8Ka}d(q}U9J2WNN_wKoyarIjQ_^cLt7>N%YVsp#lih9u&)C$&NJ3ZDV@WBq zuRWo4QD5@h8zm-ICu)ku;FA*b*9}M?3kUJn9@zz9SH#+?Uz#`fRSE>KUL~U!Wu|2P z93@`ibPyymX5tZ#tTg#(q1>k>7v>pgm97$h_v4q_yeXgEj!H%&9$7p`3qO>8WuUb*;OEc;-5}+@vmOJ(gf> ze$yUvEkVRdmQ@8|Evul@BaZBN(<7eKBl9I~UoGF5$4v^7kGWbUI@8e>`lKr`O;oV7 zTikirEIM|pW_Oxv>rLK5HaF4(8~ar5$Y-Nj+uWSRRy#ha#Z$81A~@g%N6bR53r3ik zE;E~-5$zP{qA%bbm3c~CT}KoA2@uI1ZX0NHBFrD8p3mc9F7f$9$)<`R%5fl+r>h>LpiX4oQVoWhiGSAKj}QKpZUJ4V{RJI2$bKCr?c*GxmsJC?}Hp zHy|FE<7B(_2!@t4!?qS`f|+sE9@#{v*3|L~L!|Sz)$w8{eC;peZ>k7$He}M{BVzjA z<*7KOGdT$M(#jJIUAdW)njO45xTRI|2T&)!S0;*3&O^H+*zzn+t$$K3WV0vZNE#GT z`b=a}hrS+F24b<*EWWs}@ROr58in=dXrow{H@F1!sk*|qAc#c$ugab&NX>1l@dqdiycIjI%GVev@Ob%x9W*s?s#=AX%3R}nY6aV z^<*!YN8SYi>cc7_Yy_B>HJn442lI?2lKOAmi{gPP^^TjV?6QIY!nCNb;QHYtCqzoh}uwIa`5 zl;Y5m&7-b3;mD*$*o!tn#`X$x zOb<9&HudV5w1rLFcqi;%c+84Y9(o!!jgxv5L;U#535SET-)r~Q>_;n{qG>KVtdyY2 zDe9|EM#62ZsW=;GRteXEqkE_2sP&-TKk+Ogg%+w>^zlFT3OhCfYjx^CwahP3q{3st z;^<<)OK+R~U?OY)DNrpMG`=!uAIYa389JO-dsprYJwH8P<$Hd7@q-eP!dFM{Ly>-V zU5GLPjU%+Cqs{TfzI`IaypR!uw`g;PN)M1#krkp*Mi4grOm&tns^3JUcLa7ySl5ZJ zEi#FwCAv=QG6^~hd{Swowjmhu%rrSUK9Ur>nG?EvEUA|e#_W4EskeM4vh~gIz2UaF zc~6x8^Z0CDo%@p+BFG{4fptZ!%q+^NEQZE8n}tOySKrn=(+Wt6#CP!pzsM*&l5ywY3?mn%F*wZ8^s>{^xAI_rEmKegySJ~A}*2MwpP)oGo-KB zNVhJ8EurT)AEax@VeUWp+a}}JMlSy)rqPbzMYLvqKXsU{ zR1*XIn5K^~U$FmW(wmF11fq_18j63lsv!!5eH5S!+;*gNXZ0JWtZ!h3<0!O<0wwEr zR>vWRo*tzjw{YYa1P@z_BL0pID73nW2_VW#mIU$XdkIx*VE{y*6EzGkL0UErr2CSZ z60S>~e2tudU22<)HnO9zs7#2AlFQIQW@esdwEBo9WM;UF?tHdR(XUhZrA=){UxQCC zC1Sk8vgYFV{#2cm_?*N{rTY~1qTG7=V|e^7LAgBHP&N$WrAcd(QiY>-n&m5ls}NLx z-e#Q){?X;%cvX8Ts)(6o=A#Ru9;_20-0*Mem=G}K1Cs7E==tc87&#FcjUBQa+4F27 zrh2{>*@fs^oN9PNK~2p=2j3r7CVO$p;7vakbCLUeYZ`G6_WRqbd7m;#xe3vWF1oHY zCoTqMV8-*WMlvbObi!iE)*4UONX5w9jf3I7Xin@}V}is%=h2T8G>pafLJf+4!&YYS z4A@-f__l#~Ad>`LTl&oCDs05_6}@vb&#foZ9mwhbqrhg;=Pjf<8?cqIgDzcnL~4;S zdJ=xpsJxZMTfCaWf4mzg;?3dsL5Z{}S>E^WGkgPEIi&Ersu%x8!pk9UGMTRGG&O)H2 zANLK{?0Z_?oYaa4LoUCJw^E=7gI$m}zF2#l>_f}YQ*8LldAMB(aEyiU5+ntS2;}Cc zYnMj7`MqWh6_Si^$ks!>;2%M%7|C11yfayRH86<|i3B6MtI`&7z4+WFt&l=By{TLO zY5@e3ADZX}W}V@CQ#O7tXFxtDIWjJB*}F%=O(7a+bEfl@K#JZkIZD3=jh|3NTJz~p zhF|u-oGaXh0XZXlWr7^Fi-KRD z31I6D2c7azNV8hlIg*I{>)T~}xw?`^!x-t&pqdHb8=ZRGWB-0-hh{*Tw_ zMb&GMR=s-J@40wBJv$q(Sz13hGidf@y11N;pWQxKMLTvETC2yI=(GKPaao8~by5B+ zz!>7#Kj97x;ki7wt;KDdQv;@X=GPgA`yy#-K&S$)>bR3E<4vB>|ag{RU=IW@jR zi{OQr>rwo{;hvKZNipRp|NI8E(v1iD4`m335IPFs!?aZrTgr6&9U*q2ih9w+y$~Z( z9PaV=1&B2$5HFjpyvx%>Tlcz9yR8mcAx{P^z7zv~eNLL|BN+RnSmWuUyy2`_;<}FE z?|=wvIn6EvJpN0lq*BQP`72c9f`nq-j5Dj`xUBlvux7jyHZ z$ImYMzKcox%|cPk@U-qkV7}mz$)ay8Uz!p>K}_78Gs=OOf)W3#qDi@`QPxQglhIp+ zW8G*6BQVbl6UC|{0&7u9j;BU^v&PNNY;Le6A~NR$dMQUU-wtGHk7hHa$GKknOfS~U zoW5FnpyIzWV92WK(NJBI$8_T@1TXplEX{Iry9AWar$`13$+tKaC@M!UTVLl#sz;+i zxP_<0icO*DM_q~G$9FtZ3uZfG`vIEfyvD_;?Zc#z(e=+9(zC>}SKpbNcjeucX5uOH zF9JeLj)FAbl6H;%QCqyoPLd{;@Q_R+L8OT*+GQx@kp}=t{7!h)3j<_pzd){Pr0G z8B8Ug!>?s=Jy!CFWp4>{gB3XdG2#jgTA4!R?(A;NY%VQ}Y&H-vAYcOi`@f%%$zykUwv~0b|mmTGZMN@K4T0Bbnl#d+*Igim45FoY6bqEKcGr zPD7Ho$7R*!=Hu~Ytm>j$SuK?rZp+|#da?K(2(0N&9rb+aQ?eC)RsHd4k>+#x|_}!Np#j2mv zaMxK=N5L(n7*e~z95x@38+YU zY`&ZAj&HRPf7QI1*<5YqFS6VukQu4*1qByCmMx|F>&1sQ=}t432!8Chp5mM@pj7gh zNSWwPOZhTA)B5Yj;AExYY*AEVZ)T;0Ff^iQaKm=N>08g^%3;`izLN@+q2tksQ6gpk zj0aE1W4xho%h2;LmTTmC@zqfHQ{DWK7|G`cH#r9dfqp>yBBCiAMh zmxk1Jep?j&g%7_|TA+mvVdITi+1u<>%0sZ?Bu^ zUwN0nzhKM%wgb?GUH8qQ66Wy%UYoPjofP5;aVlOp81|)s4x6)&efNYB%wBgWcl_4_ zT%H|}>K9h8#H-I?^0eDdfo_nt7-+OxsW~r=Xyx3ArWO2QA>IDfrTrO8^Gz;qZS$T4 z6Iq9)wvU^09SGCv;}lH$_8N+lxgBnSmQ}Ixco;^d@mNj;^Xz>30N+RH;ug9D4J9aa zN$E#INA*)rPK-K#W$gw4>@~Pr$*Ig}=ATZ|9i&sfH-xytV}1QzezN#&nU^Wgn9m*@U#xU-D_v#8 zFLXaVP77iifKf&+YyO?Hg6Efi^{H1UxvRs2GktO0OnSGSl;RnU?5jceN#tvvdc?V~W&!-2s}G&}1wy_OJTkf1N{`I*?T-AebTv77 zm-OAUjI#|3nDp3M|IBmg200U0bz{VvH(*kaF#et3a-M%F_ZmRJ_vyuKooNMpeXm@1 za$xwExGo3l@lgqZ0U`X1K>YT_=9WiikCpMdFVH67y;%OYgYD7P>rRA_)_*lE*S`Uk z1zy7tJ&^ox);FrT*HqA+?aRIQ!G#6^Z2wF2^%6Xprmlm_ zyxsSV>ipJ;u3oo)SiW)p+~0?kf^pvAnTgtY1L5rl(gZ_)NaQ!j+m^wFnr+`q_c^;# z(`s;`EoJyDXB09cEm+ayq{zPr3qTt~?}nJoM2#;nrQDA=Qxp8(WG2##+ypw^iBb%L zm!}$ARTTXWEBdFK3jkJQjxSmE>e7Pa*_S>|I#q56i9SD*Trge$U&@CUuXL8bUQat! zZWRB?6e3Uo3XC>(ZW)nt znQGpPNS!S|@pn94q8$9bMC*1Q@W8q2tBL!vgy9+&uWzW;NbPDB_mG7{7%iKNXi zRLjtNj(cW%{ZE}|7kP)P>=QLBD~$`cuA8R$N4_O*yAC3X=4ZFeS!4h)&UDcK7UNvL z?qqsPg8DqbmIxn*;rV#2-iv*>cahp~TvX6(EanxyNv=+nq1_MHC%;qRIainNPnBTc zA#wIUWCu;)==%-Cl$O? zGu8A{EBb^wcauok6~el|hN?>L>6_OcA~dsfWdI@ds@rS2>9S6ZXV928uy9JfXll+gaMH;*kDnTMD3F7R4D+vMFfk+kp{nM%wyxMBa*9!^P zqqs*+hf$n!!x?%CRixvl^Pd&)`DN7!c8|y;!vrVu!tswhf2BpwUn_s$cgJD6Nx@?y zZMe|5**X^V`Q>tGi2l}S+g^dU?fPq&b?snSOY>VV1>s&et+2Z-B-)$ab@6*d*u0x>-AuiQ``oCac!!dH#5 zG_Uh?S@==cMJD(4U|@pZ@%$p?vf2+_(rR!LXB6Q2!JNtEQa z@9~nG?~LVarKCvJY^UhUvaqOFL7p)4LslLG=tHK`6~jg*fAWxkT|B`^uF1|;l zt&$$kz+RvXZpXg1MtZ)>tF=jt_G*)>HCtrvo?H73?in(vW9EK~&M+LE5MnpQtV3?D zU_OY&Lgi$mxJ7S^x|);U(EEA13JsI6R#gMW;7?xm(m$9;;aRwnBze_qh7H+E-gp(v z=W%g=if2B5^u#!$X8{b_ZFefDc^Y1}I{FR2X10Ndw$cZ?M{T4qdHh79_`~*!wK!0t zN}@+<5(lz0G)Bsx(CwnpI?FOiPm&;$I>XvuO$8JC0=P=oCEGF^*Sy#f+aDYD#?zPE z6C}I}!5DMxi2{>o^i03c?_ISS2t3;kC_lpa(()oIU98)fAPkB~9&6l%J0gynADVID zV-+VW{Wz|VrK3ZyHD>qNO=gz@Zm3gj4P@4tO}ue4TdkIHT>SltGEUgGPadRW1IVpM zR6gRFeBjnX(5IUKa@M|Q;;rf7&>!^zV-JdY{4rK7i-}KaGigsZrX2y*?$5w`e~NHD zx6V~*P4aD;TFOD{pK-Te{^4w9BUgFi7?Yt3+m7ul(J|`Wdk&e^+xvQbbw*^FFOt4` zZ>`YA9#3;pNO_0oJK^5HY*2Ky#!K;2Oc<+}OHq~NZw;oC7;siuGT%WY+)jiYM{*ru zuhNL;mo+ubl9SlEu8x_7rO5=|422)>wJKkfI4BWj!LaD0L9$w5tm-+W^?;SJrx<^3 z|2^y;ezqSn=Cua1MfdXNEaex(?5@`u{I6)P@dIfHLA23)S+iF5q3oq=w6C^ZRDVOC zWzHS$MH{6lEo`f&I=tHRS@8sd1Qr^B{AkTg@0>}etgU=<6EiT(T476$mW{LS5)?6H z=iU?F-ksLqpsf7av}+$s%s6@sKdgA-iMwM%QR}(faN(or?4rLT$^e(D)BjOF!F81= zD|piTpyt{l>dBRxTvIrob-i9jxAh$ds#zUDFqV?SICi2b&kJ2DuumaSDyqo%lKj z+p>W_i#`?M9KK&`UoSt-r6$C^FU7y`F)q5>da&}ZUavaeT`l=VVY&TyB}r!O3;AmDIr#PO=f)PVDCD{S zz7u6V7F`IJ!u9x_G%r+eyJ1TewofU%`Ge@EeXwA0O>Zvif@*AHGKi3cj{F(if}1x~(!n zCDgKe^GQ~JuE|u;+PULTCn>v+L(g-3jQmuc;$vHp;zRG04fcNI&TOUz zpLf#>N~-5T(6M*4BV{%f;@*BwM_H%XWMg~Oo)`DfeKEu%95Sg~Jst4aaE*=LpwMwn zm{op|QC7GI&^UI7I_5QeaMJstbBqoy4*aQi95W3XI8yT&5AGX2jnpN3^Ylry)0RuVc}WUfKEL&0oYY$LO}UP<-(&8R$bvi-E| zb`$#cOrwdBikr#=Lwav?DeGrg#qDLqED2n;qH@e>P3TuJ3C{*S7qR^_t=EJvt3#TA zHuM)WQx18$7QrsS*DJzWU31YMQj1tN(X@g~E*{34F)!zi4_2d=%EoQpRH#PzJmA!Z zL6vbQazU}oU3Wa%EH*XX^2S%_hA-3RFU`l|A;~Lg1+1p^!nZ8CnbTq(oAsx6nTy8x zz$%r-D+LXjODAf@y;i@*8jAYNy4S6wv??RS$DKuW8@39~I86s){P{el?`Hz+7qy35 zX;w>NiwzZF@WEOIY-VYXt@pBCHq5qE+wy{Igkc6G-_FRkKM7iODv7+~HoK_C&+!80 zoLW47@JK8bXZx%t(*nz%w4-uTJKptu2|KbF0^!l=J{8PAEd%)vv3~C#`|{Fgze_wnipi%^MO>7RHEd}jo62h6HUO);3fC7? zyPNSkH4oAyV2F&Kti&y@37!UQ?d_vx?k2k4qaELovqJIugHsSt?1)Dcnh-C^kkb>$ zZxjipB69-3(3T>0^~hTb=7PLMFP_XZG45u6fl_X1>gG-ZmzH=&M-G!s3f=6t=PvQ@s8)vZjmK6Qa%nW0V z&1iT>i!N?J{4U}5y_6P{kL0-h$sW0n@x49eV^ z*8S8ApT5pZB(_Ik$J9^^9$PtktVtg0Q?FtL%qkTw=|P9Bb>@5E+Lg|$FG&Z3pK{h? zcX+W;c%=k7^mAF5cb!J-2~fz4WKE?ax-U&#BBz#JWGii$&(y(4L0MT@@KIjFch+tf zZW|J;>@|8uZ9|>Dg}od!RbGyB$z`lSet(yQU(Tc0+70(%vpv%p)woXVkPBuYVs$)W ztHP(?()S}GlIRBoD`7eK(<0nKAh0mWJC0?!^x-vaQ(62&Mq(HDy+lnf+%Wm;6YM8_ znp+UkUM-L2FCol7@R|7aBZcS^>77@iUCzJ63@*G7hIv3{q{TW67LRL<9|ujg1j8kV z)fp@6T*c8i0p4u-fc>yU*I@K#4y}x&?$o{%l(f~zZi8w6^qzGJ5Q?t0?s8;xKT9#A z6-`Y%)s~U=-g-_sB>MP?5g&G&kA6e;TO#eh-N$|}3DpBdma%nr7a*TwZphL-c0dAHPv}X?<_2RPV&ZShR=G0b~x&%sJaf z-SR)|8vBY)F~R=~ zT5X7n)gBsXU-&3_G@a^_b(8h}M(JK<`a&%&^8s|#o@in|?)ZH^;KsAZo}b1asqP>X8JbP=19d_NRH zda&HyENZO&)nUCom!+1pL>Rm9q$VV{^2cYOc67Ce%S(O;@sa z>@)3emo7sO9EpPb!%*WTVI$jVPGo^Gagf-EM8B-Dv9ak&B?+H3_G!iP<{{r}{c8U? z?E6O$s-4wA8N14YA08em(X<|GM=X6=atry)zCf781x9p71MMg8>%?5I?e;z%(-Ca+ zTsoaSF$aD&eTssDg}#kWk+}uk!eXvl>;czW`ddoL<6VCCXH$;+K?Qb+KKp4p=G;C_j77=_ z3xbCcM+&ssE^8vv)j?V=UwWSmqtc)>qZR3ODab- zG5gTvkrJ_H-)k@tr_BhOT$TxOInx77UeUo%vsrKJ`3Ooi zabqf~cn6-Gom(V%(qiKTw)!jH{Xo}1ViX@XG6L)sL|F<;(xQgM-Pc2|1=CrjUsJH< zfEuB&Tvdi0iu=|f84EtSGyJ)Nf1E4n;xFlj4_I`6<;7W^*u-hd_35JIbGEcHSe%W3 z_@7&>$I<$+*YVGtr{R-GVrw`sv-o%?;}Lp&_w_tP!N`1nJ}sCOWo0T5gX}_4Ars8{ zLj`I)$-;6CMBO2up^O>124ZdwIZA-~7a|x^Y{_tyviw+#G?={RoJi1SBu%pj!$9G( zv+oqc&iWsADTrOJy<)q$&ZPv7c~MG8j_zQ14rTg=Y+mh?RJWdPtArrgnJ@m~>9N#9 z&Q*I-gR=#4alew?CfsT|Gc=xKJgvhM6YnBE4en;il`YKn(2J$%4`=-ZC2FD7p^)b? zbCD0iZlAyeI8d1lYjeI)#MASKWpxGI;J&B9`o$G;v5oC-!gAUVD3@2Z@vjyjpL5Ed zFdv9MYl6X9X9Scr`T~A2BaVj1Wp+`h;(@DeO)wtmb9k5_!EVC=9V@00yUcbK9B6_B zL*0T;LRZn6t(=mOo#hF( zmC+JjrV7xqWR||+Gj;5h+F*c#a4pv|e_N;lpz~@*!1S@%QZaV1WYJrbW6)IZ}pD&fN0H0Oz)lZCuo)7p)x9W$@fM zV2Irk^x5^Pm|qGoH}x;;LSgxkwM#?x_0RZ8QiJtNg-BS(Cmo8tq!u*;7+{Aw0hx`k znhlyIsX);F$Ng*XFXbS9v5(@(ZXfpZ#ly@Dup7a4pvo!nlE`@x-9{st!?J$uAkPpV2^prvW(qJy_vGqcdPQ<$CBG| zWw3D*jiZ_a3ft36NRrn;_Ot+KN8-5}#l0{Yd$#SOqZGYcW&RylG6+e_C(heR7;?6te4ZN^n$5HrsV`@!i0;Z9I33^^IO0u4+i}lx`C$oqrFQ&BU*Lf%J~DAc3G106Xgue_C@mg{ST;b<)M8)=29F{@wl)cD06X4`u4#q!wWyMRT_|E*+YF#HWFI82M-Z;9>y!2SdDu5rb&iJ2 zuqi`ahx;?aO;JX0g?0*-)ISn#zrwj0B8_~8x$9FkO8?B$tgBI!`Lj38FkcaS9>{_((h4SdTa5cX6;$! zJ{r_MgXh>6I(SsUOhR-)%1o;JhB2r$S6&Xfd~)H&Tmk$bpXFn(&Y|{slBc#Q*fEff zs~U9wwb1!SVC8>zxrN|3wI8^{)E)?49!(#d$-VWDCX=t=O?UJhs?*tz_Q|4o&^6$J zQ!ZfJ*XGQH=DXqHxDYnqMO*dj8#ESzIDB(02(#uiOyU+-%<3z6$;*D@V_%UM8%mvq z7DdXyi>$^jRD3|V*iMtc-R_?;^ngu&Mx1)ukq9psT}XM0=S;O|(iQis1ZB9wQQ7j9 zmPd!l*KKuQ$-GuTPqY;N>&Ai(s+<|BmB-|}vduG+`Q@f^M=C!-3ke#t1Rukp?11<_ zU&lBH;Io~dy^@wOg-#G?&X@{)A}>FaF3b_(TjCQHCFq+YTQI%ky|=|0I9D^g*ym$k zTOutReCw-?&Od8T@OLtG5>D*SHHm!bM-B_elzu zKk0=~zNtANS0EZ)G#da^X2J!We zj=LFM03e9|0XohW(Nvl)h%6Bo=+*h5d3kSsbj=JKqmb(&fn}_j$ja*u<<^6T8%h{= ziQYwmo<&#fu(58znj1*Oak*7EQCfq6TWY0>9pjE)UbkM>mPW>j*J6X00Tj=EXg%c` zov8E`eV3nAtX-&VSn+5H{|k4*Io(V{5_-={T%(fHpipA!%0br;6=~e-ne}ZzV|+shQBC4 za*&I$93O3J2m;iOcG3_a&-l~sA0RIl&RxIw))^A0v%sJkyG-gXx4u{ zp>32Wph0$^d*R{0kwU_et0>+R6bCYX1@W-kub2lW(d#KLpSA=j>RjTc-YU5sSes5P_%xT#H3tf z%Wt9VSd*FFZU7mxT1Z4b5nHZwwc~Lc$eW?fOp1paRBj8}u2!J2t+dsIju3mZJ~h-v z3Y+|~_nz`g^`yrl?Vbf14l}A!N@z}{i{gFaC4$a4NZAHu#xKMgDsFnQ(go(}64{rg zG+c}Fb_w_qeyPQX$H*+*y7y(?|4=F2UrT$|at=N1?S}Gum78l;%2wv}5l>eqa>Aih zK`PBd@F@q%Y`3-jubjhqt!Rm)_?pVnPZRw;;^Q2{mUd!0Zw0E8NNazXr8Q`@KBNC`Mw*~hv(~H zQWfl1HzYTwljXl`Am}S`BI1vCKxUti-tK*{}qyy0B)X9K8I+C$u`D5Hd?6UXz)4an}(Vm&!>@U+u^^AbA8fjQS#@jUunk;iQu55Hn82%`#L@OrPeUQ9pLI^?#txqyS{29Rp@fwhsw0)CoN3KFT za5(N#jSQ7jRHIFH>XPmqk~ZhmwhT~r!Ve1?Z|CNYB<;!~Et*KK)>~J^Kt*fz0DC7Lg@6)&<5df zjn@~C4m4=$*CDP)GJ2-YeFbD;(mgi*3EW78E5yZ;WXC{tzPOD0s?Z2S+ zcRI+@(roEm3(|7+A@}@mmdBMlw_Zm5g!b=mg!H&aZ*V`peD?bQTqBRgQ{l18xTu4k ztM?#x2*XR%`(HAX*i#LXjj-aG^`LM6sRjvY9Pzhf927dh2E^5FRLzkv`7top_-<*= zaV84}1|dLEabJr1%nXgu`c!F?o|$?7>~?8@MCV~+oG$@bc59%~c?~~XB424wAYMr= z`)A=_6SW(R^HY-Njt_ngzygOfS^)J3&+i*B+_(}D^!DFl2M^pgUjER(&fITqGR_kt zf-juG_0o)|f=2u|1!4rm@3g^%u6sHOo~vWjfarx*FJANDQ%zqK{->dZB9`kp9{crRA?^ODGeqR6Yxc)DX`731jFTwk(yTvE`e=YMpcQI6& z+nR4@zs#m0r{t2!MiBcLD5ujcWjW3YH|eJ!Uw`Vn_3YtU{>m2wl+)=}iX3NiZ={>9 z{zLF^I_?v}z3bxy)%0}ZE2=B!5}J=d7XL7!;@`PTpw-}iJo5hk&}wi!^zziH%IEk3 z5ex6eyRTC4i73q|(EY^9`h}`CIfRPqSv`iAP^a|%@MXVG6jM%gYF&?BomXuUpelVuygxdP1GpZOL@w z*cTvVSnc$Gd^oLweWl-leu1a*PoABR@#3ohA;W6_^2gbfZE3>GpbU5Kp9j)WGa2;yzUl0|VY+58}eUre6)jrk_p?GG8qupOsusBSAcA3JOP_x9>Ebwpn~m zxO!gKxe(k{z^jvR3swGl_~vS!T|9!%t~1}47nNMB6S=wEpOb3v(T>llCDoUPi5>s&n24brfQIe9J`!_%N=}#bqov6n0+Yq+ z-98(g0^<_puh)6BBiZQ}*-a0&rA!Z-G7IMqaA8bxq#mgXOdj)StuQuKJ5+^p#7gVw z&6wA60P{-W6kD&IWv=I0TASoP$@rr(e4K;+6$FTZot$wLKP)bKXet#w1`t|Xl$8i3ulxtrY z*l?J^D3um`xtx9TFoM_7rTGebfXC9nB%ggl6`$M0JrU={eE+VvO@p-tqS@WZ;Wsa9P2-=^b~2TGY76&e+0NOzoP}s?+3xk0E^UE7YSdaSih@4|C+n6aGU5 zPilLY(h5+LR-?9Mih6b%&DbSqUYdsLf!)ogpT$knRSA>X(`u_UI36h(erWS<%kbl2sXj6bKg68$)O1N$pXFKr)C--nI zlpj;qsYunWMq6z*@mjToG_b#k10DoiN>LB$4js{xC&zB3RM?8ilUKUy5?9kD+)g~B z{RgTqte1|ic2bOEa;mnyFHaE{&)@b^*EJ1&gpQjWVo?eVQ?>?RcaihUvzd z!IupWsdC1ejTSwt<;5pex4*9M$Q_5ueu@3c;$3#wN8Ml4BOV=`0DC-QQ^b=R?>d${ zt1}C0!?=S*P@)VL7w0Y+2)i-)@eVmuJSpQ#3aveckART)x}}rfM8I9^po^O^oD>Pv zhR!;)8x3TsuNpsSDdSPIW43szV^~#VW089H@x|jpM%|azkETwl@>^q)@eYcTta<5bSvYEcR7 z??#<#sEu3V?hZmTJ1b?A3S{EDFLkZkS(L&BJd32*r-%H*%~Q!>mN;zJxNAE_dgQ)9 zAhJq+I6$%}19eYz)n_T3VJ$*4F9OdHn)4-nujfp_U7cUU&04XB!cxS{0^-zM@oY(iT_$GgcV9xPiFCO>tc;fJN% zCSt&@WSgw|vmM8#cgKVW-}ZWud7Iao%Y4YLvR&4yA0nA(pf?*khl8!)Q2n1%g4^FD zUZURWt_ zAkf4O$Lf4WVumDpq)r}-Zlv<}B~+c*XKwL}vZ+eqvWwe(UX7NOmHlYB99eVX<7LMG zE|6AkT7+ODIORCmAcZ>}BEpwby}7=pKfSk*u+xbBd6maS@mOw(LCLO1)KgK{9G!Nh zj*Q$}1tHEKM9*I+AkRqVfHJVivBADHx+7|OppL4!3<9y1pytLCs-TM;3Q~tVa(yh( zhOyfdPGwZ^ttwquy1b5w!#IOog~WkZeBSm(Cx1^m<$OZa_Q(vK6>d;FXJ|;qxR>b8 zp&mjArh?#wd9w?Bc4sn<`!s&i+;oJ!OYDK z*@NRU=`L{D(!SD67b^or0Z8hmrZ zzDMH3TXc0-qpww})=uay+wGZ2PB4%syh#oDdL|>CzH~Bu07Z+ES*`=^G3heYF#G6m zmOit4l-#1IibMb%GsCZN#FmwtZT zxxEteEXcEIv%j?~Hk3u4iTq#$nwN14O+6RDq>2ak=;%^xpSjn=1!pkc3xDy8`AucR zlS>v2zmR&ip~#cYjKY_zBZ(*X#<5jWrs*3e7F{B|E7+2i%G(<^8(w7V(<^KfznHnN zir0E=oEUL$gT8&QY{Jv2mPK>5W~bIhB#x;ySdq^DutL3Ht2g?@<6y@gL8~AWv-sshGESGoeFh zq3hhOlL>>ddlQyxCwIO}fF}&TIYQcvS1$B8`h{Sge4^^WLT6F8!pZRtybu3iEu4i< zYOM5+xVY!V4W?PH{UG{YRP zsr|N#Ojv0fKhuMt+KCq%Jd;22QeVHbfGDi#86QVpHMx$4?MTIJA0hAP(CmzC(WNzn zdz?&yt2B766q&GpgAP|UCGz(S+aVBS^Ys$jqkC?PBXn@q$|>$!x3QWaX8n0TiX`}* zowkyzv(2<8Mg3f!A|d&t*uo)Ikvb`Z%QGQLX3?4lyS*%1D|gjqD|o#GwpS#qTbcyC zn{RN`#zrRS_!uusZ8lzg&~1(bPSRWGrf`*>um%qc&W$9*lHF-X@75fpBjbE7h5T6uI>0S~{7dqb>67MYT?L2tE&e&$&qLO2}`ye`x); zhOUYc)TE?CzCV0YmPMq+7d*8#G^5fjJHJxhzm0B=HdLJ4Tixl`h33SPJorEDy?0!b z+t%+3h=pZAKtYhAAWfPqs&oroKtQ^Hf|LkI?r4?o173LK+Xx|vMTsl4Z7|)$q0q_8Jzcwrx2!>Lj5M8n{CW*GxPo805@HR3YDy_ zef@>68ey(0Dj$&&?ZlZF+{#0`8R03uE&_drVAu33TD9HzK-veIgvLBUQQaSDhc?yC zf*=Szf;QYZGE4}E@rU~PVyXp0n8R8-b~|_xZ{EvM4kzuYi{?vj@0axlptWC}ONX;f zU@!~weuUK)rXXAJh-%M_5Y!%crEk7#7V7%hZO!!9;z6r|N(KgBTkX_0U$_ljBli5P zFW8{Cbk3-DNgshW*2jZY-9L$Elm}eDjrV7X%TUo#3uP^Jmb_Mfjdh9`ZJETUOuBRxFw;ZSEUC z9E!m!HZL*x3p#(;C%m@3jq847&K&9>IPJ5_Z)Y2Fk5#nF?&sSb?}X=3CcXN0t?dzO zbT3@ZeQ%qt2R5lj#B~(JQ7q*e>?IRlm8o)Cxz%$&s}RsW@Kn)o4@mZHp&+G2M} zhYOn$vOCEfnZUv+&a>t32ea~xd7~~`WxWYRezarx{efEL9;~XXV1PH18zUu{;9h_mk-X=AAxmc)T>~YrQp6Mi;5!g8!2w0`GtJIa66il~NcVtA+SP_4lrgK%6`m`xg&`X2BvY&QC_ zL;j43>On%e$ zyzcq^0Cq zJz2Uoq)Zxqj-BS?{0`nAeA{xIS$R94^0H>Z7(Gq>QrTLwkxrO_{^pQ((F?I)|9nOM zRLbhMUNf(`uMw;99TdWPSkAyy{E0Enj)gYny1u(R;d+Rh$<-^WyGLvt&^fWBOf%8zwsB=(?b%wx#OJG-T*TE@&XbK+jf^ZToT zQ&y>!=g#4JoXQhLBn$7r)7kXoVq@D>HNKHaAaSeAdxx^scj#*dPkYj@9=?1zMN4fQKWR9pRYvPfU zrtiiJB4D3y3+8r>iUnK$(U+O4nls`(#O<`%AmWi&$n5#z!hKK-3BlIX>JBQVi@PnP z>cq~mOg9G6qd;VaMdpFpAe2ypwh9+EEpGGov&Adp*DRoWmIJLAX{)daHEPxCo;x7e zy;Oz$+^YDpSoDdc%9pcOFMDDdJv+6byXe%a6iQb0?)~stj@keXXS9euRy^f4MSi2T#HHtrd3dbGWvrF70c|O!dD)iz0GtDJ?*2 zlQHJiQji&H@!RN8c@Wj|>boeF=-@jMS|HVP=P|@acbaOW{EOdv9 zrfPc0QlufcM&gjPRR}f!w=>`t;>)Y6AogHu`D_YjBv$<5*UR!;elY5`y+AV4_e5W?lbl-7BMaTJF zDg$sZ!B|>z@w<7eZYF^{YR7MGEliz4^teY~iuWxJd{d}~a?~5K@vML&%NbGf@b>NY zPqV>$o5BsgcrgrO?D1JU3Y-^I?=`<6b+U}j-CV*-F)CHfx>38m%-C!`!@*WyX~Wji zD8_Eef0Es!uDm3cZla0d10LCfIO>Ao^SxWM_2F%b6@JUt_o}r6lEY$o!ed?cm1gmy z==9SL|B~Hdx*y;X6?ro2?{UPu$$wB!1(aah5RwKEENZg?O!7P0^PlE#IdG=Aw zUOUhLg-KSBF+Z3w4{lSI@J3-HEXuP|%jlY+$1SjuyaZc7T{&9ie4wQK{?-I!Fv43l zY?a#V5;ZC!>7|f0lb8s0e@%XNm&4+9oS9dGBmbw`TNJ7#i*Wz_MDFYHW{(D5hp@;u_)%OA&Ek_4mD*?w%EEcuR`#qfFetJuE9wemva=b9Fj7 zbqPB57KoB3h`{Ts)<2#ejeYr38E%sM!FA*hb=533?|vSq+JWq+xNnQIDKmL%lGxpd zNkZAsR7;k8Ft&1D2eMsC1Nnv%iiw1UbDxyzA48k-Bnz~OhXwn6$z+CrNW+6`gWuoY zDB(_@Mn_&Q7K42`#-BzO?ay|gaUE3`k`C9j4?1KW`>m*I-)MHh zy+a2P1yAIDz||i?K(=;i+U;gPhj633Lt8hU()cJuOu&ev(xy3 z6{_FRhOoD(A#l>twKl!?6$LCQmay1?qX?Ra1Wm-iiUv6|COgsUUQ%dob-@JRiDs`8 z?RUb;d$-WH6>~S(#1kwf-7iGxSkJ#;(2$>1Sr9^P9ilCp&r<2#zJm?EgVe%ZQV3tT(-~Zo2MAc=nkHoKI#RYEvGa z|Gh;pwzj5&eLy2xv1+PP&@d`Y$lX>;sC2|a0$b)z3?HT8sej`Rw&ovJyVv0OUAheO zaIJL1&~k2LaM*uz4}zbJ(**9Yu{kd2M?-uU(Ou}>{mzoIgf@si`}vw6f?oaoF$zXg z`?sa&zOojo^nfXc-D}91@fI}1EZu_aIN8l7G71M}7+g&sHW(TUv>V6#hc zwSr`tUh?L0WlDkSM$LRU@7okaj7C}}=F)v`c*}*dak2=iUq#VX*Xyn)#5SKnytivt zP&jE8up)THByht3{g_aszr3VK;4Um#)iCG~$AbO<=inNF$^LllG4JGU+YlBw-w0z* zFf_5r`hqnzN=g55CS=7qXs60CH}2S`*N{_u>3sW8jxwW3=J;MX3(B9#|BqzX-m3#u z%&3R?uqIp9qH@fjNm7Ge!~}19)8h>gnHJ>U0Ud2=A?0~Hrr+!mX4ZKT;h!@wtc(fu znaVG!jcea+|HQxfB1}ewxe<1?v;|juOy+mC zt6p~oeI`2E?0QE^nkW4!ppG>k(G{YhS#(?qw<~qPP{8%02HjVi$jC0vCtIX9+*N!5 z4EJjlMH8T#P&jwrKk6xa$fR1guP8d46hx#5c}ykWz^c4$xmr<_qmWu*)Jna#l4WEY z7_2Gu@d1l()Bb?lm*c`)qhVZh)5=K0))SEmspksLF{rKv7-HuN!imW=y4L@zZo_$EJz-+E<5ex#QBd z1k6s~4tljkBq{RIywCcX2b2C!8zTDNh?>nl|Klz->xwEu7p!_7zIP@27RwL>i}8bV zWb^}Bu_6ATDcT|_#LUT;^LbbTr)b6o7D`a{@~uz_9XBe&l<26W*K7_t47jgm)#eMi zdrwbiKRGJWI~nxtqk_n&J60ZR@*%H;$u}qCmhx!mv2AN)!W(&pZ__HQ@_QJ`^b>HB znxcMDe>#x)_!*}VIoosM_O~VH%gduUicZ4GW|%kWI3b$DZmf`e5buJ&q`aIIsp8_mH<$|M-pLypOq7 zcDg`Hhe2mo?EGZus>au8hp*|^3=tAR3vDY1hxgc0RcA!3uJ5t+Sf%`Z%w}xp4*f3$ zA#wpT6R7Wf=^z#}#bp2S4cE(1sQ*@s zgcw3NR{A8^Cxgw@gzX?oPB>m_+Dd2kM+C_4l%2&8GdX=m)$;^KT`H0tuecme{GD>x zXt_^7wP9ZPWg}Up@2mX?GvmU$#-9QKOL37<4~&`ki_mN>|HKnDfA(d8bc1 z-wBz#Lprlknk}WMYMY1fFKg$WiKci@-#SZuOxzIs%DP5A^1wtHL=%~rryQ7Q;&44{ zq!jMv!QH(FcegmWI;WMUOdY`bQSAml57Dfr?e9~rs2rDqr<1f{2qXPz_tM+e{Fe_7 zx>C}NF*++X@Lu_TIDqx!I-{ZD!RZK8E28Emf~ z|LH6+*DZc;o>NPEdN=~+^rKPV<3O5n0^Q08;cGaM(n7*Ox2_zy6L4_wI?$~`-Nr98 z(%697{b-$^FLoe<3xKdL#=uob-oc=OQfudXp(0W=S1D};{OCYt=bc`5y>mED|Ci8D zq^>_NQT*vS>5fjn(^G2I<$i;s2wij_P>k#T!R*Y~oF1gg*X!dA5k|!P#^V`jBk;W&fc& zZEvrTMEgCZ-=0eyd4R|}b6^P>a6@Q`FtC{^aW=fHeLkq}OKp#!XZ@MyJO8PWgHBNa`x6d8i=Y_-d z=MR;b7`z}olXyz-n~d4Sn<1o^TNixRK9Aa^bvJPJTMjyr!y?0Fyu8|mlP&;jiPdQl zK`sP{g&a0Hv?*^`Oer{q^P-S?pLcMBJang>#no@{9UCSR@^V$b!*AO35gcWImlWpe+d`K;!X9tT!?=w zAv2;HZNQWtPO}~k+GNmu-0g$6We6Hq*~3S%+$1M%kLSYFjFcZO59yN=?{@*3F}II| zkwvrF$7@J4i7Bu)OM=2mv8MxkFG=x=E#+v?GzU6IVMUZ?EYIw1F%#Ig8;O2GtMJ+) zV0Lmnm9WbzRMwvk`Dmb;*}%jx*#Fqa6#d(l^uxhy-79~-ZD7T0euF;_toRXFF*ix| z$1f|=&wQj_28;2&d9>B0H9NGk0N)%TeDLUH<~2O&+2Z7#sRLb|Ft9Y5eXN0_f3WeJ zQ_=8GQg+*7C)}gg8=0z5h8cu_j09q*c6%;=7KcPi1kUMm=Z@YE5Y$51UF%`GDQ_y3(#4&$;%5@!{f;+kOYuQ=zJPNdfzb zrL*SAnt&z5^cq`#q>Q1cog)Orf%TSQ;y;?Wy8K70)KZc3MYY?eGHbHaVEw(_K$#y~ z3A0Z)jI-wK_7|O@I;a#EjmnKOSu|h=lWWVqmd%=hXFWn|QQ%SZ#>T(xBT~&S*;CtZ zE;k1;PzF-RmkL2x5E62j7}cKyd`!EhV(ohK`c#s0woc%x_3U%qqd6cJ_dWM62;N)7 zK=K>jG4<~$!~OEB5m>Q#yXPcQ3!MYg(G;nGnW=Mb^A197*PmF4lpMYgDd$00-=B;Z_{nM`v;T)a8ViML%0QMDv=V?rB3PigsMKbj4?qMXoQo*XgQQ>b2PJU^?-WFFV9Ncd6!Gq0h2dL>^j z*FX`LSCCB_q0%_0{RE!z5oAAgEuTftaGg?5#i#0cy(p^8v#Qr8X3B-ihfB;G;eZNm zMReGReieakBmoF@Ki^V)XW^sSTS`y)hV+#+j{OAbI%JR7-Fe|~TI_)N?}vpRX$@5R*@o5(Y>Yxp(GC9R|Eax%)RWfP*1FEgcW zMrDF~`Z|01ogxx$-7&MrQweuL61}Em{>7#UW1&uGZ4u{&uxVL($HJ0CN#zScwXp@8D1mHS7n$vO#^EQz#6D<2d}kPXV|jE8{WPD zbbSHQk)5Ebl_x{F+drX`33i^(aVj6V?DVOD3GDP<6Q?b|SY>irbTxXf%OA4_FOYx# zXDTRCado-0aV|eQiQwWOv)771w=%!#3RPTx^dXv8mMb_+$!6IqJS)}QKhSHj7?ER> z^2+s0pe;V!Wltn1B`9b_1pPD2x-0tP6Mbr_D1~j~-fNY+t1Vej!p`V`-uLMsLMY@j zPVmj<@ZP++7kr8>xO~LRE^fxcdF11?CWUI6#B~3wF3#{18l$_7!X|FJFY<#Dm;Nc= z)j3h+H=!k!L-PvO+`jlGEoxI1K&OcMy)D;_-;*@5W7%CAVvTY_+5Mz7TfO9t(6ZlU z(Z%l`7s>t$HvYI#W6?B-fK*(K68CHUDfpvmGQRc=JaFoh$NB<8mu*tu#l_MIFYXRb z><#MnPDWA&??=;Dw4SDr$x7f1U2!9W-?nt#N|`VhalVsenkhWTNsz_IgVf+D`3K0- z;gXi@p+`uu6t_9=uFS9u^q@mvrsk~N58ofk@mX{nyGksQj`k#cQl<5ZZ*yxY#&14z zu?+7f33iwuj6R)>l)`9Ot8xrZ1~&pell{EH-n!Uq^b?%c*Jmd+k$a2SE+S=PdyCDI z<$@0`6|2s`)81s2bW&>gLJeSaXMgIqYjEr@vzTzoM5zjd{8V3ldgP==l>D|&qKwTj zsC?kG3B*tOLWudohO?ui{7Y36u&PQnV?K=i8sWk_64rOxKAOmJcJ9Zg2Py!>RkiYG zNq*P6n4=yn5jYI4wp`z_U!TxDfA& z2ryn8U%QHG)#^l5qNKdF{FhcXw5R2F7TiI$_NqzA)u1vEokoLv)!x$2*!bzJ1TmgX z=^xoSl{;67GrKra$(&|P83 zd}Hp0){?Sgi=?Zs*Ht*QrQ=QD4#Y03p>@%`uQwTCKR49@VO9HKvomx2)Bm=!{88bFy$~vljiymat-I_#rWw@{Y1QUZw?{bX%yGLkJlBWt@p$?ibLHQeW|O+_FYR2%e;GIy6j5V9NK$hn^a!?e=sA zFRQdj$+_Y5U+M$+=@L;?;eypJkhq)Nvs+0)-?EIdYjDFt4fhc54O98`dY?1zyR(4nv&U0>B`pt5q)5B}aThv8Y*hJT6CJ_5Q zYE<3}YpuNba?5o$AYZn=lK2_Fh73!|ZPWO3k_Fwg!(g>h1W^K}75@n~_dJ@Sc0nl) z`!bBU0?j#Tw0lX@P=(WHZhc??^Rbu}s9nKiZaweO#SvX&^ERL7ip?={7A~I;m(*K$ zyzhBQ@&0uhjCvWMAIWWA&#C7CSsg88&58(=<++o=Uc9^R>Tdghrc159c5`r^-!@(4 z(|8j@oh8N%p|@JmB-Ua%ZM=Ue?)R`irp7KlLEN*MFDz4=hfeA93%=jOi*#urcW&6S z5TL!u3}|i3q4zCx&U6tC%{?&>qJkx00I6)Xh)m&V#|iS z^7YIbu7U)=m85`lfK|2!5&p@v7PrTDiLJ=eVYOQWU?x3*o-@&l0wy@%5h(c|UpG9V zt1e17&rZ{{bi~h7@P>DO$NHV#fZU1>=k%+6~p! z*GF;Ej6H{1M_W1O(uWPJwQB=v!l@X~V}e|S0iq&6xT&5ct;x8Pg_6~J|OIPvG}3*i*7_Pkg_ z7Pt_C>GMtLhLX=Q-xnW#gTaan0lc?rB>wn0HpM;Yg$aLXlnh@I4Sk9S)9%bmJiV_n z{5(R{dK8mkd+Qc}z}}8K-^{X$OFg#}wY&T{9AQ!eYQO?OwGtZfzy*_V&gRn=ARgX^ zE~J{Xu!Z>s51@MDC(A6wJ zD{?0}eJJYAWrtSwH`4fbj&;WWT`FJUosgm4)qwT-(uvI>4^ze>f!9l*_HTU3_$^Pf zxKncsuc z?OQ(+t_E8D7H{l&Wph3<S#JOE&21^SNZ0L%>tkPVYEOIo4vB+O!bNgO9 zKuvd)C=pKFB?1J-7$F(A@tORe&cjvz-=*&#(fd2z>>}u=?i!biA+3vG4(~rH3}sx6 z3k#d5oDYf>vS#yFLIs7a?CPrCQj1kt0EH8!nbMfZWuJu*+wfk?!{S?2(Y$lLygD<{)e1o_fyr?GvYAf&%=cjITf(a0o)l@(71 z4GLA%Opycqo;lck&Ti=W;KPbzb$U23CLJj7u#3w7H5j%OfW1H3d^H3oolt3fm5 z1RxfD*~S{bL`v58T(kqoQl|TN_5TxXf727t_AxR{S5XnkoEq&HiGGeBwV&*>=cn?R z#iF!Gj{kW@PeJz@(0{^gzn<*Fmg*R{uAh?!7>|4XMb9D?1~Fe9>6LEBsA6fW4?{qI zz7eij$m_aSYn&&ush{M(%FIt+Ob2BP>JOQXfyxo<9zQ<=TZKB(A=?zD>KzHC(pD4` z&r;14N0#T$gH|vdwpU&APt<+>^q#vADTa69y8@Mb8>lTIaA$(q%!8XnpyDP~an)jV zj&=e3aJR4s>sV$;+nb&9@P0K8tHt5@#w`1yIKEnYk# zwSm13)e7&0(2kK<7kP)Zf%EtpD}3~u20BfqB}CsN^Cj!y5ulG=_lH__{Y)4rx#Un# zyXXFg`kyR-siZ#MuFoRXYs5G7jQW5;(Kf_yB`dz<|0#BFS-C>O?llq-)!5d)OXhv&jBR(3_S=e+SWWw-S7 z3(BLTh50t=yhCN2QabP^`0gmp;_Yxr1Wq(c{|zvaCMKGiQq3 z@pS$hQ=&oZ`Hh>G!EPuW0n-iTO1FZ-_J_GpIv_q+?QCkd7-bs>$0;t~>mB_xn8(q& zUoIc)KT$qFgqgqZQW*e=Qz^3-OA+)lMiq?>f@%(WB?%!;rAu2SM27Bf;>4$(-#~+q zsm)Hsh~E%fitR~{-Ew2SETkR9w13A^?T|18ArkZ!?b!BCpPB}245jUl-H7bkr^|}5 zCIsZ&>64a9ZIkh6iY_JW`+Hwa`j}%EhZOq{zMkk@nQ%(e=M6zU=RHOPX>IpoA|g#t zqV(^ZI(rKG?Q;}C>}aH&0(NO@|0p}$^Ij0Btu5({{&$4^=2`%D;wZZhpV?Azmx6zc zU}SrTn6|8fS^IV;ioIi#QQ;o42K}2rwPKY{e{#^&z^wdn;Wup*Fs^2HM0$=kv(dvR z0Py9EWR|_^ZcOhA4(QVKQp*Fa?6=Zavf)DQ9eswx$hr@?2 zQek(@F*SPE*yqQ!tV_Nzc7~T7?=tQDT&nmgNgTO_s--M+us4lT%6+Hp1PSF}*$m-D z%78v|s0KPmtBJl$R7N;XeE8lI9q$B}_u}YFGO`3LucBtW<;pAZ`@3{0GLqJSdWMDB zyqdsGdn2p3hpcV-KQthyce)`6G*}fw5!5+78YoDxBur&HLgE8x$KE;n4sg-1?R>1q z`=&8|o&xJFq=G=ntRwQL&ypq9|AN*VaW1wBg2L=w&CV8)q{?0io!WpZe&R9TooGRex@X77y`9Yse7N`N)PU*aT~bO*nK+`Ry9@14 zy)PSlUhvfxh;{zBV7U9ju(p}~&4sOu<04u+*m5IN$kvOsvxRWxI#zuCK<@o zpI3&OB_AZ>j&*Yp3sOo6S)ha*ekZ~SZ0E+iS+j>8foh9IDJU%NEXr&8gQCpT%Q__T z9;i8ul}GY{=F0GdqRU&vntxESAnULR>g5IJ73Cgo{~_2*JIyc+hco(OIcLvXj`9mB zc-Z%fFck*|Fx1m`m~)4%;rIsMO+<{qutvUCQnt=U8fT_EjJ;DnmV8bq&azyu0YNxD zVwx$w$TI>N7bR2OG+qO)*O;w@WP>ri4V#q@AnDY7$mF)Px zrVDfOF9=Y@8{2Zfyh}$>&;DLE(5XuBLUa6Tq~Z*apuRGT5m=jy%w`<@d<(UU!nj~u zLHIyMEbN$|)iX%eM1h#LVC0?fpN}prrLT$1(Xn{}IVa*&`E6QLOoFpQ+T&-1AjIUq zL)VK)U`A>yM7tI%7_`;Frj2%n$^GSzetEQ)ci$V#ooSQhw+>dquVe{HF1n?Dl9r;X zR@-W9sxltumU+S@ip2Oicqi73xN=naNJ-(psFn2cUiC z-gelV9-ECA&J}H_L+XfZ+m!IC!c7y)z>SX{Q{L@b#YVSYdlFNc#nz`5R|5qjOvi4r zl^l*vzD^t{J!!hn-?-U&28xER4UO7Bc{3*LKq^7KYNMP0)T zwpkK=yI8@9>M>$56g(2SR~!f`DEEZI?OLp#`D1HDB3V5j$ovWtC3O^3*~GTsDE9mP z9CBQ(Pib)&%O5tuTih3&kg#nvl;NafrBvPRbnK?%YP1sR=YQ4cHCR;+ zpGNVOfxU9%Pcr|W*=IXuXa+xKWtH9J*+;m%w}&M(3Dfq?+};I?Z)|>3EA6xJ7xLGx z?e_j?vlPC@6%CWWyE^bC79NBBBxV0S&GCp%XGW7O8}9P9!Wn)CU?usYoYA3loGUxY z4|u1VrgkERAkQY}Q|$N?3T6G+ctW|w^b#W<3lyZP3a8IP5WAT1NYhyJUxUmYuG`{M zGi`73F$$>~G-K868dK&L3Wfw(wJuOm8nAl6{K;ch)-puu0(LSS_`wdL7nD z;A30~sX8E}_snVMQrjwiiGy!T0AwWp z&}2Jy^y|T=A;9wtX6G8bCXo#5RbVA~q*MqMP|GR7QCwJ3NC$lA1H?rwqt`!bC+b-- zhlpWA5bV|^ayc(IS;0yX^nlA@ND3$Z8A!m(fXgwscQuxD=F{&?0GA_{a{L#UbNTS4 z;CyO#8NlV71ze7?vko!wM@hBF2e=%Rp^+Ww?B9LBGflL~$B@oZnh)--s;t_N!Jdwi zLsh8j_6v2=xL|4w?D{1#XXfCJo`NC+5?*w0@GdAaXgGg+h313@_|>7Br#&REhzL6Q zWDtgwXh`>~Buli!+t{9iYl(+~Yq^&`(E|?;Y7@AM4#*a=CCHW_w~1rq-a#HGg2^K$ zdF~+L!sJ=>Ks=H4#QzD(s*cKglu$3bsE2?1gh_qPA~3@|FCR{Q zra*Fbw`I7HB zU%Wth_b6QRKpB%xaDbTq<;&l10iE5}&C*Qr*Z*?ppU)g3LwzZDzRsQh@6L1Zg*Jzx(oSq6%j75k3H||L&qnV#M-VeFwhde|MgPi_V<}^|XgNvi|No2abY0 z52%H;eR$G_m?8W76DqL*dw7n0I&fV6Va$L1Purynl*6|Q-wOWwi@v)7>~Tsi{#V)c z-+VbO0T?$aSK{^4e{*BtkmoTqioTF(y#o*F@18>Z6)>*Y$7dz~de48odfF*q51Hk= z2ldo{_r5}G>4CqO-Futy-(Qs6*#2T4a$_Smwtv%?$s^mp%tZgc8QJb|EBXD&0+6TF zzf57|DfO=-26;*)PpN>!My*4=6@M{sG{_l@L${8zc$5l z)U0)f;Cz4YNfBR`2GyytE|$u_ys7{667QXMp`i6i|M!>Uqmd5QbeQ=syi~HGPLmA< z)=nn3D00^W;|Y0;q6i@m=2X<=Sx+gAEDtEiItuK1K-N)Yc|ca?B)5eu56JR>=#7%) z0a+e^q%c_?kmUg}4^ECAkOOzb)B{-_kmUhc9+1NFQ^b})7N7qM#3xyBk_9JOaFPWlS#XjCCs}Zk1?PbU z$byqBIDhp8GD=NmrO3%pQq=>wih-OACGsI;l$y*+k>gRo0_1oUkq;rG)MQrbe^!wr z9s8wD3W{TX>Nl_5IVg}Mw=Qz)`k&Rh$Svx?0^}A&Zczs~RT|)4otyZmrec4IUofPf=m-UyfhHzl+RYC7W$@Wozf9lHGH{V~s_xS$; D63_b8 From 265a84db5482bd783edf33c7dc8995249ae32afd Mon Sep 17 00:00:00 2001 From: Kush Rana Date: Sun, 14 Apr 2024 11:44:33 +0530 Subject: [PATCH 167/172] add dashboard Screen shots --- ...at-salesforce-setupaudittrail-dashboard.png | Bin 0 -> 697297 bytes filebeat/docs/modules/salesforce.asciidoc | 2 ++ .../module/salesforce/_meta/docs.asciidoc | 2 ++ 3 files changed, 4 insertions(+) create mode 100644 filebeat/docs/images/filebeat-salesforce-setupaudittrail-dashboard.png diff --git a/filebeat/docs/images/filebeat-salesforce-setupaudittrail-dashboard.png b/filebeat/docs/images/filebeat-salesforce-setupaudittrail-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..2d0c6674bd4a7821bd49f2086fb2e067498d9ac6 GIT binary patch literal 697297 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 z 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

    -%p=Q5Sy7P!Fg&S$e(lB$VILm>lozC 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%0A(`Shg6aH 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�}m$BFhkpvQ7 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%0AdxVAFbPV|2W|3r`gcGrwe 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 literal 716935 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

3BA;3E3?1w}@J2sxYQ_~OIHAPWt%tqtm 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
M2R7jbCMK(-58S!2Af7zrFV z&}P0oA+oh+^`SAHj$p;YG-)EEpP(#5pEqZ&{VX;-eNz8u<5Li=n&E6R{J!Iwq9Vb7 z+hRr)({s>83=xxrfdN*)2XO-?eG!?-#Kb!}$R^W=$A$J3PIn4&*>L?!GLY$)-A9Z3 zRH%o|inFN-yvzdIH6OTR7lw&!&w(izk@9As9)vi?*ZRSlf<{Et!%cG!?Ft;*-_B0T z4*4gE>4AlJ3mW3u{y&e)pV*ej&~lDk$vD7BuIn8LHxt>2ncqSw7G%Ph z!tVX!vig9uc=hx85G;*3uszPj=~O$60r}K=;oH+2BRIZINlm@kFvn$hf6B%;^ZGW( zxmthUUD@gT`l(LOh~ZXTlarcTYb3AeZ<7Fpk6LkpRz=D~(7*CHR{URiEc_OZ!WAna z#SP!eBj!(~@DZ~r$>7{0;G{{Pa<$F@2bj8hetWAXKLrI*rDf7ivf@4KDENI+Kc>&Z zM3`zvkEx)MNZ;9_-L5IS2G&kujNW)bALbOav_N8iM^521&X@e`^&$o@5|9uY5pgN? zESBdX*_9X~w;y6BLyUrB$`kT-k3gdgcXIIq6|b<<8uQ-|Xalm{`HQ7#5^@9=yS*pE z<3=aA)coLK{awLz2V5&dQAI^cr;p^0sr13WBS1d!&>W>Rp6vy1jQsKlc(HnecODu) zNYD!0;X3zCG6ZY8Fn|8+>e%KUdf1~W>_h!oADwJ|(qvKs?KrpduU;PKhvAE_+NsA| zOxSl^fPe{+4F=o9kddTJi@<83&1J8xYPCbC^Q&s!|9 zu@GQNjJ5NNCTSvE#B)!B(|jL#JtJR=ZtQL|VxmBU@!xkjrKJ ze9ZE^2eR|Y21kE6%q*4l*Oup+w!Sp0!3CFrB`V>oy@P)o<^&=kWb{XNuiVa?L-t)K2>Of&~Kgr>AolWmUi zKNpR+qT%EFPv`wzQ{}k!X>cFa&ER1uiszR`m}aoH*x%;`l-2Lw??Pi@0<_ofw0{Yo zyLJBE(fHff8DoTjqPAoYnK@r(Q6H@1ktj_eB^`DayfVEb{)M)(FX%wt5kD)5)dluj z`}Z9DU?mha_x&WxY-&k?mbJhE9Voe$gv?NCiguyi-Lw=SW(o)p7r%YdnCQdhZ)u<#Bx)H73^UiI5mM0Mq z@P`jYrh=+tgEoYAa-P%E!oR(`n`DJCwcN_8x3ufmW7OB1AsP-=+vp