有什么方法可以监视Nifi处理器吗?任何实用程序仪表板?

时间:2018-12-16 20:28:06

标签: apache-nifi

如果我已经开发了NiFi流程,并且支持人员希望查看当前状态以及当前正在运行的处理器,已经运行的处理器,已完成的处理器?

我的意思是说NiFi提供的任何仪表板实用程序都可以监视活动吗?

5 个答案:

答案 0 :(得分:2)

有许多方法可以监视NiFi流量和状态。 UI顶部的状态栏显示正在运行/已停止/无效的处理器计数,集群状态,线程计数等。右上角的全局菜单具有用于监视JVM使用率,已处理/已输入/输出流文件,CPU,等等

每个单独的处理器将显示一个状态图标,用于运行/已停止/无效/禁用,并且可以右键单击以获取与全局视图相同的JVM使用率,流文件状态等图形,但对于单个处理器。默认情况下,还提供了一些报告任务以与外部监视系统集成,并且可以为任何其他所需的可视化或监视仪表板编写自定义报告任务。

NiFi没有批处理/任务处理的概念,因此处理器不是“完整的”。

答案 1 :(得分:2)

您可以使用“报告”任务和NiFi本身,也可以使用新的NiFi实例。 为此,您必须执行以下操作:

打开报告任务菜单

enter image description here

并添加所需的报告任务

enter image description here

并正确配置

enter image description here

然后创建一个流程来管理报告数据

enter image description here

就我而言,我正在将信息放入Elasticsearch

enter image description here

答案 2 :(得分:0)

您还可以使用nifi-api进行监视。您可以收到有关每个处理器组,控制器服务或处理器的详细信息。

答案 3 :(得分:0)

1。在Apache NiFi中进行内置监控。

公告板

公告栏显示NiFi处理器实时生成的最新错误和警告。要访问公告板,用户将必须转到右侧的下拉菜单,然后选择“公告板”选项。它会自动刷新,用户也可以禁用它。用户还可以通过双击错误导航到实际处理器。用户还可以通过执行以下−

来过滤公告。
  • 通过消息

  • 按名称

  • 通过ID

  • 按组ID

数据出处界面

要监视在任何特定处理器或整个NiFi上发生的事件,用户可以从与公告板相同的菜单访问数据源。用户还可以通过处理以下字段来过滤数据源存储库中的事件-

  • 按组件名称
  • 按组件类型
  • 按类型

NiFi摘要界面

Apache NiFi摘要也可以从公告板的同一菜单访问。该用户界面包含有关该特定NiFi实例或群集的所有组件的信息。可以按名称,类型或URI进行过滤。不同的组件类型有不同的选项卡。以下是可在NiFi摘要界面中监控的组件-

  • 处理器
  • 输入端口
  • 输出端口
  • 远程进程组
  • 连接
  • 进程组

在该用户界面中,右下角有一个名为系统诊断的链接,用于检查JVM统计信息。

2。 报告任务

Apache NiFi提供了多种报告任务来支持外部监视系统,例如Ambari,Grafana等。开发人员可以创建自定义报告任务,也可以配置内置报告任务,以将NiFi指标发送到外部监视系统。下表列出了NiFi 1.7.1提供的报告任务。

报告任务

  1. AmbariReportingTask-为NiFi设置Ambari指标服务。
  2. ControllerStatusReportingTask-在最近5分钟内通过NiFi摘要界面报告信息。
  3. MonitorDiskUsage-报告并警告特定目录的磁盘使用情况。
  4. MonitorMemory监视JVM的Java内存池中使用的Java堆的数量。
  5. SiteToSiteBulletinReportingTask使用站点间协议报告公告中的错误和警告。
  6. SiteToSiteProvenanceReportingTask,以使用“站点到站点”协议报告NiFi数据源事件。

3。 NiFi API

有一个名为系统诊断的API,可用于监视任何定制开发的应用程序中的NiFI统计信息。

Request
http://localhost:8080/nifi-api/system-diagnostics
Response
{
   "systemDiagnostics": {
      "aggregateSnapshot": {
         "totalNonHeap": "183.89 MB",
         "totalNonHeapBytes": 192819200,
         "usedNonHeap": "173.47 MB",
         "usedNonHeapBytes": 181894560,
         "freeNonHeap": "10.42 MB",
         "freeNonHeapBytes": 10924640,
         "maxNonHeap": "-1 bytes",
         "maxNonHeapBytes": -1,
         "totalHeap": "512 MB",
         "totalHeapBytes": 536870912,
         "usedHeap": "273.37 MB",
         "usedHeapBytes": 286652264,
         "freeHeap": "238.63 MB",
         "freeHeapBytes": 250218648,
         "maxHeap": "512 MB",
         "maxHeapBytes": 536870912,
         "heapUtilization": "53.0%",
         "availableProcessors": 4,
         "processorLoadAverage": -1,
         "totalThreads": 71,
         "daemonThreads": 31,
         "uptime": "17:30:35.277",
         "flowFileRepositoryStorageUsage": {
            "freeSpace": "286.93 GB",
            "totalSpace": "464.78 GB",
            "usedSpace": "177.85 GB",
            "freeSpaceBytes": 308090789888,
            "totalSpaceBytes": 499057160192,
            "usedSpaceBytes": 190966370304,
            "utilization": "38.0%"
         },
         "contentRepositoryStorageUsage": [
            {
               "identifier": "default",
               "freeSpace": "286.93 GB",
               "totalSpace": "464.78 GB",
               "usedSpace": "177.85 GB",
               "freeSpaceBytes": 308090789888,
               "totalSpaceBytes": 499057160192,
               "usedSpaceBytes": 190966370304,
               "utilization": "38.0%"
            }
         ],
         "provenanceRepositoryStorageUsage": [
            {
               "identifier": "default",
               "freeSpace": "286.93 GB",
               "totalSpace": "464.78 GB",
               "usedSpace": "177.85 GB",
               "freeSpaceBytes": 308090789888,
               "totalSpaceBytes": 499057160192,
               "usedSpaceBytes": 190966370304,
               "utilization": "38.0%"
            }
         ],
         "garbageCollection": [
            {
               "name": "G1 Young Generation",
               "collectionCount": 344,
               "collectionTime": "00:00:06.239",
               "collectionMillis": 6239
            },
            {
               "name": "G1 Old Generation",
               "collectionCount": 0,
               "collectionTime": "00:00:00.000",
               "collectionMillis": 0
            }
         ],
         "statsLastRefreshed": "09:30:20 SGT",
         "versionInfo": {
            "niFiVersion": "1.7.1",
            "javaVendor": "Oracle Corporation",
            "javaVersion": "1.8.0_151",
            "osName": "Windows 7",
            "osVersion": "6.1",
            "osArchitecture": "amd64",
            "buildTag": "nifi-1.7.1-RC1",
            "buildTimestamp": "07/12/2018 12:54:43 SGT"
         }
      }
   }
}

答案 4 :(得分:0)

您可以使用 MonitoFi。它是一个高度可配置的开源工具,使用 nifi-api 收集有关各种 nifi 处理器的统计信息并将其存储在 influxdb 中。它还带有 Grafana 仪表板和警报功能。 http://www.monitofi.com 要么 https://github.com/microsoft/MonitoFi