プロメテウス はオープンソースの監視およびアラートプラットフォームです。
もともと、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'を作成します。 。
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