システムを監視するためのツールは、有料・無料のものを含めて数多くの種類があります。
そのなかでも、無料のシステム監視ツールとして人気が高いのがPrometheusです。システム監視を開始する際、Prometheusはまず検討すべき選択肢のひとつと言えます。
この記事では、Prometheusとは何かといった概要からメリット・デメリット、基本的な使い方までわかりやすく解説しました。
この記事を読むことで、Prometheusについて基本的な知識を得られるだけでなく、Prometheusを自社に導入できるか検討する際の手がかりにしていただけます。
テンプレート利用でコマンド操作不要でPrometheus環境を構築できるKAGOYA CLOUD VPS!
日額20円から利用できるため、お試しや試験的導入などにもオススメできるため、法人から個人まで幅広い層に利用されています。
目次
Prometheusとは?【オープンソースの監視システム】
Prometheus(プロメテウス)とは、大規模なシステムを監視することも可能なオープンソースソフトウェアの監視システムです。
Prometheusは2012年にドイツのSoundCloud社によって開発・リリースされましたが評価が高まったのは、2016年のDreamHackというデジタルイベントでした。このとき、Prometheusは10,000台のコンピュータと500台のスイッチが使われたバックグラウンドシステムの監視に成功したのです。
Prometheusで実現できる主な内容
Prometheusには、サーバー監視に必要な多くの機能がそろっています。
なかでもPrometheusによって実現が可能な、主な内容は以下の通りです。
- 監視対象サーバーからの情報取得
- 取得した監視データの保存
- 保存したデータに対する集計クエリの実行
- しきい値を超えた場合のアラート※メールやSlackなどでの通知が可能
Prometheusの仕組み・主な構成
Prometheusは複数のコンポーネントによって構成されています。そのなかでも最も主要なコンポーネントは以下のとおりです。
Prometheus Server | Prometheusの本体。監視対象のサーバーから、Exporterを通じて監視データ(メトリクス)を収集・処理する中枢的な役割を担う。 |
Exporter | 監視対象のサーバーからメトリクスを収集し、Prometheus Serverへ渡す監視エージェント。 |
Alertmanager | Prometheus Serverから送られたアラートに対し重複排除やグループ化といった処理を行い、メールやSlackなどに送信するアラートマネージャー。 |
Grafana | Prometheusと組み合わせて使われることが多いオープンソースの高機能なデータ可視化ツール。専用のWeb UI上で、監視データを美しく表示する。 |
Prometheusを使うメリット
Prometheusは、他の監視ツールに比べどのようなメリットがあるのでしょうか。以下、主なメリットをみていきましょう。
簡単に導入できる
Prometheusで監視するためには、複数のコンポーネントを使う必要があります。ただし、これらコンポーネントは簡単にインストールできるので、導入が簡単です。別途データベースを用意する必要もありません。
監視対象のサーバーを動的に検出できる
Prometheusでは、監視対象サーバーを自動的に追加・削除することが可能です。手動で登録する必要がなく、監視対象サーバーを簡単に増やしたり減らしたりできます。そのため、Prometheusは監視対象が頻繁に変わるようなスケーラブルなシステムで監視をおこなう際にも最適です。
収集したデータを時系列データとして保存できる
Prometheusでは収集したデータを時系列データとして保存します。そのためI/Oが高速で、専用UIでデータ表示できるのに加え、Grafanaなど他ツールでデータを表示させることも可能です。
PromQLでシンプルかつ柔軟なクエリを実行できる
PromQLはPrometheusの時系列データを収集・取得する専用のクエリ言語です。PromQLは表現方法が豊かで柔軟性があるクエリ言語で、様々な分析を簡単に実行できます。
Prometheusを使うデメリット・注意点
Prometheusを使う際には、いくつかのデメリット・注意点に気を付けなくてはなりません。以下、主なデメリット・注意点をみていきましょう。
日本語のサポートや資料が少ない
Prometheusは、日本語のサポートや資料が少ない点は注意しなくてはなりません。公式サイトの情報や公式のサポートも全て英語です。また他監視ツールに比べても、インターネット上で公開されている日本語の関連情報も残念ながら多いとは言えません。
データの長期保存を前提としていない
Prometheusは、データの長期保存を前提とした設計になっていません。保存期間を長くする場合は、インスタンスのメモリサイズを大きくするなどの調整が求められます。それでも足りないようであれば、外部にデータを長期保存するためのサーバーを確保する必要があります。
Prometheusの基本的な使い方
KAGOYAのVPSサービス「KAGOYA CLOUD VPS」では、Prometheusを簡単にインストールできるアプリケーションセットアップを提供しています。アプリケーションセットアップを使うことで、インスタンス作成とあわせてPrometheusもインストールできるのです。
KAGOYA CLOUD VPSのPrometheusアプリケーションセットアップでは、Prometheusと一緒に使われることが多いデータ可視化ツール「Grafana」も一緒にインストールできます。
ここでは、こちらのアプリケーションセットアップ機能を使ったPrometheusの設定方法を紹介しますので参考にしてください。
※KAGOYA CLOUD VPSの契約方法やコントロールパネルのより詳細な設定手順については、以下記事で紹介しています。興味のある方は、あわせて参照ください。
>サバ管への道!VPS道場~第2回 VPSアカウントを作成し、サーバーを作成する~
インストール方法
ここでは、KAGOYA CLOUD VPSの契約がすでにすんでいるものとして、インストール方法を紹介します。KAGOYA CLOUD VPSのコントロールパネルにログインし「インスタンス作成」をクリックして下さい。
インスタンス作成画面が表示されます。まずパッケージで任意のOS※(ここではUbuntu22.04)、アプリケーションセットアップでPrometheusを選択して下さい。なおアプリケーションセットアップの2つ目は「Latest」のままで構いません。これで最新バージョンがインストールされます。
※KAGOYA CLOUD VPSのうちPrometheusに対応するOSは以下のとおりです。
AlmaLinux9、AlmaLinux8、RockyLinux9、RockyLinux8、CentOS Stream9、CentOS Stream 8、CentOS 7、MIRACLE LINUX 9、MIRACLE LINUX 8、Ubuntu 22.04 LTS、Ubuntu 20.04 LTS
あとはVMのスペックやログイン用認証キーなど画面の指示に従って選択・入力し、画面最下部の「インスタンス作成」をクリックします。
※料金については、選択したインスタンスの種類やスペックによって異なります。
これでインスタンス作成およびPrometheus・Grafanaのインストール作業は完了です。インスタンスが作成完了するまで、約15分かかるのでしばらくお待ちください。
Prometheusの管理画面
インスタンスの作成が完了したら、Prometheusの管理画面にアクセスしてみましょう。
TeraTermなどのリモートログオンクライアントでログオンしますと、以下のようにURLが表示されます。
こちらに表示されているURLをブラウザに入力することで、Prometheusの管理画面にアクセスできます。
※URLのSSL化にタイムラグがあるため、接続できない場合は少し時間を置くか、一旦http:でお試しください。
次にPrometheusで監視対象とするターゲットの一覧をみてみましょう。画面上部の[Status]から[Targets]へ進んでください。
「Targets」画面へ遷移し、ターゲットの一覧が表示されます。
デフォルトでは、Prometheusをインストールしたローカルのサーバーがターゲットとして指定されています。
次にPrometheusの画面から、監視対象のデータをグラフ表示してみましょう。画面上部の「Graph」をクリックして下さい。
「Graph」画面へ遷移します。
画面上部の検索欄に対象のメトリクス名を入力することで、グラフが表示される仕組みです。検索欄に「cpu」「memory」のように、メトリクス名の一部を入力すると、その文字列を含むメトリクス名が表示され選択できるようになっています。
ここでは参考までに、検索欄へ以下のように入力した上で、右側の「Execute」をクリックしてください。
process_cpu_seconds_total
こちらは、トータルメモリ使用量を表すメトリクス名です。
次に「Graph」タブをクリックします。
以下のように、指定したメトリクスの内容がグラフ表示されます。
Grafana
次にGrafanaで、Prometheusの監視データを参照してみましょう。
ブラウザのURL欄に「http://サーバーのIPアドレス:3000」と入力する、もしくは前述で確認できたURLのコピペすることでGrafanaのログイン画面へアクセスできます。画面の指示に従いユーザー名・パスワード(初期のID・パスワードはいずれもadmin)を入力し、「Log in」をクリックして下さい。
ログインが初めての場合、パスワードを変更するよう求められます。画面の指示に従い新しいパスワード(2回)を入力し「Submit」をクリックして下さい。
これで、以下の通りGrafanaの画面へアクセスできます。
次に監視データを参照するため、Dash Boardを作成します。
「Home」→「Dashboards」の順にすすんでください。
Dashboards画面が表示されるので「Create Dashboards」をクリックして下さい。
次の画面で「Add visualization」をクリックして下さい。
「Select data Source」画面が表示されます。検索欄の下に表示された「Prometheus」を選択して下さい。
以下のように、監視データがグラフ表示されます。
こちらの画面を操作することで、グラフの種類などの表示内容を変更できます。
※サイオステクノロジーエンジニア社が、開発元であるGrafana社から提供されたGrafana解説動画に日本語字幕をつけ公開しています。興味のある方はご覧ください。
まとめ
Prometheusは、大規模なシステム監視も可能なオープンソースの監視ツールです。導入が簡単である上に、監視対象のサーバーを動的に検出する機能もあり、企業がシステム監視を開始する際に検討したいツールと言えます。
KAGOYA CLOUD VPSを使えば、Prometheusをインスタンス作成にあわせてコントロールパネルから簡単にインストール可能です。
Prometheusを導入するか迷っている際や、Prometheusについて学習したい方は、まずKAGOYA CLOUD VPSの利用を検討してみてはいかがでしょうか。
開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS
カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。