0
会員になると、いいね!でマイページに保存できます。
共有する
システムの「自動化」が注目を集めているが、その場合「
Ansible 」のような構成管理ツールや「
Infrastructure as Code(IaC) 」といった部分が注目されがちである。だが、システムを開発する期間より、システムを運用する期間のほうがはるかに長いことを考えると、運用管理やサーバの監視といった分野も非常に重要であると言えるだろう。今回はその中でもシステムの縁の下の力持ちであるサーバ監視にスポットを当て、特に利用されることの多いオープンソースソフトウェア(OSS)の「Zabbix」について詳しく解説していこう。
Zabbixとは何か?
Zabbixとはアレクセイ・ウラジシェフ氏によって作られた、オープンソースソフトウェア(OSS)の統合システム監視ソフトウェアである。ネットワーク監視、サーバ監視、その他のネットワークハードウェアのステータスを監視・追跡できる。現在はウラジシェフが設立したZabbix社によって開発が継続されている。
こういった統合システム監視の分野では統合システム運用管理製品の「JP1」などが非常に有名だが、今回紹介するZabbixも同じく統合運用管理の行える製品とご理解いただきたい。
なぜシステム監視をする必要があるのか?
ではそもそもなぜサーバをはじめとしたシステムを監視する必要があるのだろうか。たとえば、サーバ監視とは、サーバが正常に動作しているかどうかを確認することだ。確認した結果、障害が発生していた場合、システム管理者にすみやかにエスカレーションを行う。サーバ監視には大きく以下の2つがある。
異常監視
システムが正常に稼動していない場合に、通知するのが異常監視。通知はメールや音声、ランプ点灯、監視画面への表示などの方法で行われる。
正常監視
システムが正常に稼動していることを、管理者が見てわかるようにすること。監視画面には、正常であることを表すステータスが表示される。
つまり、システムが正常に動いており、サービスを提供できているかを評価するのがシステム監視である。
システム監視製品の重要性
システムを導入する際に、当たり前のように導入されている監視の仕組みだが、今一度なぜ導入するのかを考えてみよう。
監視の自動化
システム監視の仕組みを導入するということは、監視を自動化するということだ。どんなに対策をしても人は絶対に失敗をする。それを防ぐには手作業を減らし、自動化することが必要となる。製品を導入せずに、手作業のみで監視を行うことはほぼ不可能である。
データの蓄積・評価・検証
運用を評価するのがシステム監視であると説明したが、それはあくまで「過去と今」についてである。未来も同様に正常であると評価するためには、「検証」が必要になってくる。そこで重要になるのが、過去の蓄積されたデータを使用して、検証を行うことだ。いわゆる障害の予防にあたる、キャパシティプランニングなどがそれにあたる。
Zabbixが利用される3つのメリット
では、なぜ有名な製品もある中、サーバ監視でZabbixが利用されるのか。複数理由はあるが、その中でも特に優れている3つのメリットについて紹介しよう。
1. OSSのため、費用が抑えられる
Zabbixが好まれる理由はなんと言ってもOSSであることに尽きる。
一般的な統合システム運用管理製品では、製品費用と保守費用を支払う必要があるが、ZabbixはOSSのため、製品費用は不要である。保守費用のみ場合によっては必要となるが、それでも一般的な統合システム運用管理製品の費用と比較して1/10程度で済むことがほとんどだ。
また、製品費用が不要ということはエージェントの費用も不要である。一般的な統合システム運用管理製品では、エージェント単位で費用が必要となるため、当然監視対象が多ければ、さらに費用の差は大きくなる。
また、1製品のみで構成されるというポイントも大きなメリットである。
JP1を例に取ると、ネットワーク監視はNetwork Node Manager i(NNMi)、リソース監視などはSNMP System Observer(SSO)、ログ監視はBase、統合管理コンソールはIntegrated Management 2(IM)と最低限のサーバ監視を行うためだけでもこれだけの製品が必要だ。その分システムも複雑化し、製品費用のみならず、導入の費用も膨らむこととなる。
2. きめ細かい監視設定が可能
Zabbixにおいて特徴的なのは、その設定の構成である。他のサーバ監視製品に慣れているとしても、最初はZabbixの設定について難解に感じることが多い。
しかし、慣れると小回りが利く設定ができるため、他の監視製品に比べて、きめの細かい監視設定を行うことが可能である。なお、Zabbixは監視対象にエージェントを導入しなくても監視可能だが、エージェントを導入したほうが監視できる項目は増える。
導入時の主要な監視項目は以下の通りである。これ以外にも自身でユーザー監視項目と呼ばれるオリジナルの監視項目を作成し、設定することが可能だ。
監視項目
詳細
CPU
ロードアベレージ
CPU使用率(system使用率、user使用率、idle使用率など)
メモリ
メモリ使用率/メモリ使用量/容量
スワップ使用率
ネットワーク
NW送受信バイト数
ディスク
ファイルシステム使用率/使用量/容量
ディスクI/O
サービス
プロセス監視(プロセスの動作個数の監視)
Windowsサービス監視(サービスステータスの監視)
TCPポート接続状況・応答時間
ログ
テキストログ監視(文字列チェック)
Windowsイベントログ監視(文字列、重大度などのチェック)
ファイル
ファイルの存在有無監視/ファイルサイズの監視
その他
Windowsパフォーマンスカウンター
コマンド実行結果(標準出力)の監視
Web監視(任意のURLのステータスコード、応答時間のチェック)
VMware監視(ハイパーバイザー、仮想マシンのリソース監視)
特にテンプレートと呼ばれる機能が秀逸で、監視項目の設定、しきい値を超えた際のアクションなどの設定内容をグループ化して保存できる。
このテンプレートは1ホストだけでなく、複数ホストに横展開することが可能だ。また、ホストグループを役割単位で作成し、Webサーバ向けの監視設定をテンプレート化して、割り当てることにより、設定工数の大幅な削減も可能である。
【次ページ】Zabbixを利用する際の注意点
関連タグ