モニタリング機能の移行
このドキュメントはモニタリング機能の移行方法について説明します。
はじめに
これまでKubernetes監視のために従来よりモニタリング機能(以下、Monitoring V1
)を提供していましたが、監視設定全般のユーザビリティが大きく向上した、新たなモニタリング機能(以下、Monitoring V2
)が利用可能です。
Monitoring V1
は今後提供を終了する計画となっており、現在、Monitoring V1
を使用している場合、本ドキュメントを参考にMonitoring V2
への移行が必要です。
Monitoring V2 の移行に伴う、注意事項
Monitoring V1
がインストールされた状態で、Monitoring V2
のインストールはできません。Monitoring V1
からMonitoring V2
への移行については、自動アップグレードパスは用意されておりません。- 下記手順に従って手動での切替が必要です
Monitoring V1
インストール後にご自身で設定した監視やアラートの設定は、Monitoring V2
インストール後に再度設定して頂く必要があります。Monitoring V1
削除前に必要な情報は保管しておいてください。
モニタリング機能を利用する上での注意事項
モニタリング機能はOperator/Prometheus/AlertManager/Grafana等、さまざまなアプリケーションがKubernetes上で動くことになります。
リソースを多く消費するため、余裕を持ったCPU/Memory構成が必要になります。
このドキュメントの対象範囲
Monitoring V2では、独自の監視やアラート設定を行うことも可能ですが、このドキュメントではMonitoring V1
を削除し、Monitoring V2
を有効化するまでの手順のみ記載します。
その他、詳細については、Rancherのドキュメント及び、 Prometheus オペレーターのドキュメントをご確認ください。
Monitoring V1の削除
新しいMonitoring V2
をインストールする前に、Monitoring V1
及びMonitoring V1
の関連リソースを全て削除します。
アラートグループ(Alert Group)、アラート(Alert)の削除
はじめに、アラートグループ(Alert Group)、アラート(Alert) を全て削除しておく必要があります。
クラスター アラート(Cluster Alert) に加えて、プロジェクトモニタリング V1(
Project Monitoring V1
)が有効になっている場合の方- プロジェクトモニタリング V1(
Project Monitoring V1
)側のアラートグループ(Alert Group)、アラート(Alert) も全て削除してください。
- プロジェクトモニタリング V1(
上記のものは、改めて
Monitoring V2
への登録が必要になりますので、再登録時に必要な情報は削除前に控えておいてください。
クラスターアラートの削除
- 左側のメニューから「Legacy」 → 「アラート(Alert)」を選択します。
- アラートグループ(Alert Group) 及び、各アラートグループ(Alert Group)に属するアラート(Alert) が表示されるので、全て削除します。
- アラートグループ(Alert Group)を削除すると属するアラート(Alert)も全て削除されます。
プロジェクトアラートの削除
- 上部にあるプロジェクト(Project)/ネームスペース(Namespace) を選択するボックスから、アラート(Alert)を削除するプロジェクト(Project) を選択してします。
- 複数のプロジェクト(Project)やネームスペース(Namespace)を選択可能ですが、プロジェクト(Project)1つだけを選択します。
- 左側のメニューから「Legacy」 → 「Project」 → 「アラート(Alert)」を選択します。
- クラスター アラートと同様の手順で、全てのアラート グループ(Alert Group)、アラート(Alert)を削除してください。
- 同様に操作を行い、全てのプロジェクト(Project)を確認し、全てのアラート グループ(Alert Group)、アラート(Alert) を削除します。
通知(Notifier)の削除
通知(Notifier
)についても事前の削除が必要です。
- 右側のメニューのLegacyの中の「通知(
Notifiers
)」を選択すると通知(Notifier)が表示されますので、全て削除します。
改めて
Monitoring V2
への登録が必要になりますので、再登録時に必要な情報は削除前に控えておいてください。通知(
Notifier
) はLegacyのCIS スキャン(CIS Scans
) でも利用されていますが、通知(Notifier
) を削除することにより、LegacyのCIS スキャン(CIS Scans
) からの通知も利用できなくなります。- CIS スキャン(
CIS Scans
)についても新バージョンへの切り替えが必要です
- CIS スキャン(
Monitoring V1の無効化
アラートグループ(Alert Group)、アラート(Alert)、通知(Notifier)が全て削除出来たら、Monitoring V1
を削除できます。
クラスターモニタリング V1(Cluster Monitoring V1
)の削除前に、プロジェクトモニタリング V1(Project Monitoring V1
)を削除しておく必要があります。
クラスターモニタリング V1(Cluster Monitoring V1
)、プロジェクトモニタリング V1(Project Monitoring V1
)を削除すると、付随したリソースは全て削除されます。
- 追加で設定した監視設定(
Service Monitors
など)や、Alert設定、Grafanaの設定も全て削除されます。 - 改めて
Monitoring V2
への登録が必要になりますので、再登録時に必要な情報は削除前に控えておいてください
V1 プロジェクト モニタリング(V1 Project Monitoring)の無効化
- 上部にあるプロジェクト(Project)/ネームスペース(Namespace) を選択するボックスから、V1 プロジェクトモニタリング(
V1 Project Monitoring
) を削除するプロジェクト(Project) を選択します。 - 複数のプロジェクト(Project)やネームスペース(Namespace)を選択可能ですが、プロジェクト(Project)1つだけを選択します。
- 左側のメニューから「Legacy」 → 「Project」 → 「モニタリング(Monitoring)」を選択します。
- 選択したProjectのV1 プロジェクトモニタリング(
V1 Project Monitoring
) の設定が開きますので、「無効(Disable)」を選択し、無効化します。
- 同様に操作を行い、全てのプロジェクト(Project)を確認し、V1 プロジェクト モニタリング(
V1 Project Monitoring
)を全てのプロジェクト(Project)で無効化してください。
クラスター モニタリングの無効化
最後にクラスター モニタリング(Cluster Monitoring
)を削除します。
- 左下の「クラスターツール(Cluster Tools)」を選択し、「Monitoring(Legacy)の管理(Manage)」を選択します。
- クラスターモニタリング(
Cluster Monitoring
)の設定画面から、「無効(Disable)」を実行します。
Namespaceの削除
最後にMonitoring V1で利用していたNamespaceを削除します。
- 右側のメニューの「クラスター(Clusters)」 → 「プロジェクト/名前空間(Projects/Namespaces)」を選択します。
- システムプロジェクト(System Project) の中の
cattle-prometheus
及び、各プロジェクト(Project)の中のcattle-prometheus-p-xxxxx
を選択し、削除します。
Monitoring V2のインストール
Monitoring V2
もクラスターモニタリング(Cluster Monitoring) とプロジェクトモニタリング(Project Monitoring) の両方があります。
- プロジェクトモニタリング(Project Monitoring) を有効化するためには、クラスターモニタリング(Cluster Monitoring)が必須になりました
- プロジェクト モニタリング(Project Monitoring) を有効化前に、クラスターモニタリング(Cluster Monitoring)を有効化してください。
クラスターモニタリング(Cluster Monitoring)のインストール
- 左下の「クラスターツール(Cluster Tools)」からMonitoringのインストールを選択することによりインストールできます。
- 左側のメニューの「アプリ(Apps)」 → 「Charts」からもインストールすることが可能です。
- 次の画面の「インストール: ステップ1」でインストール先のプロジェクト(Projects)を選択できますが、必ず
System Project
を選択してください。 - プロジェクトモニタリング(Project Monitoring)を有効化するためには、
System Project
へのインストールが必要です。
- 次の「インストール: ステップ2」にあるクラスタータイプは、IDCFクラウド/Private Cloudへ構築したクラスターの場合は
RKE1
を選択してください。 - その他のクラスタータイプについては、それぞれ実際のクラスターに合わせて選択してください。(その他のオプションについては、必要に応じて設定を行ってください。)
- 基本的にデフォルト構成をお勧めしますが、監視データを永続化したい場合、Prometheus/Grafanaのストレージ設定を行ってください。最後にインストールを選択することでインストールが開始されます。
- 問題なくインストールが完了するとコンソール上に
SUCCESS
と表示されます。
ダッシュボードの確認
インストール後は左側メニューの「モニタリング(Monitoring)」を選択することで、PrometheusやGrafanaのUIへアクセスすることが出来ます。
以下は、Grafanaを選択した場合のGrafana UIの画面になります。(サンプル)
以下はWorkload: Deploymentの画面になります。Monitoring
を有効化した場合、Explorer
の画面上でもメトリックの確認が可能です。(サンプル)
プロジェクト モニタリング(Project Monitoring)の有効化
プロジェクトモニタリング(Project Monitoring) はPrometheus Federatorをインストールすることで有効化出来ます。
プロジェクトモニタリング(Project Monitoring) を有効にするためには、クラスターモニタリング(Cluster Monitoring) の有効化が必要です。
必ず事前にクラスターモニタリング(Cluster Monitoring) の有効を済ませてからPrometheus Federatorをインストールしてください。
Prometheus Federatorのインストール
- 左側のメニューの「アプリ(Apps)」 → 「Prometheus Federator」を選択しインストールします。
- 次の画面の「インストール: ステップ1」では、インストール先のProjectとしてMonitoringをインストールしたSystemプロジェクトが選択されているはずです。(変更不可)
- その次の画面の「インストール: ステップ2」は必要に応じて設定を変更しても問題ありませんが、基本的に設定変更は不要です。
- 特にRBACはよく理解した上で変更を行ってください。設定が正しくない場合、プロジェクトモニタリング(Project Monitoring) として機能しなくなります。
- 問題なくインストールが完了するとコンソール上に
SUCCESS
と表示されます。
各プロジェクト(Project)でのモニタリング(Monitoring)有効化
プロジェクト(Project)毎のモニタリング(Monitoring)は、プロジェクト(Project)毎に有効化が必要です。
- 左側メニューの「モニタリング(Monitoring)」 → 「プロジェクトモニター(Project Monitors)」 → 「作成(Create)」を選択してください。
- 次の画面で、プロジェクトモニタリング(Project Monitoring) で有効化したいプロジェクト(Project)を選択します。
- その他のオプションは必要に応じて設定してください。作成で有効化ができます。
- 他にもプロジェクトモニタリング(Project Monitoring) を有効化したいプロジェクト(Project)があれば、同様の手順で有効化してください。
- インストール後は、左側のメニューから「モニタリング(Monitoring)」 → 「プロジェクトモニター(Project Monitors)」 → 「確認したいプロジェクト(Project)」を選択することで、PrometheusやGrafanaのUIへアクセスすることが出来ます。
追加のAlerting Drivers有効化(MS Teams, SMS)
Microsoft Teams、SMSへの通知(Notifier)を送信したい場合は、追加のAlerting Driversをインストールする必要があります。
- Microsoft Teams、SMSへの通知(Notifier)が不要な場合、追加のAlerting Driversインストールは不要です。
- 左下の「クラスターツール(Cluster Tools)」からAlerting Driversのインストールを選択することにより、インストールすることが出来ます。
- 左側のメニューの「アプリ(Apps)」 → 「Charts」からもインストールすることが可能です。
- 次の画面の「インストール: ステップ1」で、インストール先の名前空間を指定できますが、**クラスターモニタリング(Cluster monitoring)**がインストールされている
cattle-monitoring-system
を選択してください。
- 「インストール: ステップ2」で、有効化したいDriver(Microsoft Teams、SMS)を選択します。
- 問題なくインストールが完了するとコンソール上に
SUCCESS
と表示されます。
Alertingの追加
Monitoring V1
では通知(Notifier)としてアラートの通知先を設定しましたが、Monitoring V2
では、AlertingのAlertmanagerConfigとして設定を行います。
ここでは、Monitoring V1でも設定でき、利用頻度が最も高いSlackへの通知を参考に記載します。
SlackのWebhook URLを記載したSecretの準備
AlertmanagerConfigでSlackを通知先として設定する際に、SlackのWebhook URLを記載したSecretが必要になります。
AlertmanagerConfigはNamespace: cattle-monitoring-system
で作成するため、SlackのWebhook URLを記載したSecretもNamespace: cattle-monitoring-system
へ作成する必要があります。
- 「ストレージ(Storage)」 → 「Secrets」 → 「Opaque」 を選択します
- 作成するSecretのKeyは何でも構いませんが、ここでは
url
とします。
AlertmanagerConfigの設定
AlertmanagerConfigを作成していきます。
AlertmanagerConfigはAlertmanagerConfigを作成後に、作成したAlertmanagerConfigに対してレシーバー(Receiver)の設定として通知先にSlackを設定する形になります。
- ルート(route)設定を行うことも出来ますが、ここでは割愛します。
- デフォルト設定で全てのアラートが設定したレシーバー(Receiver)を利用する事になります。
- 左側メニューの「モニタリング(Monitoring)」 → 「Alerting」 → 「AlertmanagerConfig」 → 「作成(Create)」を選択します。
- 次に、今作成したAlertmanagerConfigを選択します。レシーバ(Receivers)の画面で、「レシーバーを追加(Add Receiver)」を選択します。
- 次の画面で、「Slack」を選択し、「Add Slack」を選択します。
- 名前を設定し、「Slack Webhoook URL」のSecretに、先に作成したSecretを選択します。
- 復旧の通知を受けたい場合は、「Enble send resolved alerts」にチェックを入れてください。
- この例ではルート(Route)の設定がデフォルトのため、全てのアラートがSlackに通知されます。
- ルート(Route)を設定する場合は、AlertmanagerConfigを選択し、ルート(Route)の画面で、右上のメニューから「設定を編集(Edit Config)」を実行する必要がありますので、ご注意ください。