Description:
Publishes metrics from NiFi to Ambari Metrics Service (AMS). Due to how the Ambari Metrics Service works, this reporting task should be scheduled to run every 60 seconds. Each iteration it will send the metrics from the previous iteration, and calculate the current metrics to be sent on next iteration. Scheduling this reporting task at a frequency other than 60 seconds may produce unexpected results.
Tags:
reporting, ambari, metrics
Properties:
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
Name | Default Value | Allowable Values | Description |
Metrics Collector URL | http://localhost:6188/ws/v1/timeline/metrics |
The URL of the Ambari Metrics Collector Service Supports Expression Language: true |
|
Application ID | nifi |
The Application ID to be included in the metrics sent to Ambari Supports Expression Language: true |
|
Hostname | ${hostname(true)} |
The Hostname of this NiFi instance to be included in the metrics sent to Ambari Supports Expression Language: true |
AmbariReportingTask
This ReportingTask sends the following metrics to Ambari:
- FlowFilesReceivedLast5Minutes
- BytesReceivedLast5Minutes
- FlowFilesSentLast5Minutes
- BytesSentLast5Minutes
- FlowFilesQueued
- BytesQueued
- BytesReadLast5Minutes
- BytesWrittenLast5Minutes
- ActiveThreads
- TotalTaskDurationSeconds
- jvm.uptime
- jvm.heap_used
- jvm.heap_usage
- jvm.non_heap_usage
- jvm.thread_states.runnable
- jvm.thread_states.blocked
- jvm.thread_states.timed_waiting
- jvm.thread_states.terminated
- jvm.thread_count
- jvm.daemon_thread_count
- jvm.file_descriptor_usage
- jvm.gc.runs
- jvm.gc.time
In order to make use of these metrics in Ambari, a NIFI service must be created and installed in Ambari. Please consult the Ambari and NiFi documentation for further details.