GNU/Linux >> Linux の 問題 >  >> Rocky Linux

RockyLinuxにPrometheusとNodeExporterをインストールする方法

プロメテウス はオープンソースの監視およびアラートプラットフォームです。

もともと、Prometheusは2012年にSoundcloudによって作成されました。それ以来、いくつかの有名な企業によって採用されたPrometheusプロジェクトは、非常に活発な開発者とコミュニティを持つより大きなプロジェクトになりました。そして2016年、Prometheusプロジェクトは Cloud Native Computing Foundation(CNCF)の下で卒業しました。 。

知っておくべき基本概念

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

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

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

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

前提条件

この記事では、PrometheusモニタリングツールとNodeExporterをRockyLinux8システムにインストールする方法を学習します。

始める前に、次の要件が満たされていることを確認してください。

  • オペレーティングシステム: Rocky Linux 8.5(Green Obsidian)
  • ルート権限

この例では、IPアドレスが' 192.168.1.10のRockyLinuxシステムを使用しています。 '。

それでは始めましょう。

新しいユーザーとディレクトリを追加

最初に、新しいシステムユーザー「prometheus」を作成し、次にPrometheusインストール用の新しい構成ディレクトリとデータディレクトリを作成します。

1.次のコマンドを実行して、新しいユーザー' prometheusを作成します。 '。

 sudo adduser -M -r -s / sbin / nologin prometheus 

2.その後、新しい構成ディレクトリを作成します'/ etc / prometheus 'およびデータディレクトリ'/ var / lib / prometheus '次のコマンドを使用します。

 sudo mkdir / etc / prometheus 
sudo mkdir / var / lib / prometheus

すべてのPrometheus構成は、' / etc / prometheusで入手できます。 'ディレクトリ、およびすべてのPrometheusデータは自動的にディレクトリに保存されます' / var / lib / prometheus '。

RockyLinuxへのPrometheusのインストール

このステップでは、tarballまたはtar.gzファイルからPrometheusモニタリングシステムを手動でインストールします。

このリンクからPrometheusバージョンを選択してください。この例では、Prometheusの最新バージョンをインストールします。

1.作業ディレクトリを「/usr/ src」に変更し、次のコマンドを使用してPrometheusバイナリをダウンロードします。

 cd / usr / src 
wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz

ダウンロードプロセスが完了したら、Prometheusファイルを抽出します。

 tar -xf prometheus-2.31.1.linux-amd64.tar.gz 

これで、新しいディレクトリ' prometheus-VERSION.OSが表示されます。 '。

2.次に、すべてのPrometheus構成をディレクトリ'/ etc / prometheus'にコピーします。 およびバイナリファイル'prometheus 'から'/ usr / local / bin 'ディレクトリ。

環境変数の設定'PROM_SRC 'ディレクトリ'/usr / src / prometheus- * '。

 export PROM_SRC =/ usr / src / prometheus-* 

prometheus構成をコピーします'prometheus.yml 'ディレクトリに'/ etc / prometheus

 sudo cp $ PROM_SRC / prometheus.yml / etc / prometheus / 

バイナリファイル'prometheusをコピーします 'および'promtool 'ディレクトリ'/usr / local / bin / '。

 sudo cp $ PROM_SRC / prometheus / usr / local / bin / 
sudo cp $ PROM_SRC / promtool / usr / local / bin /

Prometheusコンソールのテンプレートとライブラリを「/etc/prometheus」ディレクトリにコピーします。

 sudo cp -r $ PROM_SRC / consoles / etc / prometheus 
sudo cp -r $ PROM_SRC / console_libraries / etc / prometheus

3.次に、Prometheus構成を編集します' /etc/prometheus/prometheus.yml' nanoエディターを使用します。

 nano /etc/prometheus/prometheus.yml 

' scrape_configs 'オプションでは、監視ジョブと、ターゲットからすべてのデータを取得する方法を追加する必要がある場合があります。

デフォルトの構成には、デフォルトの監視ジョブ名「prometheus」とターゲットサーバー「 localhost」が付属しています。 'から'static_configs 'オプション。

ターゲットを'localhost:9090'から変更します サーバーのIPアドレスへ'192.168.1.10:9090 '以下のように。

#スクレイプするエンドポイントを1つだけ含むスクレイプ構成:
#これがPrometheus自体です。
scrape_configs:
#ジョブ名がラベル `job =`として追加されますこの構成からスクレイプされた任意の時系列に。
--job_name: "prometheus"

#metrics_pathのデフォルトは「/metrics」
#スキームのデフォルトは「http」。

static_configs:
-ターゲット:["192.168.1.10:9090"]

構成を保存して終了します。

4.次に、次のコマンドを実行して、構成ディレクトリとデータディレクトリをユーザー' promethuesに変更します。 '。

 sudo chown prometheus:prometheus / etc / prometheus 
sudo chown prometheus:prometheus / var / lib / prometheus

これで、基本的なプロメテウスのインストールが完了しました。

プロメテウスサービスファイルのセットアップ

このステップでは、Prometheusをsystemdサービスとして設定します。

1.nanoエディターを使用して新しいsystemdサービスファイル「/etc/systemd/system/prometheus.service」を作成します。

 sudo nano /etc/systemd/system/prometheus.service 

次の構成をコピーして貼り付けます。

 [Unit] 
Description =Prometheus
Wants =network-online.target
After =network-online.target

[Service]
User =prometheus
Group =prometheus
Type =simple
ExecStart =/ usr / local / bin / prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path / var / lib / prometheus / \
--web.console.templates =/ etc / prometheus / consoles \
--web.console.libraries =/etc/prometheus/console_libraries

[インストール]
WantedBy =multi-user.target

構成を保存して終了します。

2.次に、systemdマネージャーをリロードして、新しい構成を適用します。

sudosystemctlデーモン-リロード

3.次に、次のコマンドを実行してPrometheusサービスを開始して有効にし、現在のステータスを確認します。

 sudo systemctl enable --now prometheus 
sudo systemctl status prometheus

インストールが成功すると、prometheusサービスがアクティブになり、以下のように実行されていることがわかります。

Prometheusモニタリングツールは、TCPポート' 9090からアクセスできるようになりました。 。

4. Webブラウザーを開き、サーバーのIPアドレスをポート' 9090で入力します。 'アドレスバーに表示されます。

http://192.168.1.10:9090/

そして、以下にプロメテウスダッシュボードクエリが表示されます。

これで、プロメテウスのインストールが完了しました。 NodeExporterをインストールするための次のステップに進みます。

RockyLinuxへのNodeExporterのインストール

ノードエクスポーターはプロメテウスプロジェクトの一部です。ノードエクスポーターを使用して、LinuxサーバーのメトリックをPrometheusサーバーにエクスポートできます。

このステップでは、tar.gzファイルからRockyLinuxシステムにノードエクスポーターをインストールします。

このリンクをチェックして、ノードエクスポーターの最新バージョンを入手してください。この例では、ノードエクスポーターバージョン1.3.0をインストールします。

1.作業ディレクトリを'/ usr / srcに変更します 'そして、次のコマンドを使用してノードエクスポータバイナリファイルをダウンロードします。

 cd / usr / src / 
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz
>

ダウンロードプロセスが完了したら、ノードエクスポータファイルを抽出します。

 tar -xf node_exporter-1.3.0.linux-amd64.tar.gz 

これで、新しいディレクトリ'node_exporter-VERSION.OSが取得されます。 '。

2.次に、ノードエクスポータのバイナリファイルをディレクトリ'/ usr / local / binに移動します。 '次のコマンドを使用します。

 mv node_exporter-* / node_exporter / usr / local / bin 

次の手順に進み、nodeexporterをsystemdサービスとして設定します。

サービスとしてのNode_exporterのセットアップ

ノードエクスポータサービスファイルを作成する前に、新しいシステムユーザー' node_exporter'を作成します。 。

1.次のコマンドを実行して、新しいシステムユーザーを作成します。

 sudo adduser -M -r -s / sbin / nologin node_exporter 

2.次に、nanoエディターを使用してノードエクスポーター'/etc/systemd/system/node_exporter.service'の新しいサービスファイルを作成します。

 sudo nano /etc/systemd/system/node_exporter.service 

次の構成をコピーして貼り付けます。

 [Unit] 
Description =Node Exporter
After =network.target

[Service]
User =node_exporter
Group =node_exporter
Type =simple
ExecStart =/ usr / local / bin / node_exporter

[Install]
WantedBy =multi-user.target

構成を保存して終了します。

3.ここで、systemdマネージャーをリロードして、新しい構成を適用します。

sudosystemctlデーモン-リロード

4.次のコマンドを使用して、サービス「node_exporter」を開始して有効にします。

 sudo systemctl enable --now node_exporter 

その後、サービス「node_exporter」の現在のステータスを確認します。

 sudo systemctl status node_exporter 

' node_exporter 'サービスはアクティブで実行中です。

5.ノードエクスポータはデフォルトポート'9100で実行されています '。以下のssコマンドを使用して確認してください。

 ss -aplnt | grepノード

以下のような出力が表示されます。

 State Recv-Q Send-Q Local Address:Port Peer Address:Port Process 
LISTEN 0 128 0.0.0.0:22 pid =68 d :( 9090 *:*ユーザー:(( "プロメテウス"、PID =709、FD =8))
LISTEN 128 * 0:9100 *:*ユーザー:((4))
0 128 * LISTEN "node_exporter"、pid =5786、fd =3))
LISTEN 0 128 [::]:22 [::]:* users:(( "sshd"、pid =68 / pre>

これで、RockyLinuxシステムへのノードエクスポーターのインストールが完了しました。

node_exporterをPrometheusに追加

Prometheusとノードエクスポーターのインストールが完了したら、ノードエクスポーターをPrometheusサーバーに追加します。

1.nanoエディターを使用してPrometheus構成を編集します。

 sudo nano /etc/prometheus/prometheus.yml 

' scrape_configの下 'セクションで、次の構成を使用して新しいPrometheusジョブを追加します。また、ターゲットサーバーでサーバーのIPアドレスを変更してください。

 --job_name:'node_exporter_metrics' 
scare_interval:5s
static_configs:
--targets:['SERVER-IP:9100']

構成を保存して終了します。

2.ここで、Prometheusサービスを再起動して、新しい構成を適用します。

 sudo systemctl restart prometheus 

そして、ノードエクスポーターをPrometheusサーバーに追加しました。

Prometheusとノードエクスポーターのインストールを確認する

1. Prometheusダッシュボードに戻り、メニュー'ステータスをクリックします。 'そして'ターゲットを選択します '。

' prometheusという2つの異なるエンドポイントが表示されます。 'および'node_exporter_metrics '。

2.次に、メニュー'グラフに移動します 'そして検索バーにPromQLクエリを入力します。この例では、クエリ' node_os_infoを使用して詳細なオペレーティングシステムを確認します。 '。

また、現在のオペレーティングシステムに関する詳細情報が表示されます。

3.別の例として、クエリ' node_network_speed_bytesを使用してネットワーク速度を確認します。 '、次にタブ'グラフに移動します '。そして、以下のような出力が表示されます。

これで、PrometheusとノードエクスポーターがRockyLinuxシステムに正常にインストールされました。

結論

おめでとう! RockyLinuxシステムでのPrometheusモニタリングシステムとノードエクスポーターの基本的なインストールと構成を学習しました。

次のステップでは、他のアプリケーション用の別のPrometheusエクスポーターと、監視ダッシュボードとしてのGrafanaを探索できます。


Rocky Linux
  1. DockerとDockerをインストールする方法-RockyLinux8で作成する

  2. Rocky Linux / AlmaLinux8にNodeJSとNPMをインストールする方法

  3. RockyLinux8にElasticsearchをインストールして設定する方法

  1. RockyLinux8にHAProxyをインストールして設定する方法

  2. RockyLinuxにPostgreSQL13をインストールして使用する方法

  3. RockyLinux8.4にNodejsをインストールする方法

  1. RockyLinux8にMongoDBをインストールして使用する方法

  2. RockyLinux8にpgAdmin4をインストールして使用する方法

  3. RockyLinux8.4のインストール方法