I have an AWS Domain to which I am trying to Ingest Json codec files from GCS bucket using Logstash. I can see a log stating that my logstash has connected to domain and a few other logs stating it is trying to fetch logs from GCS bucket.
This is my logstash configuration.
input {
google_cloud_storage {
bucket_id => "test-bucket"
json_key_file => "/etc/logstash/credentials.json"
codec => "json_lines"
}
}
filter {
}
output {
opensearch {
hosts => "https://<name>.us-east-1.es.amazonaws.com:443"
user => "admin"
password => "admin"
index => "logstash-test-1"
ssl_certificate_verification => true
}
}
The same file works expected when the input is a file via ConfigMap. But when done via GCS, it doesn't push. I did see these logs.
[2024-06-19T08:28:41,025][INFO ][logstash.inputs.googlecloudstorage][main] ProcessedDb created in: /usr/share/logstash/data/plugins/inputs/google_cloud_storage/db
[2024-06-19T08:28:41,027][INFO ][logstash.inputs.googlecloudstorage][main] Turn on debugging to explain why blobs are filtered.
[2024-06-19T08:28:41,028][INFO ][logstash.javapipeline ][main] Pipeline started {"pipeline.id"=>"main"}
[2024-06-19T08:28:41,033][INFO ][logstash.inputs.googlecloudstorage][main][6278fa388e5b5004f390348cab6962e1c49ff5ef2e012a1436a636cecb12a3c8] Fetching blobs from test-bucket
[2024-06-19T08:28:41,045][INFO ][logstash.agent] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
I can see a log stating blobs are fetched, but it is not getting uploaded. Any reason why they are being filtered out? Using the official logstash docker image - docker.elastic.co/logstash/logstash:8.8.2 on which I have installed gcs input plugin.
Posting it here as I am using Elasticsearch logstash image.
Any help would be appreciated, I have been stuck here for days now.