<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-prometheus-nar</artifactId><version>2.0.0-M4</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M4</version></parentNar><systemApiVersion>2.0.0-M4</systemApiVersion><buildInfo><tag>nifi-2.0.0-M4-RC1</tag><branch>UNKNOWN</branch><revision>19c5be0</revision></buildInfo><extensions><extension><name>org.apache.nifi.reporting.prometheus.PrometheusRecordSink</name><type>CONTROLLER_SERVICE</type><description>Specifies a Record Sink Service that exposes data points to a Prometheus scraping service. Numeric fields are exposed as Gauges, String fields are the label values for the gauges, and all other fields are ignored.</description><tags><tag>record</tag><tag>send</tag><tag>write</tag><tag>prometheus</tag></tags><properties><property><name>prometheus-reporting-task-metrics-endpoint-port</name><displayName>Prometheus Metrics Endpoint Port</displayName><description>The Port where prometheus metrics can be accessed</description><defaultValue>9092</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>prometheus-reporting-task-instance-id</name><displayName>Instance ID</displayName><description>Id of this NiFi instance to be included in the metrics sent to Prometheus</description><defaultValue>${hostname(true)}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>prometheus-reporting-task-ssl-context</name><displayName>SSL Context Service</displayName><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</description><controllerServiceDefinition><className>org.apache.nifi.ssl.RestrictedSSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M4</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>prometheus-reporting-task-client-auth</name><displayName>Client Authentication</displayName><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.</description><defaultValue>No Authentication</defaultValue><allowableValues><allowableValue><displayName>No Authentication</displayName><value>No Authentication</value><description>ReportingTask will not authenticate clients. Anyone can communicate with this ReportingTask anonymously</description></allowableValue><allowableValue><displayName>Want Authentication</displayName><value>Want Authentication</value><description>ReportingTask will try to verify the client but if unable to verify will allow the client to communicate anonymously</description></allowableValue><allowableValue><displayName>Need Authentication</displayName><value>Need Authentication</value><description>ReportingTask will reject communications from any client unless the client provides a certificate that is trusted by the TrustStorespecified in the SSL Context Service</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.record.sink.RecordSinkService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M4</version></providedServiceAPI></providedServiceAPIs></extension><extension><name>org.apache.nifi.reporting.prometheus.PrometheusReportingTask</name><type>REPORTING_TASK</type><description>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.</description><tags><tag>reporting</tag><tag>prometheus</tag><tag>metrics</tag><tag>time series data</tag></tags><properties><property><name>prometheus-reporting-task-metrics-endpoint-port</name><displayName>Prometheus Metrics Endpoint Port</displayName><description>The Port where prometheus metrics can be accessed</description><defaultValue>9092</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>prometheus-reporting-task-instance-id</name><displayName>Instance ID</displayName><description>Id of this NiFi instance to be included in the metrics sent to Prometheus</description><defaultValue>${hostname(true)}</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>prometheus-reporting-task-metrics-strategy</name><displayName>Metrics Reporting Strategy</displayName><description>The granularity on which to report metrics. Options include only the root process group, all process groups, or all components</description><defaultValue>All Components</defaultValue><allowableValues><allowableValue><displayName>Root Process Group</displayName><value>Root Process Group</value><description>Send rollup metrics for the entire root process group</description></allowableValue><allowableValue><displayName>All Process Groups</displayName><value>All Process Groups</value><description>Send metrics for each process group</description></allowableValue><allowableValue><displayName>All Components</displayName><value>All Components</value><description>Send metrics for each component in the system, to include processors, connections, controller services, etc.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>prometheus-reporting-task-metrics-send-jvm</name><displayName>Send JVM metrics</displayName><description>Send JVM metrics in addition to the NiFi metrics</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>prometheus-reporting-task-ssl-context</name><displayName>SSL Context Service</displayName><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</description><controllerServiceDefinition><className>org.apache.nifi.ssl.RestrictedSSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M4</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>prometheus-reporting-task-client-auth</name><displayName>Client Authentication</displayName><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.</description><defaultValue>No Authentication</defaultValue><allowableValues><allowableValue><displayName>No Authentication</displayName><value>No Authentication</value><description>ReportingTask will not authenticate clients. Anyone can communicate with this ReportingTask anonymously</description></allowableValue><allowableValue><displayName>Want Authentication</displayName><value>Want Authentication</value><description>ReportingTask will try to verify the client but if unable to verify will allow the client to communicate anonymously</description></allowableValue><allowableValue><displayName>Need Authentication</displayName><value>Need Authentication</value><description>ReportingTask will reject communications from any client unless the client provides a certificate that is trusted by the TrustStorespecified in the SSL Context Service</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><defaultSchedule><strategy>TIMER_DRIVEN</strategy><period>60 sec</period><concurrentTasks>1</concurrentTasks></defaultSchedule></extension></extensions></extensionManifest>