GithubHelp home page GithubHelp logo

Comments (23)

jchauncey avatar jchauncey commented on June 18, 2024

Newer version of fluentd cause this issue (0.14.0 wasnt affected)

from fluent-plugin-kubernetes_metadata_filter.

micahhausler avatar micahhausler commented on June 18, 2024

@jchauncey is that a plugin bug or a fluentd bug then?

from fluent-plugin-kubernetes_metadata_filter.

jchauncey avatar jchauncey commented on June 18, 2024

its a plugin bug

from fluent-plugin-kubernetes_metadata_filter.

jimmidyson avatar jimmidyson commented on June 18, 2024

Will look at this & corresponding PR tomorrow. Bit annoying that breaking change in a minor release...

from fluent-plugin-kubernetes_metadata_filter.

gamkiller77 avatar gamkiller77 commented on June 18, 2024

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.

jimmidyson avatar jimmidyson commented on June 18, 2024

Fixed by #36, just need to release which I will do tomorrow unless I forget (again!).

from fluent-plugin-kubernetes_metadata_filter.

repeatedly avatar repeatedly commented on June 18, 2024

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.

jimmidyson avatar jimmidyson commented on June 18, 2024

@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.

jimmidyson avatar jimmidyson commented on June 18, 2024

Fixed in #37. Releasing now.

from fluent-plugin-kubernetes_metadata_filter.

jimmidyson avatar jimmidyson commented on June 18, 2024

Released v0.25.1. Enjoy!

from fluent-plugin-kubernetes_metadata_filter.

gamkiller77 avatar gamkiller77 commented on June 18, 2024

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.

jimmidyson avatar jimmidyson commented on June 18, 2024

Can you raise a separate issue please? With a PR to fix would be amazing too if possible!

from fluent-plugin-kubernetes_metadata_filter.

repeatedly avatar repeatedly commented on June 18, 2024

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.

jimmidyson avatar jimmidyson commented on June 18, 2024

So no performance issue?

from fluent-plugin-kubernetes_metadata_filter.

repeatedly avatar repeatedly commented on June 18, 2024

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.

repeatedly avatar repeatedly commented on June 18, 2024

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.

jimmidyson avatar jimmidyson commented on June 18, 2024

@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.

repeatedly avatar repeatedly commented on June 18, 2024

that could easily be stubbed.

Could you give me a resource or link?

from fluent-plugin-kubernetes_metadata_filter.

jimmidyson avatar jimmidyson commented on June 18, 2024

Switched discussion on performance to #39.

from fluent-plugin-kubernetes_metadata_filter.

Sam123ben avatar Sam123ben commented on June 18, 2024

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 filterorfilter_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:ininitialize'
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:

@type tail format multiline multiline_flush_interval 5s format_firstline /^\w\d{4}/ format1 /^(?\w)(?\d{4} [^\s]*)\s+(?\d+)\s+(?[^ \]]+)\] (?.*)/ time_format %m%d %H:%M:%S.%N path /var/log/cluster-autoscaler.log pos_file /var/log/es-cluster-autoscaler.log.pos tag cluster-autoscaler

<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.

jcantrill avatar jcantrill commented on June 18, 2024

@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.

mhobotpplnet avatar mhobotpplnet commented on June 18, 2024

Has this been fixed?

from fluent-plugin-kubernetes_metadata_filter.

jcantrill avatar jcantrill commented on June 18, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.