Skip to content

empty pipeline returns from CPM gives 404 #17035

Closed
@kaisecheng

Description

@kaisecheng

When central pipeline management fetches pipelines from Elasticsearch, it should give

[2025-02-06T17:53:53,310][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.
[2025-02-06T17:53:58,335][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.

However, the recent es-output gives a side effect to log 404

[2025-02-06T18:22:18,573][WARN ][logstash.configmanagement.elasticsearchsource] Restored connection to ES instance {:url=>"https://default-logstash-sample-default-elasticsearch-sample-logstash-user:[email protected]:9200/"}
[2025-02-06T18:22:18,573][INFO ][logstash.configmanagement.elasticsearchsource] Elasticsearch version determined (9.0.0-SNAPSHOT) {:es_version=>9}
[2025-02-06T18:22:18,596][ERROR][logstash.config.sourceloader] Could not fetch all the sources {:exception=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError, :message=>"Got response code '404' contacting Elasticsearch at URL 'https://elasticsearch-sample-es-http.default.svc:9200/_logstash/pipeline?id=main'", :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/manticore_adapter.rb:81:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:350:in `perform_request_to_url'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:336:in `block in perform_request'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:424:in `with_connection'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:335:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:343:in `block in Pool'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client.rb:215:in `get'", "/usr/share/logstash/x-pack/lib/config_management/elasticsearch_source.rb:220:in `block in fetch_config'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/try.rb:79:in `block in try'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/try.rb:95:in `block in try'", "org/jruby/RubyFixnum.java:312:in `times'", "org/jruby/RubyEnumerator.java:320:in `each'", "org/jruby/RubyEnumerator.java:336:in `each'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/try.rb:91:in `try'", "/usr/share/logstash/x-pack/lib/config_management/elasticsearch_source.rb:216:in `fetch_config'", "/usr/share/logstash/x-pack/lib/config_management/elasticsearch_source.rb:73:in `pipeline_configs'", "/usr/share/logstash/logstash-core/lib/logstash/config/source_loader.rb:75:in `block in fetch'", "org/jruby/RubyArray.java:2798:in `collect'", "/usr/share/logstash/logstash-core/lib/logstash/config/source_loader.rb:74:in `fetch'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:211:in `converge_state_and_update'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:124:in `execute'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:383:in `block in execute'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/task.rb:24:in `block in initialize'"]}
[2025-02-06T18:22:23,614][ERROR][logstash.config.sourceloader] Could not fetch all the sources {:exception=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError, :message=>"Got response code '404' contacting Elasticsearch at URL 'https://elasticsearch-sample-es-http.default.svc:9200/_logstash/pipeline?id=main'", :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/manticore_adapter.rb:81:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:350:in `perform_request_to_url'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:336:in `block in perform_request'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:424:in `with_connection'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:335:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:343:in `block in Pool'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client.rb:215:in `get'", "/usr/share/logstash/x-pack/lib/config_management/elasticsearch_source.rb:220:in `block in fetch_config'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/try.rb:79:in `block in try'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/try.rb:95:in `block in try'", "org/jruby/RubyFixnum.java:312:in `times'", "org/jruby/RubyEnumerator.java:320:in `each'", "org/jruby/RubyEnumerator.java:336:in `each'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/try.rb:91:in `try'", "/usr/share/logstash/x-pack/lib/config_management/elasticsearch_source.rb:216:in `fetch_config'", "/usr/share/logstash/x-pack/lib/config_management/elasticsearch_source.rb:73:in `pipeline_configs'", "/usr/share/logstash/logstash-core/lib/logstash/config/source_loader.rb:75:in `block in fetch'", "org/jruby/RubyArray.java:2798:in `collect'", "/usr/share/logstash/logstash-core/lib/logstash/config/source_loader.rb:74:in `fetch'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:211:in `converge_state_and_update'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:139:in `block in execute'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/interval.rb:18:in `interval'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:128:in `execute'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:383:in `block in execute'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/task.rb:24:in `block in initialize'"]}
[2025-02-06T18:22:28,613][ERROR][logstash.config.sourceloader] Could not fetch all the sources {:exception=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError, :message=>"Got response code '404' contacting Elasticsearch at URL 'https://elasticsearch-sample-es-http.default.svc:9200/_logstash/pipeline?id=main'", :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/manticore_adapter.rb:81:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:350:in `perform_request_to_url'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:336:in `block in perform_request'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:424:in `with_connection'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:335:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:343:in `block in Pool'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-output-elasticsearch-12.0.2-java/lib/logstash/outputs/elasticsearch/http_client.rb:215:in `get'", "/usr/share/logstash/x-pack/lib/config_management/elasticsearch_source.rb:220:in `block in fetch_config'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/try.rb:79:in `block in try'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/try.rb:95:in `block in try'", "org/jruby/RubyFixnum.java:312:in `times'", "org/jruby/RubyEnumerator.java:320:in `each'", "org/jruby/RubyEnumerator.java:336:in `each'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/try.rb:91:in `try'", "/usr/share/logstash/x-pack/lib/config_management/elasticsearch_source.rb:216:in `fetch_config'", "/usr/share/logstash/x-pack/lib/config_management/elasticsearch_source.rb:73:in `pipeline_configs'", "/usr/share/logstash/logstash-core/lib/logstash/config/source_loader.rb:75:in `block in fetch'", "org/jruby/RubyArray.java:2798:in `collect'", "/usr/share/logstash/logstash-core/lib/logstash/config/source_loader.rb:74:in `fetch'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:211:in `converge_state_and_update'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:139:in `block in execute'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/interval.rb:18:in `interval'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:128:in `execute'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:383:in `block in execute'", "/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/stud-0.0.23/lib/stud/task.rb:24:in `block in initialize'"]}

Steps to reproduce the problem

  • Start Elasticsearch with no Logstash pipeline data
  • Install latest es-output bin/logstash-plugin install --version 12.0.2 logstash-output-elasticsearch
  • Start Logstash with CPM config
xpack.management.enabled: true
xpack.management.elasticsearch.username: elastic
xpack.management.elasticsearch.password: REDACTED
xpack.management.elasticsearch.hosts: ["https://localhost:9200"]
xpack.management.pipeline.id: ["no_pipe"]

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions