2014年10月30日木曜日

Splunkを6.2にしたら、管理画面にログインできなくなった!(解決)


ども!なのまるです!

10月29日(日本時間)にSplunkが「6.2.0」をリリースしました!おめでとうございます~
と、いうことでアップデートしてみたんですが一部の環境で、エラーを起こしたのでメモです~


もくじ



「Splunk 6.2.0」で、変わったこと

「6.2.0」で、変わったことはたくさんあるのですべて追えていないですが・・・

すぐわかることとして「kvstore(8191)」と「appserver(8065)」が新たに追加されたこと!

これって、起動時のメッセージを見ていればわかるんですよね!
Splunk> Needle. Haystack. Found.

Checking prerequisites...
        Checking http port [8080]: open
        Checking mgmt port [8089]: open
        Checking appserver port [127.0.0.1:8065]: open
        Checking kvstore port [8191]: open

あとは、Splunkのドキュメントからもわかりました!
via About Upgrading to 6.2 - READ THIS FIRST


普通に使っていれば問題ない!

この変更って、普通に使っている分には特におかしなことにはならないです!

通常の使用
中小規模程度であれば、通常1台で組むような構成はこんな感じだと思います。

今回の構成
「認証機関」を別に持たせた上に、その認証をSplunk以外のApacheなどで行った場合「ユーザーとの間」に別のものが入る構成です!


前提条件

なので、条件をまとめると。この条件で、おかしくなりました!
  • Splunkのwebに直接アクセスできない
  • Apacheで、認証をしている(Proxyモジュール)

アップデートして、すぐこんな画面に悩まされましたw
403 Forbidden

Return to Splunk home page
Forbidden: Strict SSO Mode
View more information about your request (request ID = 5451f7533d7f6e15b2f3d0) in Search
Apacheのログにもエラーが発生します・・・。
[Thu Oct 30 17:31:15 2014] [error] [client 192.168.xxx.xxx] Request exceeded the limit of 10 subrequest nesting levels due to probable confguration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.


原因

はっきりした原因はおえていないのですが、わかっていることは「splunkweb」のポートに来たアクセスを内部リダイレクトして「appserver(8065)」に渡しているようで、この処理にApacheのProxyでは対応できていませんでした。

対策

対策ですが、Splunkのドキュメントに「非推奨」と書かれながらも、「web.conf」に以下のパラメータを入れることで、対策できます。
[settings]
appServerPorts = 0

via web.conf

解決

管理画面が表示されました!

まとめ


  • マイナーバージョンアップだと思っていたら、結構な変更でした!「kvstore(8191)」と「appserver(8065)」が追加されたり。
  • ログイン後のダッシュボードが変わりましたね~!
  • 英語のドキュメントから、解読するの大変でした~
  • これに関しては、今後サポートされない可能性もあるので別の対策を考えなければいけないですね・・・。

Zenback