16.04前書きPrometheusは、サービスからメトリックを収集し、それらを時系列データベースに保存する強力なオープンソース監視システムです。Grafanaなどのツールを使用して、多次元データモデル、柔軟なクエリ言語、さまざまな視覚化の可能性を提供します。受信したリクエストの数、メモリ消費量など)。追加のメトリックを生成するオプションのプログラム_exporters_をインストールすることにより、Prometheusを大幅に拡張できます。エクスポーター-プロメテウスチームが管理する公式のものと、コミュニティが提供するものの両方-は、インフラストラクチャ、データベース、Webサーバーからメッセージングシステム、APIなどに至るまでのすべてに関する情報を提供します。一般的な選択肢には次のものがあります。node_exporter-これは、現在のCPU、メモリ、ディスクの使用量、およびIディスクまたはサーバーの平均負荷。blackbox_exporter-これにより、HTTPやHTTPSなどのプローブプロトコルから派生したメトリックが生成され、エンドポイントの可用性、応答時間などが決定されます。mysqld_exporter-これは、実行されたクエリの数、平均クエリ応答時間、クラスタ複製ステータスなど、MySQLサーバーに関連するメトリックを収集します。rabbitmq_exporter-https://www.rabbitmq.com/[RabbitMQ]メッセージングシステムに関するメトリックを出力します。これには、発行されたメッセージの数、準備ができているメッセージの数が含まれます配信され、キュー内のすべてのメッセージのサイズ。Webサーバーに関するメトリックを提供しますVTSモジュール]。開いている接続の数、送信された応答の数(応答コードごとにグループ化)、および送信または受信された要求の合計サイズ(バイト単位)が含まれます。PrometheusのWebサイトで、公式およびコミュニティ提供の輸出業者のより完全なリストを見つけることができます。Exporterをインストール、構成、および保護して、サーバーのパフォーマンスの監視を容易にするメトリックを生成します。前提条件このチュートリアルを実行する前に、次のものがあることを確認してください。16.04ドロップレット。16.04での初期サーバーセットアップチュートリアル]に従ってセットアップします。非rootユーザーとファイアウォール。16.04にNginxをインストールする方法]チュートリアルの最初の2つの手順に従ってインストールしました。*を作成することから始めます。チュートリアル全体でこれらのアカウントを使用して、Prometheusのコアファイルとディレクトリの所有権を分離します。false」オプションを使用します。node_exporterPrometheusバイナリをダウンロードする前に、Prometheusのファイルとデータを保存するために必要なディレクトリを作成します。*ユーザーに設定します。/var/lib/prometheusユーザーとディレクトリを配置したら、Prometheusをダウンロードして、Prometheusを初めて実行するための最小構成ファイルを作成できます。ステップ2-プロメテウスのダウンロードまず、Prometheusの現在の安定バージョンをダウンロードして、ホームディレクトリに解凍します。Prometheusダウンロードページで、最新のバイナリとチェックサムを見つけることができます。+`コマンドを使用して、ダウンロードしたファイルのチェックサムを生成します。sha256sumこのコマンドの出力をPrometheusダウンロードページのチェックサムと比較して、ファイルが本物で破損していないことを確認します。Outputチェックサムが一致しない場合は、ダウンロードしたファイルを削除し、前述の手順を繰り返してファイルを再ダウンロードします。次に、ダウンロードしたアーカイブを解凍します。+`ディレクトリが含まれ、Webインターフェイスファイル、ライセンス、通知、およびいくつかのサンプルファイル。+`ディレクトリにコピーします。*ユーザーに設定します。prometheus`にコピーします。*ユーザーに設定します。+`フラグを使用すると、ディレクトリ内のファイルにも所有権が設定されます。/etc/prometheus/console_libraries最後に、不要になった残りのファイルをホームディレクトリから削除します。-rfPrometheusがインストールされたので、最初の実行に備えて構成ファイルとサービスファイルを作成します。+`という名前の設定ファイルを作成します。今のところ、このファイルには、Prometheusを初めて実行するのに十分な情報が含まれています。+`設定で、メトリックスのデフォルトの間隔を定義します。Prometheusは、個々のエクスポーター自身の設定がグローバルをオーバーライドしない限り、これらの設定をすべてのエクスポーターに適用することに注意してください。+`値は、15秒ごとにエクスポーターからメトリックを収集するようにPrometheusに指示します。これはほとんどのエクスポーターにとって十分な長さです。+`ディレクティブを使用して、Prometheus自体をエクスポーターのリストに追加して、スクレイピング元から削除します。+」を使用しているため、ここで説明的なものを選択してください。+`ディレクティブを15秒から5秒にオーバーライドしました。`ディレクティブを使用して、エクスポーターが実行されている場所を判断します。設定ファイルは次のようになります。['']ファイルを保存し、テキストエディターを終了します。*ユーザーに設定します。/etc/prometheus/prometheus.yml設定が完了したら、Prometheusを初めて実行してテストする準備が整いました。*ユーザーとしてPrometheusを起動し、構成ファイルとデータディレクトリの両方へのパスを指定します。--web.console.libraries=/etc/prometheus/console_libraries出力には、Prometheusの読み込みの進行状況、構成ファイル、および関連サービスに関する情報が含まれています。+`でリッスンしていることを確認します。requests."エラーメッセージが表示された場合は、設定ファイルでYAML構文を使用したことを再確認し、画面上の指示に従って問題を解決してください。+`サービスファイルを開きます。[システム化されたユニットとユニットファイルについて])次のコンテンツをファイルにコピーします。--web.console.libraries=/etc/prometheus/console_libraries[Install]WantedBy=multi-user.target最後に、ファイルを保存し、テキストエディターを閉じます。+`をリロードします。daemon-reload次のコマンドを使用して、Prometheusを起動できるようになりました。prometheusPrometheusが実行されていることを確認するには、サービスのステータスを確認します。prometheus出力には、Prometheusのステータス、メインプロセス識別子(PID)、メモリ使用量などが表示されます。サービスのステータスが「++」でない場合は、画面上の指示に従って、チュートリアルを続行する前に問題を解決するために前述の手順を再トレースします。+」コマンドを終了します。最後に、起動時にサービスを開始できるようにします。prometheusPrometheusが稼働しているので、追加のエクスポーターをインストールして、サーバーのリソースに関するメトリックを生成できます。Exporterと呼ばれる追加のエクスポーターをインストールします。Exporterは、CPU、ディスク、メモリの使用量など、システムに関する詳細情報を提供します。Exporterの現在の安定バージョンをホームディレクトリにダウンロードします。Prometheusのダウンロードページで、最新のバイナリとチェックサムを見つけることができます。+`コマンドを使用して、ダウンロードしたファイルのチェックサムを生成します。sha256sumダウンロードしたファイルのチェックサムとダウンロードページのチェックサムを比較して、ダウンロードしたファイルの整合性を確認します。Outputチェックサムが一致しない場合は、ダウンロードしたファイルを削除して、前述の手順を繰り返します。次に、ダウンロードしたアーカイブを解凍します。」という名前のバイナリファイル、ライセンス、および通知を含む「+」というディレクトリが作成されます。*ユーザーに設定します。/usr/local/bin/node_exporter最後に、不要になった残りのファイルをホームディレクトリから削除します。Exporterをインストールしたので、起動して起動するように、サービスファイルを作成する前に実行してテストします。Exporterを実行する手順は、Prometheus自体を実行する手順と似ています。ExporterのSystemdサービスファイルを作成することから始めます。*ユーザーとして実行するようシステムに指示します。次のコンテンツをサービスファイルにコピーします。Exporterが生成するメトリックを定義します。[NodeエクスポーターのREADMEファイル]。+`フラグを使用できます。+`コレクターのみを使用してメトリックを生成するように指示します。コレクターを必要な数に制限することもできますが、コンマの前後に空白スペースがないことに注意してください。ファイルを保存し、テキストエディターを閉じます。+`をリロードして、新しく作成されたサービスを使用します。Exporterを実行できるようになりました。Exporterが正しく実行されていることを確認します。Exporterのステータス、メインプロセス識別子(PID)、メモリ使用量などを示します。サービスのステータスが「++」でない場合は、画面上のメッセージに従い、前述の手順を再度トレースして問題を解決し、続行します。Exporterを有効にして起動時に起動します。Exporterが完全に構成され、期待どおりに実行されたら、Prometheusに新しいメトリックのスクレイピングを開始するよう指示します。Exporterのエントリを追加する必要があります。構成ファイルを開きます。+`という新しいエントリを追加します。Exporterのデフォルトポートである「9100」を使用できます。設定ファイル全体は次のようになります。['localhost:9100']続行する準備ができたら、ファイルを保存し、テキストエディターを終了します。最後に、Prometheusを再起動して、変更を有効にします。+`コマンドですべてが正しく実行されていることを確認します。prometheusサービスのステータスが「++」に設定されていない場合は、画面の指示に従って、先に進む前に前の手順を再度トレースします。Exporterがインストール、構成、および実行されました。ウェブインターフェースに接続する前の最後の予防措置として、基本的なHTTP認証を使用してインストールのセキュリティを強化し、許可されていないユーザーがメトリックにアクセスできないようにします。ステップ8-プロメテウスの保護Prometheusには、組み込みの認証やその他の汎用セキュリティメカニズムは含まれていません。一方で、これは、構成の制約が少ない非常に柔軟なシステムを得ていることを意味します。指標と全体的な設定が十分に安全であることを確認するのはユーザー次第です。簡単にするために、Nginxを使用して基本HTTP認証をインストールに追加します。これは、Prometheusとその推奨データ視覚化ツールGrafanaの両方が完全にサポートしています。`をインストールします。+`ユーティリティにアクセスできます。+」に伝えることで、パスワードファイルを作成します。`と呼ばれる新しく作成されたファイルであり、ユーザー名と入力したパスワードのハッシュバージョンを含んでいます。次に、新しく作成したパスワードを使用するようにNginxを構成します。最初に、問題が発生した場合に後でデフォルトに戻すことができるように、デフォルトのNginx構成ファイルのプロメテウス固有のコピーを作成します。/etc/nginx/sites-available/prometheus次に、新しい構成ファイルを開きます。+`ブロックを見つけます。+`ディレクティブを次のコンテンツに置き換えます。}...これらの設定により、ユーザーは各新規セッションの開始時に認証を受ける必要があります。リバースプロキシは、このブロックで処理されるすべての要求をPrometheusに送信します。変更が完了したら、ファイルを保存してテキストエディターを閉じます。+`ディレクトリ内のデフォルトのNginx設定ファイルへのリンクを削除して非アクティブ化し、リンクを作成して新しい設定ファイルをアクティブ化します。/etc/nginx/sites-enabled/Nginxを再起動する前に、次のコマンドを使用して構成のエラーを確認してください。+」で「+テストが成功」であることを示す必要があります。エラーメッセージが表示された場合は、画面の指示に従って問題を修正し、次の手順に進みます。successful次に、Nginxをリロードして、すべての変更を組み込みます。nginxNginxが稼働していることを確認します。nginx出力がサービスのステータスが「++」であることを示していない場合は、画面上のメッセージに従って問題を解決するために前の手順を再トレースし、続行します。/system.slice/nginx.serviceこの時点で、完全に機能するセキュアなPrometheusサーバーが用意されているため、Webインターフェースにログインしてメトリックの確認を開始できます。ステップ9-プロメテウスのテストPrometheusは、自身とそのエクスポーターのステータスを監視し、クエリを実行し、グラフを生成するための基本的なWebインターフェイスを提供します。Grafanaのインストールと使用テストやデバッグよりも複雑です。Exporterが稼働していることを確認し、簡単なクエリとグラフも確認します。[HTTP認証]ダイアログボックスで、手順8で選択したユーザー名とパスワードを入力します。*が表示され、カスタムクエリを実行して視覚化できます。Explorerの両方のステータスを確認します。+」状態で一覧表示されるはずです。Targets]エクスポーターが見つからないか、エラーメッセージが表示された場合は、次のコマンドを使用してサービスのステータスを確認してください。Active:(running)+`のステータスを報告する必要があります。サービスがまったくアクティブになっていないか、アクティブになっているがまだ正常に機能していない場合は、画面の指示に従って前の手順に戻り、続行します。Exporterに対していくつかの式を実行します。最初に、画面上部の[グラフ]メニューをクリックして、[式ブラウザ]に戻ります。*タブをサーバーのメモリ量で更新します。Exporterはこの量をバイト単位で報告します。メガバイトに変換するには、数学演算子を使用して1024で2回除算します。MB][コンソール]タブに結果がメガバイト単位で表示されるようになりました。`コマンドを実行します。+」に人間が読める形式で報告するよう指示し、メガバイト単位で量を提供します。*列に表示される使用可能なメモリなど、メモリ使用量に関する詳細が含まれます。0B基本的な演算子に加えて、Prometheusクエリ言語は結果を集計するための多くの機能も提供します。*]ボタンをクリックします。結果は、過去5分間の平均使用可能メモリ(メガバイト単位)になります。Memory]ここで、*グラフ*タブをクリックして、実行された式をテキストではなくグラフとして表示します。Memory]最後に、このタブを開いたまま、グラフの上にマウスを移動すると、グラフのX軸とY軸に沿った特定のポイントに関する詳細が表示されます。Prometheus]の部分をご覧ください。結論このチュートリアルでは、1つのエクスポーターを追加して完全なPrometheusインストールをダウンロード、構成、セキュリティ保護、およびテストしました。Prometheusが内部でどのように機能するかについて詳しく知りたい場合は、https://www.digitalocean.com/community/tutorials/how-to-query-prometheus-on-ubuntu-14-04-をご覧ください。14.04でPrometheusを照会する方法]。(Prometheusが既にインストールされているので、最初のステップをスキップできます。[公式のPrometheusドキュメント]にアクセスしてください。Webサイト]をご覧ください。