プロメテウスの概要
- 言語:移動、高性能、並行性
- 監視モード:プルモード、クライアントはデータの収集のみを担当し、複雑さを簡素化します
- インターフェース:HTTP、シンプルで便利
- データベース:時系列データベース
- アラーム:サポート
Pull方式の利点は、Push方式とは異なり、構成が少なく、拡張が容易で、柔軟性が高く、高可用性を実現しやすい、アップストリーム監視とレベル監視を自動的に実行できることです。
時系列データベースとリレーショナルデータベース
時系列データベース
- 書き込み操作:
- 時間は主軸であり、データは通常時系列で到着します
- ほとんどの測定値は、観察後数秒または数分以内に書き込まれ、到着したデータはほとんどの場合、新しいエントリとして記録されます
- 基本的に、操作の95%から99%は書き込みです
- 読み取り操作:
- ランダムな場所での単一の測定値の読み取りおよび削除操作はほとんどありません
- 読み取りと削除は、一定期間内の特定の時間から開始するバッチです。
- 読み取られるデータが非常に大きい場合があります
- 保存操作:
- データ構造は単純で、値は時間の経過とともに急速に減少します
- 圧縮、移動、削除などにより、ストレージコストを削減します。
それらのほとんどは書き込み操作であり、データ自体にとってそれほど重要ではありません。通常、短期間に予約され、ストレージの圧縮をサポートし、ストレージリソースを節約します。
リレーショナルデータベース
- 書き込み操作:ほとんどの操作は、DML操作、挿入、更新、削除などです。
- 読み取り操作:読み取りロジックは一般により複雑です
- ストレージ操作:圧縮することはめったになく、通常はデータライフサイクル管理を設定しません
基本的な操作が可能で、クエリロジックが複雑で、データ要件が高い
監視システムは2種類に分けられます
- 従来の業界:IPキャリアを介してサーバー自体を対象としています
- クラウドコンピューティング:キャリアはサービス、オブジェクトになります
従来の業界モニタリングでは達成できないシナリオ
- ホスト以外のクラウドコンピューティングサービスのデータ収集と監視
- コンテナオーケストレーションなどのクロスホストオブジェクトの継続的なデータ収集と監視
- PaasまたはSaasサービスのデータ収集と監視
- ビジネスシステムとIOTのデータ収集と監視
Prometheusはサービス指向の監視であり、zabbixなどの従来のツールはIP指向の監視です
プロメテウスコンポーネント
- Prometheusサーバー(サーバー側):時系列データの収集と保存に使用されるPrometheusのメインサーバー
- AlertManage(サーバー側)r:アラート処理、PromQLに基づくアラートルールの作成をサポートします。PromQLで定義されたルールが満たされると、アラートが生成され、アラート処理のフォローアッププロセスがAlertManagerによって管理されます。
- エクスポーター(クライアント):サービスインジケーターを公開します(サービスを比較して、サポートされているかどうかを区別します)
- サービスサポート:このタイプのエクスポーターには、cAdvisor、Kubernetes、Etcd、GokitなどのPrometheusモニタリングのサポートが直接組み込まれており、すべて、モニタリングデータをPrometheusに公開するためのエンドポイントが直接組み込まれています。
- サービスはサポートされていません:元の監視ターゲットはPrometheusを直接サポートしていないため、Prometheusが提供するクライアントライブラリを介して監視ターゲットの監視収集プログラムを作成する必要があります。例:Mysql Exporter、JMX Exporter、ConsulExporterなど。
- PushGateway:サーバーとクライアントが直接通信できない場合は、PushGatewayを使用して転送できます