Comments (10)
Oh yah
i missed this infact. Thanks for pointing it. I will try to check this in my free time.
from fluentd.
Maybe can close this one, since it was implemented on the plugin itself, and I also filed an issue there
fluent/fluent-plugin-prometheus#219
from fluentd.
@Lusitaniae I have one query with this. I understand you want to expose it in compressed format but can you name few metrics collectors that scrape in compressed format and decompresses it?
I have worked with Telegraf and chronocollector and both don't support scraping metrics that are in compressed format
I guess if this is not the standard then not sure if its a genuine feature request
from fluentd.
Should work for prometheus
https://github.com/prometheus/prometheus/blob/main/scrape/scrape.go#L729
https://prometheus.io/docs/instrumenting/exposition_formats/
from fluentd.
I see
For now it seems only gzip format is supported
Maybe I can pick this up in the following week
from fluentd.
Much appreciated 🙏
from fluentd.
@Lusitaniae This would require to contribute to https://github.com/prometheus/client_ruby/blob/main/lib/prometheus/client/formats/text.rb the official prometheus client for ruby. The hackaround for this is we break the abstractions in the Fluentd prometheus plugin to fetch the metrics info and compress and host directly. Not sure which is a better call because maybe first is overkill but I feel that's the write method
from fluentd.
Doesn't this solve it?
It's highly recommended to enable gzip compression for the metrics endpoint, for example by including the Rack::Deflater middleware.
https://github.com/prometheus/client_ruby?tab=readme-ov-file#rack-middleware
from fluentd.
I was checking this @Lusitaniae. So for the Rack middleware to be used we need to have the app(http server) exposed and get overriden with the middleware. But i guess the code abstraction in fluentd has made use of a plugin helper so seems like its not as direct as we see. I am actively checking how to make use of it but incase if you also find something interesting please let me know
For now i am not using rack but trying to compress the data directly and put it in the response body
from fluentd.
@kenhys the PR is done for this and reviewed by @ashie. I guess u can change the label to the appropriate one
fluent/fluent-plugin-prometheus#223
from fluentd.
Related Issues (20)
- Fluentd causing inflated bandwidth bills in AKS HOT 1
- Enable OpenSSF Scorecard to enhance security practices across the project HOT 3
- Ruby uplift 2.5 -> 3.3 makes Fluentd startup 60x slower HOT 7
- D:/opt/calyptia-fluentd/lib/ruby/3.2.0/rubygems.rb:1342:in `rescue in <top (required)>': U+795E to ASCII-8BIT in conversion from UTF-16LE to UTF-8 to ASCII-8BIT (Encoding::UndefinedConversionError) HOT 5
- Fluentd causing inflated bandwidth bills in AKS HOT 4
- Bind to all network interfaces for both IPv4 and IPv6 HOT 11
- Flushing the buffer fails with `BSON::Error::UnserializableClass error="Value does not define its BSON serialized type: 1721203518"`. HOT 2
- Error event logs should include plugin id HOT 17
- remove_key_name_field true when key_name is message causes ArgumentError error="message does not exist" HOT 5
- 500 response when scraping prometheus metrics in kubernetes with istio service mesh HOT 2
- CI fails on Ruby HEAD HOT 8
- `warning: literal string will be frozen in the future` since Ruby 3.4.0
- `FrozenError: can't modify frozen String` in http_server plugin helper
- Improvement of OpenSSF Scorecard Score HOT 4
- v1.17.1 sometimes kills in_monitor_http_server_helper thread HOT 5
- Fluentd is not able to send .json extension file logs to logstash (fluent/fluentd-kubernetes-daemonset:v1.16.3-debian-opensearch-amd64-2.0)
- Fluentd uses the Kafka output plugin, and after manually deleting the topic, it gets recreated. HOT 1
- Add Fuzz-testing HOT 3
- Output forward connections are in CLOSE_WAIT state HOT 10
- Update/Reload without downtime
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 fluentd.