ますます多くのIT組織がコンテナー化されたワークロードとサービスに移行するにつれて、コンテナーとその中で実行されているサービスについての洞察を得ることがこれまで以上に重要になっています。 コンテナオーケストレーションの料金をリードするのはKubernetesです(別名k8s – 8は単語の途中から省略された文字を表します)。 実際、ITエンジニアの約8分のXNUMXは、パンデミックの際に、スケーリングとパフォーマンスの必要性が高まるにつれて、Kubernetesオプションが増加するのを見てきました。 大きな力には大きな責任が伴いますが、それを助けるために何を使うことができますか? このブログでは、LogicMonitorのKubernetes Monitoringソリューションを要約し、Kubernetesログ、Kubernetesイベント、ポッドログを表示するようにLMログを構成して、メトリックとログの両方を相互に関連付けてKXNUMXに全体的なビューを提供する方法について詳しく説明します。
Kubernetesモニタリング
LogicMonitor の Kubernetes モニタリング統合は、アプリケーションに依存しています。 Helm経由でインストール可能. クラスター内で XNUMX つのポッドとして実行されるため、すべてのノードにエージェントをインストールする必要はありません。 このアプリケーションは、Kubernetes イベント ストリームをリッスンし、LogicMonitor の API を使用して、クラスター内のリソースが変化しても、監視が常に最新であることを保証します。 Kubernetes ノード、ポッド、コンテナー、サービス、マスター コンポーネント (スケジューラー、API サーバー、コントローラー マネージャーなど) のデータが自動的に収集されます。
事前設定されたアラートしきい値は、すぐに使用できる意味のあるアラートを提供します。 アプリケーションは、LogicMonitorの監視テンプレートの広範なライブラリを使用して、ベストプラクティスに基づいて自動的に検出および監視されます。 これは、構成ファイルを編集したり、コンテナーイメージ名の一致に依存したり、手動で監視を構成したりする手間をかけずに、コンテナー化されたアプリケーションを即座に可視化できることを意味します。 さらに、LogicMonitorは、この詳細なパフォーマンスデータを最大XNUMX年間保持します。 これらの利点を組み合わせることで、LogicMonitorは、代替ソリューションよりも少ない必要なツールとプロセスでKubernetesクラスターを監視できます。 LMをチェックしてください Kubernetesのベストプラクティスブログ 詳細はこちら
ログはあなたのために何ができますか?
LogicMonitorがKubernetesの監視にどのように役立つかを確認したので、Kubernetesログで何が起こっているかについてさらに洞察を得る方法を見てみましょう。 LMログを使用すると、KubernetesログとKubernetesイベントおよびポッドログの両方を取り込んで、K8sログ自体からポッドの作成や削除などのポッドイベントまですべてをキャプチャできます。 XNUMXつのKubernetesログタイプには異なる収集方法がありますが、どちらも設定が簡単で、数分で起動して実行できます。
Kubernetesログの取り込み
Kubernetesログの場合、lm-logs Helmチャート構成(Kubernetes統合の一部として提供される)を使用することをお勧めします。 インストールして構成することができます LogicMonitor Kubernetes の統合 Kubernetes ログを LM ログ取り込み API に転送します。
開始するには、 LogicMonitorAPIトークン ログ取り込みAPIへのすべてのリクエストを認証します。 また、LogicMonitorコレクターがインストールされていることを確認してください。 Kubernetesクラスターのモニタリング.
展開
- LogicMonitorHelmリポジトリを追加します。
helm repo add logicmonitor
https://logicmonitor.github.io/k8s-helm-charts
LogicMonitor Helmリポジトリがすでにある場合は、それを更新して最新のチャートを取得する必要があります。
helm repo update
- lm-logsチャートをインストールし、必要な値を入力します。
helm install -n <namespace> \
--set lm_company_name="<lm_company_name>" \
--set lm_access_id="<lm_access_id>" \
--set lm_access_key="<lm_access_key>" \
lm-logs logicmonitor/lm-logs
Kubernetesイベントの収集と転送
監視対象の Kubernetes クラスターまたはクラスター グループから Kubernetes クラスター イベントとポッド ログを受信して転送するように LogicMonitor コレクターを構成できます。
開始するには、LM EA Collector 30.100以降をインストールし、LogicMonitorのKubernetes Monitoringをデプロイし、ログを収集するためのリソース(イベントまたはポッド)にアクセスする必要があります。
イベントとログの収集を有効にする
イベントとログ収集を有効にするには、次のXNUMXつのオプションがあります。
- ArgusのHelmデプロイメントを変更して、イベント収集を有効にします(推奨される方法)。
helm upgrade --reuse-values \
--set device_group_props.cluster.name="lmlogs.k8sevent.enable" \
--set device_group_props.cluster.value="true" \
--set device_group_props.pods.name="lmlogs.k8spodlog.enable" \
--set device_group_props.pods.value="true" \
argus logicmonitor/argus
- LogicMonitorで監視対象のKubernetesクラスタグループ(または個々のリソース)に次のプロパティを手動で追加します。
プロパティ | 説明 |
---|---|
lmlogs.k8sevent.enable = true | ポッド、デプロイメント、サービス、ノードなどからLMログにイベントを送信します。 falseの場合、イベントを無視します。 |
lmlogs.k8spodlog.enable = true | ポッドログをLMログに送信します。 falseの場合、ポッドからのログを無視します。 |
ログの除外
KubernetesイベントとポッドログがLMログに取り込まれるため、さまざまな基準でフィルタリングすることができます。 フィルタ条件を設定するには、agent.confファイルを開いて編集します。 フィルタリングする基準を見つけ、その行のコメントを解除して有効にしてから、フィルタリングエントリを編集します。
Kubernetesイベントは、メッセージ、理由、タイプのフィールドに基づいています。
- INFOレベルのポッドログをLogicMonitorにフィルターで除外するには、コメントを解除するか、次の行を追加します:logsource.k8spodlog.filter.1.message.notcontain = INFO
Kubernetesポッドログの場合、メッセージフィールドでフィルタリングできます。 フィルタリング基準は、キーワード、正規表現パターン、フィールドの特定の値などを使用して定義できます。
- type = NormalのKubernetesイベントを送信するには、次の行をコメントアウトします:logsource.k8sevent.filter.1.type.notequal = Normal
材木ボブのまとめ
Once Kubernetes Monitoring と Logging が構成されていると、メトリックとログの両方を含む Kubernetes クラスターの完全なビューが表示されます。 LM のすぐに使用できる Kubernetes ダッシュボードと視覚化により、クラスターの状態が可視化され、ログが各リソースに関連付けられます。 ウィジェット オプションの [View Logs] をクリックするだけで、LM ログ ページが表示され、フィルタと時間範囲が引き継がれ、コンテキスト内のデータを引き続き表示できます。
しかし、アラートはどうですか? すべてのLMアラートはLMログの異常検出で強化され、問題のある可能性のあるログを表示してトラブルシューティング時間を短縮します。 次回Kubernetesアラートを受信したときに、根本的な原因を絞り込むために確認するログの小さなサブセットが必要ではありませんか? LM Logsはそれをすべて行い、ますます複雑化するアーキテクチャーに対する洞察と可視性を提供します。