Event-Driven Ansible と IBM Turbonomic / Instana の連携

皆さんこんにちは、Red Hat の岡野です。

前回 Event-Driven Ansible のお試し方法についてご紹介させていただきましたが、今回は一歩踏み込んで、サードパーティ製のアプリケーションと連携した動作についてご紹介します。

Event-Driven Ansible (EDA) は以下のような様々なイベントソースと連携し動作します。

・Zabbix
・IBM Instana, Turbonomic
・Dynatrace
・CrowdStrike
・AWS Cloudtrail, SQS
・Azure Service Bus など

今回この中から、IBM 社の Turbonomic および Instana との連係動作についてご紹介したいと思います。

IBM Turbonomic と Instana

IBM Instanaは、WebSpere や DB2、Oracle など従来型アプリケーションから最新のクラウドネイティブアプリケーションにも対応したアプリケーション・パフォーマンスの管理ソリューションです。分散トレーシングによりサービスの依存関係を自動的に可視化。アプリケーションを構成する各マイクロサービスのアクセスレイテンシレベルまで可視化されます。

この可視化された情報を元に AI を活用してサービスレベルの監視を行い、アプリケーションの日時や季節性も考慮した、

『普段と異なるアプリケーションの状態』

を即座に検知。必要に応じ、動的なアラートを発砲することが可能となっています。

www.ibm.com

一方、Turbonomic はリソースの利用状況の把握と最適化を行うことが出来ます。オンプレやパブリッククラウド含めたアプリケーションが稼働するインフラの把握と、リソースの利用状況を自動的に検知しグラフィカルに可視化。

『リソースの過不足をリアルタイムかつ継続的に監視』することにより、アプリケーションに影響を与え得るリソース上の制約、将来の予測分析などをAIを用いて把握した上で、必要があればインスタンスの『スケールイン/スケールアウト』、『スケールアップ/ダウン』を行う機能を提供します。

www.ibm.com

IT 運用の現場では様々な監視ツールが利用されていますが、何か問題が起こってアラームが通知されたとき、『原因』や『修正方法』、『修正作業中のサービスへの影響範囲』などを把握すること、さらに、それらを理解した上で修正実行の要否や時期を判断。また、修正実施後にはサービスの正常稼働を確認する必要があることなどから、問題解決までには多くの時間と労力を要します。

その手間と時間を大幅に削減してくれる魅力ある機能を提供するのが Event-Driven Ansible です。Instana や Turbonomic から得られる様々な情報を元に、問題が発生した場合は Event-Driven Ansible で自動的に修正を行います。修正アクションは完全自動実行も可能ですし、Ansible Automation Controller のワークフロー内に承認フローを入れたり、Servicenow などのチケット管理システムなどを挟んで、最終実行は『人』が判断することも可能です。

今回はEvent-Driven Ansible のイベントソースとして、『Instana を使ったアプリケーション障害復旧の自動化』と、『Turbonomic を使ったインフラリソースの自動最適化』に関するデモ動画を作成してみました。是非ご覧ください。
※デモ動画は音声付きですのでリンクをクリックする際はご注意ください。

Instana + Event-Driven Ansible によるアプリケーション障害復旧の自動化(デモ動画はこちら

  1. コンテナアプリケーション(Quote of the Day)に障害が発生
  2. Instana がアプリケーションの障害を検知しアラームを発砲
  3. Webhook 経由でアラームが Event-Driven Ansible へ通知される
  4. Event-Driven Ansible 内で Rulebook を元に Action 実行が必要と判断
  5. Action を実行し、Ansible Automation Controller 内のジョブテンプレートを実行
  6. アプリケーションが正常に稼働

Turbonomic + Event-Driven Ansible による IT リソースの自動最適(デモ動画はこちら

  1. AWS 上のインスタンスのリソース利用状況を監視
  2. リソース状況に応じた推奨(インスタンスタイプの変更)を提示
  3. Webhook 経由でインスタンスタイプの変更を Event-Driven Ansible へ通知
  4. Event-Driven Ansible が Rulebook を元に、AWS のタグ情報を含め、インスタンスタイプ変更の可否を判断
  5. インスタンスタイプの変更を実施し、アプリケーションの稼働を確認

まとめ

今回は、IT 運用監視系のツールである、IBM 社の Instana 及び Turbonomic と Red Hat Event-Driven Ansible の連携よる IT 運用自動化のお話でした。如何でしたでしょうか?先述の通り、IT 運用においては様々な監視ツールからアラームが上がってきます。その際、そもそも対応が必要なのかどうか?という判断から始まり、障害内容の把握、対処法の確認、実施の判断、作業員の確保と実施、実施後の正常動作の確認...など、多くの時間と労力が必要となります。

このような運用に対し、

『あらかじめ課題解決のルール』

を定義しておき、問題が起こった時にはそのルールに従うことで手間なく自動的に修正ができる、というのが今回のブログの趣旨となります。

勿論、あらかじめ準備されたものに関しては、導入当初は『抜け・漏れ』や『修正できない』などの問題が数多く発生することが予想されますが、運用上発生したそういった問題を都度システム側にフィードバックしていくことで Instana / Turbonomic 及び、Event-Driven Ansible、Ansible Automation Controller 内に IT 運用のナレッジがたまっていきます。

つまり、運用すればするほど賢くなっていきます。そして、いずれ『人依存』からの脱却が可能となるのではと思います。

こちらのソリューションにご興味ある方は是非 Red Hat 担当までご連絡ください。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。