diff --git a/internal/serverless/project.go b/internal/serverless/project.go index ea067b2f7..25a1a0d95 100644 --- a/internal/serverless/project.go +++ b/internal/serverless/project.go @@ -24,7 +24,7 @@ import ( ) const ( - FleetLogstshOutput = "fleet-logstash-output" + FleetLogstashOutput = "fleet-logstash-output" ) // Project represents a serverless project @@ -141,7 +141,7 @@ func (p *Project) DefaultFleetServerURL(kibanaClient *kibana.Client) (string, er func (p *Project) AddLogstashFleetOutput(profile *profile.Profile, kibanaClient *kibana.Client) error { logstashFleetOutput := kibana.FleetOutput{ Name: "logstash-output", - ID: FleetLogstshOutput, + ID: FleetLogstashOutput, Type: "logstash", Hosts: []string{"logstash:5044"}, } @@ -175,10 +175,11 @@ func (p *Project) UpdateLogstashFleetOutput(profile *profile.Profile, kibanaClie SSL: &kibana.AgentSSL{ Ca_authorities: []string{string(caFile)}, Certificate: string(certFile), - Key: string(keyFile)}, + Key: string(keyFile), + }, } - if err := kibanaClient.UpdateFleetOutput(logstashFleetOutput, FleetLogstshOutput); err != nil { + if err := kibanaClient.UpdateFleetOutput(logstashFleetOutput, FleetLogstashOutput); err != nil { return fmt.Errorf("failed to update logstash fleet output: %w", err) } @@ -252,7 +253,7 @@ func (p *Project) CreateAgentPolicy(stackVersion string, kibanaClient *kibana.Cl } if logstashEnabled { - policy.DataOutputID = FleetLogstshOutput + policy.DataOutputID = FleetLogstashOutput } newPolicy, err := kibanaClient.CreatePolicy(policy) diff --git a/internal/stack/_static/serverless-docker-compose.yml.tmpl b/internal/stack/_static/serverless-docker-compose.yml.tmpl index 41cabd08e..2ec85a157 100644 --- a/internal/stack/_static/serverless-docker-compose.yml.tmpl +++ b/internal/stack/_static/serverless-docker-compose.yml.tmpl @@ -36,6 +36,8 @@ services: timeout: 50s retries: 5 # logstash expects the key in pkcs8 format. Hence converting the key.pem to pkcs8 format using openssl. + # Also logstash-filter-elastic_integration plugin is installed by default to run ingest pipelines in logstash. + # elastic-package#1637 made improvements to enable logstash stats through port 9600. command: bash -c 'openssl pkcs8 -inform PEM -in /usr/share/logstash/config/certs/key.pem -topk8 -nocrypt -outform PEM -out /usr/share/logstash/config/certs/logstash.pkcs8.key && chmod 777 /usr/share/logstash/config/certs/logstash.pkcs8.key && if [[ ! $(bin/logstash-plugin list) == *"logstash-filter-elastic_integration"* ]]; then echo "Missing plugin logstash-filter-elastic_integration, installing now" && bin/logstash-plugin install logstash-filter-elastic_integration; fi && bin/logstash -f /usr/share/logstash/pipeline/logstash.conf' volumes: - "../certs/logstash:/usr/share/logstash/config/certs"