OpenObserve は、Rust で開発されたオープンソースの高性能クラウドネイティブ観測プラットフォーム (ログ、メトリック、トレース) です。 Elasticsearch と比較して、ストレージコストを約 140 倍節約できます。 OpenObserve は PB レベルのデータを処理できます。ログ、メトリック、トレースの観測ツールを探しているなら、OpenObserve を試してみる価値があります。 OpenObserve は現在アルファ段階ですが、実際には広範囲にテストされています。 OpenObserveとElasticsearchの比較Elasticsearch は、アプリケーション検索やログ検索に使用できる汎用検索エンジンです。 OpenObserve はログ検索専用に構築されています。 Elasticsearch の軽量な代替品を探している場合は、ZincSearch を検討してください。ログ検索エンジンだけが必要な場合は、OpenObserve が非常に良い選択です。 OpenObserve はデータのインデックス作成に依存せず、インデックス作成されていないデータを圧縮形式でローカル ディスクに保存するか、オブジェクト ストレージに parquet 列形式で保存します。その結果、データ取り込み時の計算要件が大幅に低減し、圧縮率が非常に高くなり、ストレージ コストが約 140 分の 1 に削減されます。データがインデックス化されていないと、フルスキャン検索は Elasticsearch よりも遅くなる可能性がありますが、パーティション分割やキャッシュなどのさまざまな他の技術により、それでも高速になるはずです。 Uber は、本番環境のクエリの 80% が集計クエリであること、また OpenObserve の列指向データ ストレージにより、集計クエリが Elasticsearch よりもはるかに高速になることがわかったのです。 以下は、Fluentbit を使用して Kubernetes クラスターから Elasticsearch および OpenObserve に実際のログ データを送信した結果です。これはストレージにのみ関連しています。 EBS ボリュームの料金は 8 セント/GB/月 (GP3)、S3 の料金は 2.3 セント/GB/月です。 Elasticsearch の HA モードでは、通常、マスター ノードが 1 つとレプリカが 2 つあります。 AWS は Amazon S3 リージョン内の少なくとも 3 つのアベイラビリティーゾーン (AZ) にある複数のデバイスにオブジェクトを冗長的に保存するため、データの耐久性/可用性のために S3 を複製する必要はありません。 OpenObserve と Elasticsearch 上記のシナリオでは、OpenObserve は Elasticsearch よりも 140 倍低いストレージ コストという大きな利点があります。これは、ディスク領域が不足しないようにプロビジョニングする必要がある追加の未使用の EBS ボリューム容量や、ディスクがいっぱいにならないようにディスクの使用状況を継続的に監視するために必要な作業を考慮してもいません。 ステートレス ノード アーキテクチャにより、OpenObserve はデータの重複や破損を心配することなく水平方向に拡張できます。通常、OpenObserve クラスターの管理にかかる運用上の労力とコストは、Elasticsearch を使用する場合よりもはるかに低くなります。 OpenObserve に組み込まれたグラフィカル ユーザー インターフェイスにより、Kibana などの他のコンポーネントが不要になり、Rust の利点により、JVM によってもたらされる問題に直面することなく優れたパフォーマンスが得られます。 Elasticsearch と比較すると、Elasticsearch は観察ツールとしても機能する一般的な検索エンジンです。 OpenObserve は、優れた観測性を提供することに重点を置いてゼロから構築された観測ツールです。 建築OpenObserve は、単一ノードまたは HA モードのクラスターで実行できます。 シングルノードモードシングルノード モードも、主にデータ保存方法の違いによって、いくつかのアーキテクチャに分かれており、主に次のようになります。 スレッドとローカルディスクモード単純な使用とテストのみが必要な場合、または高可用性を必要としない場合は、このモードを使用できます。もちろん、1 台のマシンで 1 日あたり 2 TB を超えるデータを処理することもできます。私たちのテストでは、デフォルト構成を使用して、Mac M2 は約 31 MB/秒、つまり 1 分あたり 1.8 GB、1 日あたり 2.6 TB を処理しました。このモードは、OpenObserve を実行するためのデフォルト モードでもあります。 スレッドローカルモード スレッドとオブジェクト ストレージ パターンこのモードは基本的に OpenObserve のデフォルト モードと同じですが、データがオブジェクト ストレージに保存される点が異なり、データが失われないため、高可用性をより適切にサポートできます。 スレッドオブジェクトストレージモード Etcd とオブジェクト ストレージ パターンこのモードでは、メタデータを保存するために Etcd が使用され、データは引き続きオブジェクト ストレージに保存されます。 Etcd オブジェクト ストレージ モード HAモードHA モードではローカル ディスク ストレージはサポートされません。クラスター モードでは、OpenObserve は複数のノードを実行し、各ノードはステートレスになります。データはオブジェクト ストレージに保存され、メタデータは Etcd に保存されます。これにより、データが失われることがないため、高可用性をより適切にサポートできます。 Etcd オブジェクトストレージ このモードでは、OpenObserve には主に Router、Querier、Ingester、Compactor の 4 つのコンポーネントが含まれており、これらはすべて水平に拡張できます。 Etcd は、ユーザー、関数、アラーム ルール、クラスター ノード情報などのメタデータを保存するために使用されます。オブジェクト ストレージ (s3、minio、gcs など) には、parquet ファイルとファイル リスト インデックスのすべてのデータが保存されます。
インストールOpenObserve のインストールは非常に簡単です。バイナリ ファイルをダウンロードするだけで済みます。 Linux、Windows、MacOSをサポートし、Dockerイメージもサポートします。もちろん、ここではKubernetes クラスターにインストールします。簡単にするために、デフォルトの Sled とローカル ディスク モードを直接使用します。 まず名前空間を作成します。 次に、次のようなリソース マニフェスト ファイルを作成します。 上記のリソース リストでは、StatefulSet を使用して OpenObserver を作成します。管理者の電子メール アドレスとパスワードを指定するには、2 つの環境変数 ZO_ROOT_USER_EMAIL と ZO_ROOT_USER_PASSWORD を設定する必要があることに注意してください。次に、データの永続的な保存のために、PVC テンプレートで使用可能な StorageClass を指定します。 次に、上記のリソース マニフェスト ファイルを適用します。 クイック使用作成後、OpenObserve ログをチェックして、正常に起動されたかどうかを確認できます。 起動後、kubectl port-forward コマンドを使用して OpenObserve のポート 5080 をローカル マシンにマッピングし、ブラウザーで http://localhost:5080 にアクセスして OpenObserve UI インターフェースを表示できます。 OpenObserve ログイン 上記で指定した管理者のメール アドレスとパスワードを使用してログインすると、OpenObserve のメイン インターフェイスが表示されます。 オープンオブザーブウェブ まだデータがないため、ページにコンテンツはありません。取り込みページでは、ログ、メトリック、トレースのデータのさまざまな取り込み方法が提供されます。 摂取 ここでは、まず JSON API を使用してサンプル ログ データを読み込み、OpenObserve の使用方法を理解します。まず、次のコマンドを使用してサンプル ログ データをダウンロードします。 次に、次のコマンドを使用してサンプル ログ データを OpenObserve にインポートします。 領収書が正常にインポートされたら、ページを更新してデータを確認します。 オープンオブザーブウェブ ストリーム ページでは、インポートしたデータのメタデータを確認できます。 ストリーム 次に、ログ ページに切り替えてログ データを確認します。 OpenObserve ログ これで、直接的なニーズに応じてログをクエリできるようになりました。よく使用されるクエリ構文をいくつか以下に示します。
もちろん、ログに加えて、OpenObserve はインジケーターと追跡データもサポートしていますが、ここでは説明しません。ご興味がございましたら、ぜひご自身でお試しください。 ここでは、OpenObserve のログの使用方法を簡単に説明しました。その後、Fluentbit や Vector などのツールを使用して、Kubernetes クラスター内のログ データを OpenObserve に送信できます。乞うご期待!
|
<<: ハイブリッド クラウド環境で K8S の可観測性を実装するための 6 つの戦略
Host1plus のブラックフライデー プロモーションが開始されました。11 月 14 日から 1...
AI マーケティング モデルを使用してマーケティング効果を 10 倍に高めるにはどうすればよいでしょ...
【ポイント】 自宅で親戚や友人と自分のキャリアについて話すとき、特にインターネットサークルの友人の場...
昨夜9時頃、グループ内の友人からQQメッセージを受け取り、Googleの最適化について何か調査したこ...
ドバイのホスティングプロバイダーであるhostsailorは、中国の旧正月を記念して新年の挨拶を送り...
趙南張小龍を有名にしたのはWeChatが初めてではなかった。国内のソフトウェア業界はすでに彼の足跡を...
外部リンクの構築について話すことはすでに一般的な話題ですが、一部のウェブマスターは依然として石を触っ...
テンセントテクノロジーニュース(劉学同)北京時間9月6日のニュース、海外メディアの報道によると、テク...
「ウェブサイトアーキテクチャの観点から見たTaoxie.comのSEOレイアウト(1)」という記事を...
数日前、Lu Songsong のブログで非常に良い記事をいくつか見ました。その 1 つは、Ganj...
Kubernetes の世界では、Pod はデプロイ可能な最小単位であり、複数のコンテナが緊密に連携...
Sogouが「介入」して以来、360とBaiduの戦争は新たなレベルにエスカレートし、戦場はさらに拡...
ウェブサイトのデータ分析をどのように行うのでしょうか? これは、以前トラフィックを共有したときに視聴...
[国内の共同購入業界の現状から見ると、24quanがIPO段階を維持することは難しく、普通株は裁定機...
柔軟性と機能性は、CIO がマルチクラウド戦略を採用する理由の 1 つです。専門家がマルチクラウド戦...