1.4. 操作のトラブルシューティング
本セクションでは、OpenShift で表示するために 3scale 監査ロギングを設定する方法と、OpenShift で 3scale ログおよびジョブキューにアクセスする方法を説明します。
1.4.1. OpenShift での 3scale 監査ロギングの設定
3scale がオンプレミスでデプロイされる場合、監査ロギングを stdout
に設定し、すべてのアプリケーションのログを標準的な OpenShift Pod ログに転送することができます。これにより、すべてのログが 1 箇所に集約され、Elasticsearch、Fluentd、および Kibana (EFK) ロギングツールでクエリーすることができます。これらのツールにより、3scale の設定にいつ誰がどのような変更を加えたかについての可視性が向上します。たとえば、これには、請求、アプリケーションプラン、API 設定などへの変更が含まれます。
留意事項
-
3scale がオンプレミスでデプロイされる場合、デフォルトでは
stdout
への監査ログの送付は無効です。この機能が完全に動作するように設定する必要があります。 -
ホスト型 3scale では、
stdout
への監査ログの送付を利用することはできません。
1.4.1.1. 監査ロギングの有効化
3scale は、features.xml
設定ファイルを使用して、一部のグローバル機能を有効にします。stdout
への監査ログの送付を有効化するには、このファイルを ConfigMap
からマウントして、デフォルトのファイルと置き換える必要があります。features.xml
に依存する OpenShift Pod は、system-app
と system-sidekiq
です。
前提条件
- OpenShift でのクラスター管理者アクセス権限がある。
手順
以下のコマンドを入力して、
stdout
への監査ログの送付を有効にします。oc patch configmap system -p '{"data": {"features.yml": "features: &default\n logging:\n audits_to_stdout: true\n\nproduction:\n <<: *default\n"}}'
以下の環境変数をエクスポートします。
export PATCH_SYSTEM_VOLUMES='{"spec":{"template":{"spec":{"volumes":[{"emptyDir":{"medium":"Memory"},"name":"system-tmp"},{"configMap":{"items":[{"key":"zync.yml","path":"zync.yml"},{"key":"rolling_updates.yml","path":"rolling_updates.yml"},{"key":"service_discovery.yml","path":"service_discovery.yml"},{"key":"features.yml","path":"features.yml"}],"name":"system"},"name":"system-config"}]}}}}'
以下のコマンドを入力して、更新されたデプロイメント設定を関連する OpenShift Pod に適用します。
oc patch dc system-app -p $PATCH_SYSTEM_VOLUMES oc patch dc system-sidekiq -p $PATCH_SYSTEM_VOLUMES
1.4.1.2. EFK ロギングの設定
stdout への監査ログの送付を有効にして 3scale アプリケーションログが OpenShift に転送されるようになったら、EFK ロギングツールを使用して 3scale アプリケーションを監視することができます。
OpenShift での EFK ロギングの設定方法については、以下のドキュメントを参照してください。