Skip to content

tail_monitor plugin incompatible with prometheus-client 0.10.0 #119

Description

@eherot

Here's the relevant part of the stack trace from the fluentd logs:

2019-10-07 20:25:04 +0000 [error]: unexpected error error_class=ArgumentError error="wrong number of arguments (given 2, expected 1)"
  2019-10-07 20:25:04 +0000 [error]: /var/lib/gems/2.3.0/gems/prometheus-client-0.10.0/lib/prometheus/client/registry.rb:56:in `gauge'
  2019-10-07 20:25:04 +0000 [error]: /var/lib/gems/2.3.0/gems/fluent-plugin-prometheus-1.6.0/lib/fluent/plugin/in_prometheus_tail_monitor.rb:53:in `start'
  2019-10-07 20:25:04 +0000 [error]: /var/lib/gems/2.3.0/gems/fluentd-1.7.3/lib/fluent/root_agent.rb:203:in `block in start'

From the looks of it the problem is this code:

      @metrics = {
        position: @registry.gauge(
          :fluentd_tail_file_position,
          'Current position of file.'),
        inode: @registry.gauge(
          :fluentd_tail_file_inode,
          'Current inode of file.'),
      }

...which no longer works because of this change (although even more arguments have since been added).

Adding a version constraint to limit prometheus-client to 0.9.0 seems to be an effective workaround but obviously it isn't a good permanent solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions