blob: f8e10bd42e98d753ed554f7c0bc373aaacb41767 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>PrometheusReportingTask</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">PrometheusReportingTask</h1><h2>Description: </h2><p>Reports metrics in Prometheus format by creating a /metrics HTTP(S) endpoint which can be used for external monitoring of the application. The reporting task reports a set of metrics regarding the JVM (optional) and the NiFi instance. Note that if the underlying Jetty server (i.e. the Prometheus endpoint) cannot be started (for example if two PrometheusReportingTask instances are started on the same port), this may cause a delay in shutting down NiFi while it waits for the server resources to be cleaned up.</p><h3>Tags: </h3><p>reporting, prometheus, metrics, time series data</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Prometheus Metrics Endpoint Port</strong></td><td>prometheus-reporting-task-metrics-endpoint-port</td><td id="default-value">9092</td><td id="allowable-values"></td><td id="description">The Port where prometheus metrics can be accessed<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name"><strong>Instance ID</strong></td><td>prometheus-reporting-task-instance-id</td><td id="default-value">${hostname(true)}</td><td id="allowable-values"></td><td id="description">Id of this NiFi instance to be included in the metrics sent to Prometheus<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name"><strong>Metrics Reporting Strategy</strong></td><td>prometheus-reporting-task-metrics-strategy</td><td id="default-value">All Components</td><td id="allowable-values"><ul><li>Root Process Group <img src="../../../../../html/images/iconInfo.png" alt="Send rollup metrics for the entire root process group" title="Send rollup metrics for the entire root process group"></img></li><li>All Process Groups <img src="../../../../../html/images/iconInfo.png" alt="Send metrics for each process group" title="Send metrics for each process group"></img></li><li>All Components <img src="../../../../../html/images/iconInfo.png" alt="Send metrics for each component in the system, to include processors, connections, controller services, etc." title="Send metrics for each component in the system, to include processors, connections, controller services, etc."></img></li></ul></td><td id="description">The granularity on which to report metrics. Options include only the root process group, all process groups, or all components</td></tr><tr><td id="name"><strong>Send JVM metrics</strong></td><td>prometheus-reporting-task-metrics-send-jvm</td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Send JVM metrics in addition to the NiFi metrics</td></tr><tr><td id="name">SSL Context Service</td><td>prometheus-reporting-task-ssl-context</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>RestrictedSSLContextService<br/><strong>Implementation: </strong><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardRestrictedSSLContextService/index.html">StandardRestrictedSSLContextService</a></td><td id="description">The SSL Context Service to use in order to secure the server. If specified, the server willaccept only HTTPS requests; otherwise, the server will accept only HTTP requests</td></tr><tr><td id="name"><strong>Client Authentication</strong></td><td>prometheus-reporting-task-client-auth</td><td id="default-value">No Authentication</td><td id="allowable-values"><ul><li>No Authentication <img src="../../../../../html/images/iconInfo.png" alt="ReportingTask will not authenticate clients. Anyone can communicate with this ReportingTask anonymously" title="ReportingTask will not authenticate clients. Anyone can communicate with this ReportingTask anonymously"></img></li><li>Want Authentication <img src="../../../../../html/images/iconInfo.png" alt="ReportingTask will try to verify the client but if unable to verify will allow the client to communicate anonymously" title="ReportingTask will try to verify the client but if unable to verify will allow the client to communicate anonymously"></img></li><li>Need Authentication <img src="../../../../../html/images/iconInfo.png" alt="ReportingTask will reject communications from any client unless the client provides a certificate that is trusted by the TrustStorespecified in the SSL Context Service" title="ReportingTask will reject communications from any client unless the client provides a certificate that is trusted by the TrustStorespecified in the SSL Context Service"></img></li></ul></td><td id="description">Specifies whether or not the Reporting Task should authenticate clients. This value is ignored if the &lt;SSL Context Service&gt; Property is not specified or the SSL Context provided uses only a KeyStore and not a TrustStore.</td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>System Resource Considerations:</h3>None specified.</body></html>