メトリック user_last_login_timestamp_seconds{email="
[email protected]"} は、カーディナリティの高いラベル (email) が含まれているため、Prometheus には適していません。固有のメールアドレスごとに個別の時系列が生成され、その数は数百万に及ぶ可能性があり、Prometheus のパフォーマンスとメモリ使用量に深刻な影響を与えます。
Prometheusは、ユーザーごとのデータではなく、システム全体の動作を表す低~中程度のカーディナリティのメトリクスに最適化されています。カーディナリティの高いメトリクスはデータ爆発を引き起こし、クエリを複雑化させ、ストレージエンジンに過負荷をかけます。
対照的に、その他のメトリクス(prometheus_engine_query_log_enabled、promhttp_metric_handler_requests_total{code="500"}、http_response_total{handler="static/*filepath"})は、Prometheusのベストプラクティスに準拠しています。これらは、管理しやすいラベル値セットを持つ、運用レベルまたはサービスレベルのメトリクスを表します。
参照:
Prometheusのドキュメントから抽出および検証済み - メトリックとラベルの命名に関するベストプラクティス、カーディナリティ管理、およびメトリック設計におけるアンチパターンのセクション。