fluent / fluent-plugin-prometheus

A fluent plugin that collects metrics and exposes for Prometheus.
Apache License 2.0
257 stars 80 forks source link

Labels with empty values are not added #192

Open svend opened 3 years ago

svend commented 3 years ago

A label with an empty value does not get added to the Prometheus metrics. Here is an example. I would expect that every metric would have a label should_be_empty="".

    <labels>
      should_be_foo foo
      should_be_empty ""
      http_status ${http_status}
      proxy_host ${proxy_host}
    </labels>

However, the should_be_empty label does not show up on any metrics.

proxy_request_duration_seconds_count{http_status="200",instance="fluentd:9090",job="fluentd",proxy_host="upstream-a",should_be_foo="foo"}
proxy_request_duration_seconds_count{http_status="200",instance="fluentd:9090",job="fluentd",proxy_host="upstream-b",should_be_foo="foo"}
proxy_request_duration_seconds_count{http_status="404",instance="fluentd:9090",job="fluentd",proxy_host="example.com",should_be_foo="foo"}
proxy_request_duration_seconds_count{http_status="418",instance="fluentd:9090",job="fluentd",should_be_foo="foo"}
proxy_request_duration_seconds_count{http_status="500",instance="fluentd:9090",job="fluentd",proxy_host="upstream-a",should_be_foo="foo"}
proxy_request_duration_seconds_count{http_status="500",instance="fluentd:9090",job="fluentd",proxy_host="upstream-b",should_be_foo="foo"}
proxy_request_duration_seconds_count{http_status="504",instance="fluentd:9090",job="fluentd",proxy_host="example.com",should_be_foo="foo"}

Tested with gem 'fluent-plugin-prometheus' version '2.0.1'