Prometheus

VerrazzanoをモニターするためのPrometheusのカスタマイズ

Prometheusは、クラウド・ネイティブ・アプリケーションをモニターするためのシステムであり、Verrazzanoによってアプリケーションのモニターに使用されます。Prometheusは、システム・パフォーマンス・メトリックと、Verrazzanoによってデプロイまたは管理されるアプリケーションのメトリックを収集するためにVerrazzanoで使用されます。Prometheusはメトリックを分析し、Grafanaを使用してビジュアライゼーションを提供します。

Prometheus構成のカスタマイズ

Verrazzanoは、kube-prometheus-stack Helmチャートを使用してPrometheusオペレータやPrometheusなどのPrometheusコンポーネントをインストールします。Verrazzanoカスタム・リソースで指定されたHelmオーバーライドを使用して、インストール構成をカスタマイズできます。たとえば、次のVerrazzanoカスタム・リソースはPrometheusレプリカの数をオーバーライドします。

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: custom-prometheus
spec:
  profile: prod
  components:
    prometheusOperator:
      overrides:
        - values:
            prometheus:
              prometheusSpec:
                replicas: 3

Alertmanagerを有効にするには、次のVerrazzanoカスタム・リソースを使用します:

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: custom-prometheus
spec:
  profile: prod
  components:
    prometheusOperator:
      overrides:
        - values:
            alertmanager:
              enabled: true
              alertmanagerSpec:
                podMetadata:
                  annotations:
                    sidecar.istio.io/inject: "false"

コンポーネント・オーバーライドの設定の詳細は、Customizing the Chart Before Installingを参照してください。

Alertmanagerを有効にした後、アラート・ルールをデプロイしてプロアクティブなアラートを取得できます。TestAlertRuleを作成するには、次のコマンドを実行します。

$ kubectl apply -f - <<EOF
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  labels:
    release: prometheus-operator
  name: prometheus-operator-test
  namespace: verrazzano-monitoring
spec:
  groups:
    - name: test
      rules:
        - alert: TestAlertRule
          annotations:
            description: Test alert rule
            runbook_url: test-runbook-url
            summary: Test alert rule
          expr: |-
            prometheus_config_last_reload_successful{job="prometheus-operator-kube-p-prometheus",namespace="verrazzano-monitoring"} == 0
          for: 10m
          labels:
            severity: critical
EOF

詳細は、「Deploying Prometheus Rules」を参照してください。

永続ストレージの設定をカスタマイズする手順については、「永続ストレージのカスタマイズ」を参照してください。

データ保持設定の構成

Verrazzanoは、デフォルトのデータ保持設定の10日でPrometheusを構成します。収集されるメトリック・データの速度は、モニターの数、モニターのスクレイピング間隔、各モニターから返されるメトリックの数など、多くの要因によって異なります。

Prometheusに永続ストレージを使用する場合、すべてのストレージを消費する可能性があります。Prometheusがすべての使用可能な永続ストレージを使用している場合、問合せはデータを返さず、新しいメトリックを保存できません。永続ストレージの設定をカスタマイズしたり、データ保持日数を変更して最大保持サイズを構成したりできます。保持サイズを構成する場合、永続ストレージ・サイズの85%以下の値に設定することをお薦めします。

次の例では、最大3日または40GBのメトリック・データを格納するようにPrometheusを構成しています。

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: custom-prometheus
spec:
  profile: prod
  components:
    prometheusOperator:
      overrides:
        - values:
            prometheus:
              prometheusSpec:
                retention: 3d
                retentionSize: 40GB