分散ログアグリゲーター(Splunkなど)を構築するのに最適なコンポーネントスタックは何ですか?

StackOverflow https://stackoverflow.com/questions/3096131

質問

コンピューティンググリッドの多数のサーバーからログを集約するために、Splunkに似たものを構築するために使用できる最高のコンポーネントを見つけようとしています。また、毎日ログのギグがあり、単一のマシンがログを保存できないため、配布する必要があります。

Rubyで動作し、Windowsと最新のSolarisで動作するものに特に興味があります(ええ、動物園を手に入れました)。

アーキテクチャは次のとおりです。

  • Log Crawler(Ruby Script)。
  • 分散ログストレージ。
  • 分散検索エンジン。
  • 軽量のフロントエンド。

ログクローラーと分散検索エンジンは質問から外れています - ログはRubyスクリプトによって解析され、Elasticsearchはログメッセージのインデックスを作成するために使用されます。フロントエンドも非常に簡単に選択できます - シナトラ。

私の主な問題は、分散ログストレージです。 Mongodb、CouchDB、HDFS、Cassandra、Hbaseを見ました。

  • MongodbはSolarisで機能しないため拒否されました。
  • CouchDBはシャーディングをサポートしていません(SmartProxyは機能させるには必要ですが、これは試してみたくないものです)。
  • Cassandraはうまく機能しますが、それは単なるディスクスペースの豚であり、Cassandraノード間に負荷を広めるために毎日オートバランスを実行する必要があります。
  • HDFSは有望に見えましたが、ファイルシステムAPIはJavaのみであり、Jrubyは痛みでした。
  • hbaseは周りに最適なソリューションのように見えましたが、それを展開して監視を展開するのは単なる災害です。hbaseを開始するには、最初にHDFSを起動し、問題なく開始し、HBaseを起動して確認してから、休憩サービスを開始して開始する必要があります。またチェックしてください。

だから私は立ち往生しています。 HDFSまたはHBaseはログストレージとして使用するのに最適なものであることがわかりますが、HDFSはJavaとHBaseでのみスムーズに動作し、Nightmareの展開/監視です。

上記のコンポーネントを使用して、またはまったく違うものを使用して、その考えや同様のシステムの構築を経験する人はいますか?

役に立ちましたか?

解決

使用することをお勧めします 水路 データをに集約します hbase. 。使用することもできます 弾性検索シンク Flumeが検索インデックスをリアルタイムで最新の状態に保つために。

詳細については、参照してください Quoraに関する同様の質問に対する私の答え.

他のヒント

JavaとHDFSに関しては、Beanshellなどのツールを使用して、JavaScriptを介してHDFSストアと対話できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top