8.7. FlowMetric API を使用したカスタムグラフの設定


OpenShift Container Platform Web コンソールでダッシュボードのグラフを生成できます。グラフは、FlowMetric リソースの charts セクションを定義することで、管理者の Dashboard メニューで表示できます。

手順

  1. Web コンソールで、Operators Installed Operators に移動します。
  2. NetObserv OperatorProvided APIs 見出しで、FlowMetric を選択します。
  3. Project: ドロップダウンリストで、Network Observability Operator インスタンスのプロジェクトを選択します。
  4. Create FlowMetric をクリックします。
  5. 次のサンプル設定と同じように FlowMetric リソースを設定します。

例8.3 クラスターの外部ソースから受信した Ingress バイト数を追跡するためのチャート

apiVersion: flows.netobserv.io/v1alpha1
kind: FlowMetric
metadata:
  name: flowmetric-cluster-external-ingress-traffic
  namespace: netobserv   1
# ...
  charts:
  - dashboardName: Main  2
    title: External ingress traffic
    unit: Bps
    type: SingleStat
    queries:
    - promQL: "sum(rate($METRIC[2m]))"
      legend: ""
  - dashboardName: Main  3
    sectionName: External
    title: Top external ingress traffic per workload
    unit: Bps
    type: StackArea
    queries:
    - promQL: "sum(rate($METRIC{DstK8S_Namespace!=\"\"}[2m])) by (DstK8S_Namespace, DstK8S_OwnerName)"
      legend: "{{DstK8S_Namespace}} / {{DstK8S_OwnerName}}"
# ...
1
FlowMetric リソースは、FlowCollector spec.namespace で定義された namespace (デフォルトでは netobserv) に作成する必要があります。

検証

  1. Pod が更新されたら、Observe Dashboards に移動します。
  2. NetObserv / Main ダッシュボードを検索します。NetObserv / Main ダッシュボードの下、または必要に応じて作成したダッシュボード名の下にある次の 2 つのパネルを確認します。

    • すべてのディメンションにわたりグローバルな外部 Ingress レートを合計したテキスト形式の単一の統計
    • 上記と同じメトリクスを示す、宛先ワークロードごとの時系列グラフ

クエリー言語の詳細は、Prometheus のドキュメント を参照してください。

例8.4 クラスター外部 Ingress トラフィックの RTT 遅延のグラフ

apiVersion: flows.netobserv.io/v1alpha1
kind: FlowMetric
metadata:
  name: flowmetric-cluster-external-ingress-traffic
  namespace: netobserv   1
# ...
  charts:
  - dashboardName: Main  2
    title: External ingress TCP latency
    unit: seconds
    type: SingleStat
    queries:
    - promQL: "histogram_quantile(0.99, sum(rate($METRIC_bucket[2m])) by (le)) > 0"
      legend: "p99"
  - dashboardName: Main  3
    sectionName: External
    title: "Top external ingress sRTT per workload, p50 (ms)"
    unit: seconds
    type: Line
    queries:
    - promQL: "histogram_quantile(0.5, sum(rate($METRIC_bucket{DstK8S_Namespace!=\"\"}[2m])) by (le,DstK8S_Namespace,DstK8S_OwnerName))*1000 > 0"
      legend: "{{DstK8S_Namespace}} / {{DstK8S_OwnerName}}"
  - dashboardName: Main  4
    sectionName: External
    title: "Top external ingress sRTT per workload, p99 (ms)"
    unit: seconds
    type: Line
    queries:
    - promQL: "histogram_quantile(0.99, sum(rate($METRIC_bucket{DstK8S_Namespace!=\"\"}[2m])) by (le,DstK8S_Namespace,DstK8S_OwnerName))*1000 > 0"
      legend: "{{DstK8S_Namespace}} / {{DstK8S_OwnerName}}"
# ...
1
FlowMetric リソースは、FlowCollector spec.namespace で定義された namespace (デフォルトでは netobserv) に作成する必要があります。
2 3 4
異なる dashboardName を使用すると、接頭辞が Netobserv である新しいダッシュボードが作成されます。たとえば、Netobserv / <dashboard_name> です。

この例では、histogram_quantile 関数を使用して p50p99 を表示します。

ヒストグラムを作成するときに自動的に生成されるメトリクス $METRIC_sum をメトリクス $METRIC_count で割ることで、ヒストグラムの平均を表示できます。前述の例では、これを実行するための Prometheus クエリーは次のとおりです。

promQL: "(sum(rate($METRIC_sum{DstK8S_Namespace!=\"\"}[2m])) by (DstK8S_Namespace,DstK8S_OwnerName) / sum(rate($METRIC_count{DstK8S_Namespace!=\"\"}[2m])) by (DstK8S_Namespace,DstK8S_OwnerName))*1000"

検証

  1. Pod が更新されたら、Observe Dashboards に移動します。
  2. NetObserv / Main ダッシュボードを検索します。NetObserv / Main ダッシュボードの下、または必要に応じて作成したダッシュボード名の下にある新しいパネルを表示します。

クエリー言語の詳細は、Prometheus のドキュメント を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.