- Apache NiFi 教程
- Apache NiFi - 主页
- Apache NiFi - 简介
- Apache NiFi - 基本概念
- Apache NiFi - 环境设置
- Apache NiFi - 用户界面
- Apache NiFi - 处理器
- Apache NiFi - 处理器分类
- Apache NiFi - 处理器关系
- Apache NiFi - FlowFile
- Apache NiFi - 队列
- Apache NiFi - 进程组
- Apache NiFi - 标签
- Apache NiFi - 配置
- Apache NiFi - 管理
- Apache NiFi - 创建流程
- Apache NiFi - 模板
- Apache NiFi - API
- Apache NiFi - 数据来源
- Apache NiFi - 监控
- Apache NiFi - 升级
- Apache NiFi - 远程进程组
- Apache NiFi - 控制器设置
- Apache NiFi - 报告任务
- Apache NiFi - 定制处理器
- Apache NiFi - 自定义控制器服务
- Apache NiFi - 日志记录
- Apache NiFi 有用资源
- Apache NiFi - 快速指南
- Apache NiFi - 有用的资源
- Apache NiFi - 讨论
Apache NiFi - 监控
在 Apache NiFi 中,有多种方法可以监控系统的不同统计信息,例如错误、内存使用情况、CPU 使用情况、数据流统计信息等。我们将在本教程中讨论最流行的方法。
内置监控
在本节中,我们将详细了解 Apache NiFi 中的内置监控。
布告栏
公告板实时显示 NiFi 处理器生成的最新 ERROR 和 WARNING。要访问公告板,用户必须进入右侧下拉菜单并选择公告板选项。它会自动刷新,用户也可以禁用它。用户还可以通过双击错误导航到实际的处理器。用户还可以通过执行以下操作来过滤公告 -
- 通过留言
- 按名字
- 按 ID
- 按组 ID
数据来源 UI
要监控任何特定处理器或整个 NiFi 中发生的事件,用户可以从与公告板相同的菜单访问数据来源。用户还可以通过使用以下字段来过滤数据来源存储库中的事件 -
- 按组件名称
- 按组件类型
- 按类型
NiFi 摘要 UI
Apache NiFi 摘要也可以从与公告板相同的菜单访问。此 UI 包含有关特定 NiFi 实例或集群的所有组件的信息。可以按名称、类型或 URI 过滤它们。不同的组件类型有不同的选项卡。以下是可以在 NiFi 摘要 UI 中进行监控的组件 -
- 处理器
- 输入端口
- 输出端口
- 远程进程组
- 连接
- 进程组
在此 UI 中,右下角有一个名为系统诊断的链接,用于检查 JVM 统计信息。
报告任务
Apache NiFi 提供多种报告任务来支持 Ambari、Grafana 等外部监控系统。开发人员可以创建自定义报告任务,也可以配置内置报告任务,将 NiFi 的指标发送到外部监控系统。下表列出了 NiFi 1.7.1 提供的报告任务。
编号 | 报告任务名称 | 描述 |
---|---|---|
1 | Ambari报告任务 | 为 NiFi 设置 Ambari Metrics Service。 |
2 | 控制器状态报告任务 | 报告 NiFi 摘要 UI 中最近 5 分钟的信息。 |
3 | 监控磁盘使用情况 | 报告并警告特定目录的磁盘使用情况。 |
4 | 监控内存 | 监控 JVM 的 Java 内存池中使用的 Java 堆的数量。 |
5 | 站点到站点公告报告任务 | 使用站点到站点协议在公告中报告错误和警告。 |
6 | 站点到站点来源报告任务 | 使用站点到站点协议报告 NiFi 数据来源事件。 |
NIFI API
有一个名为系统诊断的 API,可用于监控任何自定义开发的应用程序中的 NiFI 统计信息。让我们检查一下 postman 中的 API。
要求
http://localhost:8080/nifi-api/system-diagnostics
回复
{ "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" } } } }