ソリューション解説動画
現代のシステム運用を取り巻く課題 / 現場エンジニアを救う処方箋とは?
システムが複雑化し、その変化も加速する中、システム運用を担う現場エンジニアの負荷は日々高まっています。
「インシデント対応」を例に、具体的に現場でどのような課題があるのかをご紹介。
そして、それらの課題をPageDutyがどのように解決できるのか、デモを交えて解説します。→ PagerDutyの資料をみる(無料)
システム障害をもたらしうるインシデント対応において、あまりに多くのアラートにチームが悩んでいませんか?もしくは、とめどなく増え続けるインシデントやイベント対応のルールを考えることに気持ちが落ち込んではいませんか? こうした状況の改善には、複数のタスクやシステムにまたがるワークフロー全体を自動化して管理する手法「オーケストレーション」の導入がおすすめです。オーケストレーションを導入することで「イベント管理で発生する煩雑な手作業」を削減しインシデント対応をさらに効率化できます。
このインシデント対応におけるオーケストレーションをスムーズに実現するのが「PagerDuty Event Orchestration(イベントオーケストレーション)」機能です。これは「イベントのルーティング」「エンリッチメント」「修正」を実行して、ノイズとなるアラートの削減と手作業の効率的な自動化をサポートします。PagerDuty独自の条件言語である「PagerDuty Condition Language(略称:PCLまたはピックル)」を使っており、カスタムロジックや高度な条件付きの複雑なイベントの処理が可能です。本記事では「オーケストレーションとは何か」そして「イベントオーケストレーション機能」について、ビジネスに効果的な7つのユースケースとともにご紹介します。
なお、イベントオーケストレーション機能は、PagerDuty Event Rules機能を進化させたものです。PagerDutyでは、非常に強固で信頼性の高い「イベント駆動型のエンリッチメントと自動化」に総力をあげて取り組んでいます。なお、現在ご提供しているEvent Rules機能は、2024年にサポートを終了する予定です。そのため、現在PagerDutyのEvent Rules機能をご利用のお客様も、今後はさらに機能が進化したEvent Orchestration機能をご利用ください。イベントオーケストレーション機能への移行についてはこちらのナレッジベース記事をご参照ください。
目次
ITシステムにおける「オーケストレーション」とは、複数の異なるシステムにまたがるプロセスやワークフローなどに対し、工程全体で自動化を実現する管理手法です。一般的に用いられる「自動化」と「オーケストレーション」は対象範囲が異なります。自動化が単一のタスクを対象とするのに対し、オーケストレーションは複数のタスクが含まれるワークフロー全体を自動化の対象とします。
現代のビジネスにおいて、業務の効率化には自動化が欠かせません。しかし、自動化の対象が「単一のタスクである」場合、次のタスクに進めるための煩雑な手作業が発生します。例えば、インシデント対応において「アラート通知」と「診断テストの実行」のそれぞれが自動化されている場合。このとき、実際のインシデント対応では、アラート通知を受けたエンジニアが画面を確認して適切な対処を検討し、「診断テストの実行」をクリックして実施します。現在のシステムは複雑化しているため、複数のシステムがまたがることでさらにエンジニアの手作業が求められます。その結果、エンジニアは大量のアラートと、アラートの数だけ繰り返される煩雑な手作業に疲弊することになりかねません。また、緊急対応が必要なインシデントでは初動対応が重要であるにもかかわらず、エンジニアが大量のアラートにさらされている状態では、重要なアラートに気付くのが遅くなる可能性もあります。
煩雑な手作業を自動化し、緊急対応を要するインシデント対応にエンジニアが集中するために必要なのが「オーケストレーション」です。オーケストレーションでは、複数の自動化されたタスクや手作業を統合し、一連のプロセスとして管理・実行できるようにします。その結果、あらゆるインシデント対応における業務が効率化されるでしょう。例えば、繰り返し発生する重要度の低いアラートは、人を介さずにシステムで自動処理されます。それにより、エンジニアは大量のアラートから解放され緊急度の高いインシデント対応に集中できるため、インパクトの大きいインシデントの早期解決につながります。インシデント管理の流れや詳細については、こちらの「記事システム障害を未然に防ぐ 『インシデント管理』とは?」を参考にしてください。
インシデント対応プロセスにおけるオーケストレーションの導入に是非おすすめしたいのが、イベントオーケストレーション機能です。イベントオーケストレーションは、基本的なイベント処理に加えて「UIの改善」「ルール作成」「APIとTerraformのサポート」「高度な条件」といったさまざまな価値を提供します。現在、PagerDutyのEvent Rules機能をお使いの方は、Event Rules機能のアップグレード版がイベントオーケストレーション機能であるとお考え頂ければと思います。また、「デジタルオペレーション」プランをご利用頂いているお客様には、「コンテキスト条件」「webhook」「インシデント通知の一時停止」「ルールのネスト」「Automation Actionsとのダイレクトなインテグレーション」といった、さらに多くの機能をご利用いただけます。
イベントオーケストレーション機能のフロントエンド開発にはReactを採用しており、直感的な操作での利用が可能です。今後アクセシビリティ改善に向けたサポートを予定しており、近い将来はさらにスムーズなナビゲーション操作が可能になる予定です。
イベントオーケストレーション機能は高度な条件言語をサポートしており、さらに条件を入れ子に設定できる「ルールネスト機能」を備えているため、わずかな設定作業で複雑なイベント処理を実行できます。かつては10のイベントルールを必要とした処理も、イベントオーケストレーションならたった1つのルールで処理できます。そのため「とめどなく増え続けるイベント対応のルール作成」に頭を抱えることがなくなります。
イベントオーケストレーション機能を利用すると、カスタムヘッダーや自動化アクションでwebhookを起動できます。これにより、複数の自動化されたアクションや処理を容易に統合でき、特定の条件が満たされた際に次のアクションを自動で実行できるようになります。
ルールネスト機能により、システムに生じた既知の障害の原因を詳細に項目化して自動化するといった、精度の高いイベント処理を実現します。
PagerDutyのEvent Orchestration機能には、インシデント対応業務の大きさにかかわらず、チームの業務環境を大幅に改善する可能性があります。ここでは、業務を効率化するためにおすすめなイベントオーケストレーション機能の活用シーンとして、7つのユースケースをご紹介します。なお、インシデント対応における改善ポイントについては、こちらの記事「インシデント対応を効率化する『10のチェックポイント』」も参考にしてください。
チームが集中して業務にあたっているなかで、ノイズとなる通知がくると気が散って注意力が散漫になることはありませんか?その通知が手を止めるほどのことでなければ、なおさら厄介です。そのようなノイズの典型といえるのが、テスト環境や重要ではない開発作業から数時間遅れで送られてくるイベントの通知です。では、チームを重要なインシデントだけに集中させるには、どうしたら良いのでしょうか?イベントオーケストレーション機能があれば、緊急を要する重要なアラートだけを対応者に知らせることが可能なため、チームは重大なインシデントだけに集中できます。優先順位の低い特定の条件をもとに「関連のない」「重要度が低い」「業務を妨げる」などとイベントの重要度を自動で下げて、通知しないようにできます。その結果、対応者はこれらのノイズとなる通知に気を取られなくなり、ビジネスに影響をおよぼす重大なアラートだけに集中できます。アラートの抑制をはじめとしたインシデント対応の改善については、こちらの記事「事例から読み解くあるべきインシデント対応方法とは?」を参考にしてください。
深夜に保守作業を控えていると「サービス責任者を起こさずに済むだろうか?」と心配になることはありませんか?このような心配を解消するためには、イベントオーケストレーション機能で「繰り返し」や「時間限定」といったルール条件を設定したカスタムロジックの作成が有効です。ユーザーは、全アラートの抑制やルーティングの変更先の時間を設定することで、現在または将来の「メンテナンスウィンドウ」をサポートできます。メンテナンスウィンドウとは、保守作業やアップデートのためにあらかじめ作業時間を定義したものです。さらに、監視ツールからのアラートに応じて対処方法を変更するようにルール設定することで、サービスに特化したメンテナンスウィンドウの作成も可能です。実際に、実稼働環境に特化したイベントの重大度をオンコール時間とそれ以外の時間に合わせて調節できるように、オーケストレーションを設定している例があります。なお、アラートが抑制されている場合でも、メンテナンス中に発生したアラートはすべてPagerDutyに取り込まれ「Alerts」メニューからいつでも確認することができます。
嵐のように大量のアラートが発生する事態は誰もが避けたいものですが、実際にはそうはいきません。大量のアラートが発生した際に重要なのは、「問題の大きさにかかわらず、混乱を最小限に抑えて目の前の重要な業務つまり解決策に集中できる環境をどう整えるか」という点です。イベントオーケストレーション機能は閾値ベースでインシデントの発生をコントロールできるため、アラートの嵐を防げます。通知の発生や停止の条件を閾値で設定することで「イベントのエンリッチメント」「ルーティング」「グルーピング」をイベントのボリュームに合わせて正確に実行できます。
インシデント発生の際、対応者には今起きている問題の速やかな理解が求められます。対応者に必要な情報をタイムリーに提供する際に必要になるのが「インシデントデータの標準化」です。インシデントデータの標準化は、内容理解に時間を要するチームごとに異なる記述方法をなくし、素早い情報理解と対応の迅速化につなげます。イベントオーケストレーション機能では、以下のような項目の自動化で、インシデントデータの標準化をサポートします。
例えば、「レスポンスタイムが1000ミリ秒を超えたイベントの優先度は高とする」としてオーケストレーションを設定すると、そのインシデントにはただちに優先度1のフラグが立てられます。これにより、対応者は迅速に、重要かつ必要な情報にアクセスできます。
チームに新たに加わったメンバーが、インシデント対応の具体的なアプローチに慣れるには時間がかかります。経験の浅いメンバーであればなおさらです。よく発生する既知のインシデントでさえ、そのアプローチ方法を学ぶ時間が必要になることがあります。このような課題に有効な解決策が、実際にチームが課題をどう解決しているかを「ランブック(手順書)」に残すことです。ランブックを活用することで、繰り返される問題に対し、経験に裏付けられた正しい解決方法を共有できます。
イベントオーケストレーション機能では、ランブックのリンクを貼ったノートを簡単に追加することが可能です。これにより「インシデントのトリアージ」や「アラートペイロードの確認」の際、ランブックへのアクセスが容易になります。イベント対応時に対応内容と紐づく形でランブックという実用的な情報を提供することで、L1のインシデント対応者はシニアエンジニアへエスカレーションすることなく、頻出する既知の問題を短時間で解決できるようになります。ランブックの作成や活用方法については、こちらの記事「ルーティン業務を劇的に改善する『Runbook(ランブック)』とは?」も参考にしてください。
インシデント対応にITSM(ITサービスマネジメント)ツールを利用されている方は、ITSMツールとPagerDutyのインシデント管理の連携をおすすめします。イベントオーケストレーション機能機能でのwebhookを使って連携先のシステムにペイロードを送信すれば、インシデント発生の際には連携システムのインシデント情報も最新版にアップデートできます。例えば、JiraやServiceNowなどのITSMツール、自社開発のCMDB(構成管理データベース)といったシステムとの連携が可能です。
インシデント管理における手作業は、数えられないほどあります。そのなかで、どこから自動化しようか悩まれているのであれば、まずおすすめしたいのが「自動診断」です。自動診断は、平均修復時間( MTTR)を短縮するためのローリスクでハイリターンな方法です。もし、トリアージのためにこれまでは手作業で開始させる必要のあった診断のすべてが、対応者のインシデント対応前にすでに開始されているとしたらどうでしょう? PagerDutyのEvent Orchestration機能なら、webhook経由で複数の自動化ツールを統合して、インシデント発生から自動診断までを一連の流れとして実行可能です。さらに、PagerDuty Automation Actions機能がPagerDutyのプラットフォーム上でシームレスに実行され、自動的に診断と修復が開始されます。この診断結果はインシデント詳細に追加され、対応者はすぐにレビューできるため、修復時間の短縮につながります。インシデント対応の自動化に取り組む方法については、こちらの記事「『インシデント対応の自動化』に企業が取り組むための3ステップ」も参考にしてください。
PagerDutyのイベントオーケストレーション機能は「個々の自動化されたタスク」や「手作業」を連携させ、一連のワークフローを自動化するものです。これにより、繰り返し行ってきた煩雑な手作業を減らすことができ、エンジニアはノイズとなる通知に悩まされることなく、重要なインシデント対応に集中できるようになります。さらに、チーム間やシステム間の連携も実現します。チーム間での正確で迅速な情報共有や、連携システムにおける処理の実行・情報のアップデートが自動化されることで、迅速でシームレスなインシデント対応の実現を後押しします。より詳しくイベントオーケストレーション機能について知りたい方は、こちらのナレッジベース記事をご覧ください。
PagerDutyでは、今回ご紹介したEvent Orchestration機能以外にも、業務の効率化やインシデント対応の迅速化に向けたさまざまなサポートを提供しています。PagerDutyに興味をお持ちの方は、まずは14日間無料トライアルをお試し頂き、その効果を実感ください。
システムが複雑化し、その変化も加速する中、システム運用を担う現場エンジニアの負荷は日々高まっています。
「インシデント対応」を例に、具体的に現場でどのような課題があるのかをご紹介。
そして、それらの課題をPageDutyがどのように解決できるのか、デモを交えて解説します。→ PagerDutyの資料をみる(無料)
目次