「サービス提供のスピードを上げるため、運用監視の仕組みは極力自動化を進めている」。サイバーエージェントでシステム基盤の構築、運用を担当する長谷川誠氏(アドテク本部 技術戦略室 Central Infrastructure Agency 基盤グループ リードインフラエンジニア、写真1)は、こう強調する。

写真1●サイバーエージェント アドテク本部 技術戦略室 Central Infrastructure Agency 基盤グループ リードインフラエンジニア 長谷川誠氏
写真1●サイバーエージェント アドテク本部 技術戦略室 Central Infrastructure Agency 基盤グループ リードインフラエンジニア 長谷川誠氏
[画像のクリックで拡大表示]

 広告配信サービスを提供する同社のアドテク部門では2014年6月、同サービスを支えるシステム基盤の運用管理の仕組みを強化した。これまで約700台のサーバー監視に利用してきたオープンソースの運用管理ツール「Zabbix」の活用を広げ、自動化を推し進める取り組みだ。ユーザー部門が自ら仮想マシンを起動や削除できるプライベートクラウドを、オープンソースのクラウド基盤ソフト「OpenStack」を採用して新たに構築。その上で動く仮想マシンに、Zabbixの監視機能を自動的に登録する仕組みを組み込んだ。

 OpenStackで仮想マシンを起動する際に、Zabbixの監視エージェントを自動的に導入するスクリプトを実行させる。とはいえ、起動するサーバーの種類によって、監視項目は変わる。Webサーバーやキャッシュサーバー、バッチ処理サーバーなど、サーバーの用途を選択できるメニューを起動時に表示し、ユーザーが選べるようにした。選択したサーバーに必要な監視項目を自動的にZabbixの設定情報(コンフィギュレーション)に登録する。当初、約50台のOpenStackの物理サーバー自体もZabbixで監視する。

ネットワーク機器別の監視項目をテンプレート化

 ネットワーク機器(スイッチなど)については、機器をネットワークにつなぐだけで、機種の違いに応じた監視項目を自動的にZabbixに登録し、設定情報を定期的にバックアップできるようにした。

写真2●サイバーエージェント アドテク本部 技術戦略室 Central Infrastructure Agency 基盤グループ ネットワークエンジニア 山本孔明氏
写真2●サイバーエージェント アドテク本部 技術戦略室 Central Infrastructure Agency 基盤グループ ネットワークエンジニア 山本孔明氏
[画像のクリックで拡大表示]

 Zabbixを使えば、新たに接続した機器を自動的に検出して監視登録することは容易にできる。ただし難しいのは、機器ごとに異なる監視項目の設定である。「機器メーカー特有の監視項目を登録するテンプレートがZabbixにはあまり用意されていない」(サイバーエージェント アドテク本部 技術戦略室 Central Infrastructure Agency 基盤グループ ネットワークエンジニア 山本孔明氏、写真2)という。これまでは、機器にリモートログインして監視項目を取り出すスクリプトなどを個別に作成する必要があった。

 そこで山本氏は、よく利用する米Cisco Systems、米Brocade Communications Systems、米Dellの機器について、Zabbix用のテンプレートを作成。接続した機器のメーカーを自動で調べて、監視項目を登録する仕組みを作り上げた。機器のCPU使用率や、VLAN(仮想LAN)の設定内容など細かな情報を吸い上げられるようにした。今回作成したテンプレートは、一般に公開する計画という。

 「ITインフラSummit 2014」では、こうしたサーバーエージェントの運用自動化の取り組みについて、両氏に詳しく紹介してもらう。運用コストの低減を進めたいインフラ担当者にとって、貴重なノウハウを得られる良い機会になるはずだ。