Samza REST服務監(jiān)視器

2018-08-22 18:31 更新

Samza REST支持向服務添加監(jiān)視器的功能。監(jiān)視器本質上是可以定期運行的任務。它為用戶提供了定義于特定單個監(jiān)視器的配置的能力。這些配置通過 Config 實例注入到監(jiān)視器實例中。

監(jiān)視器配置

監(jiān)視器的所有配置鍵應帶有 monitor.{monitorName} 的前綴。由于每個監(jiān)視器預期具有唯一的名稱,因此這些前綴在監(jiān)視器配置中提供命名空間。

每個監(jiān)視器都需要以下配置。

名稱默認描述
monitor.monitorName.scheduling.interval.ms這定義了名為monitorName的監(jiān)視器的周期調度間隔(以毫秒為單位)。如果未定義此配置,則默認為60秒。
monitor.monitorName.factory.class必需:這應該包含實現MonitorFactory接口的類的完全限定名稱。由工廠實施實例化的監(jiān)視器將被安排定期執(zhí)行。預期MonitorFactory接口的自定義實現將createMonitor方法中的Config和MetricsRegistry實例注入到Monitors中。

例如,兩個名為 NMTaskMonitor 和 RMTaskMonitor 的監(jiān)視器的配置應如下定義:

monitor.RMTaskMonitor.factory.class=org.apache.samza.monitor.RMTaskMonitor

  monitor.RMTaskMonitor.scheduling.interval.ms=1000

  monitor.RMTaskMonitor.custom.config.key1=configValue1

  monitor.NMTaskMonitor.factory.class=org.apache.samza.monitor.NMTaskMonitor

  monitor.NMTaskMonitor.scheduling.interval.ms=2000

  monitor.NMTaskMonitor.custom.config.key2=configValue2

實施新的監(jiān)視器

使用應該定期執(zhí)行的一些行為來實現 Monitor 界面。監(jiān)視器是在 SAMZA Rest Service 中調用某些方法的 Java 代碼,運行一個 bash 腳本來重新啟動失敗的 NodeManager,或者清除Host Affinity 剩下的舊的 RocksDB sst 文件。

實現 MonitorFactory 接口,用于實例化 Monitor。每個 Monitor 實現都應該有一個關聯的 MonitorFactory 實現,它負責實例化監(jiān)視器。

向 Samza REST服務添加新的監(jiān)視器

將 MonitorFactory 實現的完全限定類名添加到 monitor.monitorName.factory.classservice config 中的屬性中。將配置密鑰 monitor.monitorName.scheduling.interval.ms 設置為調度間隔(以毫秒為單位)。

配置密鑰 monitor.monitorName.scheduling.interval.ms 定義方法的周期調度間隔,單位為 monitor()毫秒。

從監(jiān)視器報告指標

Samza REST服務允許用戶從其顯示器創(chuàng)建和報告指標。對度量系統(tǒng)的報告指標由度量報告器封裝,該指標應在 samza-rest 配置文件中定義。Samza REST服務中度量報告員的配置與Samza Jobs的配置相同。

Samza REST服務資源參考?

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號