This documentation is for a release that is no longer maintained
See documentation for the latest supported version.3.3. Red Hat Developer Hub の Amazon Web Services (AWS) による監視およびロギング
Red Hat Developer Hub では、Amazon Web Services (AWS) の統合により、監視およびロギングが容易になります。リアルタイム監視のための Amazon CloudWatch や、包括的なログ記録のための Amazon Prometheus などの機能を使用すると、AWS インフラストラクチャーでホストされている Developer Hub アプリケーションの信頼性、スケーラビリティー、およびコンプライアンスを確保できます。
この統合により、Red Hat エコシステム内でアプリケーションを監視、診断、改良できるようになり、開発と運用のプロセスが改善されます。
3.3.1. Amazon Prometheus による監視 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Developer Hub は、実行中のアプリケーションに関連する Prometheus メトリクスを提供します。EKS クラスターで Prometheus を有効化またはデプロイする方法の詳細は、Amazon ドキュメントの Prometheus metrics を参照してください。
Amazon Prometheus を使用して Developer Hub を監視するには、Prometheus ワークスペース用の Amazon マネージドサービスを作成し、Developer Hub Prometheus メトリクスの取り込みを設定する必要があります。詳細は、Amazon ドキュメントの Create a workspace セクションおよび Ingest Prometheus metrics to the workspace セクションを参照してください。
作成したワークスペースに Prometheus メトリクスを取り込んだら、特定の Pod アノテーションに基づいて、Pod からデータを抽出するためのメトリクススクレイピングを設定できます。
3.3.1.1. 監視用のアノテーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
Helm デプロイメントと Operator がサポートするデプロイメントの両方で監視用のアノテーションを設定できます。
- Helm のデプロイメント
backstage Pod に監視用のアノテーションを付けるには、
values.yaml
ファイルを次のように更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Operator がサポートするデプロイメント
手順
Operator の管理者として、デフォルト設定を編集して、次のように Prometheus アノテーションを追加します。
Update OPERATOR_NS accordingly
# Update OPERATOR_NS accordingly OPERATOR_NS=rhdh-operator kubectl edit configmap backstage-default-config -n "${OPERATOR_NS}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigMap で
deployment.yaml
キーを見つけて、次のようにアノテーションをspec.template.metadata.annotations
フィールドに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を保存します。
検証
スクレイピングが機能するかどうかを確認するには、以下の手順を実行します。
次のように、
kubectl
を使用して Prometheus コンソールをローカルマシンにポート転送します。kubectl --namespace=prometheus port-forward deploy/prometheus-server 9090
kubectl --namespace=prometheus port-forward deploy/prometheus-server 9090
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Web ブラウザーを開いて
http://localhost:9090
に移動し、Prometheus コンソールにアクセスします。 -
process_cpu_user_seconds_total
などの関連メトリクスを監視します。
3.3.2. Amazon CloudWatch ログを使用したロギング リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Developer Hub 内のロギングは、winston ライブラリー に依存します。デフォルトでは、デバッグレベルのログは記録されません。デバッグログをアクティブにするには、Red Hat Developer Hub インスタンスで環境変数 LOG_LEVEL
を debug に設定する必要があります。
3.3.2.1. アプリケーションログレベルの設定 リンクのコピーリンクがクリップボードにコピーされました!
Helm デプロイメントと Operator がサポートするデプロイメントの両方で、アプリケーションログレベルを設定できます。
- Helm のデプロイメント
ロギングレベルを更新するには、Helm チャートの
values.yaml
ファイルに環境変数LOG_LEVEL
を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Operator がサポートするデプロイメント
次のように、カスタムリソースに環境変数
LOG_LEVEL
を含めることで、ロギングレベルを変更できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.2.2. Amazon CloudWatch からログを取得する リンクのコピーリンクがクリップボードにコピーされました!
CloudWatch Container Insights は、Amazon EKS のログとメトリクスをキャプチャーするために使用されます。詳細は、Logging for Amazon EKS ドキュメントを参照してください。
ログとメトリクスをキャプチャーするには、Amazon CloudWatch Observability EKS アドオンをクラスターにインストールします。Container Insights のセットアップ後、Logs Insights または Live Tail ビューを使用してコンテナーログにアクセスできます。
CloudWatch は、すべてのコンテナーログが統合されるロググループに、次のように名前を付けます。
/aws/containerinsights/<ClusterName>/application
以下は、Developer Hub インスタンスからログを取得するためのクエリーの例です。
fields @timestamp, @message, kubernetes.container_name | filter kubernetes.container_name in ["install-dynamic-plugins", "backstage-backend"]
fields @timestamp, @message, kubernetes.container_name
| filter kubernetes.container_name in ["install-dynamic-plugins", "backstage-backend"]