前書き

トレースとロギングに加えて、監視とアラートはKubernetesの可観測性スタックの重要なコンポーネントです。 Kubernetesクラスターの監視を設定すると、リソースの使用状況を追跡し、アプリケーションエラーを分析およびデバッグできます。

監視システムは通常、メトリックデータと視覚化レイヤーを格納する時系列データベースで構成されます。 さらに、アラートレイヤーはアラートを作成および管理し、必要に応じて統合および外部サービスに渡します。 最後に、1つ以上のコンポーネントが、この監視スタックによるアラート用に保存、視覚化、および処理されるメトリックデータを生成または公開します。

人気のある監視ソリューションの1つは、オープンソースのhttps://prometheus.io/[Prometheus]、https://grafana.com/[Grafana]、およびhttps://github.com/prometheus/alertmanager[Alertmanager]スタックです。

  • * Prometheus *は、時系列データベースおよび監視ツールであり、メトリックエンドポイントをポーリングし、これらのエンドポイントによって公開されたデータをスクレイピングおよび処理します。 PromQL、時系列データクエリ言語を使用して、このデータをクエリできます。

  • * Grafana *は、メトリックデータのダッシュボードとグラフを作成できるデータ視覚化および分析ツールです。

  • * Alertmanager *は、通常Prometheusと一緒にデプロイされ、スタックのアラートレイヤーを形成し、Prometheusによって生成されたアラートを処理し、重複排除、グループ化、電子メールやhttps://www.pagerduty.com/[PagerDuty]などの統合にルーティングします。

さらに、https://github.com/kubernetes/kube-state-metrics [kube-state-metrics]やhttps://github.com/prometheus/node_exporter[node_exporter]などのツールは、クラスターレベルのKubernetesオブジェクトメトリックを次のように公開します。 CPUやメモリ使用量などのマシンレベルのメトリックも含まれます。

Kubernetesクラスターにこの監視スタックを実装するのは複雑な場合がありますが、幸いなことに、この複雑さの一部はhttps://helm.sh/[Helm]パッケージマネージャーとCoreOSのhttps://github.com/coreos/prometheus-で管理できますoperator [Prometheus Operator]およびhttps://github.com/coreos/kube-prometheus[kube-prometheus]プロジェクト。 これらのプロジェクトは、PrometheusとGrafanaの標準構成とダッシュボードを作成し、下位レベルのKubernetesオブジェクト定義の一部を抽象化します。 Helm https://github.com/helm/charts/tree/master/stable/prometheus-operator [+ prometheus-operator + chart]を使用すると、Prometheus OperatorとKubernetesクラスターの監視に役立つダッシュボード、ルール、およびアラートのデフォルトセットとともに、上記のコンポーネントの残り。

このチュートリアルでは、DigitalOcean Kubernetesクラスターに `+ prometheus-operator`ヘルムチャートをインストールする方法を示します。 チュートリアルの終わりまでに、完全な監視スタックをクラスターにインストールします。

前提条件

このチュートリアルを実行するには、次のものが必要です。

  • DigitalOcean Kubernetesクラスター。

  • ローカルマシンにインストールされ、クラスターに接続するように設定されたコマンドラインインターフェース「+ kubectl 」。 ` kubectl +`のインストールと設定の詳細については、https://kubernetes.io/docs/tasks/tools/install-kubectl/ [公式ドキュメント]をご覧ください。

  • ローカルマシンにインストールされたhttps://helm.sh/[Helm]パッケージマネージャー(2.10以降)およびクラスターにインストールされたTiller(https://www.digitalocean.com/community/tutorials/how-toで説明) -kubernetes-cluster-with-the-helm-package-managerでソフトウェアをインストールする[Helm Package Managerを使用してKubernetesクラスターにソフトウェアをインストールする方法]。

手順1-カスタム値ファイルの作成

+ prometheus-operator Helmチャートをインストールする前に、DigitalOcean固有の設定パラメーターでチャートのデフォルトの一部をオーバーライドするカスタム値ファイルを作成します。 デフォルトのチャート値のオーバーライドの詳細については、Helmドキュメントのhttps://helm.sh/docs/helm/#helm-install[Helm Install]セクションを参照してください。

まず、 `+ nano `またはお気に入りのエディターを使用して、ローカルマシンで ` custom-values.yaml +`というファイルを作成して開きます。

nano custom-values.yaml

次のカスタム値をコピーして貼り付けます。これにより、Prometheus、Grafana、Alertmanangerコンポーネントの永続ストレージが有効になり、DigitalOcean Kubernetesで公開されていないKubernetesコントロールプレーンコンポーネントの監視が無効になります。

custom-values.yaml

# Define persistent storage for Prometheus (PVC)
prometheus:
 prometheusSpec:
   storageSpec:
     volumeClaimTemplate:
       spec:
         accessModes: ["ReadWriteOnce"]
         storageClassName: do-block-storage
         resources:
           requests:
             storage:

# Define persistent storage for Grafana (PVC)
grafana:
 # Set password for Grafana admin user
 adminPassword:
 persistence:
   enabled: true
   storageClassName: do-block-storage
   accessModes: ["ReadWriteOnce"]
   size:

# Define persistent storage for Alertmanager (PVC)
alertmanager:
 alertmanagerSpec:
   storage:
     volumeClaimTemplate:
       spec:
         accessModes: ["ReadWriteOnce"]
         storageClassName: do-block-storage
         resources:
           requests:
             storage:

# Change default node-exporter port
prometheus-node-exporter:
 service:
   port:
   targetPort:

# Disable Etcd metrics
kubeEtcd:
 enabled: false

# Disable Controller metrics
kubeControllerManager:
 enabled: false

# Disable Scheduler metrics
kubeScheduler:
 enabled: false

このファイルでは、https://github.com/helm/charts/blob/master/stable/prometheus-operator/values.yaml [values.yaml file]のチャートにパッケージ化されているデフォルト値の一部をオーバーライドします。

最初に、Prometheus、Grafana、Alertmanagerの永続ストレージを有効にして、Podの再起動後もデータが保持されるようにします。 舞台裏では、DigitalOcean Block Storageストレージクラスを使用して、各コンポーネントの「+5 Gi +」永続ボリュームクレーム(PVC)を定義しています。 監視ストレージのニーズに合わせて、これらのPVCのサイズを変更する必要があります。 PVCの詳細については、公式Kubernetesドキュメントのhttps://kubernetes.io/docs/concepts/storage/persistent-volumes/[Persistent Volumes]を参照してください。

次に、* admin *ユーザーでhttps://grafana.com/[Grafana]メトリックダッシュボードにログインするために使用する安全なパスワードに置き換えます。

次に、https://github.com/prometheus/node_exporter [node-exporter]に別のポートを設定します。 Node-exporterは各Kubernetesノードで実行され、OSおよびハードウェアメトリックをPrometheusに提供します。 DigitalOcean Kubernetesファイアウォールのデフォルトを回避するには、デフォルトポートを変更する必要があります。これにより、ポート9100はブロックされますが、30000〜32767の範囲のポートは許可されます。 または、node-exporterのカスタムファイアウォールルールを設定できます。 方法については、公式のDigitalOcean Cloud Firewallのドキュメントからhttps://www.digitalocean.com/docs/networking/firewalls/how-to/configure-rules/ [ファイアウォールルールの設定方法]を参照してください。

最後に、DigitalOceanでメトリックを公開しない3つのKubernetes https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes#master-server-components [コントロールプレーンコンポーネント]のメトリックコレクションを無効にします。 Kubernetes:Kubernetesスケジューラーとコントローラーマネージャー、etcdクラスターデータストア。

`+ prometheus-operator +`チャートの設定可能なパラメーターの完全なリストを見るには、チャートのhttps://github.com/helm/charts/tree/master/stable/prometheus-operator#configuration[Configuration]セクションを参照してくださいリポジトリREADMEまたはデフォルト値ファイル。

編集が完了したら、ファイルを保存して閉じます。 これで、Helmを使用してチャートをインストールできます。

ステップ2-`+ prometheus-operator`チャートのインストール

+ prometheus-operator + Helmチャートは、次の監視コンポーネントをDigitalOcean Kubernetesクラスターにインストールします。

  • Prometheusオペレーター。Kubernetes_Operator_で、Prometheusクラスターを構成および管理できます。 Kubernetes Operatorsは、ドメイン固有のロジックを、Kubernetesを使用したアプリケーションのパッケージ化、展開、および管理のプロセスに統合します。 Kubernetes Operatorsの詳細については、https://coreos.com/operators/ [CoreOS Operators Overview]をご覧ください。 プロメテウスオペレーターの詳細については、プロメテウスオペレーターおよびプロメテウスオペレーターhttps://gitos.com/coreos/prometheus-のhttps://coreos.com/blog/the-prometheus-operator.html [この紹介記事]をご覧ください。 operator [GitHub repo]。 Prometheus Operatorはhttps://kubernetes.io/docs/concepts/workloads/controllers/deployment/[Deployment]としてインストールされます。

  • StatefulSetとしてインストールされたPrometheus。

  • Alertmanager、Prometheusサーバーから送信されたアラートを処理し、PagerDutyや電子メールなどの統合にルーティングするサービス。 Alertmanagerの詳細については、Prometheusのドキュメントのhttps://prometheus.io/docs/practices/alerting/[Alerting]を参照してください。 AlertmanagerはStatefulSetとしてインストールされます。

  • Grafanaは、Prometheusメトリックのダッシュボードを視覚化および作成できる時系列データ視覚化ツールです。 Grafanaはデプロイメントとしてインストールされます。

  • node-exporter、クラスターノード上で実行され、OSおよびハードウェアメトリックをPrometheusに提供するPrometheusエクスポーター。 詳細については、https://github.com/prometheus/node_exporter [node-exporter GitHub repo]を参照してください。 node-exporterはhttps://kubernetes.io/docs/concepts/workloads/controllers/daemonset/[DaemonSet]としてインストールされます。

  • kube-state-metrics、Kubernetes APIサーバーをリッスンし、展開やポッドなどのKubernetesオブジェクトの状態に関するメトリックを生成するアドオンエージェント。 詳細については、https://github.com/kubernetes/kube-state-metrics [kube-state-metrics GitHub repo]をご覧ください。 kube-state-metricsはデプロイメントとしてインストールされます。

デフォルトでは、node-exporter、kube-state-metrics、および上記の他のコンポーネントによって生成されたスクレイピングメトリックとともに、Prometheusは次のコンポーネントからメトリックをスクレイピングするように構成されます。

  • kube-apiserver、https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ [Kubernetes APIサーバー]。

  • CoreDNS、KubernetesクラスターDNSサーバー。

  • kubelet、kube-apiserverと対話してノード上のポッドとコンテナーを管理するプライマリノードエージェント。

  • cAdvisor、実行中のコンテナを検出し、CPU、メモリ、ファイルシステム、およびネットワーク使用量のメトリックを収集するノードエージェント。

ローカルマシンに、「+ prometheus-operator」ヘルムチャートをインストールし、上で作成したカスタム値ファイルを渡すことから始めましょう。

helm install --namespace monitoring --name  -f custom-values.yaml stable/prometheus-operator

ここでは、 + helm install +`を実行し、すべてのコンポーネントを同時に作成する `+ monitoring +`名前空間にインストールします。 これにより、監視スタックを他のKubernetesクラスターから明確に分離できます。 Helmリリースに「+ doks-cluster-monitoring +」という名前を付け、https://www.digitalocean.com/community/tutorials/how-to-set-up-digitalocean-kubernetes-clusterで作成したカスタム値ファイルを渡します-helm-and-prometheus-operator#step-1-%E2%80%94-custom-values-fileの作成[ステップ1]で監視します。 最後に、Helmの `+ stable + directoryから `+ prometheus-operator +`チャートをインストールすることを指定します。

次のような出力が表示されるはずです。

OutputNAME:   doks-cluster-monitoring
LAST DEPLOYED: Mon Apr 22 10:30:42 2019
NAMESPACE: monitoring
STATUS: DEPLOYED

RESOURCES:
==> v1/PersistentVolumeClaim
NAME                             STATUS   VOLUME            CAPACITY  ACCESS MODES  STORAGECLASS  AGE
doks-cluster-monitoring-grafana  Pending  do-block-storage  10s

==> v1/ServiceAccount
NAME                                              SECRETS  AGE
doks-cluster-monitoring-grafana                   1        10s
doks-cluster-monitoring-kube-state-metrics        1        10s

. . .

==> v1beta1/ClusterRoleBinding
NAME                                                  AGE
doks-cluster-monitoring-kube-state-metrics            9s
psp-doks-cluster-monitoring-prometheus-node-exporter  9s


NOTES:
The Prometheus Operator has been installed. Check its status by running:
 kubectl --namespace monitoring get pods -l "release=doks-cluster-monitoring"

Visit https://github.com/coreos/prometheus-operator for instructions on how
to create & configure Alertmanager and Prometheus instances using the Operator.

これは、Prometheus Operator、Prometheus、Grafana、および上記の他のコンポーネントがDigitalOcean Kubernetesクラスターに正常にインストールされたことを示しています。

+ helm install`出力の注意事項に従って、 + kubectl get pods + `を使用してリリースポッドのステータスを確認します。

kubectl --namespace monitoring get pods -l "release=doks-cluster-monitoring"

以下が表示されるはずです。

OutputNAME                                                         READY   STATUS    RESTARTS   AGE
doks-cluster-monitoring-grafana-9d7f984c5-hxnw6              2/2     Running   0          3m36s
doks-cluster-monitoring-kube-state-metrics-dd8557f6b-9rl7j   1/1     Running   0          3m36s
doks-cluster-monitoring-pr-operator-9c5b76d78-9kj85          1/1     Running   0          3m36s
doks-cluster-monitoring-prometheus-node-exporter-2qvxw       1/1     Running   0          3m36s
doks-cluster-monitoring-prometheus-node-exporter-7brwv       1/1     Running   0          3m36s
doks-cluster-monitoring-prometheus-node-exporter-jhdgz       1/1     Running   0          3m36s

これは、すべての監視コンポーネントが稼働中であり、Grafanaとその事前構成済みダッシュボードを使用してPrometheusメトリックの調査を開始できることを示しています。

ステップ3-Grafanaへのアクセスとメトリックデータの調査

+ prometheus-operator + HelmチャートはGrafanaを + ClusterIP +`サービスとして公開します。つまり、クラスター内部IPアドレスを介してのみアクセスできます。 Kubernetesクラスターの外部でGrafanaにアクセスするには、 `+ kubectl patch +`を使用して、所定のサービスを `+ NodePort +`や `+ LoadBalancer +、または `+ kubectl port-forward +`のようなパブリック向けタイプに更新します。ローカルポートをGrafana Podポートに転送します。

このチュートリアルではポートを転送しますが、 `+ kubectl patch +`およびKubernetesサービスタイプの詳細については、https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectlを参照してください-patch / [kubectl patchを使用して所定の場所にAPIオブジェクトを更新]および公式Kubernetesドキュメントのhttps://kubernetes.io/docs/concepts/services-networking/service/[Services]。

`+ monitoring +`名前空間で実行中のサービスをリストすることから始めます:

kubectl get svc -n monitoring

次のサービスが表示されるはずです。

OutputNAME                                               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
alertmanager-operated                              ClusterIP   None             <none>        9093/TCP,6783/TCP   34m
doks-cluster-monitoring-grafana                    ClusterIP   10.245.105.130   <none>        80/TCP              34m
doks-cluster-monitoring-kube-state-metrics         ClusterIP   10.245.140.151   <none>        8080/TCP            34m
doks-cluster-monitoring-pr-alertmanager            ClusterIP   10.245.197.254   <none>        9093/TCP            34m
doks-cluster-monitoring-pr-operator                ClusterIP   10.245.14.163    <none>        8080/TCP            34m
doks-cluster-monitoring-pr-prometheus              ClusterIP   10.245.201.173   <none>        9090/TCP            34m
doks-cluster-monitoring-prometheus-node-exporter   ClusterIP   10.245.72.218    <none>        30206/TCP           34m
prometheus-operated                                ClusterIP   None             <none>        9090/TCP            34m

ローカルポート「8000」を「+ docks-cluster-monitoring-grafana」サービスのポート「80」に転送し、実行中のGrafana Podのポート「3000」に転送します。 これらのサービスポートとポッドポートは、「+ stable / grafana +」ヘルムチャートhttps://github.com/helm/charts/blob/master/stable/grafana/values.yaml#L81[values file]で構成されます。

kubectl port-forward -n monitoring svc/doks-cluster-monitoring-grafana 8000:80

次のような出力が表示されるはずです。

OutputForwarding from 127.0.0.1:8000 -> 3000
Forwarding from [::1]:8000 -> 3000

これは、ローカルポート「8000」がGrafanaポッドに正常に転送されていることを示しています。

Webブラウザで `+ http:// localhost:8000 +`にアクセスします。 次のGrafanaログインページが表示されます。

image:https://assets.digitalocean.com/articles/doks_helm_monitoring/grafana_login.png [Grafanaログインページ]

`+ custom-values.yaml +`で設定したユーザー名とパスワードとして* admin *を入力します。 次に、*ログイン*を押します。

次の*ホームダッシュボード*に移動します。

image:https://assets.digitalocean.com/articles/doks_helm_monitoring/grafana_home.png [Grafanaホームページ]

左側のナビゲーションバーで、[ダッシュボード]ボタンを選択し、[管理]をクリックします。

image:https://assets.digitalocean.com/articles/doks_helm_monitoring/grafana_dashboard.png [Grafanaダッシュボードタブ]

次のダッシュボード管理インターフェイスが表示されます。このインターフェイスには、「+ prometheus-operator +」ヘルムチャートによってインストールされたダッシュボードが一覧表示されます。

image:https://assets.digitalocean.com/articles/doks_helm_monitoring/grafana_dashboard_list.png [Grafanaダッシュボードリスト]

これらのダッシュボードは、GrafanaダッシュボードとPrometheusアラートを監視する標準化されたクラスターセットを作成できるオープンソースプロジェクトである `+ kubernetes-mixin +`によって生成されます。 詳細については、https://github.com/kubernetes-monitoring/kubernetes-mixin [Kubernetes Mixin GitHub repo]をご覧ください。

  • Kubernetes / Nodes *ダッシュボードをクリックして、特定のノードのCPU、メモリ、ディスク、およびネットワークの使用状況を視覚化します。

image:https://assets.digitalocean.com/articles/doks_helm_monitoring/grafana_nodes_dash.png [Grafana Nodes Dashboard]

各ダッシュボードの説明と、それを使用してクラスターのメトリックデータを視覚化する方法は、このチュートリアルの範囲を超えています。 システムのパフォーマンスを分析するためのUSEメソッドの詳細については、Brendan Greggのhttp://www.brendangregg.com/usemethod.html[Utilization Saturation and Errors(USE)Method]ページを参照してください。 Googleのhttps://landing.google.com/sre/books/[SRE Book]は、別の役立つリソースです。特に第6章:https://landing.google.com/sre/sre-book/chapters/monitoring-distributed -systems / [分散システムの監視]。 独自のGrafanaダッシュボードを作成する方法については、Grafanaのhttps://grafana.com/docs/guides/getting_started/ [スタートガイド]ページをご覧ください。

次のステップでは、同様のプロセスに従って、Prometheus監視システムに接続して調査します。

ステップ4-PrometheusおよびAlertmanagerへのアクセス

プロメテウスポッドに接続するには、 `+ kubectl port-forward `を使用してローカルポートを転送する必要があります。 Grafanaの探索が完了したら、 ` CTRL-C +`を押してポートフォワードトンネルを閉じることができます。 または、新しいシェルとポートフォワード接続を開くことができます。

`+ monitoring +`名前空間で実行中のサービスをリストすることから始めます:

kubectl get svc -n monitoring

次のサービスが表示されるはずです。

OutputNAME                                               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
alertmanager-operated                              ClusterIP   None             <none>        9093/TCP,6783/TCP   34m
doks-cluster-monitoring-grafana                    ClusterIP   10.245.105.130   <none>        80/TCP              34m
doks-cluster-monitoring-kube-state-metrics         ClusterIP   10.245.140.151   <none>        8080/TCP            34m
doks-cluster-monitoring-pr-alertmanager            ClusterIP   10.245.197.254   <none>        9093/TCP            34m
doks-cluster-monitoring-pr-operator                ClusterIP   10.245.14.163    <none>        8080/TCP            34m
doks-cluster-monitoring-pr-prometheus              ClusterIP   10.245.201.173   <none>        9090/TCP            34m
doks-cluster-monitoring-prometheus-node-exporter   ClusterIP   10.245.72.218    <none>        30206/TCP           34m
prometheus-operated                                ClusterIP   None             <none>        9090/TCP            34m

ローカルポート「9090」を「+ docks-cluster-monitoring-pr-prometheus」サービスのポート「9090」に転送します。

kubectl port-forward -n monitoring svc/doks-cluster-monitoring-pr-prometheus 9090:9090

次のような出力が表示されるはずです。

OutputForwarding from 127.0.0.1:9090 -> 9090
Forwarding from [::1]:9090 -> 9090

これは、ローカルポート「9090」がプロメテウスポッドに正常に転送されていることを示しています。

Webブラウザで `+ http:// localhost:9090 +`にアクセスします。 次のプロメテウス*グラフ*ページが表示されます。

image:https://assets.digitalocean.com/articles/doks_helm_monitoring/prometheus.png [プロメテウスグラフページ]

ここから、Prometheusクエリ言語であるPromQLを使用して、データベースに保存されている時系列メトリックを選択および集計できます。 PromQLの詳細については、公式のPrometheusドキュメントのhttps://prometheus.io/docs/prometheus/latest/querying/basics/[Querying Prometheus]を参照してください。

  • Expression *フィールドに「+ machine_cpu_cores 」と入力し、* Execute *を押します。 特定のノードのCPUコアの数を報告するメトリック「 machine_cpu_cores +」の時系列のリストが表示されます。 メトリックラベルで、メトリックを生成したノードとメトリックをスクレイピングしたジョブを確認できます。

最後に、上部のナビゲーションバーで[ステータス]をクリックしてから[ターゲット]をクリックして、Prometheusがスクレイプするように構成されているターゲットのリストを表示します。 https://www.digitalocean.com/community/tutorials/how-to-set-up-digitalocean-kubernetes-cluster-monitoring-withの冒頭に記載されている監視エンドポイントのリストに対応するターゲットのリストが表示されます。 -helm-and-prometheus-operator#step-2-%E2%80%94-installing-the-prometheus-operator-chart [ステップ2]。

Promtheusおよびクラスターメトリックのクエリ方法の詳細については、公式のhttps://prometheus.io/docs/introduction/overview/[Prometheus docs]を参照してください。

同様のプロセスに従って、Prometheusによって生成されたアラートを管理するAlertManagerに接続します。 Prometheus上部ナビゲーションバーの[アラート]をクリックして、これらのアラートを確認できます。

Alertmanagerポッドに接続するには、 `+ kubectl port-forward `を使用してローカルポートを転送します。 プロメテウスの探索が終わったら、 ` CTRL-C +`を押してポートフォワードトンネルを閉じることができます。 または、新しいシェルとポートフォワード接続を開くことができます。

`+ monitoring +`名前空間で実行中のサービスをリストすることから始めます:

kubectl get svc -n monitoring

次のサービスが表示されるはずです。

OutputNAME                                               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
alertmanager-operated                              ClusterIP   None             <none>        9093/TCP,6783/TCP   34m
doks-cluster-monitoring-grafana                    ClusterIP   10.245.105.130   <none>        80/TCP              34m
doks-cluster-monitoring-kube-state-metrics         ClusterIP   10.245.140.151   <none>        8080/TCP            34m
doks-cluster-monitoring-pr-alertmanager            ClusterIP   10.245.197.254   <none>        9093/TCP            34m
doks-cluster-monitoring-pr-operator                ClusterIP   10.245.14.163    <none>        8080/TCP            34m
doks-cluster-monitoring-pr-prometheus              ClusterIP   10.245.201.173   <none>        9090/TCP            34m
doks-cluster-monitoring-prometheus-node-exporter   ClusterIP   10.245.72.218    <none>        30206/TCP           34m
prometheus-operated                                ClusterIP   None             <none>        9090/TCP            34m

ローカルポート「9093」を「+ docks-cluster-monitoring-pr-alertmanager」サービスのポート「9093」に転送します。

kubectl port-forward -n monitoring svc/doks-cluster-monitoring-pr-alertmanager 9093:9093

次のような出力が表示されるはずです。

OutputForwarding from 127.0.0.1:9093 -> 9093
Forwarding from [::1]:9093 -> 9093

これは、ローカルポート「9093」がAlertmanagerポッドに正常に転送されていることを示しています。

Webブラウザで `+ http:// localhost:9093 +`にアクセスします。 次のAlertmanager * Alerts *ページが表示されます。

image:https://assets.digitalocean.com/articles/doks_helm_monitoring/alertmanager.png [アラートマネージャーアラートページ]

ここから、アラートの発動とオプションでそれらのサイレンシングを探索できます。 Alertmanagerの詳細については、https://prometheus.io/docs/alerting/alertmanager/ [Alertmanagerの公式ドキュメント]を参照してください。

結論

このチュートリアルでは、ダッシュボード、Prometheusルール、およびアラートの標準セットを使用して、Prometheus、Grafana、Alertmanagerの監視スタックをDigitalOcean Kubernetesクラスターにインストールしました。 これはHelmを使用して行われたため、「+ helm upgrade」、「+ helm rollback」、および「+ helm delete」を使用して、監視スタックをアップグレード、ロールバック、または削除できます。 これらの機能の詳細については、https://www.digitalocean.com/community/tutorials/how-to-install-software-on-kubernetes-clusters-with-the-helm-package-manager [ソフトウェアのインストール方法]をご覧ください。 Helm Package Managerを使用したKubernetesクラスタで]。

`+ prometheus-operator`チャートは、Helmを使用してクラスターの監視を迅速に実行するのに役立ちます。 Prometheus Operatorを手動で構築、展開、および構成することができます。 これを行うには、https://github.com/coreos/prometheus-operator [Prometheus Operator]およびhttps://github.com/coreos/kube-prometheus[kube-prometheus] GitHubリポジトリを参照してください。