
ども!なのまるです!
「Splunk 6.1.4」出ましたね!
さすがに世にいるエンジニアの方は、効率化して複数サーバー展開されていることと思います!
僕も僕なりの解決方法を作ったので、これもひとつの例だと思ってやり方を公開して残しておきます!
もくじ
そもそもなんで、これやるの??
Splunkは基本的にメーカーのダウンロードページからバイナリをダウンロードしてきて、サーバーに展開するしかありません!でも、1度ダウンロードすれば展開しても問題ないと「チラッと」聞いたので、展開するために自作のパッケージリポジトリを作成しました!
全体像
以前作ったスライドに、全体像があるので掲示しておきます!
前提条件
yumの場合
- RHEL系のLinux OS
- createrepo パッケージ
- python-hashlib パッケージ(RHEL5系の場合)
aptの場合
- Debian系のOS
- apt-utils パッケージ
作業の流れ
- Splunkからバイナリをダウンロード(本体とUniversal Forwarder)・確認
- ファイルの配置
- httpdの設定
- yumリポジトリの作成
- repoファイル作成
- aptリポジトリの作成
- apt sourcelistファイルの作成
- 更新
Splunkからバイナリをダウンロード(本体とUniversal Forwarder)・確認
Download Splunk Enterprise for free より、- Splunk Enterprise
- Splunk Universal Forwarder
MD5のチェックサムを忘れずに!
ファイルの配置
ディレクトリ構成例1 2 3 4 5 6 | /opt/splunk-repo/ ├── bin (shellを格納する) ├── deb (debパッケージ置場) ├── i386 (32bit版の置き場) ├── repofile (apt,yum repoファイル置場) └── x86_64 (64bit版の置き場) |
フォルダ作成
1 | mkdir -p /opt/splunk-repo/ {bin,deb,i386,repofile,x86_64} |
httpdの設定
リポジトリ公開に、httpdを使うので何でもいいのでhttpdを設定します!(Apache,nginx)とりあえず使い慣れたApacheで(2.4の場合)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # # for Splunk Forwarder # なのまる Original repository # Alias /splunk-repo /opt/splunk-repo <Directory "/opt/splunk-repo" > Options Indexes AllowOverride None # for Under 2.2 # Order allow,deny # Allow from all # for Over 2.4 Require all granted < /Directory > |
yumリポジトリの作成(RedHat系のサーバーで)
コマンド忘れそうなので、単純にシェルスクリプトに入れました。1 2 3 4 | #!/bin/bash sudo createrepo --database /opt/splunk-repo/x86_64 sudo createrepo --database /opt/splunk-repo/i386 |
repoファイル作成
「splunk.repo」などとして「/etc/yum.repos.d」に配置します!1 2 3 4 5 | [splunk-uf] name=Splunk Universal Forwarder baseurl=http: // [サーバーのIP] /splunk-repo/ $basearch/ gpgcheck=0 enabled=0 |
ここは、環境に応じて変更してください!
baseurl=http://[サーバーのIP]/splunk-repo/$basearch/
aptリポジトリの作成(Debian系のサーバーで)
こちらも、単純にシェルスクリプトに入れました。1 2 3 4 | #!/bin/bash cd /opt/splunk-repo/deb sudo apt-ftparchive packages . | gzip > Packages.gz |
今回署名は入れてないです。。。
apt sourcelistファイルの作成
「splunk.list」などとして「/etc/apt/sources.list.d」に配置します!1 | deb http: // [サーバーのIP]] /splunk-repo/deb ./ |
更新
早速更新です!yumだけ、オプションつけないとUpdate出来ない仕組みになっています!
「splunk.repo」の以下を「1」にすれば自動でアップデート適用出来ます。
enabled=0
yumの時
Splunk 本体1 | sudo yum update --enablerepo=splunk-uf splunk |
Splunk Universal Forwarder
1 | sudo yum update --enablerepo=splunk-uf splunkforwarder |
aptの時
Splunk 本体1 | sudo apt-get update && sudo apt-get upgrade splunk |
Splunk Universal Forwarder
1 | sudo apt-get update && sudo apt-get upgrade splunkforwarder |
起動確認
Splunk 本体1 | sudo /opt/splunk/bin/splunk start --answer- yes --no-prompt --accept-license |
Splunk Universal Forwarder
1 | sudo /opt/splunkforwarder/bin/splunk start --answer- yes --no-prompt --accept-license |
展開
各サーバーへの展開ですが、
capistrano
や、Jenkinsでシェルスクリプト作って実行させたりしまーす!トラブルシューティング
トラブルが起きたら、大抵の場合この手順だと
repo作るコマンドのパッケージが足りない
か
httpdの設定がおかしい
だと思うので、そのあたりを確認してみてください~まとめ
- この手順で、結構頻繁に更新されるSplunkアップデートに追随できるようになりました!
- 複数ディストリビューション・複数arch(i386,x86_64)に対応できるようになりました!
- 以前からブログに書く!って言っててやっと書けました!
結局独りよがりだったのかも~?
Splunk のyum repository を社内に作ったけど、「えっ!?」って反応されたw
だって、forwarderのアップデート展開すんの面倒だったんだもん。
CPU のarchも違うしさ~(。>д<)
— なのまる(ここでいうことでもないですが) (@snicker_jp) 2014, 7月 2