4.6. Thanos Querier のクエリーロギングの有効化
openshift-monitoring プロジェクトのデフォルトのプラットフォームモニタリングの場合、Cluster Monitoring Operator (CMO) を有効にして Thanos Querier によって実行されるすべてのクエリーをログに記録できます。
ログローテーションはサポートされていないため、問題のトラブルシューティングが必要な場合にのみ、この機能を一時的に有効にします。トラブルシューティングが終了したら、ConfigMapオブジェクトに加えた変更を元に戻してクエリーログを無効にし、機能を有効にします。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-adminクラスターロールを持つユーザーとしてクラスターにアクセスできる。 -
cluster-monitoring-configConfigMapオブジェクトを作成している。
手順
openshift-monitoring プロジェクトで Thanos Querier のクエリーロギングを有効にすることができます。
openshift-monitoringプロジェクトでcluster-monitoring-configConfigMapオブジェクトを編集します。oc -n openshift-monitoring edit configmap cluster-monitoring-config
$ oc -n openshift-monitoring edit configmap cluster-monitoring-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例のように
thanosQuerierセクションをdata/config.yamlに追加し、値を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。新しい設定の影響を受ける Pod は自動的に再デプロイされます。
検証
Thanos Querier Pod が実行されていることを確認します。次のコマンドの例は、
openshift-monitoringプロジェクトの Pod のステータスを一覧表示します。oc -n openshift-monitoring get pods
$ oc -n openshift-monitoring get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のサンプルコマンドをモデルとして使用して、テストクエリーを実行します。
token=`oc create token prometheus-k8s -n openshift-monitoring` oc -n openshift-monitoring exec -c prometheus prometheus-k8s-0 -- curl -k -H "Authorization: Bearer $token" 'https://thanos-querier.openshift-monitoring.svc:9091/api/v1/query?query=cluster_version'
$ token=`oc create token prometheus-k8s -n openshift-monitoring` $ oc -n openshift-monitoring exec -c prometheus prometheus-k8s-0 -- curl -k -H "Authorization: Bearer $token" 'https://thanos-querier.openshift-monitoring.svc:9091/api/v1/query?query=cluster_version'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行してクエリーログを読み取ります。
oc -n openshift-monitoring logs <thanos_querier_pod_name> -c thanos-query
$ oc -n openshift-monitoring logs <thanos_querier_pod_name> -c thanos-queryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記thanos-querierPod は高可用性 (HA) Pod であるため、1 つの Pod でのみログを表示できる可能性があります。-
ログに記録されたクエリー情報を確認したら、config map で
enableRequestLoggingの値をfalseに変更してクエリーロギングを無効にします。