Splunk Remote Upgrader for Linux Universal Forwarders
Platform Piotr Lenarczyk- はじめに
- Remote Upgrader for Linuxの概要
- Remote Upgrader for Linuxのメリット
- Remote Upgraderの仕組み
- インストールパッケージの構造
- 簡易版インストールマニュアル
- 今後の計画:Remote Upgrader for Windows
はじめに
Splunk Remote Upgrader (RU) for Linux Universal Forwardersは、Linux用のユニバーサルフォワーダー(UF)をリモートで一括アップグレードするためのSplunkbase Appです。事前定義済みのフォルダーに新しいユニバーサルフォワーダーパッケージが追加されたかどうかを監視し、追加されると、新しいパッケージを使ってアップグレードを実行します。
Upgraderとユニバーサルフォワーダーの配布では、デプロイサーバーを使用することも、手動の手順または既存の自動化方法を使ってパッケージを配布することもできます。また、アップグレードの対象として、UFのみ、RUのみ、UFとRUの両方のいずれかを選択できます。
RUのパフォーマンステストのベンチマークは次のとおりです:CPU使用率:1%未満、メモリー使用量:3~4MB
Remote Upgrader for Linuxの概要
Remote Upgrader (RU) for Linuxは、LinuxマシンにインストールされたユニバーサルフォワーダーのソフトウェアバージョンをアップデートするためのAppです。その主な目的は、Splunk管理者がアップグレードに費やす時間を減らし(保守の改善)、アップデートの頻度を増やし(セキュリティの強化と脆弱性の低減)、新しいバージョンのユニバーサルフォワーダーで提供される新機能をすばやく利用できるようにすることです。RUは特に、中央エージェント管理サーバー(デプロイサーバー)を使ってデータ収集エージェントをアップグレードしているSplunk管理者に大きな価値をもたらします。
Remote Upgrader for Linuxのメリット
Remote Upgraderを使用することにはすでに多くのメリットがあり、今後さらに機能が強化される予定です。
- デプロイサーバーからLinuxフォワーダーを安全にアップグレードできます。
- この透明性の高いソリューションをLinuxマシン上でテストして、今後リリース予定のWindows版への移行に備えることができます。
- 現在システム上にあるすべての設定ファイルを変更せずに維持できます。
- RUを単体でアップグレードに使用することも、他の自動化ツールと統合することもできます。
- 実績ある安定した既存の中央サーバー(デプロイサーバー)を使ってユニバーサルフォワーダーのソフトウェアアップグレードを管理できます。
- すべてのアップグレードイベントがログに記録され、インデクサーに転送されます。
- アップグレード失敗時の自動ロールバック機構を備えているため、安全にアップグレードできます。
- 以前のバージョンのユニバーサルフォワーダーがバックアップされ、必要に応じてリカバリできます。
- 今後、Windows版と追加機能のリリースが予定されています。
さらに注目していただきたいのが、今後も、お客様からの改善に関する新たなアイデアに基づいて機能がさらに強化される点です。Splunkでは、こうした共同開発の取り組みを熱心に推進しています。お客様とSplunkチームがともに、最良のRemote Upgraderを作り上げるだけでなく、このツールと他の自動化ツール(Infrastructure as Code (IaC)アプリケーションなど)を統合して活用するためのベストプラクティスを確立すれば、最終的に、包括的で強力なソリューションを生み出すことができるでしょう。
Remote Upgraderの仕組み
Remote Upgrader (RU)は、ユニバーサルフォワーダー(UF)と同じLinuxインスタンス(マシン)にインストールします。RUは、事前定義済みフォルダーの/tmp/SPLUNK_UPDATER_MONITORED_DIRに新しいUFパッケージが追加されたかどうかを監視します。新しいUFパッケージが検出されると、自動的に、そのパッケージ使ってUFをアップグレードします。
UFのインストールパッケージは、配信用App (通常はスクリプトベースのSplunk App)内に組み込み、デプロイサーバーを通じてUFの$SPLUNK_HOME/etc/appsディレクトリに配信します。配信用Appは、UFで自動的に起動した後、UFインストールパッケージ(.tgzファイルとその署名の.sigファイルで構成)をRUの事前定義済みフォルダーの/tmp/SPLUNK_UPDATER_MONITORED_DIRにコピーします。
RUは、UFのAppフォルダーではなく、事前定義済みフォルダーを監視してインストールを開始するため、スクリプトベースのシンプルな配信用Appが必要になります。
オペレーティングシステムの制約により、RUは手動でインストールし、初回は管理権限(sudoまたはroot)で実行する必要があります。この変更により、UFを非rootアプリケーションとして実行し、セキュリティを強化しています。
インストールパッケージの構造
このソリューションには以下のパッケージが必要です。
- Remote Upgrader for Linux
- 配信用App
- UFインストールパッケージ
インストールプロセスで必要になるのは、Remote Upgrader for Linuxと配信用Appのみで、UFインストールパッケージは配信用App内に組み込みます。Remote Upgrader for Linuxは、SplunkbaseからダウンロードしたAppに含まれます。配信用Appは、SplunkbaseからダウンロードしたAppと、splunk.comから取得したUFインストールパッケージを使って構成します。
Remote Upgrader for Linux:SplunkbaseからダウンロードしたRU Appは、通常のSplunk Appの完全なディレクトリ構造を持ち、RUパッケージが単一の.tgzファイル(初期バージョンのRUは「splunk-upgrader-100.tgz」)として組み込まれています。インストールする必要があるのはRUの.tgz形式のインストールファイルのみで、Appの完全なディレクトリ構造は後でUFをアップグレードするために使われることに注意してください。
配信用App:このAppは、通常のSplunk App構造を持ち、そこに配信用スクリプト(.shファイル)、UFインストールファイル(.tgzファイル)、UF署名ファイル(.sigファイル)などのコンポーネントが含まれています。UFのインストールファイルと署名ファイルはsplunk.comからダウンロードし、SplunkbaseからダウンロードしたRU Appに追加する必要があります。
UFインストールパッケージ:このパッケージは、UFインストールファイル(.tgzファイル)とUF署名ファイル(.sigファイル)で構成されます。これらはsplunk.comからダウンロードし、SplunkbaseからダウンロードしたRU Appに追加する必要があります。
次の図に、SplunkbaseからダウンロードしたRU for Linux App(バージョン1.0.0)の構造を示します。このAppには、UFインストールパッケージ9.4.0が同梱されています。
図:SplunkbaseからダウンロードしたRU for Linux App (バージョン1.0.0)の構造(UF 9.4.0が同梱)
簡易版インストールマニュアル
デプロイサーバーを使ってRemote Upgraderパッケージを配布する方法と、同じ方法でユニバーサルフォワーダーをアップグレードする方法を説明したインストールマニュアルから、各プロセスの手順を抜粋して以下に示します。このセクションを読めば、配布とインストールプロセスの概要を掴むことができます。
デプロイサーバーを使ってRemote Upgraderパッケージを配布する手順
- SplunkbaseからSplunk Remote Upgrader for Linux Universal Forwardersをダウンロードします。
- ファイルを解凍し、ディレクトリ内にRUパッケージファイル、
splunk-upgrader-{version}.tgzがあることを確認します。 - デプロイサーバーを使って、Remote Upgraderをインストールするユニバーサルフォワーダーにこのファイルを配布します。
デプロイサーバーで、Appを$SPLUNK_HOME/etc/deployment-appsディレクトリに置きます。これにより、対象となるユニバーサルフォワーダーの$SPLUNK_HOME/etc/appsディレクトリにAppが配布されます。 - ユニバーサルフォワーダーに配布されたRemote Upgraderパッケージをそのフォワーダーのインストールディレクトリにコピーします。
Remote Upgraderはユニバーサルフォワーダーのホームディレクトリと同じ階層で実行する必要があります。そのため、たとえば、SPLUNK_HOME = "/opt/splunkforwarderと設定されている場合は、Upgraderパッケージを/optにコピーします。 - パッケージを解凍します。
- インストールプロセスを開始します。
sudo ./bin/install.sh --accept-license --create-user
デプロイサーバーとRemote Upgraderを使ってユニバーサルフォワーダーをアップグレードする手順
- splunk.comから9.0.0以降のユニバーサルフォワーダーインストールパッケージと、対応する.sigファイルをダウンロードします。
- ユニバーサルフォワーダーファイルと.sigファイルを、Splunkbaseからダウンロードして解凍したRemote Upgraderパッケージ内のsplunk_app_uf_remote_upgrade_linux/local/packagesディレクトリに置きます。
- これで、splunk_app_uf_remote_upgrade_linuxディレクトリをAppとして、対象のユニバーサルフォワーダーに配布できるようになります。このAppを、デプロイサーバーを使ってユニバーサルフォワーダーに配布してください。配布後、ユニバーサルフォワーダーのアップグレードが自動的に実行されます。
詳細なインストールガイドについては、次のSplunkドキュメントを参照してください。https://docs.splunk.com/Documentation/Forwarder/1.0.1/ForwarderRemoteUpgradeLinux/About
今後の計画:Remote Upgrader for Windows
Splunkは現在、Remote Upgrader for Linuxの効率性をモデルにしたRemote Upgrader for Windowsを開発中です。リリース予定はテストの完了後に正式に決まります。リリース後も、ソリューションの改善を続け、さらに強化していきます。ぜひ今後の最新ニュースをチェックしてください。
お客様からの提案やアイデアをお待ちしております。遠慮なくご意見をお寄せください。お客様とともに、この画期的なツールをさらに磨き上げ、アップグレードを効率的に管理するための統合的かつシームレスで汎用性と信頼性に優れたソリューションを実現できることを楽しみにしています。
関連記事

SplunkをAzureに活用: Event Hubs

データ辞書:完全ガイド
