prometheus - プロメテウス監視システムと時系列データベース。

(The Prometheus monitoring system and time series database.)

Created at: 2012-11-24 19:14:12
Language: Go
License: Apache-2.0

プロメテウス
プロメテウス

完全なドキュメントについては、prometheus.ioをご覧ください。 例とガイド。

サークルCI Docker Repository on Quay ドッカープル Goレポートカード CIIのベストプラクティス すぐにコーディングできる Gitpod ファジングステータス

クラウドネイティブコンピューティング財団のプロジェクトであるPrometheusは、システムとサービスの監視システムです。メトリックを収集します 設定されたターゲットから、指定された間隔でルール式を評価します。 結果を表示し、指定した条件が満たされたときにアラートをトリガーできます。

Prometheusを他のメトリックや監視システムと区別する機能は次のとおりです。

  • 多次元データモデル(メトリクス名とキー/値ディメンションのセットで定義された時系列)
  • PromQLは、この次元性を活用するための強力で柔軟なクエリ言語です。
  • 分散ストレージへの依存はありません。単一サーバーノードは自律的です
  • 時系列収集のための HTTPプル モデル
  • 時系列のプッシュは、バッチ ジョブの中間ゲートウェイを介してサポートされます。
  • ターゲットは、サービス検出または静的構成を介して検出されます
  • グラフ作成とダッシュボードのサポートの複数のモード
  • 階層および水平フェデレーションのサポート

アーキテクチャの概要

アーキテクチャの概要

取り付ける

プロメテウスをインストールするにはさまざまな方法があります。

プリコンパイル済みバイナリ

リリース済みバージョンのプリコンパイル済みバイナリは、prometheus.io のダウンロードセクションで入手できます。最新のプロダクションリリースバイナリの使用 プロメテウスをインストールするための推奨される方法です。 すべての詳細については、ドキュメントの「インストール」の章を参照してください。

ドッカー イメージ

Docker イメージは、Quay.ioまたはDocker Hub で利用できます。

あなたはそれを試してみるためにプロメテウスコンテナを起動することができます

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus

プロメテウスはhttp://localhost:9090/ に到達できるようになります。

ソースからのビルド

ソースコードからプロメテウスをビルドするには、次のものが必要です。

まず、リポジトリのクローンを作成します。

git clone https://github.com/prometheus/prometheus.git
cd prometheus

ツールを使用して、およびバイナリを次のように構築およびインストールできます。

go
prometheus
promtool
GOPATH

GO111MODULE=on go install github.com/prometheus/prometheus/cmd/...
prometheus --config.file=your_config.yml

ただし、使用するときプロメテウスを構築するために、プロメテウスは次のことができることを期待します ローカルファイルシステムディレクトリからWebアセットを読み取りますand。これらのアセットを見つけるには、プロメテウスを実行する必要があります クローンされたリポジトリのルートから。また、これらのディレクトリには UIは、明示的に使用して構築されていない限り、または。

go install
web/ui/static
web/ui/templates
make assets
make build

上記の構成ファイルの例はここにあります

を使用してビルドすることもできます, これはWebアセットでコンパイルされます プロメテウスはどこからでも実行できます。

make build

make build
./prometheus --config.file=your_config.yml

メイクファイルにはいくつかのターゲットがあります。

  • ビルド: ビルド andバイナリ (Web アセットでのビルドとコンパイルを含む)
    prometheus
    promtool
  • テスト: テストを実行する
  • テスト-短い: 短いテストを実行します
  • フォーマット: ソースコードのフォーマット
  • Vet:ソースコードで一般的なエラーを確認してください
  • アセット: React UI を構築する

サービス検出プラグイン

Prometheusは、多くのサービス検出プラグインにバンドルされています。 ソースからプロメテウスをビルドする場合、plugins.ymlファイルを編集して、一部のサービス検出を無効にすることができます。ファイルはyaml形式のgoのリストです Prometheusバイナリに組み込まれるインポートパス。

ファイルを変更した後、 もう一度実行する必要があります。

make build

別の方法を使用してプロメテウスをコンパイルしている場合は、 それに応じてプラグインファイルを生成します。

make plugins

ツリー外プラグインを追加すると、現時点では承認されていませんが、 ANDファイルを調整するには、追加の手順が必要になる場合があります。として サードパーティのコードをロードするときは、常に特に注意してください。

go.mod
go.sum

ドッカーイメージのビルド

ターゲットは、CIシステムで使用するように設計されています。 次のコマンドを使用して、Docker イメージをローカルにビルドできます。

make docker

make promu
promu crossbuild -p linux/amd64
make npm_licenses
make common-docker-amd64

注意:Macを使用している場合は、gnu-tarが必要になります。

プロメテウスを囲碁ライブラリとして使用する

リモート書き込み

リモート書き込みプロトコルはbuf.build で独自に公開しています。

あなたはそれをライブラリとして使うことができます:

go get go.buf.build/protocolbuffers/go/prometheus/prometheus

これは実験的なものです。

プロメテウスコードベース

go modルールに準拠するために、 Prometheusのリリース番号は、Goモジュールのリリースと完全には一致しません。のために プロメテウスv2.y.zリリースでは、同等のv0.y.zタグを公開しています。

したがって、Prometheus v2.35.0をライブラリとして使用したいユーザーは、次のことを実行できます。

go get github.com/prometheus/prometheus@v0.35.0

このソリューションにより、内部 Go API が マイナーユーザー向けリリース (メジャーバージョンでは破壊的変更が許可されているため) ゼロ

反応UI開発

ReactベースのUIでのビルド、実行、開発の詳細については、React アプリのREADME.md を参照してください。

詳細情報

  • Godoc のドキュメントはpkg.go.dev 経由で入手できます。Go モジュールの特殊性により、v2.x.y は v0.x.y と表示されます。
  • CircleCI の設定は .circleci/config.yml にあります。
  • さまざまな通信チャネルでPrometheusの開発者やユーザーに連絡する方法については、コミュニティページを参照してください。

貢献

CONTRIBUTING.md を参照してください

ライセンス

Apache License 2.0 については、ライセンスを参照してください。