Comments (23)
Newer version of fluentd cause this issue (0.14.0 wasnt affected)
from fluent-plugin-kubernetes_metadata_filter.
@jchauncey is that a plugin bug or a fluentd bug then?
from fluent-plugin-kubernetes_metadata_filter.
its a plugin bug
from fluent-plugin-kubernetes_metadata_filter.
Will look at this & corresponding PR tomorrow. Bit annoying that breaking change in a minor release...
from fluent-plugin-kubernetes_metadata_filter.
Yah I ran in to this exact problem today when I updated my log-forwarder container I have. Is there an update to when this may be patched?
from fluent-plugin-kubernetes_metadata_filter.
Fixed by #36, just need to release which I will do tomorrow unless I forget (again!).
from fluent-plugin-kubernetes_metadata_filter.
Bit annoying that breaking change in a minor release...
This is our mistake. We can't check all plugins, so we assume all filters define filter
, filter_with_time
or filter_stream
statically...
from fluent-plugin-kubernetes_metadata_filter.
@repeatedly No I take my criticism back now you've explained what's gone wrong - it is a sane & safe assumption you made. Just our fault for dynamically aliasing the method. Thanks for your help with fixing this.
from fluent-plugin-kubernetes_metadata_filter.
Fixed in #37. Releasing now.
from fluent-plugin-kubernetes_metadata_filter.
Released v0.25.1. Enjoy!
from fluent-plugin-kubernetes_metadata_filter.
hate to say it but see new error about this and the error is below.
2016-09-08 17:11:26 +0000 [info]: fluent/event_router.rb:213:optimizable?: Filtering works with worse performance, because [Fluent::KubernetesMetadataFilter, Fluent::Plugin::RecordTransformerFilter] uses
#filter_streammethod.
The filtering works with worse performance is a problem it is now doing a buffer over flow with KAFKA. I will reach out to the other plugin that stated here too.
from fluent-plugin-kubernetes_metadata_filter.
Can you raise a separate issue please? With a PR to fix would be amazing too if possible!
from fluent-plugin-kubernetes_metadata_filter.
This is info
, not error.
This message means fluentd can't optimize filter pipeline because XxxFilter uses filter_stream
.
Maybe, worse performance
words is bad for users.
kubernetes_metadata_filter and record_transformer_filter work without no problem.
from fluent-plugin-kubernetes_metadata_filter.
So no performance issue?
from fluent-plugin-kubernetes_metadata_filter.
Yes. Performance should be same with v0.12.
For example, if we have input -> filter -> filter -> output
pipeline,
- In v0.12, fluentd iterates event stream for each filter. This case fluentd do two iterations.
- In v0.14, fluentd combines two filters into one and fluentd applies combined filters in 1 iteration.
In this result, v0.14 reduces iteration cost and new object allocation cost. But this optimization has one limitation. We can optimize filter pipeline when filter uses filter
or filter_with_time
method. Fluentd stops this optimization when one filter uses filter_stream
.
from fluent-plugin-kubernetes_metadata_filter.
I want to know this filter performance.
Can we test this filter on normal machine, e.g. macbook or Linux on VM?
Need actual k8s environment for applying filter?
from fluent-plugin-kubernetes_metadata_filter.
@repeatedly I would love some help with performance tuning so would love your help with that. You need a k8s environment to retrieve metadata to enrich records but that could easily be stubbed.
from fluent-plugin-kubernetes_metadata_filter.
that could easily be stubbed.
Could you give me a resource or link?
from fluent-plugin-kubernetes_metadata_filter.
Switched discussion on performance to #39.
from fluent-plugin-kubernetes_metadata_filter.
Hi, is this issue resolved, as I find the same issue trying to run the fluent in my cluster.
➜ vof_env_nonprod_ta git:(master) ✗ kubectl logs fluentd-elasticsearch-wjsr7 -n kube-system
2018-06-06 12:35:33 +0000 [info]: parsing config file is succeeded path="/etc/td-agent/td-agent.conf"
2018-06-06 12:35:33 +0000 [warn]: 'type' is deprecated parameter name. use '@type' instead.
2018-06-06 12:35:33 +0000 [warn]: 'type' is deprecated parameter name. use '@type' instead.
/opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/plugin/filter.rb:88:in has_filter_with_time?': BUG: Filter plugins MUST implement either
filteror
filter_with_time(NotImplementedError) from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/plugin/filter.rb:37:in
initialize'
from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/plugin_helper/inject.rb:92:in initialize' from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/compat/filter.rb:31:in
initialize'
from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kubernetes_metadata_filter-0.24.0/lib/fluent/plugin/filter_kubernetes_metadata.rb:99:in initialize' from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/plugin.rb:149:in
new'
from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/plugin.rb:149:in new_impl' from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/plugin.rb:108:in
new_filter'
from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/agent.rb:150:in add_filter' from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/agent.rb:70:in
block in configure'
from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/agent.rb:64:in each' from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/agent.rb:64:in
configure'
from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/root_agent.rb:112:in configure' from /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-1.2.1/lib/fluent/engine.rb:131:in
configure'
My td-agent.conf file snippet as below:
<filter_with_time kubernetes.java.**>
@type concat
key log
multiline_start_regexp /^\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}.\d{1,3}/
</filter_with_time>
<filter_with_time kubernetes.**>
@type kubernetes_metadata
</filter_with_time>
from fluent-plugin-kubernetes_metadata_filter.
@Sam123ben Please open a new issue with details about the environment and gems you are using so we may properly investigate.
from fluent-plugin-kubernetes_metadata_filter.
Has this been fixed?
from fluent-plugin-kubernetes_metadata_filter.
@mhobotpplnet My suspicion is no as there has not been much love given to the latest release of fluentd. PR are welcome
from fluent-plugin-kubernetes_metadata_filter.
Related Issues (20)
- Remove deprecated journal functionality
- Optimize cache to use event time
- Stop marshaling and unmarshaling meta
- fix dumping of stats and allow configuration to disable it
- [info]: [filter_kube_metadata] Exception encountered parsing namespace watch event. The connection might have been closed. Sleeping for 1 seconds and resetting the namespace watcher.error reading from socket: Connection reset by peer HOT 2
- watch_retry_interval & watch_retry_exponential_backoff_base are not documented HOT 1
- is a changelog maintained anywhere? HOT 2
- Failure while installing fluent-plugin-kubernetes_metadata_filter plugin version 2.10.0 HOT 4
- 410 Gone encountered. Restarting pod watch to reset resource versions HOT 7
- gemfile.lock fluentd version in v2.13.0 HOT 2
- Compatibility with Ruby >= 3 ? HOT 1
- Support Fluentd 1.16.0 HOT 1
- How to debug problem if kubernetes_metadata not add any metadata from k8s? HOT 1
- undefined method `get_namespaces' for k8s client HOT 2
- v2.x release with fluentd 1.16.x support HOT 3
- pod-id filled with null bytes HOT 1
- New version of the plugin HOT 1
- can add "Controlled By" field to meta HOT 1
- Elasticsearch k8s labels issue HOT 3
- Logs with exception connection to api server HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluent-plugin-kubernetes_metadata_filter.