Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

メトリクスモニタリングとアラーティング

PFCP では、Grafana1・Prometheus2 を使用したメトリクスモニタリング機能とアラート機能をマネージドサービスとして提供しています。また、Prometheus Operator を導入しており、Kubernetes カスタムリソースを用いてモニタリング対象やアラートルールを宣言的に管理できます。

モニタリング機能へのアクセス

ポータルのトップページ に掲載のリンクからモニタリングサービスの各機能にアクセスできます。

Grafana ダッシュボード

Kubernetes ワークロードの状況を可視化する Grafana ダッシュボードを標準提供しています。 標準提供のダッシュボードには、例えば以下のダッシュボードが含まれます。

  • kube-prometheus > Kubernetes / Compute Resources / Namespace (Workloads)
    • Namespace 単位のリソース使用状況
  • kube-prometheus > Kubernetes / Compute Resources / Pod
    • Pod のリソース使用状況

また、Grafana WebUI より任意のダッシュボードを作成できます。 ダッシュボードを追加する場合は専用のフォルダを作成し、その中にダッシュボードを作成することを推奨します。

メトリクスモニタリング

Pod のメトリクスをスクレイプする

Prometheus Operator の ServiceMonitor、PodMonitor カスタムリソースを使用して、Pod のメトリクスをスクレイプできます。また取得したメトリクスを可視化するには Grafana ダッシュボードが使用できます。

ServiceMonitor、PodMonitor の使い方については、Prometheus Operatorの公式ドキュメントをご参照ください。

アラートルールを追加する

Kubernetes ワークロードの健全性を確認するアラートルールを標準で提供しています。標準で提供されるアラートルールは Prometheus WebUI の Alerts タブで確認できます。

加えて、Prometheus Operator の PrometheusRule カスタムリソースを使用して任意のアラートルールを追加できます。 PrometheusRule の使い方については、以下をご確認ください。

アラート通知先を追加する

Prometheus Operator の AlertmanagerConfig カスタムリソースを使用して、アラートを任意のサービスやツールに送信できます。 AlertmanagerConfig の使い方については、以下をご確認ください。

サンプルのマニフェストファイル

apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
  name: alertmanager-config
spec:
  inhibitRules:
  - equal:
    - namespace
    - alertname
    sourceMatch:
    - name: severity
      value: critical
    targetMatch:
    - matchType: =~
      name: severity
      value: warning|info
  - equal:
    - namespace
    - alertname
    sourceMatch:
    - name: severity
      value: warning
    targetMatch:
    - name: severity
      value: info
  - equal:
    - namespace
    sourceMatch:
    - name: alertname
      value: InfoInhibitor
    targetMatch:
    - name: severity
      value: info
  route:
    groupBy:
    - alertname
    groupInterval: 5m
    groupWait: 30s
    receiver: slack
    repeatInterval: 12h
    routes:
    - matchers:
      - name: alertname
        value: InfoInhibitor
      receiver: "null"
    - matchers:
      - name: alertname
        value: Watchdog
      receiver: "null"
  receivers:
  - name: "null"
  - name: slack
    slackConfigs:
    - apiURL:
        name: alertmanager-cred
    key: slack-url
      sendResolved: true

Prometheus サーバの仕様

提供する Prometheus サーバの仕様は次のとおりです。

  • メトリクス保持期間(Retention time): 15 日
  • メトリクス保持サイズ(Retention size): 95GiB

Warning

メトリクス保持期間、保持サイズの変更はサポートしていません。

制限事項

  • Grafana・Prometheus において、組織内の権限管理機能を提供していません。一般ユーザが全てのメトリックやダッシュボードが閲覧可能です。

  1. Grafana はさまざまなデータソースからの時系列データを可視化するためのオープンソースのダッシュボードツールです。https://grafana.com/docs/grafana/latest

  2. Prometheus は、時系列データの収集とクエリに特化したオープンソースの監視・アラートシステムです。 https://prometheus.io/docs/