As the answer on SO suggests, Prometheus comes with lots of functionality to do 
what you’re requesting using just a simple count metric:

https://prometheus.io/docs/prometheus/latest/querying/functions/

If you want to implement the function on your own inside flink, you can make 
your own metrics, and add them to the metric group, and use the metrics inside 
rich functions. For example:

getRuntimeContext().getMetricGroup().addGroup(YOUR_METRIC_GROUP_NAME)
This will return you a org.apache.flink.metrics.MetricGroup. You can then use 
this MetricGroup to attach Metrics, such as counters, gauges (in the SO 
suggestion), and histograms. You can then interact with these Metrics, and they 
will expose your new metrics to your Prometheus exporter, for example.

Chris

From: aj <ajainje...@gmail.com>
Date: Tuesday, June 16, 2020 at 1:31 PM
To: user <user@flink.apache.org>
Subject: [EXTERNAL] Flink Count of Events using metric

Please help me with this:

https://stackoverflow.com/questions/62297467/flink-count-of-events-using-metric<https://urldefense.com/v3/__https:/stackoverflow.com/questions/62297467/flink-count-of-events-using-metric__;!!CQl3mcHX2A!TRrPwe9O-e1gS06ETkdnp8Fxk1KmQO7N1ctDELZh5OeArodlxrTReVv4ZPHh5olSv7Sq5Pk$>

I have a topic in Kafka where I am getting multiple types of events in JSON 
format. I have created a file stream sink to write these events to S3 with 
bucketing.

Now I want to publish an hourly count of each event as metrics to Prometheus 
and publish a grafana dashboard over that.

So please help me how can I achieve hourly count for each event using Flink 
metrics and publish to Prometheus.


--
Thanks & Regards,
Anuj Jain


Reply via email to