LOKIとPLGスタックによるKubernetesのログ記録
7529 ワード
ロキは何ですか。
Loki は、オープンソースのマルチテナントログ集約システムです.これはGrafanaとPromtrailと収集し、ログにアクセスするために使用することができますsimilar to the ELK/EFK stack . 一方、高度なデータ解析と可視化を行うためにKibanaとFlasticSearchを使用することができますが、LOKIベースのログスタックは、軽量で操作するのが簡単に焦点を当てています.
LOKIクエリ言語を提供しますLogQL , これによりユーザはログを問い合わせることができます.これはPrometheus ';promqlに触発され、分散された“grep”は、集計ログのソースと見なされることができます.
従来のログ記録システムの主な違いの一つは、ログの内容全体ではなく、LOKIインデックスがメタデータであることである.したがって、インデックスが小さくなり、メモリ消費が減少し、最終的にコストが低下する.この設計の1つの欠点は、クエリがメモリにロードされてロードされたすべてのものを持つよりもパフォーマンスが低いかもしれないということです.
ログは、ディスク上のファイルを格納する必要がなく、アマゾンのS 3やGCSのようなクラウドストレージに直接格納されます.これは操作を簡素化し、ディスク領域の不足などの問題を回避する.
この記事はもともと1967年に出版されましたCoder Society .
LOKIを使用する8つの利点
ここでは、スタックにLOKIを使用することの主な利点をいくつか示します.
Lokiのユースケース
私たちがロキの利点について話した今、いくつかのpopular use cases :
デバッグとトラブルシューティング:カウロキは、チームが問題の下部に手に問題に関連する有用な情報を提供することによって取得するのに役立ちます.たとえば、問題が発生したときに、それが簡単に、何が正確に起こったのか、どのように問題が起こったかを見るのは簡単です.
モニタリング:シュープロメテウスは、監視のために業界で広く使用されています.しかし、LOKIでログを監視することによって多くの問題を識別できます.たとえば、あなたのウェブサイトのエラーレートに目を維持し、特定のしきい値を超えているたびに警告を受け取るためにそれを使用することができます.
サイバーセキュリティ:あなたの会社のシステムでの脅威、問題、悪意のある活動を識別することができます.さらに、システムが既に妥協したあと、攻撃の詳細を理解するのを助けます.
コンプライアンス:監査会社の監査ログを維持する必要があります.
ビジネスインテリジェンス:Rockロキは、非技術的なチームがログデータを理解し、ビジネスの成長のための新しい戦略とアイデアを開発するのに役立ちます.例えば、マーケティング担当者は変換率最適化のためにデータを使用することができます:彼らは顧客がどこから来ているかについて見ることができます.
PLGスタック( Promtail , Loki and Grafana )
KubernetesのPLGスタックから始める
いくつかの手のアクションでロキを始めましょう.この例では、GlofanaのKubernetes APIサーバのログを視覚化するために、LOKIスタックを使用します.
開始する前に、Kubernetesクラスタをアップロードして実行してください.Helm インストール.すべてを設定すると、LOKIをインストールできます.
ヘルムでPLGスタックをインストールします
次のようにPLGスタックを展開するKubernetes名前空間を作成します.
$ kubectl create namespace loki
ロキのヘルムチャートrepository :$ helm repo add loki https://grafana.github.io/loki/charts
次のコマンドを実行してリポジトリを更新します.$ helm repo update
LOKIスタックを展開します$ helm upgrade --install loki loki/loki-stack --namespace=loki --set grafana.enabled=true
これはあなたのKubernetesクラスタにloki、grafanaとpromtailをインストールします.Grafanaにログインするパスワードを取得します
$ kubectl get secret loki-grafana --namespace=loki -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
生成された管理パスワードは次のようになりますjvjqUy2nhsHplVwrX8V05UgSDYEDz6pSiBZOCPHf
最後に、Grafana UIにアクセスするコマンドを実行します.$ kubectl port-forward --namespace loki service/loki-grafana 3000:80
さあ、ブラウザを開けてhttp://localhost:3000 .ユーザ名「admin」と以前に検索したパスワードでログインしてください.
グラファナのロキ
インストールされているGrafanaは、ROKIデータソースがあらかじめ設定されています.それで、我々はすぐに我々のKubernetesログを調査し始めることができます:
次に、左側の探検タブをクリックします.データソースドロップダウンから「LOKI」を選択します.
ログラベルのドロップダウン
これで、ログウィンドウでデータを取得する必要があります!
スクロールダウンして、Kube ApiServerのログの詳細を見つけるでしょう.
Logql
Logqlは、演算子を通してログをフィルタリングする機能を提供します.以下にサポートされている演算子の一覧を示します.
=:
ちょっと正確に.!=:
えぇ.=~:
.!~:
そして、正規表現はマッチしません.kube-apiserver
包コンテナ.それに加えて、フィルタ演算子を追加し、結果を単語error
, しかし、timeout
:{コンテナ="kube apiserver "}タイムアウト
これはロキとグラファナとの設定と作業の簡単な例でした.あなたがもっと学びたいならば、頭にLoki documentation .
ラッピング
企業は、分散システムのアプリケーションとサービスからログファイルを収集、格納、および分析するためのシンプルで費用対効果の高いソリューションが必要です.ロキはあなたを助けることができるdramatically reduce logging and monitoring costs あなたの生産環境で.ProMailとGrafanaと組み合わせて、それはあなたが見つけて、問題を解決して、将来に起こるのを防ぐのを助けることができる完全な伐採スタックに必要なすべての特徴を提供します.
あなたはどのようにロキがあなたのソフトウェアシステム、カットコストとstrengthen DevOps in your company ? 使用してくださいcontact form , そして、我々はすぐにあなたに戻るでしょう.
我々の最新の洞察と最新版のために
Reference
この問題について(LOKIとPLGスタックによるKubernetesのログ記録), 我々は、より多くの情報をここで見つけました https://dev.to/coder_society/logging-in-kubernetes-with-loki-and-the-plg-stack-pe5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol