-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plugin dont process objects correctly, dont delete or backup #240
Comments
github.com/logstash-plugins/issues/240
Im fixed plugin in fork |
Same problem here, using logstash 8.2.0 docker image. Switched to fork... |
Same here, switched to fork. |
@kaisecheng any ideas why it happens? |
The reason for comparing the last modified time of object and log is to confirm the object is not updated since the list action. If the object gets updated, its last modified time will bring it to the next cycle. Deleting the comparison leads to duplication/ reprocessing of ingested data.
The plugin can't work properly without sincedb. Maybe the Logstash user lack of permission to write in the path? |
we use minio s3 bucket with admin s3:* permissions. Logstash reads logs good, but repeats reading them all the time |
It sounds like the plugin has an issue updating the sincedb. To compare object timestamps, Logstash needs to write the last modified time to sincedb, otherwise, the objects are reprocessed in the next cycle. Please check if Logstash is able to write to |
should I write smth to sincedb_path? and how to check if Logstash is able to write to |
I tried to run simultaneously two pipelines: one using aws s3 bucket, another one - minio s3 bucket. In both cases I found no errors in debug mode. There was written that both pipelines have default sincedb file created, BUT there was only one existed at the mentioned path - for aws bucket. It’s not local filesystem permissions, not minio permissions (because we use admin credentials). There is a lack of logs to understand why it happened. Please advice how to debug and fix it. |
@lysenkojito
Are you setting the same sincedb path in both pipelines? If paths are unique, I would expect to see error in log for minio s3. The best path forward for you is to create a new issue including a reproducer with debug log, config and pipelines for further investigation if you believe it is a bug. We support AWS s3 officially. The help for minio s3 will be limited. |
@kaisecheng It’s definitely not permissions issue. |
In my setup with minio, I found that the problem to be that the compared timestamps are not exactly equal. One of them is 12345678.0, the other one 12345678.863. I don't fully understand where these timestamps are coming from, thus I don't know if precision matters. This is a systematic problem with these two bits of information and the code never takes the turn into creating a sincedb entry or deleting objects. As a consequence Logstash is looping madly, consuming a lot of CPU time. |
Hello. Trouble in S3 input plugin with private S3 like AWS Minio.
Logstash normally read object and send to output, but backup or delete is not working.
Object staying in source bucket with no changes, objects are small json access log files, average size is 1-2 kB.
IAM role is allowed to any actions, checked that by delete object with mcli tool.
In S3 access logs i see only success (200) GET and HEAD, and no one PUT, POST or DELETE.
In logstash log i see only success logs like below
Found some interesting code
https://github.com/logstash-plugins/logstash-input-s3/blob/main/lib/logstash/inputs/s3.rb#L383
As i understand - plugin compare last_modified of object and log, and according to my log - postpone object processing to next cycle, and after default 60 seconds it repeating again.
Also trying to set sincedb_path => "/tmp/logstash/since.db" , but it is not creating.
Objects from bucket downloaded in /tmp/logstash/ and staying there.
The text was updated successfully, but these errors were encountered: