Prometheusは、無料のオープンソースの監視およびアラートツールであり、2012年にSoundCloudでメトリックを監視するために最初に使用されました。Goプログラミング言語で記述されています。
Prometheusは、時系列データベースでリアルタイムイベントを監視および記録します。それ以来、それは飛躍的に成長し、インフラストラクチャメトリックを監視するために多くの組織に採用されてきました。 Prometheusは、エラーの迅速な診断とトラブルシューティングに役立つ柔軟なクエリとリアルタイムのアラートを提供します。
Prometheusは、次の主要コンポーネントで構成されています。
- 時系列データをスクレイピングおよび保存するためのメインのPrometheusサーバー。
- Graphite、HAProxy、StatsDなどのサービスの独自のエクスポーター
- アラートを処理するためのアラートマネージャー
- 一時的なジョブをサポートするためのプッシュゲートウェイ
- アプリケーションコードをインストルメント化するためのクライアントライブラリ
このチュートリアルでは、Prometheusのインストール方法について学習します。 Ubuntu 20.04 。
必要なもの:
始める前に必要な最小要件は次のとおりです。
- sudoユーザーが設定されたUbuntuサーバーのインスタンス
- 2GBのRAMと1つのvCPU
- サーバーへのSSHアクセス
ステップ1:システムを更新する
次のようにパッケージリストを更新することから始めます。
$ sudo apt update
パッケージインデックスが更新されて最新の状態になったら、次のステップに進みます。
ステップ2:Prometheusをダウンロードしてインストールする
Prometheusインストールファイルは、圧縮されたtarballまたはzipファイルでプリコンパイルされたバイナリで提供されます。 Prometheusをダウンロードするには、公式ダウンロードページにアクセスしてください。このガイドを書いている時点で、Prometheusの最新バージョンは2.31.0です。
ただし、最初に、Prometheusの構成ディレクトリとデータディレクトリを作成する必要があります。
構成ディレクトリを作成するには、次のコマンドを実行します。
$ sudo mkdir -p /etc/prometheus
データディレクトリについては、次を実行します。
$ sudo mkdir -p /var/lib/prometheus
ディレクトリが作成されたら、圧縮されたインストールファイルを取得します。
$ wget https://github.com/prometheus/prometheus/releases/download/v2.31.0/prometheus-2.31.0.linux-amd64.tar.gz
ダウンロードしたら、tarballファイルを解凍します。
$ tar -xvf prometheus-2.31.3.linux-amd64.tar.gz
次に、Prometheusフォルダーに移動します。
$ cd prometheus-2.31.3.linux-amd64
ディレクトリに移動したら、prometheus
を移動します およびpromtool
/usr/local/bin/
へのバイナリファイル フォルダ。
$ sudo mv prometheus promtool /usr/local/bin/
さらに、コンソールファイルをconsole
に移動します console_libraries
内のディレクトリおよびライブラリファイル /etc/prometheus/
へのディレクトリ ディレクトリ。
$ sudo mv consoles/ console_libraries/ /etc/prometheus/
また、prometheus.ymlテンプレート構成ファイルを /etc/prometheus/
に移動してください。 ディレクトリ。
$ sudo mv prometheus.yml /etc/prometheus/prometheus.yml
この時点で、Prometheusは正常にインストールされています。インストールされているPrometheusのバージョンを確認するには、次のコマンドを実行します。
$ prometheus --version
出力:
prometheus, version 2.31.3 (branch: HEAD, revision: f29caccc42557f6a8ec30ea9b3c8c089391bd5df)
build user: root@5cff4265f0e3
build date: 20211005-16:10:52
go version: go1.17.1
platform: linux/amd64
$ promtool --version
出力:
promtool, version 2.31.3 (branch: HEAD, revision: f29caccc42557f6a8ec30ea9b3c8c089391bd5df)
build user: root@5cff4265f0e3
build date: 20211005-16:10:52
go version: go1.17.1
platform: linux/amd64
あなたの出力が私が持っているものに似ているなら、あなたは正しい軌道に乗っています。次のステップでは、システムグループとユーザーを作成します。
ステップ3:システムグループとユーザーを構成する
Prometheusのシステムファイルの作成を含む次のステップに進む前に、Prometheusグループとユーザーを作成することが不可欠です。
prometheus
を作成するには グループはコマンドを実行します:
$ sudo groupadd --system prometheus
その後、prometheus
を作成します ユーザーを作成し、作成したばかりのprometheus
に割り当てます。 グループ。
$ sudo useradd -s /sbin/nologin --system -g prometheus prometheus
次に、ディレクトリの所有権と権限を次のように構成します。
$ sudo chown -R prometheus:prometheus /etc/prometheus/ /var/lib/prometheus/
$ sudo chmod -R 775 /etc/prometheus/ /var/lib/prometheus/
残っているのは、Prometheusをsystemdサービスにして、実行ステータスを簡単に管理できるようにすることだけです。
ステップ4:Prometheusのsystemdファイルを作成する
お気に入りのテキストエディタを使用して、systemdサービスファイルを作成します。
$ sudo vim /etc/systemd/system/prometheus.service
次のコード行を貼り付けます。
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Restart=always
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 \
--web.listen-address=0.0.0.0:9090
[Install]
WantedBy=multi-user.target
変更を保存して、systemdファイルを終了します。
次に、続行してPrometheusサービスを開始します。
$ sudo systemctl start prometheus
起動時にPrometheusサービスを実行できるようにします。したがって、次のコマンドを呼び出します。
$ sudo systemctl enable prometheus
次に、Prometheusサービスのステータスを確認します。
$ sudo systemctl status prometheus
ステップ5:Prometheusにアクセスする
最後に、Prometheusにアクセスするには、ブラウザを起動し、サーバーのIPアドレスにアクセスしてからポート9090にアクセスします。
UFWファイアウォールを実行している場合は、9090ポートを開きます。
$ sudo ufw allow 9090/tcp
$ sudo ufw reload
ブラウザに戻ります。示された住所に向かいます。
http://server-ip:9090
結論
このチュートリアルでは、Ubuntu20.04にPrometheusをインストールする方法を学びました。ここから、さまざまなイベントと時間ベースのメトリックの監視を開始できます。詳細については、Prometheusの公式ドキュメントをご覧ください。