非常に便利な Kubernetes リアルタイム ログ表示ツール 2 つ

非常に便利な Kubernetes リアルタイム ログ表示ツール 2 つ

[[358056]]

通常、Kubernetes 環境のアプリケーション ログは、Filebeat + ElasticSearch + Kibana の組み合わせなどのログ システムを通じて収集する必要があります。この組み合わせは非常に強力ですが、比較的単純なテスト クラスターや、ブラウザーのない自動化/コンソール環境では、複数の Pod からのログを自動的にマージして集中的に表示することは、問題の処理や障害のデバッグに非常に役立ちます。

本日は、非常に便利なマルチコンテナのリアルタイム ログ表示ツールである Stern と Kubetail を 2 つ紹介します。

スターン

Kubectl 自体の Log コマンドは、複数の Pod コンテナ内のログを同時に表示することをサポートしていません。スターンはこの問題を非常にうまく解決します。複数のコンテナのログを同時に追跡できることに加えて、次の強力な機能もサポートしています。

  • 正規表現を使用して、末尾に付ける必要がある PodName を選択できるようにします。
  • 異なるポッドのログ出力の色をカスタマイズする
  • ルールを満たす新しく作成されたポッドを自動的に追加して追跡する
  • ....

プロジェクトアドレス: https://github.com/wercker/stern

スターンのインストール

Stern は Go 言語で開発されており、インストールが非常に簡単で、すぐに使用できます。対応するプラットフォームに関連するバイナリのプリコンパイル済みインストール パッケージをダウンロードするだけで使用できます。

Linux プラットフォームを例に挙げてみましょう。

  1. https://github.com/wercker/stern/releases/download/1.11.0/stern_linux_amd64 をダウンロードしてください
  2. $ chmod +x stern_linux_amd64
  3. $ mv stern_linux_amd64 /usr/ローカル/bin

macOS を使用している場合は、Homebrew を使用して直接インストールできます。

  1. $ brew install stern

スターンの使用

Stern は多くの機能をサポートしており、使い方も豊富です。いくつかの一般的な例を見てみましょう。

現在の名前空間内のすべてのポッド内のすべてのコンテナのログをリアルタイムで表示する

  1. $ スターン。

ポッド内の指定されたコンテナのログをリアルタイムで表示する

  1. $ stern envvars --コンテナゲートウェイ 

指定したコンテナを除く、指定した名前空間内のすべてのコンテナのログをリアルタイムで表示します。

  1. ステージングコンテナを除外するには、 istio-proxy を実行します。  

指定された時間範囲内のコンテナのログをリアルタイムで表示します。次の例では、15 分以内のログを示しています。

  1. $ stern auth -t --since 15m  

指定した名前空間内のコンテナのログをリアルタイムで表示する

  1. $ stern kubernetes-dashboard --namespace kube-system  

すべての名前空間内の指定されたラベルを持つコンテナのログをリアルタイムで表示します。

  1. $ stern --all-namespaces -l run=nginx  

詳しい使い方については、「公式ドキュメント」を参照してください。

クベテイル

Kubetail は、複数の Pod からのログをマージし、カラー出力をサポートするシェル スクリプトです。

プロジェクトアドレス: https://github.com/johanhaleby/kubetail

Kubetailをインストールする

Kubetail は単なるシェル スクリプトなので、ダウンロード後すぐに使用できます。

  1. $ wget https://raw.githubusercontent.com/johanhaleby/kubetail/master/kubetail
  2. $ chmod +x kubetail
  3. $ cp kubetail /usr/ local /bin

macOS を使用している場合は、Homebrew を使用して直接インストールすることもできます。

  1. $ brew Tap johanhaleby/kubetail && brew install kubetail

Kubetail は、Oh-my-zsh、Antigen などのさまざまな SHELL 管理フレームワークもサポートしています。具体的なインストール方法については、「公式インストール ドキュメント」を参照してください。

Kubetailの使用

Kubetail の使い方も非常に簡単です。基本的な構文は次のとおりです。

  1. $ kubetail <検索語> [-h] [-c] [-n] [-t] [-l] [-d] [-p] [-s] [-b] [-k] [-v] [-r] [-i]

いくつかの一般的なパラメータの説明:

  1. -c: マルチコンテナポッド内のコンテナ名を指定します
  2. -t: Kubeconfigファイルでコンテキストを指定する
  3. -l: ラベル フィルター。 -l パラメータを使用した後、Pod 名は無視されます。
  4. -n: 名前空間を指定する
  5. -s: 5 秒、2 分、3 時間などの相対時間後にログを返すように指定します。デフォルトは 10 秒です。
  6. -b: ラインバッファを使用するかどうか。デフォルトはfalse  
  7. -k: 出力内容の特定の色付け部分を指定、pod: ポッド名のみを色付け、line: 行全体を色付け(デフォルト)、 false : 色付けなし

いくつかの使用例:

  1. $ kubetail my-pod-v1
  2. $ kubetail my-pod-v1 -c 私のコンテナ
  3. $ kubetail my-pod-v1 -t int1-context -c my-container
  4. $ kubetail '(サービス|コンシューマー|もの)' -e 正規表現
  5. $ kubetail -l サービス=私のサービス
  6. $ kubetail --selector service=my-service --since 10m  
  7. $ kubetail --tail 1  

ここまで、非常に実用的なマルチコンテナリアルタイムログ表示ツールを 2 つ紹介しました。他にもっと良い類似ツールをお勧めいただける場合は、ぜひメッセージを残して話し合いましょう。

参照ドキュメント

https://www.google.com

https://zhuanlan.zhihu.com/p/60987559

https://blog.fleeto.us/post/introducing-kubetail/

この記事はWeChatの公開アカウント「Wonderful Linux World」から転載したものです。下のQRコードからフォローできます。この記事を転載する場合は、Wonderful Linux World のパブリック アカウントにご連絡ください。

<<:  ポピュラーサイエンス |クラウドコンピューティング、ビッグデータ、人工知能のわかりやすい入門

>>:  テンセントテックパーク開発者会議が間もなく開催され、世界中から200人以上の専門家がクラウドコンピューティングについて議論します

推薦する

なぜ内部ページのランキングが圧倒的に成功しているのでしょうか?

一般的に、ホームページはウェブサイトの権威ページであり、ページランキングやトラフィック獲得の点ではウ...

百度のスパムコンテンツ取り締まりで影響を受けるのは誰のケーキか

インターネット上でも、オフラインの物理的な企業でも、企業が一定のレベルに達すると、利益を得るためにそ...

グーグルが来年音声検索技術の開発に注力する計画は、検索エンジンの将来の方向性を示している

Computerworldによると、Googleは来年音声検索技術の開発に注力する予定だ。百度が近年...

クラウド戦略においてミックスアンドマッチが重要な5つの理由

クラウド コンピューティングの台頭により、IT チームがさまざまなプロバイダーから専門のテクノロジー...

いくつかの側面から、Baidu Experienceは効果的な外部リンクであることがわかる。

Baidu Experienceにnofollow現象が現れて以来、多くのウェブマスターはショックを...

ウェブサイト上で優れたユーザーエクスペリエンスを提供する目的は、取引を円滑にすることですか? 間違った方向

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています昔の人は「...

分散ロックの複数の実装

現在、ほぼすべての大規模な Web サイトとアプリケーションは分散形式で展開されています。分散シナリ...

グループ購入ウェブサイトの統合が第一陣に広がる

注目を集める資金調達、狂気じみた拡大、そしてサイトの縮小を経て、共同購入業界の再編は今年4月から加速...

テンセント、2017年第3四半期の業績を発表

中国におけるインターネット付加価値サービスの大手プロバイダーであるTencent Holdings ...

Baidu にページを素早くインデックスさせる秘訣

多くの友人は、自分のページが追加されるまでに時間がかかったり、すぐに追加できないことに悩んでいます。...

racknerd: 大容量トラフィックの安価な VPS、最低 $22/年、KVM/2.5G メモリ/2 コア/28g ハードディスク/4T トラフィック、Alipay 対応

Racknerd は 2 月末に、トラフィックの多い 3 つの VPS のプロモーションを開始しまし...

Kubernetes Pod 削除操作のソースコード分析

たとえば、更新戦略が Recreate であるアプリケーションがあり、次のように削除コマンドを実行し...

無料 VPS、海外無料 VPS、海外永久無料 VPS

無料の VPS をお探しですか?永続的な VPS ですか?海外で永久に無料の VPS をお探しですか...

競合他社のウェブサイトのおかげで無敵になる

私は今年1月からウェブサイト開発に携わっています。主要キーワードのランキングは常に1位で、状況は比較...

世界と神々を震撼させたKubernetesの大きなバグ

Kubernetes は 3 月に本番環境と非本番環境で完全にリリースされたため、デプロイメントの問...