この章では、実際のサーバーからWindowsとLinuxのログを取り込み、 Splunk Cloud上でのサーチの実行、ダッシュボードの作成、レポート/アラートの定義までを一通り実行してみます。 この演習を実際に試せば、胸を張ってSplunkについて一通り体験をしたということができるでしょう。
本章では、これから構築する演習環境の概要と対象データを説明します。
本章では、実際にサーバーにForwarderを導入し、インターネット経由でログをSplunk Cloudに転送し、そのログを使った分析を行います。 Windows/Linuxサーバーの操作や、ITインフラの基本的な知識が必要となりますので注意してください。
前の章でも紹介しましたが、Splunkには、ブラウザからサンプルデータをアップロードし、そのデータを使ってSPLを実行したりダッシュボードを作成したりするチュートリアルが用意されています。 サーバーを用意するのが大変だったり、Forwarderを導入してログの転送設定を行う必要がなかったり、取り込んだログを使ったSPLやダッシュボード作成に興味があったりする人はそちらを試したほうが良いかもしれません。
サーチチュートリアル
1. 演習環境の概要図
本章で構築する演習環境は以下の通りです。 ログ取得対象サーバーはWindows ServerとUbuntu(Linux)の二台です。 これらサーバーのログを、Intermediate Forwarderをプロキシサーバーとして中継し転送する一般的な構成を試すことにします。
| コンポーネント | 説明 | 備考 |
|---|---|---|
| Splunk Cloud(トライアル) | トライアル環境のSplunk Cloud。無償で14日間利用可能 | 公式サイトから申し込み。期限が切れた場合は再利用申請が可能(上限あり) |
| Ubuntu/Intermediate Forwarder | Intermediate Forwarderとして利用するUbuntu | Universal Forwarderをインストール |
| Windows Server | ログ取得対象サーバーとして利用するWindows | Universal Forwarder/Splunk Add-on for Windowsをインストール |
| Ubuntu | ログ取得対象サーバーとして利用するUbuntu | Universal Forwarder/Splunk Add-on for Unix and Linuxをインストール |
flowchart RL
win["Windows Server<br/>(Universal Forwarder)"] -->|"9997/TCP"| intf
lin["Ubuntu<br/>(Universal Forwarder)"] -->|"9997/TCP"| intf
intf["Ubuntu/Intermediate Forwarder<br/>(Universal Forwarder)"] -->|"9997/TCP(TLS暗号化)"| cloud["Splunk Cloud<br/>(トライアル)"]
user(["ユーザー"]) -->|"HTTPS"| cloud
cloud ~~~ user
subgraph onprem["オンプレ環境"]
win
lin
intf
end
2. 必要リソースと通信許可ポート
上記を構成するサーバーのリソースは、演習環境であることから最低限で十分です。
| サーバー | CPU | メモリ | ディスク |
|---|---|---|---|
| Ubuntu/Intermediate Forwarder | 2vCPU | 4GB | 30GB |
| Windows Server | 2vCPU | 4GB | 30GB |
| Ubuntu | 2vCPU | 4GB | 30GB |
通信許可ポートについては以下の通りです。 Splunkがログの転送に使用するポートは基本的には9997/TCPだけです。 管理用通信として8089/TCPを使用するケースもありますが、今回は考慮不要です。
| 通信元 | 通信先 | ポート/プロトコル | 通信の説明 |
|---|---|---|---|
| ユーザーの端末 | Splunk Cloud | HTTPS | ブラウザアクセス |
| Ubuntu/Intermediate Forwarder | Splunk Cloud | 9997/TCP | Splunkログ転送プロトコル |
| Windows Server | Ubuntu/Intermediate Forwarder | 9997/TCP | Splunkログ転送プロトコル |
| Ubuntu | Ubuntu/Intermediate Forwarder | 9997/TCP | Splunkログ転送プロトコル |
3. 取得するデータ
取得対象データは以下の通りです。ログを取り込む際、ログに応じたAdd-onを導入します。 このやり方も体験します。
| サーバー | 取得対象ログ | ログ取得方法 |
|---|---|---|
| Windows Server | Windowsイベントログ | Splunk Add-on for Windows(Splunk_TA_windows)によって取り込み |
| Ubuntu | /var/log配下のシステムログやセキュリティログ | Splunk Add-on for Unix and Linux(Splunk_TA_nix)によって取り込み |