Sure not a problem! Hopefully below thoughts can help you get started: As you may know the PrometheusReportingTask is a bit different from other tasks in that it actually exposes an endpoint for Prometheus to scrape (vs. pushing data directly to Prometheus). When the task is started the endpoint is created on the port you designate under “/metrics”; so just ensure that you don’t have anything already on the port you select. If you want to ensure that you have a secured endpoint for Prometheus to connect, be sure to use a SSL Context Service (a controller service that will allow the reporting task to use the appropriate key/trust stores for TLS). Also you'll want to consider the levels at which you are reporting (Root Group, Process Group or All Components), especially in terms of the amount of data you are looking to send back. Jvm metrics can be sent as well flow specific metrics. Finally consider how often metrics should be refreshed by adjusting the Scheduling Strategy in the settings tab for the task.
When starting the task you should be able to go directly to the endpoint (without Prometheus) to confirm it’s output (e.g. http://locahost:9092/metrics ). You should see a format similar to what Prometheus supports for it’s scraping jobs (see example https://prometheus.io/docs/instrumenting/exposition_formats/#text-format-example ) On the Prometheus side you’ll want to follow their instructions on how to setup a scrape configuration that will point to the newly created metrics endpoint . I’d recommend checking out the first steps for help ( https://prometheus.io/docs/introduction/first_steps/#configuring-prometheus) and then when you need to provide more advanced settings take a look here https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. The key is you’ll want to define a new scrape job that looks at the NiFi endpoint for scraping. To start you may want to refer to the cluster directly but later add the security credentials or use another method for discovering the endpoint. Once these configurations are in place, and Prometheus is started (or restarted) after a few seconds you should begin to see metrics landing when querying in Grafana. I hope this helps! Please let me know if you have any further questions. -yolanda On Tue, Mar 3, 2020 at 2:10 PM Eric Ladner <[email protected]> wrote: > Yes, exactly! Reporting Task -> Prometheus -> Grafana for keeping an eye > on things running in NiFi. > > If you have any hints/tips on getting things working, I'd be grateful. > > On Tue, Mar 3, 2020 at 12:35 PM Yolanda Davis <[email protected]> > wrote: > >> Hi Eric, >> >> Were you looking to use the Prometheus Reporting Task for making metrics >> available for Prometheus scraping? I don't believe any documentation >> outside of what is in NiFi exists just yet, but I'm happy to help answer >> questions you may have (I've used this task recently). >> >> -yolanda >> >> On Tue, Mar 3, 2020 at 10:51 AM Eric Ladner <[email protected]> >> wrote: >> >>> Is there a guide to setting up Nifi and Prometheus anywhere? The nar >>> docs are a little vague. >>> >>> Thanks, >>> >>> Eric Ladner >>> >> >> >> -- >> -- >> [email protected] >> @YolandaMDavis >> >> > > -- > Eric Ladner > -- -- [email protected] @YolandaMDavis
