ポーリング・データ・キューのサイズの調整

NCPOLLDATA データベースに書き込むためのポーリング・データのキューが大きくなりすぎると、データベースの問題やポーリング・ロードが大きいことが原因で、ポーリング・プログラムがメモリー不足になることがあります。 この問題をモニターして回避するために、キューのサイズについて制限を設定できます。 この制限は、バッチの数として定義されます。 この制限を超えると、ログおよび 「イベント・ビューアー」にアラートが表示されます。 その場合、ポーリング・プログラムは、キューに入れられたデータを破棄して、キューのサイズを減らします。 破棄されたデータは別のファイルに書き込まれます。
ポーリング・プログラムのデバッグ・レベルを 4 に設定します。
  1. 制限を設定するには、ポーリング・プログラムの $NCHOME/etc/precision/NcPollerSchema.cfg ファイルで、 PollDataQueueLimit パラメーターを適切なバッチ数に設定します。
    以下の例では、キューに入れられるデータの制限を 50 バッチに設定する方法を示します。
    update config.properties set PollDataQueueLimit = 50;
  2. $NCHOME/log/precision および イベント・ビューアー で、メッセージおよびアラートについてポーリング・プログラムのログ・ファイルをモニターします。

PollDataQueueLimit パラメーターによって指定された制限をキューが超過した場合、以下のアクションが実行されます。

  • 「イベント・ビューアー」にアラートが表示されます。 例:
    ItnmPollerPolicyDataQueueFull: ポーリング・プログラム NCOMS。ポーリング・データ・キューがキャパシティーを超過しました。データをファイルにオフロードしています
  • メッセージがログに書き込まれます。 例:
    2013-04-19T12:37:58 [CDataQueue::ProcessValue] Queue size exceeds threshold, discarding data: policyId:122:templateId:39:monitoredInstanceId:2212:monitoredObjectId:3:pollTime:1387232947:tdwTime:1131216222944000:errorCode:111:value:0
  • ポーリング・データがキューから破棄され、$NCHOME/log/precision/ncp_poller.poller name.domain.polldata ファイル (例えば、ncp_poller.poller name.domain.data) に書き込まれます。 このデータは通知のみを目的としたものであり、ポーリング・データベースに挿入することはできません。 例:
    MONITOREDOBJECTID,5, MONITOREDINSTID,184, POLLTIME,1447960873, ERRORCODE,100, 
    VALUE, 0 
    MONITOREDOBJECTID,6, MONITOREDINSTID,184, POLLTIME,1447960873, ERRORCODE,100, 
    VALUE, -1 
    MONITOREDOBJECTID,5, MONITOREDINSTID,248, POLLTIME,1447960873, ERRORCODE,100, 
    VALUE, 100

制限を超過した場合、以下のようにします。

  • ポーリング・データ・キューのサイズを解決します。 例えば、追加のポーリング・プログラムを作成したり、データベース管理者に連絡したりします。
  • 「イベント・ビューアー」からアラートをクリアします。
  • .polldata ファイルをクリアします。 このファイルは、自動的にクリアもローテートもされません。