クラウド運用管理
Grafanaで出来ること、クラウドでの監視運用の活用方法とは?

システムのクラウド移行や、クラウドネイティブ技術を利用したアプリケーションの開発が進む一方、そういった新たな環境に最適な監視運用のツールを模索している方も多いでしょう。候補の一つとしてダッシュボードで有名なGrafanaが挙げられます。
本記事では、多くの企業が採用し利用実績も多いGrafanaにフォーカスし、Grafanaは監視運用でどういうことができるのか?実際にGrafanaを利用して監視運用するうえで考慮すべき点を知りたいとお悩みの方にぜひ知って頂きたい情報をお伝えします。
1. 今の監視運用にGrafanaが適している理由
Grafanaは、Grafana Labs社が開発したオープンソースのモニタリングツールで、メトリクス(注1)やログなどのテレメトリーデータ(注2)を可視化・アラート・分析できます。
最初に今の監視運用にGrafanaが適している理由を述べていきます。
-
注1
CPU使用率など、システムの特定の活動を数値化したデータ
-
注2
システムが品質向上を目的として収集するデータ
1.1. 今、監視運用に求められていること
クラウドコンピューティングやマイクロサービスの利用に伴い、インフラが見えない、リソースが分散する、構成が複雑化するといった理由により、システムの状態を把握しにくくなっています。
こういったシステムを監視運用するうえで可観測性(Observability)が重要になります。
可観測性は、テレメトリーデータからシステムの状態をどれだけ把握できるかの尺度で、可観測性を向上させるには、様々なテレメトリーデータを相互に関連付けて分析する必要があります。
1.2. Grafanaが適している理由
Grafanaは、データソースやパネルがプラグインで拡張しやすい作りとなっているため、多種多様なテレメトリーデータを思いのままに視覚化でき、システム状態の分析を手助けしてくれます。
-
データソース
外部のファイルやデータベース、サービスで、テレメトリーデータの情報元。Grafanaはプラグインを介してテレメトリーデータをデータソースから取得 -
パネル
時系列グラフやヒートマップ、ゲージなど、テレメトリーデータを視覚化するダッシュボードの構成要素
図1:Grafanaの仕組み
また、Grafanaは、多くの企業がクラウドネイティブ環境で採用していることがCNCF(Cloud Native Computing Foundation)のエンドユーザーコミュニティーで報告されるとともに、Amazon Web Services(AWS)やMicrosoft Azureではマネージドサービスとして提供が始まっており、監視運用で広く使われるツールとなっています。
2. Grafanaとは?何ができる?
ここでは、Grafanaで出来ることを3つに絞って紹介します。
2.1. 自由自在にダッシュボードをカスタマイズ
思い通りのダッシュボードを作成することができます。ここでは、ダッシュボードのカスタマイズ例をいくつかご紹介します。
-
目的毎に複数作成
システム毎や、トラブルシューティングやキャパシティプランニングの用途毎など、目的に応じてダッシュボードを複数作成できます。
目的毎に作成することで、ダッシュボードを見る際に、視覚的にノイズとなる不要なデータが減り、素早く状況を把握できるようになります。 -
種類豊富なパネルを自在に配置
データの特性や目的に合わせて見やすいパネルを選択できます。
例えば、リソースの使用率など割合に着目したい場合はバーゲージパネル、SLO(Service Level Objective)など重要な値を表示したい場合はスタッツパネルを選択できます。
また、パネルはマウス操作で大きさや配置場所を簡単に変更できるため、定期的に確認が必要なデータをダッシュボード画面に収めることで、一目で状況を把握できるようになります。 -
関連するデータをまとめて表示
1つのパネルに異なるメトリックやデータソースのデータを同時に表示させることができます。
また、系列毎に色合いなどのスタイルを細かく設定できるため、視覚的に混在しないように表示できます。
これにより、トラブル調査時などでデータ間の関連性を把握しやすくなります。 -
着目すべきデータを強調
閾値などの条件を指定して、強調したいデータの背景やテキストなどを色付けして表示できます。
ダッシュボードに表示させるデータが多くなってしまっても、着目すべき箇所がわかりやすくなります。
図2:ダッシュボードのカスタマイズ例
2.2. アラートによりシステムの正常性を監視
システムの状態を監視して、障害の発生や前兆を検知した際に、アラートを通知することができます。
-
システムの正常性を監視
アラートとして検知するテレメトリーデータの条件を設定することで、システム状態が正常かどうか監視することができます。
条件は、例えば「CPU使用率が90%を超過」や「ログに特定のエラーメッセージが出力」などです。
Grafanaは、この条件を評価し障害の発生や前兆をタイムリーに検知できます。 -
使い慣れたコミュニケーションツールで通知
検出されたアラートは、メールやSlack(Slack Technologies社が提供するコミュニケーションツール)、Microsoft Teams(Microsoft社が提供するコラボレーションツール)など、様々な方法で通知できます。すでに導入しているコミュニケーションツールで通知を行うことができます。
図3:アラート通知の流れ
2.3. 関係者とスムーズに協調して運用
トラブル発生時の調査などで、ダッシュボードを通じて関係者とスムーズに連携することができます。
-
調査状況を分かりやすく記録
ダッシュボードのグラフ中にアノテーションでコメントを書き込むことができます。
調査した箇所に状況をコメントすることで、調査状況を分かりやすく関係者に伝えることができます。 -
迅速な状況共有
リアルタイムに状況が視覚化されるダッシュボードで、特定の地点のリンクを作成できます。
リンクを関係者間で共有することで、迅速に正確な状況共有ができます。
図4:ダッシュボードを通じた関係者間の連携の流れ
3. 利用するうえで重要なことは?
Grafanaはオープンソースであるため、誰でも簡単に入手して使うことができます。実際に監視運用の現場で使っていくうえで考慮すべき点を説明します。
3.1. 考慮すべき点
-
セキュリティリスクへの対策
GrafanaはWebアプリケーションであるため、通信経路の暗号化や、セッションタイムアウト時間の見直しなど、多岐にわたる対策が必要になる場合があります。
社内のセキュリティルールや、独立行政法人情報処理推進機構(IPA)が公開している「安全なウェブサイトの作り方」などを参考に、有識者を交えて検討することをお勧めします。場合によっては、多要素認証の導入も必要になるかもしれません。
また、Grafanaに脆弱性が報告された場合は、アップデートが必要となります。 -
Grafanaの設計
設定値や構成の検討が必要になります。
Grafanaは、クォータや認証方式、セキュリティに関する設定など、多様なカスタマイズが可能となっており、使い方や運用の仕方に合わせて設定値を決める必要があります。
また、スケーラビリティーや可用性を確保するためにHA(High Availability)構成を取る場合、ロードバランサーの配置や内部データベースの変更が必要となり、構成から見直さなくてはなりません。 -
Grafanaの管理
バックアップ、アップデートなどの管理が必要になります。
Grafanaは、マイナーバージョン間や1つのメジャーバージョン間で互換性がありますが、一部機能が非推奨になったり、セキュリティ脆弱性対応による修正等で設定変更が必要になる場合があり、完全に互換性があるわけではありません。
そのため、アップデート時には、最低でもリリースノートの確認、事前の検証、データのバックアップが必要になります。
また、Grafanaのデータベースには、ダッシュボードやアラートの設定など重要なデータが保存されており、失われると監視運用の継続に支障をきたす可能性があります。こまめなバックアップを推奨します。 -
データソースの管理
Prometheusなどのデータソースとなるデータベースを自前で構築する場合、テレメトリーデータを保管・蓄積する仕組みとその管理が必要になります。
テレメトリーデータはデータ量が多くなりがちのため、スケーラビリティーや可用性を確保するのに、分散アーキテクチャーのデータベースを採用するなど特別な設計が必要となる場合があります。
3.2. どうすれば良いか?
前項で解説したような点を考慮してGrafanaを使っていくには、多くの時間と労力を要する場合があります。
解決策として、外部のオープンソースソフトウェア技術支援サービスに相談したり、Grafana Labs社などが提供するマネージドサービスを利用するのも手です。マネージドサービスは、Amazon Web Services(AWS)やMicrosoft Azureでも提供が始まっており、手軽に利用できます。
本コンテンツに関するお問い合わせ
お電話でのお問い合わせ

Webでのお問い合わせ

当社はセキュリティ保護の観点からSSL技術を使用しております。