アラートグループ化のための複数のスケジュール済みジョブの実行
複数のスケジュール済みジョブを並行して実行して、アラートをグループ化します。これにより、急増 (アラートストーム) 時にシステムが過負荷になるのを防ぐことができます。
始める前に
必要なロール:admin
このタスクについて
現在のスケジュール済みジョブは、シングルスレッドで動作します。アラートの急増 (アラートストーム) 時には、処理にかなりの時間がかかります。この影響に対処するために、複数のジョブがスケジュール済みジョブ内でアラートを処理できるようになりました。これにより、拡張性が向上し、大量の処理が発生する期間の全体的なパフォーマンスが向上します。
アラート処理で実行するジョブの数は、新しいプロパティ sa_analytics.agg.alert_grouping.num_of_jobs で定義されます。ジョブ番号は、関連するメソッドにパラメーターとして送信されます。
注:
このシナリオでは、スケールアウトをスケールアウトなし (単一ジョブ) から 2 つのジョブに増やす手順を示します。
複数のスケジュール済みジョブを効率的に管理して並列実行し、特定のプロパティを使用してアラートをグループ化できます。これらのプロパティを使用すると、ニーズに合わせてグループ化クライテリアを調整し、アサイン先グループ、ドメインセパレーション、またはグループ化フィールドに基づいてアラートが確実に処理されるようにすることができます。使用可能なプロパティは次のとおりです。
- sa_analytics.agg.group_alert_with_same_assignment_group_only:同じアサイン先グループを共有するアラートをグループ化します。デフォルトでは、値は false に設定されています。このプロパティを true に設定する場合は、同じ名前のプロパティを作成し、値を true に設定します。
- sa_analytics.agg.group_alert_with_same_domain_only:同じドメインに属するアラートをグループ化します。デフォルトでは、この値は true に設定されています。
- sa_analytics.agg.group_alert_with_same_group_by_fields:[グループ化 (Group by)] プロパティ。アラートのグループ化を可能にするために、アラート間で一致する値を持つ必要があるフィールド名のカンマ区切りリストを使用します。プロパティには、アラートフィールド名 (assignment_group など)、CI フィールド名 (alert_cmdb_ci.location など)、アラート追加情報フィールド名 (additional_info.state など)、またはアラートタグ (t_data_center など) を含めることができます。指定されたフィールド値がアラート間で互いに一致する場合、それらのアラートをグループ化できます。
注:
効率的なスケールアウトを確実に行うには、これらのプロパティの少なくとも 1 つを定義して、何らかの形式の分離またはグループ化ロジックを確立する必要があります。これは、同じグループに属するすべてのアラートが特定のジョブによって正しく処理され、アラートの論理的な区分が作成されるようにするために必要です。
これらのプロパティの少なくとも 1 つを true に設定しないと、アラートは適切に分離されません。たとえば、グループ化ロジックを定義せず (任意のプロパティを true に設定)、アサイン先グループとドメインセパレーションの両方が false に設定されている場合、スケールアウトは機能せず、すべてのアラートが単一のスケジュール済みジョブによって処理されます。
手順
タスクの結果
スケジュール済みジョブ [RCA/アラートアグリゲーションを使用したサービス分析グループアラート (Service Analytics group alerts using RCA/Alert Aggregation)] が、アラートのグループ化のために複数のジョブを同時に実行するように設定されます。