軽量ログシステム Loki を 10 分で K8s に導入

軽量ログシステム Loki を 10 分で K8s に導入

ロキとは何ですか?

Loki は、Grafana Labs によってオープンソース化された、水平スケーラブルで可用性の高いマルチテナント ログ集約システムです。もともとは、大規模な分散システムで大量のログを処理する問題を解決するために設計されました。 Loki は分散アーキテクチャを採用しており、大規模なログデータを迅速に処理できる Prometheus や Grafana と密接に統合されています。このプロジェクトはプロメテウスにインスピレーションを受けたものです

写真

  • Promtail は、ログを収集して Loki に送信するエージェントです。
  • Loki は、ログの保存とクエリの処理を担当するマスター サーバーです。
  • UI表示にはGrafanaを使用します。

ELK と比較した利点は何ですか?

ELK は大規模ログ記録ソリューションのリーダーです。 Loki に関して言えば、ELK と比較することは避けられません。

  1. シンプルなアーキテクチャ: Loki は分散アーキテクチャを採用しており、複数のノードまたは 1 つのノードにログを保存できます。 Promtail はログを収集し、Loki は保存とクエリを担当し、Grafana は表示に使用されます。
  2. より小さなストレージ: Lokiはコンパクトなインデックスと圧縮アルゴリズムを使用しており、ESと比較してストレージスペースを大幅に削減できます。
  3. ログ形式の要件なし: クエリ時のフォーマットの柔軟性とオプションが向上します。
  4. Prometheus、Grafana、K8sとのネイティブ統合: クエリメトリック、ログ、その他のデータを単一のユーザーインターフェースでシームレスに切り替える
  5. 軽量: Loki は、ログデータを保存してインデックス付けするための別の Elasticsearch クラスターを必要としないため、ELK よりも軽量です。

データを収集するには?

k8s クラスターはログ収集のソリューションを提供しません。一般的に、ログ収集には 3 つのソリューションがあります。

  1. ノード上でエージェントを実行してログを収集する(DaemonSet 収集方法)
  2. アプリケーションログを収集するためにポッドにサイドカーコンテナを含める(サイドカー収集方法)
  3. アプリケーションはログ情報を収集バックエンドにプッシュします(アクティブ収集方式)

ノード収集方法

写真

ログ システムは、DaemonSet モードで各ノードにエージェントを展開し、そのノード上のすべてのログを収集します。デフォルトでは、k8s の下の /var/log/pod と /var/lib/docker/containers にログが収集されます。アプリケーションの要件はコンソール印刷を有効にすることです。有効にしないとログは収集されません。単一の機能を持つクラスターや、ビジネスがあまり多くないクラスターに適しています。

サイドカー収集方法

写真

サイドカー方式では、各ポッドにサイドカー コンテナをデプロイして、現在のコンテナのログを収集します。サイドカー コンテナの数はポッドの数と同じです。したがって、Sidecar はより多くのリソースを消費しますが、優れた柔軟性とマルチテナント分離を備えています。より多くのリソースを消費する以外はコレクションのパフォーマンスに影響を与えないため、大規模な K8s クラスターに適しています。

Loki の Pormtail は上記の両方の方法をサポートしています。デフォルトはノードコレクションです。以下では、K8SでLokiログ分析システムを素早く導入する方法を説明します。

ロキの展開

倉庫を追加する

helm repo add grafana https://grafana.github.io/helm-charts

ダウンロードウェアハウス

helm pull grafana/loki-stack

パッケージを解凍する

解凍が完了すると、関連するパラメータの使用状況を確認できます。

 tar -xvf loki-stack-2.10.0.tgz

構成の概要

写真

このチャートには、Loki、promtail、grafana だけでなく、他のコンポーネントも含まれています。ただし、デフォルトでは有効になっていません。 Loki と promtail のみが有効になっています。デモンストレーションの目的で、ここでは grafana 構成も有効になっており、grafana.enabled=true で指定されています。同時に、関連するサブチャートのパラメータを指定する場合は、サブチャート名に従って指定します。パラメータ、例えば、grafanaの管理者パスワードを指定する場合は、grafana.adminPassword=adminで指定できます。

写真

起動する

注: 起動例ではログ データは保持されません。正式なデプロイメントには永続性構成が必要です。

loki-stackのGrafanaのパスワードは取得が複雑なので、パラメータで直接指定します。

 helm install loki ./loki-stack -n loki-stack \ --set grafana.enabled=true \ --set grafana.adminPassword=admin \ --create-namespace

写真

上記の起動が完了すると、/var/log/podと/var/lib/docker/containersのログ情報が収集されます。

起動ポッドを確認します。私の k8s クラスターには 6 つのノードがあるため、6 つの promtail がデプロイされます。

写真

Grafana アクセス

Grafana をノードポート アクセス モードに変更する

kubectl edit svc loki-grafana -n loki-stack

写真

ログインに成功したら、Explore 機能にアクセスし、ログ ブラウザ ボタンをクリックします。関連データが収集され、namepsace や pod などの複数のディメンションのラベルが自動的に作成されていることがわかります。

写真

たとえば、イングレスログを表示するには、名前空間 ingress-nginx を選択し、ログの表示をクリックします。

写真

写真

同時に、クエリ結果は改行、日付の並べ替えなどの機能をサポートできます。

写真

上記のデフォルトのクエリ インターフェイスはあまり使いやすくない可能性があるため、必要に応じてさまざまなクエリ インターフェイスをカスタマイズできます。興味のあるダッシュボードをダウンロードするには、https://grafana.com/grafana/dashboards に loki と入力してください。

写真

ロキのアンインストール

helm uninstall loki -n loki-stack

要約する

上記では、k8s に Loki をデプロイする方法を簡単に説明しました。非常にシンプルであることがわかります。 Loki は k8s と互換性があるため、追加の構成なしで、ポッドや名前空間などのラベル データをデフォルトで収集できます。ただし、実稼働レベルの可用性を実現するには、Loki のデータを永続的に構成し、収集されたログ データのサイズに応じて収集レートを調整し、ログの有効期限ポリシーを設定することも必要です。

<<:  2024年に注目すべきクラウドコンピューティングのトレンド

>>:  分散型から真のエッジへ: エッジ コンピューティングの 4 つの例

推薦する

JVM の新世代と旧世代のデフォルトの比率は本当に 1:2 ですか?

[[392981]]画像はPexelsより[51CTO.com オリジナル記事]業界の一般的な認識は...

少女がWikipediaを使って高品質の外部リンクを作成

1. 百科事典のリソースを収集して整理します。 1. 百科事典のリソースを収集する: 検索エンジンの...

「モバイル決済」、あなたのご都合に合わせてご利用ください!

みなさんこんにちは、私はXiaosiです。今、多くの人がインターネットファイナンスと金融インターネッ...

ウェブサイトのタイトルを変更した後、重みとランキングを復元する方法

多くのウェブマスターは、ウェブサイトの構築を始めるときに厳密に物事を考えず、タイトルをかなり大雑把に...

ウェブサイトのスペースの選び方

ウェブサイトのスペースの重要性は、人間とその家のそれと似ています。私たちの日常生活はこの家で行われる...

コンテンツ マーケティングにおける「コンテンツ」という言葉の意味は何でしょうか?

コンテンツ マーケティングは、よく知られている概念であると同時に、あまり知られていない概念でもありま...

Wupao.com が電子商取引について語る: 将来の電子商取引マーケティングへの道を開く 7 つの主要なトレンド

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

2018 年に推奨される安価なアメリカの VPS トップ 10

どの米国の VPS が優れていますか?米国で良い評価を得ている VPS プロバイダーはどれですか?初...

市場セグメンテーション: ウェブマスターの起業家精神の春

ネット上で友人たちが「プロジェクト」を見つけて「ウェブサイト」を作ることについて話しているのをよく見...

中小企業はインターネットマーケティングの人材を育成すべきでしょうか?

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

Dynatrace: AI を活用して自律型エンタープライズ クラウド自動運転を実現

[51CTO.comからのオリジナル記事] 中国の企業ユーザーのクラウドへの移行はますます加速してお...

FreeWheel: 技術の蓄積と人材の優位性が業界の優位性を生み出す

[51CTO.com オリジナル記事] オープンなワークスペース、緑の植物で覆われた壁、さまざまなス...

良いサーバーを選ぶための考え方

今日、仕事でウェブマスターツールを使用して包括的な情報を検索したときにショックを受けました。今日のコ...

SEOとは何か、SEOはどのように機能するのか

SEOとは何ですか?また、どのように機能しますか? SEO は検索エンジン最適化の略で、 Googl...

クラウドコンピューティングとエッジ:脳と中枢神経系

デジタル変革を成功させるには、クラウドとエッジ コンピューティングの連携が必要ですが、企業は安全なデ...