ウェブサイト検索

Debian 12にPrometheusとNode Exporterをインストールする方法


Debian 12にPrometheusとNode Exporterをインストールする方法

Prometheusはオープンソースの監視およびアラートプラットフォームです。元々、Prometheusは2012年にSoundcloudによって作成されました。それ以来、プロメテウスプロジェクトは有名な企業によって採用され、非常に活発な開発者とコミュニティを持つ大きなプロジェクトになりました。2016年には、Prometheusプロジェクトはクラウドネイティブコンピューティング財団(CNCF)の下で卒業しました。

このガイドでは、Debian 12 サーバーに Prometheus と Node Exporter をインストールする方法を説明します。

前提条件

始めるには、以下のものを用意してください。

  • Debian 12サーバー。
  • sudo管理者権限を持つ非ルートユーザー。

知っておくべき基本概念

基本的に、PrometheusはターゲットサーバーからHTTPエンドポイントを通じてデータとメトリクスを収集し、すべてのデータを時間系列として保存します。Prometheusでは、時間系列データはメトリック名とキー/バリューのペアによって識別されます。

PrometheusはPrometheus Query Language(PromQL)を通じて柔軟性を提供します。PromQLを使用して、Prometheusの時系列データベースをクエリできます。

ターゲットサーバーには、すべてのデータとメトリクスをPrometheusに公開する「Exporter」アプリケーションをインストールする必要があります。「Node Exporter」は、Linuxマシンを監視するためによく使用されるExporterです。

ノードエクスポーターは、Linuxマシンからハードウェアおよびカーネル関連のメトリクスを公開します。これは、Prometheusサーバーにデータとメトリクスを公開する単一のバイナリファイルとして提供されます。

PrometheusとNode Exporterのインストール

Prometheusはシステムメトリクスを収集するためのオープンソースの監視システムです。Prometheusは、Node Exporterのようなエクスポーターを使用してシステムメトリクスを収集します。これにより、システムのメトリクスを収集することができます。

最新のDebianバージョンでは、PrometheusとNode Exporterの両方がリポジトリにあり、APTパッケージマネージャーを使用してインストールできます。

最初に、次のコマンドを実行してDebianパッケージインデックスを更新およびリフレッシュします。

sudo apt update

次に、以下のaptコマンドを使用してPrometheusとNode Exporterをインストールします。DebianリポジトリはPrometheus 2.42.0とNode Exporter 1.5.0を提供しています。

sudo apt install prometheus prometheus-node-exporter

インストールを続行するにはYを入力してください。

インストールが完了すると、PrometheusとNode Exporterはどちらもsystemdサービスとして実行され、自動的に有効になります。Prometheusにはサービスprometheusがあり、Node Exporterにはサービスprometheus-node-exporterがあります。

次のコマンドを使用してプロメテウスサービスを確認してください。

sudo systemctl is-enabled prometheus
sudo systemctl status prometheus

下記に表示されている出力は、prometheusサービスが実行されており、有効になっていることを示しています。そして、デフォルトでは、ポート9090で実行されています。

次に、以下のコマンドを実行して prometheus-node-exporter サービスを確認してください。

sudo systemctl is-enabled prometheus-node-exporter
sudo systemctl status prometheus-node-exporter

表示された出力は似ており、prometheus-node-exporterサービスが実行されていて有効であることを示しています。Node Exporterのデフォルトポートは9100です。

次に、以下のプロメテウスコマンドを実行して、プロメテウスのバージョンを確認します。

prometheus --version

次に、promtoolのバイナリパスとそのバージョンをこのように確認します。promtoolは、Prometheus監視システムを管理するためのコマンドラインツールです。

which promtool
promtool --version

表示された出力に基づいて、Prometheus と promtool 2.42.0 がインストールされています。

最後に、以下のコマンドを使用してNode Exporterバイナリのパスprometheus-node-exporterとそのバージョンを確認してください。

which prometheus-node-exporter
prometheus-node-exporter --version

下の表示された出力は、Node Exporter 1.5 がインストールされていることを確認しています。

Prometheusの設定

PrometheusとNode Exporterをインストールした後、次のステップは、prometheusの設定ディレクトリ/etc/prometheusにあるデフォルトの設定ファイルprometheus.ymlを編集してPrometheusを構成することです。

以下のnanoエディタコマンドを使用して、デフォルトのPrometheus設定/etc/prometheus/prometheus.ymlを開いてください。

sudo nano /etc/prometheus/prometheus.yml

scrape_configs セクション内に、ターゲットエンドポイント 192.168.10.15:9090 を持つ新しいジョブ prometheus を追加します。これは Prometheus サーバーそのものです。

A scrape configuration containing exactly one endpoint to scrape:
Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["192.168.10.15:9090"]

作業が終わったらファイルを保存してエディタを終了してください。

以下のsystemctlコマンドを実行して、prometheusサービスを再起動し、あなたが行った変更を適用してください。

sudo systemctl restart prometheus

今、ウェブブラウザを起動し、http://192.168.10.15:9090 のようなPrometheusのインストール先にアクセスしてください。すべてが正しく機能していれば、次のコマンドでPrometheusダッシュボードが表示されるはずです。

メニューステータス > ターゲットをクリックして、ターゲット監視システムのエンドポイントのリストを取得します。ステータスがアップのエンドポイントprometheusが表示されるはずです。

最後に、http://192.168.10.15:9090/metrics のようなパスURL /metrics にアクセスすることで、Prometheusのメトリクスを確認することもできます。Prometheusによって生成された類似のメトリクスデータが表示されるはずです。

Prometheusにノードエクスポータを追加する

Prometheusの設定が完了したので、次のステップはNode ExporterをPrometheusのインストールに追加することです。Node Exporterはサーバーからメトリクスを収集します。そのためには、以下の手順を完了する必要があります。

  • ノードエクスポーターのステータスを確認する:これにより、さらに進む前にノードエクスポーターが実行されていることを確認します。
  • Prometheusへの新しいジョブの追加:これにより、ターゲット監視システムをPrometheusに追加する方法が示されます。

さあ、始めましょう。

ノードエクスポーターの状態を確認中

Node ExporterをPrometheusに追加する前に、Node Exporterがエラーなしで実行されていることを確認する必要があります。これは、prometheus-node-exporterサービスの状態を確認し、Node Exporterが使用するポート9100を確認し、ブラウザからNode Exporterのメトリクスにアクセスすることで達成できます。

prometheus-node-exporter サービスのステータスを確認するには、以下のコマンドを実行してください。

sudo systemctl status prometheus-node-exporter

実行中の場合、prometheus-node-exporter サービスのステータスは次のようになるはずです:

以下のコマンドを実行して、ポート9100がNode Exporterで使用されているLISTEN状態になっていることを確認してください。

ss -tulpn | grep 9100

以下の出力は、Node Exporterがポート9100を使用していることを確認します。

最後に、ウェブブラウザを開いて、Node ExporterのメトリクスURL、例えば http://192.168.10.15:9100/metrics にアクセスしてください。Node Exporterによって生成されたメトリクスが次のように表示されるはずです:

Prometheusに新しいジョブを追加する

Node Exporterが実行されているので、Node ExporterをPrometheusに追加する準備ができました。

以下のnanoエディタコマンドを使用して、Prometheusの設定ファイル/etc/prometheus/prometheus.ymlを開いてください。

sudo nano /etc/prometheus/prometheus.yml

scrape_configs セクション内に、新しいジョブ prometheus-node-exporter を追加し、Node Exporter メトリックのエンドポイントを次のように設定します。

  - job_name: 'prometheus-node-exporter'
    scrape_interval: 5s
    static_configs:
      - targets: ['192.168.10.15:9100']

ファイルを保存して、作業が完了したらエディタを終了してください。

次に、次のsystemctlコマンドを実行してprometheusサービスを再起動し、変更を適用します。

sudo systemctl restart prometheus

最後に、Prometheusのダッシュボードに戻り、次にステータス > ターゲットメニューをクリックします。すべてがうまくいけば、ターゲットエンドポイントにNode Exporterが表示されるはずです。

Prometheusダッシュボードの基本的な使い方

このセクションでは、Prometheusのダッシュボードから実行できるPrometheusとNode Exporterの基本クエリを学びます。

node_os_infoというクエリを入力し、実行ボタンをクリックしてください。node_os_infoは、オペレーティングシステムの詳細を確認するためのNode Exporterによって提供されるクエリ言語です。

コンソールセクションでは、以下のような詳細なホスト情報が表示されるはずです:

次に、node_memory_Active_bytesのような別のクエリを入力して、ターゲットサーバーのアクティブメモリを確認します。グラフセクションでは、以下のような類似の結果が表示されるはずです。

さらに、PromQL(Prometheus Query Language)を使用して、node_memory_Active_bytes[5]のような特定のデータを取得することもできます。これは、最後の5分間のデータを表示します。

結論

まとめると、あなたはDebian 12サーバーにPrometheusとNode Exporterをステップバイステップでインストールしました。公式のDebianリポジトリからAPTを使用してPrometheusとNode Exporterをインストールしました。また、クエリをテストするためのPrometheusダッシュボードの基本的な使い方も学びました。これで、監視システムにAlert ManagerやGrafanaなどの追加コンポーネントをインストールできるようになりました。

関連記事: