enterpriseはインストール型でしたが、stormはサービス型です。
stormでは無料枠ではデータストレージが1GBまでとなっています。
また今回はsplunkのfluentプラグインがあるので、ログをfluentでstormに投げてみたいと思います。
splunk stormに登録して、プロジェクトを作ります。
ストレージ容量を決めます。1GBまでは無料です。
データの入力を設定します。
ここではAPIを利用するように設定します。
APIのリンクをクリックすると、APIの認証とエンドポイントの情報が表示されます。
- AccessToken
- API Hostname
- ProjectID
次に、fluentdの設定です。
splunkのAPIに対してログを送信するBufferedOutputプラグインを作成している方がいたので、それを使ってみます。
fluent-plugin-splunkapi
https://github.com/k24d/fluent-plugin-splunkapi
# /usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-splunkapi
ソースやドキュメントを見ながらstorm用の設定を行います。
今回もapacheのログを送信します。
# vi /etc/td-agent/td-agent.conf
<source> type tail format apache path /var/log/httpd/access_log tag server1.apache.access </source> <match *.apache.*> type splunkapi access_token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx project_id yyyyyyyyyyyyyyyyyyyyyyy protocol storm sourcetype fluent format text flush_interval 10s buffer_type memory buffer_queue_limit 16 </match>
access_tokenとproject_idには、上述のAPIの情報画面の情報を設定します。
fluentdを起動します。
# /etc/init.d/td-agent start
上の画像の「Explore data」をクリックすると、ログデータのサマリーが表示されます。
ソース欄に、fluentで設定したタグ名が表示されています。
このリンクをクリックすると、収集されたログデータの一覧が表示されます。
enterprise版と同様に、レポートを作成することもできますし、ダッシュボードに各種グラフを表示することもできます。
splunk stormでは、無料枠では1GB制限の他、1プロジェクトまでしか登録できないようです。
サービス型なので、サーバーメンテが必要ないのは良い点ですが、基本的にもっさりしています。
Plan選択画面で、2GB以上の有料枠に「Guaranteed response time for reported issues」とあるので
有料だとパフォーマンスが改善するのかもしれません。
自社でインフラを持ちたくなく、カスタマイズもそこまで必要ないという場合は、このようなサービス型のプロダクトは有効だと思います。
以上です。