質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

4615閲覧

Splunk起動後にSplunkWebにアクセスできない

yuuki0218

総合スコア22

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2019/08/23 01:56

編集2019/08/26 07:19

背景

普段はアプリ開発を担当しているのですが、運用フェーズに入りログプロファイル用にSplunkを利用することになりました。
まずは、勉強用にAWSでインスタンスを構築してSplunkを使ってみようと思ったのですが、どうしてもSplunkWebを確認することができず詰まってしまったのでご質問させていただきます。
※インフラ周りやネットワーク知識には相当乏しいです。

環境

OS: Amazon Linux 2
Splunk: 7.3.0

試した手順

1.Splunkインストール

$ cd /usr/local/src $ wget -O splunk-7.3.1-bd63e13aa157-Linux-x86_64.tgz 'https://www.splunk.com/bin/splunk/DownloadActivityServlet?architecture=x86_64&platform=linux&version=7.3.1&product=splunk&filename=splunk-7.3.1-bd63e13aa157-Linux-x86_64.tgz&wget=true' $ tar zxfv splunk-7.3.1-bd63e13aa157-Linux-x86_64.tgz $ mv splunk ../

2.設定

$ export SPLUNK_HOME=/usr/local/splunk $ cd $SPLUNK_HOME/etc $ cp splunk-launch.conf.default splunk-launch.conf $ vi splunk-launch.conf SPLUNK_HOMEを定義 ※SPLUNK_HOME=/usr/local/splunk

3.起動

$ cd $SPLUNK_HOME/bin $ ./splunk start --accept-license userとpassの登録

4.確認
Webブラウザ(chrome)で下記にアクセス
http://インスタンスIPアドレス:8000/
※ここで失敗
「このサイトにアクセスできません。{サーバIP}からの応答時間が長すぎます。」と出力されアクセスできない。

解決したいこと

・上記の項4で失敗しているSplunkWebへアクセスをしたい。

確認したこと

・疎通確認

$ telnet サーバIP 8000 接続中: サーバIP...ホストへ接続できませんでした。 ポート番号 8000: 接続に失敗しました

・サーバファイアウォールの確認
⇒iptablesとSELinuxが無効になっていることを確認

・ポート確認

$ lsof -i -P | grep "splunkd" splunkd 3554 root 5u IPv4 22392 0t0 TCP *:8089 (LISTEN) splunkd 3554 root 105u IPv4 22688 0t0 TCP localhost:43192->localhost:8191 (ESTABLISHED) splunkd 3554 root 106u IPv4 22691 0t0 TCP localhost:43194->localhost:8191 (ESTABLISHED) splunkd 3554 root 107u IPv4 22695 0t0 TCP localhost:43198->localhost:8191 (ESTABLISHED) splunkd 3554 root 111u IPv4 22726 0t0 TCP *:8000 (LISTEN) splunkd 3554 root 121u IPv4 22995 0t0 TCP localhost:43236->localhost:8191 (ESTABLISHED) splunkd 3748 root 7u IPv4 22972 0t0 TCP localhost:43220->localhost:8191 (ESTABLISHED) splunkd 3748 root 8u IPv4 22975 0t0 TCP localhost:43222->localhost:8191 (ESTABLISHED) splunkd 3748 root 9u IPv4 22978 0t0 TCP localhost:43224->localhost:8191 (ESTABLISHED) splunkd 3748 root 10u IPv4 22979 0t0 TCP localhost:43226->localhost:8191 (ESTABLISHED) splunkd 3748 root 11u IPv4 22980 0t0 TCP localhost:43228->localhost:8191 (ESTABLISHED) splunkd 3748 root 12u IPv4 22981 0t0 TCP localhost:43230->localhost:8191 (ESTABLISHED)

・プロセス確認

$ ss -anp | grep 8000 tcp LISTEN 0 128 0.0.0.0:8000 0.0.0.0:* users:(("splunkd",pid=3554,fd=111))

・AWSセキュリティグループの確認
※作業環境の要件上インバウンド設定は自身のパブリックIPアドレスのみ許可にとどめる
※IPアドレスは右記にて確認 https://www.cman.jp/network/support/go_access.cgi)

インバウンド: 8000port/tcp 自分のグローバルIP 22port/ssh  自分のグローバルIP アウトバウンド 全てのport/全てのトラフィック 0.0.0.0/0

以上で確認を行いましたが、現状何が問題となっているか分からない状況になります。
セキュリティグループが一番怪しいと思ったのですが、8000/TCPは開けているので問題ないように見える。。。

何か分かる方いらっしゃいましたら、教えていただけますと大変助かります。

【補足】

・サーバファイアウォール(iptables)

$ sudo iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

確認することは

セキュリティーグループ
サーバのファイアウォール
Splunkが127.0.0.1で起動しているならリバースプロキシーを設定

くらいじゃないですかね。

Splunkの試用版でインストールで困った記憶ないので難しい問題ではないと思いますよ

投稿2019/08/23 03:44

scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuuki0218

2019/08/23 08:19

回答いただきありがとうございます。 ご指摘いただいた点につて確認を行いました所 ・セキュリティグループ ⇒アウトバウンドはすべて許可。インバウンドはクライアントのIPアドレスは許可できています。 Type= Custom,Protocol=TCP,Port=8000 , Source=クライアントパブリックIP/32 ・サーバのファイアウォール ⇒iptablesなどを確認しましたが、すべてACCEPTとなっており、サーバ側での制御は入れておりません。 ・リバースプロキシの設定 Splunkが127.0.0.1で起動している場合の設定についてですが、サーバの構築などはド素人でしてプロキシを立てたりしたことはないので、ここらへんを調べてアプローチしてみようかと思います。 ELBの作成などをしていないので、この辺を入れてなんとかならないのかと考えたりしていますが、見当違いかもしれません。。 ちなみに、Splunkが127.0.0.1で起動しているか以下の用に調べてみたのですが、ワイルドカードで指定されているようでよくわからずです...。 $ sudo lsof -i -P | grep "splunkd" ~~~~~~~~~~ splunkd 3400 root 109u IPv4 21838 0t0 TCP *:8000 (LISTEN) ~~~~~~~~~~
yukky1201

2019/08/23 08:48

>・サーバのファイアウォール >⇒iptablesなどを確認しましたが、すべてACCEPTとなっており、サーバ側での制御は入れておりません。 こういった確認されたことは、コマンド結果(実行したコマンドも)を質問に追記されたほうがよいです。 すべてACCEPTとのことですが、設定されているものはACCEPTであるということしかわかりません。tcp/8000が許可されているかが判別つきません。
yuuki0218

2019/08/23 08:54

情報に不足あり申し訳ございません。 iptablesなどと記載していましたが、実際に確認したのはiptablesの設定のみとなります。 INPUT と OUTPUT がpolicy ACCEPTとなっているので、サーバ内部での制御は行っていないと考えております。 ----------------------------- $ sudo iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination -----------------------------
scsi

2019/08/23 09:21

コメントに書こうとして回答してしまいました。 0 外部から telnet などで 該当の port に接続できるかは確認できますか? $ telnet サーバのIP 8000 Trying xxx.xxx.xxx.xxx... Connected to ma3ki.net. Escape character is '^]'. <= こうなれば接続はできているので ネットワークの問題でない可能性が高いです。CPUやメモリが足りなくて遅い、正常に動作していないと
yuuki0218

2019/08/23 09:51

コメントありがとうございます。 telnetコマンドにて接続の確認を行ったところ接続に失敗していました。 ----------------------------- $ telnet サーバIP 8000 接続中: サーバIP...ホストへ接続できませんでした。 ポート番号 8000: 接続に失敗しました ----------------------------- やはりネットワークの設定が問題となっているようです。 恐らくどこかしらの設定でミスっているのかもしれませんが、見当つかない状態ですね。。 ちなみに、ブラウザから「http://サーバIP:8000」のような接続でSplunkWebの確認をすると思うのですが、Webサーバ(Apacheなど)を立ち上げていない状態でもWebに表示できるのでしょうか? (稚拙な質問ですみません)
scsi

2019/08/23 09:56 編集

splunk自体が webの役割を兼ね備えているので大丈夫です。 原因が分からないのであれば、iptables を停止してみる。 セキュリティーグループで 8000port/tcpへの接続はすべて許可など試してみてはどうでしょうか。
yuuki0218

2019/08/26 06:24 編集

返信遅れまして申し訳ございません。 とりあえずiptablesは無効化させてみました。 $ chkconfig iptables off セキュリティグループについてですが、作業環境側の要件上すべて許可を行えず。。 アウトバウンドに関してはすべてのトラフィックとポートで0.0.0.0/0を許可している状態ですが、 インバウンドはとりあえず、自環境のグローバルIPのみ許可している状態になっています。 8000port/tcp 自分のグローバルIP 22port/ssh  自分のグローバルIP (グローバルIPに関しては右記のサイトにて検出したものを設定しています。https://www.cman.jp/network/support/go_access.cgi) サーバのファイヤーウォールでもなくセキュリティグループも問題ないように感じますが、いまだにSplunkWebにアクセスできない状態が続いていますね。。
scsi

2019/08/26 06:42

Splunk 起動してますかね? ss -anp | grep 8000 でプロセスとか出てきますか?
yuuki0218

2019/08/26 07:10

確認しました! ちゃんと起動しているようですね。 # ss -anp | grep 8000 tcp LISTEN 0 128 0.0.0.0:8000 0.0.0.0:* users:(("splunkd",pid=3554,fd=111))
scsi

2019/08/26 07:25

外部からtelnetで8000ポートに接続した時に サーバでtcpdumpしてパケットが届いているか確認してみてはどうでしょう?
yuuki0218

2019/08/26 09:33 編集

ありがとうございます。 telnetコマンドで接続してみるとやはり接続に失敗して、tcpdumpで見てもパケットが届いていないようです。 ``` クライアント $ telnet サーバIP 8000 接続中: サーバIP...ホストへ接続できませんでした。 ポート番号 8000: 接続に失敗しました サーバ $ tcpdump -nn port 8000 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes {空行} ``` これはサーバから見てインバウンド通信がこけているという認識ですが、プロキシかどこかでポート8000の通信が許容されていないみたいな状況があり得るならそれかもしれません。。 というのも、作業環境が社内環境なのですが、プロキシのポリシー設定を把握しておらず、もしかしたらと思っています。
scsi

2019/08/26 10:08

社内から社外への通信ルールがあるならまずはそれを確認するか、社外からアクセスしてみてください。
scsi

2019/08/26 10:13

Splunkを80 portで起動するようにしてみてはどうですか。またはリバースプロキシを前段に設置してみるか
yuuki0218

2019/08/27 02:32

ありがとうございます。 無事Splunk-webへの接続が行えました。 接続手順ですが、サーバ側でSplunkをport80で起動するように設定を行うことで行えました。 ``` $ .splunk set web-port 80 ``` 結局社内の通信ルールで制御されているため、8000番ポートでの接続が落とされているようでした。。。 私の事前確認の不備で、お手数おかけしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問