Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PromQL_Compatibility_Testing_Recap

 PromQL_Compatibility_Testing_Recap

yosshi_

May 20, 2021
Tweet

More Decks by yosshi_

Other Decks in Technology

Transcript

  1. ç “PromQL Compatibility Testing Verifying Vendor Claims for End User

    Benefit” Recap : PromCon Online 2021 Kubernetes Meetup Tokyo #41 - KubeConEU 2021 Recap @yosshi_
  2. • 吉村 翔太 • ゼットラボ株式会社 ソフトウェアエンジニア • 経歴 SIer 6年、通信事業者のR&D

    2年 etc • Kurbernetes 、Prometheus  etc • 登壇 CNDT “Kubernetes Logging入門” etc • コミュニティ活動 “Cloud Native Developers JP” @yosshi_ 自己紹介 “Prometheus Meetup Tokyo”
  3. What is Co-Located Events ? 参考 : events.linuxfoundation.org < https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/program/colocated-events/

    > • KubeCon + CloudNativeCon に合わせて開催される周辺イベント • 特定の技術やプロダクトに特化したイベントが多数開催される – Cloud Native Rust Day – PromCon Online – Cloud Native Security Day – Cloud Native Wasm Day – K8s AI Day – K8s on Edge Day – ServiceMeshCon – Data on Kubernetes Day etc
  4. What is PromCon? 参考 : promcon.io < https://promcon.io/2021-online/ > •

    Prometheus に関するイベント • 概要 – 日付:2021/5/3 – 時刻:10:00-18:30(CEST) – 場所:Online – 参加費:USD $20
  5. その他のセッション • Making Prometheus even more open < https://sched.co/ibIL >

    • Making Prometheus even more open < https://sched.co/ibIv > • Ups, let's revert! 🔥 Automating Kubernetes Rollouts with Argo and Prometheus for HA < https://sched.co/ibIj > • The Future is Bright, the Future is Prometheus Remote Write < https://sched.co/ibIj >
  6. What is Prometheus? 参考 : prometheus.io < https://prometheus.io/docs/introduction/overview > 2012年でSoundCloud

    でに作られた Monitoring に関するオープンソースのソフトウェア 発表者の Julius Volz(現在 PromLabs) の方も元 SoundCloud 所属
  7. Prometheus のユースケース(1/4) • Prometheus と Grafana を使ったケース • それぞれの役割 –

    Prometheus:メトリクスの収集と蓄積、PromQLの実行エンジン – Grafana:可視化 Prometheus Grafana 監視対象 PromQL データ蓄積量に限界が来る
  8. Prometheus のユースケース(2/4) • ユーザのニーズ – メトリクスを長期保管した – 既存の Grafana のダッシュボードをそのまま利用したい

    • 対処方法 – Third-party Storage の利用 ( e.g. InfluxDB ) – remote write/read の利用 Prometheus Grafana 監視対象 PromQL Prometheus (remote read 用) remote write remote read 明言されていないが、実は存在するニーズ
  9. Prometheus のユースケース(2/4) • ユーザのニーズ – メトリクスを長期保管した – 既存の Grafana のダッシュボードをそのまま利用したい

    • 対処方法 – Third-party Storage の利用 ( e.g. InfluxDB ) – remote write/read の利用 Prometheus Grafana PromQL Prometheus (remote read 用) remote write remote read Third-party Storage で PromQL を実装して欲しくなる 監視対象
  10. Prometheus のユースケース(3/4) • PromQL もしくは PromQL 互換のクエリ言語を話せるプロダクトの登場 – Native PromQL

    : Cortex, Thanos, M3, TimescaleDB etc – PromQL 互換の独自言語: VictoriaMetrics(MetricsQL), New Relic(NRQL) • 対処方法 – Third-party Storage の利用 ( e.g. Cortex ) – remote write の利用 Prometheus Grafana 監視対象 PromQL remote write 既存のダッシュボードを使用できるかどうかは PromQLの互換性に依存してくる
  11. Prometheus のユースケース(4/4) • Prometheus を使用しない構成も可能 • それぞれの役割 – Grafana Agent:メトリクスの収集

    – Cortex:メトリクスの蓄積、PromQLの実行エンジン – Grafana:可視化 Grafana Agent Grafana 監視対象 PromQL remote write
  12. PromQL 互換のテストによるメリット- ユーザ - • ベンダーのドキュメントを読んだだけでは分かりにくい実装の差異を確認できる 参考 : docs.newrelic.com <

    https://docs.newrelic.com/docs/integrations/prometheus-integrations/view-query-data/supported-promql-features/ > 参考 : docs.victoriametrics.com < https://docs.victoriametrics.com/MetricsQL.html >
  13. PromQL Compliance Test Results 参考 : PromQL Compliance Test Results

    < https://promlabs.com/promql-compliance-tests/ >
  14. ちょっと細かい話 # HELP http_requests_total The total number of HTTP requests.

    # TYPE http_requests_total counter http_requests_total{method="post",code="200"} 1027 1395066363000 http_requests_total{method="post",code="400"} 3 1395066363000 metrics name sample label 参考 :prometheus.io < https://prometheus.io/docs/concepts/data_model/#samples > • メトリクス 参考 :Prometheus Remote-Write Specification < https://docs.google.com/document/d/1LPhVRSFkGNSuU1fBd81ulhsCPR4hkSZyyBj1SZ8fWOM >
  15. Prometheus に関する仕様 参考 : OpenMetrics specification < https://github.com/OpenObservability/OpenMetrics/tree/main/specification > •

    OpenMetrics 初回は2020/11/25 IETF に提出 • Prometheus Remote-Write 参考 : Prometheus Remote-Write specification < https://github.com/OpenObservability/OpenMetrics/tree/main/specification >