メトリクスモニタリングとアラーティング
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
制限事項
- Grafana・Prometheus において、組織内の権限管理機能を提供していません。一般ユーザが全てのメトリックやダッシュボードが閲覧可能です。
-
Grafana はさまざまなデータソースからの時系列データを可視化するためのオープンソースのダッシュボードツールです。https://grafana.com/docs/grafana/latest ↩
-
Prometheus は、時系列データの収集とクエリに特化したオープンソースの監視・アラートシステムです。 https://prometheus.io/docs/ ↩