こんにちは!GMOインターネットでシステムの運用保守を担当している桑原です。今回はSplunkでファームウェアのバージョンを管理する方法(今回は概略)とそのメリットについて紹介させていただきます。
課題
唐突ですがみなさん、システムのファームウェアバージョンをどのように管理しているでしょうか?メーカーのコマンドで取得して管理、メーカーの統合監視ツールで管理、ソースコードはGitで管理しているけど、ファームウェアは・・・様々な回答があると思います。私が担当しているシステムの範囲においては、これまでコマンドで管理していましたが、以下のような課題がありました。
メーカーによって出力フォーマットが異なり視覚的に見づらい欲しいデータだけをフィルタリング、レポーティングしたい(もちろん作りこめば可能ですが)
今回は上記の課題をSplunkで解決してみようと思います。
そもそもSplunkとは?
あらゆるデータをもとに適切なインサイトとアクションを導き出すソフトウェアです。Splunk社より提供されています。
https://www.splunk.com/ja_jp
Splunkでファームウェアのバージョンを管理できるのか?
データとしてバージョンを取得できるのであれば、それをSplunkに取り込みます。あとは管理しやすいようにダッシュボードを作成するだけです。完成イメージをご紹介します。
赤四角で囲った部分がフィルタになります。複数のサービスやリージョンをここで絞ることで、出力結果を限定することができます。
特定のファームウェアバージョンのリストだけを抽出したい場合は、ファームウェアバージョンのフィルタを作ると良いでしょう。青で囲った部分が出力結果になります。※都合上モザイクをかけております。
図のように何もフィルタリングしていない場合は、Splunkに取り込んでいる全ての機器のファームウェアバージョンが出力されます。
Splunkで管理するメリット
1. フィルタリングで知りたい情報だけを瞬時に
kernelやアプリケーションに脆弱性があるように機器のファームウェアにも脆弱性があります。
システム運用管理者にとって脆弱性対処すべきかの判断は悩ましいポイントですよね。ただ、その前に脆弱性のバージョンが管理する機器に存在するかを調べる必要があります。
数千台もある機器を一個ずつログインしてバージョン調べていたら、その間に脆弱性を突かれる、なんて悲しいことになるかもしれません。そんなケースで効果を発揮するのがSplunkのフィルタリング機能です。
例えば下図のようにフィルタに特定のバージョンを指定するだけで、瞬時に該当機器を抽出することができます。人間が頭を使うべき判断や、対処のスケジューリングに時間を使うことができることが、1つのメリットに上げられます。
2. レポートが容易に
システム運用管理者であれば、上司やお客様にレポートを提出する機会があると思います。都度、集計してグラフを作るのは台数に比例して時間がかかります。
例えばバージョンの割合や台数をレポートするために円グラフを使いたいケースがあるとします。Splunkを利用すれば、先ほどのリスト抽出と同時にグラフ作成することも可能です(下図)。
もちろん円グラフだけでなく、用途に応じて他のグラフも利用できます。
このように、日々のレポート作成が容易になるのが2つ目のメリットになります。
まとめ
Splunkでもファームウェアのバージョンを管理できます。Splunkで管理すれば、フィルタリングにより特定バージョンの抽出や日々のレポーティングが容易になります。
もちろんファームウェアだけに限りません。Kernelや各種ソフトウェアのバージョンもSplunkに取り込めば管理可能です。
バージョン管理で頭を悩ませているシステム運用管理者の方々、今回の紹介が少しでも参考になれば幸いです。