Kubernetesモニタリングのトラブルシューティング
最終更新日: 02 年 2023 月 XNUMX 日LogicMonitorのKubernetesMonitoring Integrationを正常にインストールできなかった場合は、次の手順を使用してトラブルシューティングを行ってください。
Helmインストールコマンドが成功しなかった場合:
- インストール中に、KubernetesRBAC対応オプションが正しく選択されていることを確認してください。 これは、クラスター内のRBACと一致する必要がある「enableRBAC」ヘルムチャート値を制御します(すなわち クラスタでRBACが有効になっていない場合、この値はfalseである必要があります)。
- LogicMonitor APIトークンが有効であり、十分な権限があることを確認してください。
- Argus&Collectorset-Controllerポッドのログを確認してください
Helmインストールコマンドは成功したが、クラスターが監視に正常に追加されていない場合:
- コレクターグループが追加されたかどうかを確認します。 そうでない場合は、提供されているLogicMonitorAPIトークンに問題がある可能性があります。 LogicMonitor監査ログを使用して、要求が拒否されたかどうかを識別できます。
- コレクターが正常にインストールされたかどうかを確認します。 コレクターグループが追加されたが、コレクターが正常にインストールされなかった場合は、APIトークンに問題がある可能性はありません。 Collectorのインストールメモリ要件が満たされていない可能性があります。そうでないことを確認してください。 コレクターが正しくインストールされていない場合は、Argus、Collectorset-Controller、およびCollectorポッドのログを確認することもお勧めします。
- OpenShift を使用している場合は、インストールを有効にするために、コレクターのサービス アカウントの権限を昇格する必要がある場合があります。 これは、次のコマンドで実行できます (デフォルトの名前空間が使用されていると仮定します)。
oc adm policy add-scc-to-user anyuid system:serviceaccount:default:collector
Helmインストールコマンドが成功し、クラスターが監視に追加されたが、データ収集が機能していない場合:
- 最新バージョンのデータソースを使用していることを確認してください。 バグ修正と改善を含む新しいバージョンのデータソースを定期的にリリースしています。 新しいバージョンをインポートするには、を参照してください。 この記事
- 最新バージョンのデータソースを使用してもデータ収集が機能しない場合は、データソースを変更してKubernetes APIの応答とステータスコードを表示し、詳細情報を取得できます。 たとえば、次のスクリーンショットのように、ポッドデータソースを変更して、リクエストとレスポンスの情報を出力し、データ収集の試行中にKubernetesAPIが返すエラーを絞り込むことができます。 これは、データ収集が機能しない理由を特定するのに役立つ場合があります。

メモリ、CPU、およびエフェメラルストレージが原因でGKEでArgusおよびCollectorset-Controllerポッドをセットアップできない場合は、次の構成を使用します。
- Argus構成ファイルを使用して、コレクターのリソース制限と要求(メモリ、CPU、エフェメラルストレージ)を設定してください。
サンプルファイル:
statefulsetspec:
template:
spec:
containers:
- name: collector
resources:
requests:
cpu: 1000m
ephemeral-storage: 5Gi
memory: 2Gi
Argusのインストール中に次のgRPC接続失敗エラーが発生した場合は、次の手順を実行します:
level = warning msg =”gRPC接続の作成中にエラーが発生しました。 エラー:コンテキストの期限を超えました」argus_pod_id = debug_id = goroutine = 1 method = pkg / connection.createGRPCConnection watch = init
問題を解決するには、次の手順を実行します。
- 次のコマンドを実行して、ArgusPodシェルにログインします。
kubectl exec -it <argus_Pod_name> /bin/sh
- 次のコマンドを入力して、ArgusとCollectorset-Controllerポッド間の通信を確認します。
curl http://collectorset-controller:50000
- 通信に失敗してエラーが発生した場合は、内部ネットワークポリシーで設定されている制限のパラメータを確認する必要があります。
コレクターポッドがOpenShiftClusterv4.xで頻繁に再起動し、モニタリングギャップが発生している場合は、以下を実行します。
Dockerコレクターは、すべての収集ジョブを実行します。 ただし、OpenShiftにはプロセス数を1024に制限する1024のデフォルトのコンテナーPID制限があるため、この制限は大規模クラスターには不十分です。
を使用して設定を変更できます ContainerRuntimeConfig
カスタムリソース。
たとえば、ポッドに次のようにラベルを付けました machineconfigpool
キーを使用してPID制限を増やしたい custom-crio
と値として custom-pidslimit
次に、構成ファイルを次のように変更します。
apiVersion: machineconfiguration.openshift.io/v1
kind: ContainerRuntimeConfig
metadata:
name: custom-pidslimit
spec:
machineConfigPoolSelector:
matchLabels:
custom-crio: custom-pidslimit
containerRuntimeConfig:
pidsLimit: 4096
注意::適切なPID制限は、コレクターのサイズと監視されるKubernetesリソースの数によって異なる場合があります。 ただし、小型コレクターに設定されているデフォルトのPID制限は、最小4096です。
ポッドシェルで次のコマンドを入力して、PID制限が有効かどうかを確認することもできます。cat /sys/fs/cgroup/pids/pids.current