さて、監視や運用管理を行うためのツールは商用製品からOSSまで非常に数多く展開されています。それぞれに特徴があり、メリット、デメリットがあります。
OSSの統合監視ツールであるZabbixは、その中でも豊富な機能を備え、よりドラスティックに変化する環境への適応性が高いツールといえます。クラウドサービスを利用したDevOpsを実践していく場面においても、Zabbixを活用することでさまざまな可能性が広がると期待できます。
以下に、その特徴を挙げていきましょう。
注:Zabbixの基本的な情報については、過去に掲載された以下の記事をご覧ください。
連載「ZABBIXで脱・人手頼りの統合監視」
http://www.atmarkit.co.jp/flinux/index/indexfiles/zabbixindex.html
Zabbixがサポートしている監視方法は非常に豊富です。
そのため、あらゆる情報の監視を実現することができ、「何が原因で、何が起こっているのか」を詳細に判断可能です。
例えば、Webアプリケーションを監視する場合ならば、次の各レイヤでどのような状況になっているかを監視できます。
このように各層の状況を詳細に確認できることで、異常時の対応を迅速化できます。
Zabbixは使い勝手に優れた可視化機能も備えています。まず、監視によりデータを収集するだけで、グラフ化までが自動的に実施されます。加えて、必要な情報をまとめて1つのグラフに表示することもできます。必要な情報を必要な形で見せたい、というときに有用です。
ただ、さまざまなページに遷移して状況を確認しなければならないとなると、運用者にとっては作業の手間が増えてしまいます。そういった場合への対応として、Zabbixでは表示画面のカスタマイズも可能です(スクリーン機能)。これにより、好きな位置に好きな情報を表示することができ、見たい情報、必要な情報へのアクセスがしやすくなります。
また、運用者向けの画面だけでなく、開発者や場合によっては経営者、事業(サービス)責任者など、さまざまな役割の人にそれぞれ有用な情報を見せる画面を作り分けることもできます。こういった機能により、運用者だけでなく各担当者も、より素早く状況を知ることができます。
Zabbixの最も有用なポイントは、自動化によって運用作業を大幅に減らせる機能が備わっている点です。Zabbixには、クラウド環境のような大規模な環境の設定を自動化したり、条件に応じて運用作業を自動実行するなど、運用コストを減らすための仕組みがいくつも存在します(表1)。
■表1 Zabbixが備える運用作業自動化のための機能一覧
機能名 | 自動化できる作業 | 概要 |
---|---|---|
テンプレート機能 | 監視設定作業(監視アイテム/グラフ/トリガー/スクリーン/ディスカバリルール/Web監視) | 各種監視設定をテンプレートとしてまとめて管理可能。 監視対象ホストに対してテンプレートを割り当てるだけで自動的に監視を実施可能。 |
Zabbix Agent自動登録機能 | 監視対象ホスト(Zabbix Agent稼働機器)登録作業 | Zabbix Agent起動時にZabbix Serverに対して自身の情報(Hostname/ListenPort/ListenIP)を送信。 Zabbix Serverでは受信した情報に基づいて監視対象としてホスト自動登録を実施。 |
ネットワークディスカバリ機能 | 監視対象ホスト登録作業 | 指定したネットワークIPアドレスレンジ宛に定期的にディスカバリ処理を実行。 さまざまな検知条件を基に監視対象機器を発見し、監視対象としてホスト自動登録を実施。 検知条件例:- ICMP pingの到達状況を取得 - SNMPの特定のMIB情報取得 - Zabbix Agentの特定のアイテムキー情報取得 - SSH/Telnet/HTTPなど特定のポートのリッスン状況を取得 |
ローレベルディスカバリ機能 | 監視対象ホストの特性に応じた監視アイテム/グラフ/トリガー設定作業 | ホストの内部情報を探索し、その内容に応じた適切な監視アイテムやグラフ、トリガーの設定を自動登録。 標準サポートされているディスカバリ項目: - ネットワークインタフェース - ファイルシステム - SNMP OID - VMware(vCenter経由またはESXi経由での仮想マシン情報の自動取得、Zabbix2.2から利用可能) |
Zabbix API機能 | Zabbixに対するあらゆる設定作業 | Zabbixに対する各種操作、および監視結果データの取得を実施するためのAPI。外部ツールとの連携を実現したり、より柔軟な自動化を実現したい場合に有効。 Zabbix API操作用ライブラリも各種言語向けに提供あり。 |
アクション機能 | システムの状況に応じたリモートコマンド実行による運用作業 | あらかじめ設定されたトリガー条件を基にZabbix ServerやZabbix Agentから対象ホストに対してコマンド処理を自動実行。サポートされている実行手段: - Zabbix Server/Agentによるコマンド実行 - SSH/Telnet接続によるコマンド実行 - IPMI接続によるコマンド実行 |
このように、監視設定から各環境に対する処理実行まで、運用作業自動化のための機能が充実しているため、長期的な運用では非常に効果が高いと考えられます。
第1回目は、クラウド&DevOps時代に求められる運用について解説しました。ITシステムには、「より迅速かつ柔軟にサービスを提供し続けるための運用」が求められ、そのような運用を実現するには、運用に掛かる負担をより抑え、開発者とより密に連携を取れる体制を整えることが重要となります。こういった運用を実現するために有用な機能を持つツールとしてZabbixに着目しました。
第2回目は、今回紹介したZabbixの機能を活用して効果的な運用を実現する方法を、具体的に紹介します。
池田大輔
Twitter : @ike_dai
TIS株式会社戦略技術センター所属。社内向けシステムの保守運用業務を経験後、クラウド時代の効率的な統合運用管理をテーマに活動中。その中でZabbixを利用した統合運用管理システム(HyClops for Zabbix)の開発に取り組む。ZABBIX-JP運営スタッフ所属。Zabbix認定スペシャリスト。『Zabbix統合監視[実践]活用 - 物理・仮想・クラウド混在環境の省力運用(仮)』という書籍を執筆中で、11月中旬頃発売予定。戦略技術センターでは、技術情報をブログ『Tech-Sketch』にて発信中。
Copyright © ITmedia, Inc. All Rights Reserved.