完全なドキュメント、例、ガイドについては、prometheus.io にアクセスしてください。
Cloud Native Computing Foundation プロジェクトの Prometheus は、システムとサービスの監視システムです。設定されたターゲットから一定の間隔でメトリクスを収集し、ルール式を評価して結果を表示し、指定された条件が観察されたときにアラートをトリガーできます。
Prometheus を他のメトリクスおよび監視システムと区別する機能は次のとおりです。
多次元データ モデル (メトリック名とキー/値ディメンションのセットによって定義された時系列)
PromQL は、この次元を活用する強力で柔軟なクエリ言語です。
分散ストレージに依存しません。単一サーバーノードは自律的です
時系列収集のための HTTPプル モデル
時系列のプッシュはバッチ ジョブの中間ゲートウェイ経由でサポートされます
ターゲットはサービス検出または静的構成によって検出されます
複数のモードのグラフ作成とダッシュボードのサポート
階層型および水平型フェデレーションのサポート
Prometheus をインストールするにはさまざまな方法があります。
リリースされたバージョンのプリコンパイルされたバイナリは、prometheus.io のダウンロードセクションで入手できます。 Prometheus をインストールするには、最新の製品リリース バイナリを使用することをお勧めします。詳細については、ドキュメントの「インストール」の章を参照してください。
Docker イメージは、Quay.io または Docker Hub で入手できます。
Prometheus コンテナを起動して試してみることができます。
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
Prometheus は http://localhost:9090/ でアクセスできるようになります。
ソース コードから Prometheus をビルドするには、以下が必要です。
Go バージョン 1.17 以降。
NodeJS バージョン 16 以降。
npm バージョン 7 以降。
まずリポジトリのクローンを作成します。
git clone https://github.com/prometheus/prometheus.gitcd プロメテウス
go
ツールを使用して、 prometheus
およびpromtool
バイナリを構築し、 GOPATH
にインストールできます。
GO111MODULE=on github.com/prometheus/prometheus/cmd/... をインストールします。 プロメテウス --config.file=your_config.yml
ただし、 go install
使用して Prometheus を構築する場合、Prometheus はweb/ui/static
およびweb/ui/templates
の下のローカル ファイルシステム ディレクトリから Web アセットを読み取れることを期待します。これらのアセットを見つけるには、複製されたリポジトリのルートから Prometheus を実行する必要があります。また、これらのディレクトリには、 make assets
またはmake build
使用して明示的にビルドされていない限り、React UI が含まれていないことにも注意してください。
上記の構成ファイルの例は、ここにあります。
また、 make build
使用してビルドすることもできます。これにより Web アセットにコンパイルされ、どこからでも Prometheus を実行できるようになります。
ビルドする ./prometheus --config.file=your_config.yml
Makefile にはいくつかのターゲットが用意されています。
build : prometheus
およびpromtool
バイナリをビルドします (Web アセットでのビルドとコンパイルを含みます)
test : テストを実行します
test-short : 短いテストを実行します
format : ソースコードをフォーマットします
vet : ソースコードに一般的なエラーがないか確認します
アセット: React UI を構築する
Prometheus には、多くのサービス検出プラグインがバンドルされています。 Prometheus をソースからビルドする場合、plugins.yml ファイルを編集して一部のサービス検出を無効にすることができます。このファイルは、Prometheus バイナリに組み込まれる go import パスの yaml 形式のリストです。
ファイルを変更した後は、 make build
再度実行する必要があります。
別の方法を使用して Prometheus をコンパイルしている場合、 make plugins
それに応じてプラグイン ファイルを生成します。
現時点ではサポートしていませんが、ツリー外のプラグインを追加する場合は、 go.mod
およびgo.sum
ファイルを調整するために追加の手順が必要になる場合があります。いつものように、サードパーティのコードをロードするときは特に注意してください。
make docker
ターゲットは、CI システムで使用するために設計されています。次のコマンドを使用して、ローカルで Docker イメージを構築できます。
プロムを作る promu クロスビルド -p linux/amd64 npm_licenses を作成する common-docker-amd64 を作成します
Remote Write protobuf を buf.build で独立して公開しています。
それをライブラリとして使用できます。
buf.build/gen/go/prometheus/prometheus/protocolbuffers/go@latest を取得してください
これは実験的なものです。
Go Mod ルールに準拠するため、Prometheus のリリース番号は Go モジュールのリリースと正確には一致しません。 Prometheus v2.yz リリースについては、同等の v0.yz タグを公開しています。
したがって、Prometheus v2.35.0 をライブラリとして使用したいユーザーは、次のようにすることができます。
github.com/prometheus/[email protected] を取得してください
このソリューションにより、メジャー バージョン 0 では重大な変更が許可されているため、ユーザー向けのマイナー リリース間で内部 Go API が壊れる可能性があることが明確になります。
React ベースの UI での構築、実行、開発の詳細については、React アプリの README.md を参照してください。
Godoc のドキュメントは pkg.go.dev から入手できます。 Go モジュールの特性により、v2.xy は v0.xy として表示されます。
さまざまなコミュニケーション チャネルで Prometheus 開発者やユーザーに連絡する方法については、コミュニティ ページを参照してください。
CONTRIBUTING.md を参照してください。
Apache License 2.0、「ライセンス」を参照してください。