前書きプロメテウスは、オープンソースの監視システムおよび時系列データベースです。メトリックの生成や収集、ダッシュボードでの結果データのグラフ化、異常に関するアラートなど、監視の多くの側面に対処します。これを実現するために、個別に実行されるが組み合わせて使用​​されるさまざまなコンポーネントを提供します。Dockerは、Linuxコンテナー(または他のカプセル化テクノロジー)を使用してサーバープロセスをカプセル化する方法を提供します。これにより、サーバープロセスをより簡単に管理し、相互に分離できます。Components]を参照してください。このチュートリアルでは、DockerでPrometheusを使用するための3つの主要コンポーネントをインストールする方法を学習します。ExporterGrafana、他のバックエンドの中でプロメテウスをサポートするWebベースのグラフィカルダッシュボードビルダーPrometheusエコシステムにはさらに多くのコンポーネントがありますが、これら3つはPrometheusを使用するための良い出発点となります。前提条件このチュートリアルを実行するには、次のものが必要です。Compose]ステップ1-Prometheusのインストールこのセクションでは、Dockerを使用してメインのPrometheusサーバーをインストールする方法について説明します。続行する前に、必ず*前提条件*セクションでDockerをインストールしてください。Prometheusサーバーは、Prometheusエコシステムの中心部分であり、メトリックの収集と保存、および式クエリの処理とアラートの生成を担当します。*組織の下でホストされます。`にある設定ファイルの例でPrometheusサーバーが起動します。+にマウントされたhttps://www.digitalocean.com/community/tutorials/how-to-work-with-docker-data-volumes-on-ubuntu-14-04[Dockerデータボリューム]も使用します。`収集されたメトリックデータを保存するコンテナ内。このデータボリュームディレクトリは、実際には、コンテナが最初に起動されたときにDockerが自動作成するホスト上のディレクトリです。内部のデータは、同じコンテナを再起動するまで保持されます。デフォルトの構成ファイルをオーバーライドする方法は複数あります。ホストファイルシステムからDockerデータボリュームとしてカスタム構成ファイルをコンテナーに渡すことも、コンテナーイメージにベイクした独自の構成ファイルを使用して派生Dockerコンテナーを構築することもできます。このチュートリアルでは、ホストシステムから構成ファイルを渡すことを選択します。メトリックのストレージを整理するためのさまざまなパターンもあります。volume]:メトリックを保存します。代わりに、必要に応じてデータボリュームコンテナの作成を検討することもできます。+`に最小限のPrometheus設定ファイルを作成します。~/prometheus.yml次の内容をファイルに追加します(「++」をドロップレットのIPアドレスに置き換えます)。Exporterからも取得します。Exporterをスクレイピングする必要があります。Dockerコンテナーを開始します。HubからDockerイメージがプルされます。このコマンドは非常に長く、多くのコマンドラインオプションが含まれています。詳しく見てみましょう。`オプションは、Prometheusコンテナを分離モードで起動します。+`を押しても終了しません。+`オプションは、PrometheusのWebポート(9090)を公開し、ホストシステムの外部IPアドレスを介して到達可能にします。+)にマウントします。+`オプションは、_container_内のPrometheus設定ファイルの場所に応じて設定されます。-storage.local.path`オプションは、コンテナ内のメトリックスの保存場所を設定します。MBのみ)と少数の時系列(1000未満)に調整します。デフォルトの1048576ではなく、10000個のサンプルチャンクのみをメモリに保持するようにPrometheusに指示します(シリーズごとに約10個のチャンク)。*これは、より多くのRAMを搭載したマシンでPrometheusを実行する場合、およびより多くの時系列を保存する場合に、必ず調整する必要がある値です。documentation]を参照してください。次のコマンドを使用して、実行中のすべてのDockerコンテナーを一覧表示できます。Dockerコンテナの場合、次のようなものが表示されます。+`の出力に表示されるコンテナIDを使用して、実行中のPrometheusサーバーのログを次のコマンドで検査できます。logsこの例では、コマンドは次のようになります。logsホストのファイルシステムのどこにメトリックスストレージボリュームが保存されているかを調べるには、次を使用して次を実行できます。inspectこれにより、マウントされたDockerボリュームのホストパスなど、コンテナーの構成に関する情報が出力されます。出力で次のようなセクションを見つけます。このディレクトリは、Prometheusコンテナを最初に起動したときにDockerによって自動的に作成されました。+`ディレクトリにマッピングされます。このディレクトリのデータは、同じコンテナを再起動しても保持されます。必要に応じて、メトリックデータを保存するために既存のホストディレクトリをマウントすることもできます。14.04でDockerデータボリュームを操作する方法]を参照してください。これを達成するために。+`でアクセスできるはずです。+`エンドポイントを見つけて、自身に関するメトリックを収集していることを確認しますセクション。*として表示されます。+`を使用して、Dockerコンテナとして実行されているPrometheusがあります。`ディレクトリにあります。+`コマンドで示されるパスによってホストシステムにバックアップされます。Exporterをインストールします。Exporterは、実行中のホストマシン(ノード)に関するPrometheusメトリックを公開するサーバーです。これには、マシンのファイルシステム、ネットワークデバイス、プロセッサ使用量、メモリ使用量などに関するメトリックスが含まれます。Exporterを実行することは、その全体の目的が、実行中のホストに関するメトリックを公開することであるため、いくつかの課題を提起することに注意してください。オプションを追加せずにDockerで実行すると、ファイルシステムやネットワークデバイスなどのリソースのDockerのネームスペースにより、ホストの環境とは異なるコンテナーの環境に関するメトリックのみがエクスポートされます。Exporterを直接実行することをお勧めします。Dockerを使用してすべてのプロセスを管理する必要がある場合は、Docker内からホストメトリックをエクスポートするための合理的な近似を提供する回避策について説明します。Exporterフラグを使用して、_host_メトリックの合理的な近似値を提供します。`ファイルシステムから収集します。+`ディレクトリの下のコンテナにマウントされます。Exporterに指示します。+`)にマウントします。+`フラグを使用して、ホストシステムに属していないコンテナー内の他のファイルシステムを無視します。このオプションは、マウントポイントの正規表現を使用して、レポートされるメトリックから除外します。Dockerフラグを使用して、コンテナをホストと同じネットワークスタックに配置します。+`ファイルシステムからの読み取りでは不十分です)。一部のメトリックは、ホスト上で直接実行されているノードエクスポーターと比較すると、依然として異なることに注意してください。+`プレフィックスが付きます。Exporter機能に十分であるという保証もありません。Exporterを独自の裁量で実行してください。Exporterのスクレイピングを自動的に開始するはずです。ExporterターゲットはHEALTHYとして表示されます]ステップ3-Grafanaのセットアップ最後に、Grafanaをセットアップします。Grafanaは、グラフ化するデータを照会するためのバックエンドとしてPrometheusをサポートするグラフィカルダッシュボードビルダーです。Grafanaは、ダッシュボードのメタデータ(存在するダッシュボードや表示するグラフなど)を構成可能なSQLベースのデータベースに保存します。Grafanaは、このために、MySQLやPostgreSQLなどの外部データベースサーバーだけでなく、ローカルファイルバックアップSQLite3データベースの使用をサポートしています。このチュートリアルでは、DockerデータボリュームでバックアップされたSQLite3データベースを使用します。[Sqliteの使用方法と使用方法]を参照してください。++)でGrafanaをDockerコンテナーとして起動します。`に配置される新しいDockerボリュームが作成されます。+`にSQLite3データベースを自動的に作成して初期化します。`フラグにより​​、Dockerコンテナ内で起動されたプロセスに環境変数を渡すことができます。環境変数を使用して、他のGrafana構成設定をオーバーライドすることもできます。[環境変数の使用]を参照してください。admin」で、パスワードは以前にDockerコンテナを起動するときに選択したものです。[選択したパスワードでGrafanaにログイン]ログインすると、Grafanaのメインビューが表示されます。documentation]を参照してください。documentationには、GrafanaをPrometheusと組み合わせて具体的に使用する方法も示されています。結論おめでとうございます。Exporter、およびGrafanaをセットアップしました-すべてDockerを使用しています。これらはすべて同じマシンで現在実行されていますが、これはデモンストレーションのみを目的としています。Exporterを実行します。[ドキュメント]を参照してください。