Day12 NiFi - Reporting Task & Bulletin Board

今天来带大家了解一下 NiFi 原生的 Monitoring 是怎麽运作的,像是 Disk, Memory 等,然後如何去做一个警示,这些都会在今天做一个简单的介绍。

Reporting Task

Reporting Task 是 NiFi 在做一个 Monitoring 机制时很重要的 Componenet,这边简单列一下他的特性:

  1. 可监控与统计目前机器的状态,ex. Disk 用量、Memory 用量等
  2. 可监控与统计资料处理与传输的状态,ex. throughtput 等
  3. 对接第三方的监控服务,ex. DataDog, Prometheus, Ambari 等

从上述的特性,其实就是跟『监控机制』有所关联,无论机器状态或资料状态,甚至要呈现相关 Metrics 的服务也可以有所自订。

How to setting?

这边就快速地带大家知道如何去做设定,首先我们一样先回到主画面,点选 Global MenuController Settings:

接着点选 REPORTING TASKS,就可以加入对应的 Component:

这边我们来加入最基本的 MonitoringDiskUsageMonitoringMemory 两种 Reporting Task:

先来看一下 MonitoringDiskUsage 的设定:

我们可以看到有三种设定的方式:

  • Threshold: 就是 Disk 使用率达到多少比例时去做 alert
  • Directory Location: 使用者想监控的 Folder 位置,通常我们会去看 NiFi 所属的 Folder 来做监控,你也可以从根目录来做监控。
  • Directory Display Name: 当通知 Alerting 的时候所要呈现的 Folder Name,简单来说帮助我们来辨识是那一个 Folder 底下的 Disk 用量达到 80%,会将这个资讯带出来,如果没有带预设就是只呈现 Un-Named

接着来看一下 MonitoringMemory 的设定:

一样有几个设定方式:

  • Memory Pool: 因为主要是要控制 JVM 的记忆体用量,而在 JVM 中会有一些 Pool,我们可以从中做选择,这边提供类别介绍,请点选
  • Usage Threshold: 跟 MonitoringDiskUsage 一样的设定,达到多少比例做 Alerting。
  • Reporting interval: Alerting 的时间区间,就是大概多就要 Alert。
    以上设定完之後,就可点选『播放键』符号来 Enable ,即可开始监控。

这边就带几个基本常用的 Reporting Task,这时你可能会问,当我设定好且启动了,假如真的有跳通知,我应该要去哪里看呢?接下来就要待到下一个主角 - Bulletin Board

Bulletin Board

Bulletin Board 是 NiFi 原生的用来看一些 Alerting 的讯息,可以想像只要有任何 Alerting 的时候,他就会在这里呈现相关资讯。我们一样在 Global Menu 点选 Bulletin Board:

接着即可看到 Bulletin Board,没有讯息时就会是这样一片白:

但如果有 Alerting 跳出来时(ex. 某一个 Folder 的使用量大过我们设定的 Threshold),就可以看到相关资讯:

如此一来就能接受到我们在 NiFi 做设定好的监控,是不是很简单?

额外延伸

你可能会想再问,这个讯息能否透过 Slack 或其他第三方服务来做通知呢?答案是可以的,只是我们就要透过 NiFi API 以及设计对应的 Pipeline 来做处理,这边我会在後续独立写一篇场景应用来做介绍,可以敬请期待!

小总结

今天这篇其实看似没什麽重点,但其实对於 Production 环境上,尤其有多个 Data Pipeline 来运行时,当中的监控就会显得格外重要,所以这些简单的设定都可以帮助未来我们在做使用时,可以快速找到问题且去做一个排查的动作。

明天,我会先来带到 Variables 和 Parameters 的概念,这对於在 FlowFiles 的处理上是十分重要的运用,千万要留意跟好好学习喔!

Reference


<<:  [Day-27] R语言 - 分群应用(五) 分群预测 - 建模与诊断 ( Modeling and Diagnosis in R.Studio )

>>:  模型的内容02 __main__

【10】多分类问题下 Sparse Cross Entropy 与 Categorical Cross Entropy 的用法差异

Colab连结 要来讨论今天主题前,先来复习一下什麽是交叉熵 Cross-Entropy ,我觉得这...

[13th][Day5] Goroutine

about goroutine 要聊 golang 中的 「go」 这个保留字之前,先来说说 Gor...

【第十五天 - SSRF】

Q1. 什麽是 SSRF? SSRF (Server Side Request Forgery),也...

Ruby幼幼班--Best Time to Buy and Sell Stock II

Best Time to Buy and Sell Stock II 这题其实仔细看完内容,会发现...

【day1】豚花돈꽃韩式料理三访

在近三个月的防疫禁止内用期间 最想念的食物之一就是韩式烤肉了 (不用自己动手烤的那一种) 这家豚花돈...