免責事項: これは英文の記事「Event Drops in VMware Aria Operations for Logs due to Pending Queue Overload (381167)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
VMware Aria Operations for Logs でログ転送時に大幅なイベントのドロップが発生することがあります。この問題は、クラスタの保留中キューが過負荷になり、着信イベントをドロップすることに起因します。
VMware Aria Operations for Logs のログで、クラスタの保留中キューがいっぱいになったためにイベントがドロップされた箇所が複数特定できます。以下は問題をハイライトした関連ログの抜粋です。
[YYYY-MM-DD HH:MM:SS.SSS+0000] ["PersistentNotification-thread-42"/#.#.#.# INFO] [com.vmware.loginsight.daemon.notifications.PersistentNotificationQueue] [Sending notification '{"AlertId":"Event Forwarder Events Dropped","Name":"Event Forwarder Events Dropped","Description":"VMware Aria Operations for Logs just dropped 203 events for forwarder target 'sample-target.example.com', reason: Pending queue is full..\n\nThis message was generated by your VMware Aria Operations for Logs installation, visit the <a href='https://www.vmware.com/support/pubs/log-insight-pubs.html'>Documentation Center</a> for more information.","TriggerTime":"YYYY-MM-DDTHH:MM:SS.SSSZ"}', using notification provider 'com.vmware.loginsight.notifications.JsonLogNotificationProvider' attempt #1]
[YYYY-MM-DD HH:MM:SS.SSS+0000] ["ImportingThread-4"/#.#.#.# WARN] [com.vmware.loginsight.ingestion.forwarding.BaseForwarder] [Dropped 584 events for target sample-target.example.com, reason: Pending queue is full. [5221 suppressed]]
[YYYY-MM-DD HH:MM:SS.SSS+0000] ["ImportingThread-3"/#.#.#.# WARN] [com.vmware.loginsight.ingestion.forwarding.BaseForwarder] [Dropped 72 events for target sample-target.example.com, reason: Pending queue is full. [9154 suppressed]]
[YYYY-MM-DD HH:MM:SS.SSS+0000] ["ImportingThread-4"/#.#.#.# WARN] [com.vmware.loginsight.ingestion.forwarding.BaseForwarder] [Dropped 510 events for target sample-target.example.com, reason: Pending queue is full. [7380 suppressed]]
上記のログに加えて、Aria Operations ノードの /storage/var/loginsight/cassandra.log に以下の関連ログエントリが表示される場合があります。
[YYYY-MM-DD HH:MM:SS.SSS+0000] ["LogImporterService-thread-9115"/#.#.#.# WARN] [com.vmware.loginsight.ingestion.importer.MultiThreadImporterService] [Unable to import messages due to disk queue full, with 100 unparsed messages for parser syslog-live [24 suppressed]]
[YYYY-MM-DD HH:MM:SS.SSS+0000] ["syslog-message-processing-thread"/#.#.#.# WARN] [com.vmware.loginsight.ingestion.routing.QueuedRemoteNodeMessageForwarder] [Unable to accept messages, queue is full for node: IngestionNode [hostName=#.#.#.#, daemonPort=16520, ingestionPort=16575, nodeToken=#####################] [7626 suppressed]]
また、次のアラートが表示される場合もあります。
Dropped Events (Host = FQDN) triggered at YYYY-MM-DDTHH:MM:SS.SSSZ
This notification was generated from Operations for Logs node (Host = FQDN, Node Identifier = UUID).
510,816,187 events messages have been dropped on node FQDN since the last alert at HH:MM:SS UTC Month DD YYYY.
4,754,984,786 events messages have been dropped on node FQDN since the last time VMware Aria Operations for Logs was started.
VMware Aria Operations for Logs 8.x
ログの「Pending queue is full (保留中キューがいっぱいです)」または「queue is full for node (ノードのキューがいっぱいです)」というメッセージは、イベントのドロップが発生していることを示します。これは、クラスタが想定レートで着信イベントを処理できず、保留中キューのバックログとイベントのドロップが発生していることを示唆します。
保留中キューの過負荷に対処するための 4 つの解決策があります。
ワーカー スレッドの増強: 使用する同時送信接続の数です。通常、転送先へのネットワーク遅延が大きい場合や、1 秒あたりの転送イベント数が多い場合には、より多くのワーカー数が必要になります。これは最大 512 まで増やすことができます。 ワーカー数の増やし方 (手順 4 を参照)
転送フィルタの実装 (エクスペリメンタル機能): ソース クラスタのログ転送でフィルタリングを実装できます。これにより、不要なイベントを転送先に送信する前に破棄し、全体的な負荷を軽減します。ただし、フィルタリングされたイベントは失われることに注意してください。
クラスタのスケールアウト: 転送先クラスタに別のノードを追加すると、全体の処理能力が向上し、個々のノードへの負荷が軽減されます。 クラスタへのワーカー ノードの追加
転送ルールの改良: イベントの負荷を複数のログ転送ルールに分散させることで、個々のルールにかかる処理負荷を軽減し、イベントのドロップのリスクを最小限に抑えます。