Matt/all,
I was able to solve my problem using the QueryNiFiReportingTask with
"SELECT * FROM CONNECTION_STATUS WHERE isBackPressureEnabled = true" and
the new LoggingRecordSink as you suggested. Everything is working
flawlessly now. Thank you again!

Scott

On Wed, Jul 21, 2021 at 5:09 PM Matt Burgess <[email protected]> wrote:

> Scott,
>
> Glad to hear it! Please let me know if you have any questions or if
> issues arise. One thing I forgot to mention is that I think
> backpressure prediction is disabled by default due to the extra
> consumption of CPU to do the regressions, make sure the
> "nifi.analytics.predict.enabled" property in nifi.properties is set to
> "true" before starting NiFi.
>
> Regards,
> Matt
>
> On Wed, Jul 21, 2021 at 7:21 PM scott <[email protected]> wrote:
> >
> > Excellent! Very much appreciate the help and for setting me on the right
> path. I'll give the queryNiFiReportingTask code a try.
> >
> > Scott
> >
> > On Wed, Jul 21, 2021 at 3:26 PM Matt Burgess <[email protected]>
> wrote:
> >>
> >> Scott et al,
> >>
> >> There are a number of options for monitoring flows, including
> >> backpressure and even backpressure prediction:
> >>
> >> 1) The REST API for metrics. As you point out, it's subject to the
> >> same authz/authn as any other NiFi operation and doesn't sound like it
> >> will work out for you.
> >> 2) The Prometheus scrape target via the REST API. The issue would be
> >> the same as #1 I presume.
> >> 3) PrometheusReportingTask. This is similar to the REST scrape target
> >> but isn't subject to the usual NiFi authz/authn stuff, however it does
> >> support SSL/TLS for a secure solution (and is also a "pull" approach
> >> despite it being a reporting task)
> >> 4) QueryNiFiReportingTask. This is not included with the NiFi
> >> distribution but can be downloaded separately, the latest version
> >> (1.14.0) is at [1]. I believe this is what Andrew was referring to
> >> when he mentioned being able to run SQL queries over the information,
> >> you can do something like "SELECT * FROM CONNECTION_STATUS_PREDICTIONS
> >> WHERE predictedTimeToBytesBackpressureMillis < 10000". This can be
> >> done either as a push or pull depending on the Record Sink you choose.
> >> A SiteToSiteReportingRecordSink, KafkaRecordSink, or LoggingRecordSink
> >> results in a push (to NiFi, Kafka, or nifi-app.log respectively),
> >> where a PrometheusRecordSink results in a pull the same as #2 and #3.
> >> There's even a ScriptedRecordSink where you can write your own script
> >> to put the results where you want them.
> >> 5) The other reporting tasks. These have been mentioned frequently in
> >> this thread so no need for elaboration here :)
> >>
> >> Regards,
> >> Matt
> >>
> >> [1]
> https://repository.apache.org/content/repositories/releases/org/apache/nifi/nifi-sql-reporting-nar/1.14.0/
> >>
> >> On Wed, Jul 21, 2021 at 5:58 PM scott <[email protected]> wrote:
> >> >
> >> > Great comments all. I agree with the architecture comment about push
> monitoring. I've been monitoring applications for more than 2 decades now,
> but sometimes you have to work around the limitations of the situation. It
> would be really nice if NiFi had this logic built-in, and frankly I'm
> surprised it is not yet. I can't be the only one who has had to deal with
> queues filling up, causing problems downstream. NiFi certainly knows that
> the queues fill up, they change color and execute back-pressure logic. If
> it would just do something simple like write a log/error message to a log
> file when this happens, I would be good.
> >> > I have looked at the new metrics and reporting tasks but still
> haven't found the right thing to do to get notified when any queue in my
> instance fills up. Are there any examples of using them for a similar task
> you can share?
> >> >
> >> > Thanks,
> >> > Scott
> >> >
> >> > On Wed, Jul 21, 2021 at 11:29 AM [email protected] <
> [email protected]> wrote:
> >> >>
> >> >> In general, it is a bad architecture to do monitoring via pull
> request. You should always push. I recommend a look at the book "The Art of
> Monitoring" by James Turnbull.
> >> >>
> >> >> I also recommend the very good articles by Pierre Villard on the
> subject of NiFi monitoring at
> https://pierrevillard.com/2017/05/11/monitoring-nifi-introduction/.
> >> >>
> >> >> Hope this helps.
> >> >>
> >> >> Mit freundlichen Grüßen / best regards
> >> >> Kay-Uwe Moosheimer
> >> >>
> >> >> Am 21.07.2021 um 16:45 schrieb Andrew Grande <[email protected]>:
> >> >>
> >> >> 
> >> >> Can't you leverage some of the recent nifi features and basically
> run sql queries over NiFi metrics directly as part of the flow? Then act on
> it with a full flexibility of the flow. Kinda like a push design.
> >> >>
> >> >> Andrew
> >> >>
> >> >> On Tue, Jul 20, 2021, 2:31 PM scott <[email protected]> wrote:
> >> >>>
> >> >>> Hi all,
> >> >>> I'm trying to setup some monitoring of all queues in my NiFi
> instance, to catch before queues become full. One solution I am looking at
> is to use the API, but because I have a secure NiFi that uses LDAP, it
> seems to require a token that expires in 24 hours or so. I need this to be
> an automated solution, so that is not going to work. Has anyone else
> tackled this problem with a secure LDAP enabled cluster?
> >> >>>
> >> >>> Thanks,
> >> >>> Scott
>

Reply via email to