Software Design plusシリーズ改訂版 Zabbix統合監視実践入門
──障害通知,傾向分析,可視化による省力運用

書籍の概要

この本の概要

システム統合監視ツール「Zabbix」は,基本操作をWebブラウザから行えるなど優れた設計で初学者にも学びやすく,かつオープンソースということもあり,広く利用されるようになっている。本書は,2010年に刊行された『Zabbix統合監視[実践]入門』の改訂版で,2013年11月にリリースされたZabbix 2.2に対応。前作同様,Zabbixの導入から環境構築,基本機能を丁寧に解説するほか,新たに仮想環境やクラウドの統合監視,機器監視の自動化をサポートするローレベルディスカバリの使い方を追加。後半では実運用を想定した具体的なノウハウも紹介している。

こんな方におすすめ

  • Zabbixについて網羅的に学びたい方
  • これからシステムの統合監視について学ぶ方

目次

第1章 統合監視ソフトウェアZabbixとは

1.1 現代の企業活動とITシステム

  • 1.1.1 ITシステムの運用管理の重要性
  • 1.1.2 複雑化するITシステム

1.2 システム監視とは

  • 1.2.1 稼働監視
  • 1.2.2 リソース監視
  • 1.2.3 アプリケーション監視

1.3 統合監視ソフトウェアとは

  • 1.3.1 統合監視ソフトウェアの機能
  • 1.3.2 統合監視ソフトウェアを利用するメリット

1.4 統合監視ソフトウェアZabbixとは

  • 1.4.1 海外/日本での実績と開発形態
  • 1.4.2 Zabbixの主な特徴と機能

第2章 Zabbixのインストール

2.1 インストールの準備

  • 2.1.1 Zabbixの動作環境
    • Zabbixサーバ
    • Zabbixエージェント
    • SNMP対応機器
    • Zabbixエージェント未導入サーバ
    • データベース
    • Webインターフェース
  • 2.1.2 システム要件
    • 対応OS
    • Zabbixサーバのシステム要件
    • Zabbixエージェントのシステム要件
    • データベースのシステム要件
    • Webインターフェースのシステム要件
    • Webブラウザのシステム要件
  • 2.1.3 解説に利用するインストール環境
    • OS
    • データベース
    • Webサーバ
    • Zabbixサーバ/エージェント

2.2 Zabbixのインストール

  • 2.2.1 Zabbix SIAのyumリポジトリの登録方法
    • RPMパッケージをダウンロードしてインストールする場合
  • 2.2.2 Zabbixサーバのインストール
    • データベースのインストール
    • 時刻同期サーバのインストールと設定
    • ZabbixサーバのRPMをインストール
    • データベースへの初期データのインポート
    • Zabbixサーバの設定と起動
  • 2.2.3 Webインターフェースのインストール
    • WebインターフェースのRPMをインストール
    • Webインターフェースのインストーラを実行
  • 2.2.4 Zabbixエージェントのインストール
    • Linuxへのインストール
    • Windowsへのインストール
  • 2.2.5 インストールされるバイナリと設定ファイル
    • Zabbixサーバ
    • Webインターフェース
    • Zabbixエージェント(Linux)
    • Zabbixエージェント(Windows)

2.3 Zabbixのアップグレード

  • 2.3.1 バージョン間の互換性
  • 2.3.2 Zabbixサーバのアップグレード手順
    • Zabbixサーバを停止
    • データベースのバックアップを取得
    • 設定ファイルのバックアップを取得
    • ZabbixサーバとWebインターフェースのアップグレード
    • 設定ファイルの確認
    • Zabbixサーバの起動
  • 2.3.3 Zabbixエージェントのアップグレード手順(Linuxの場合)
    • Zabbixエージェントの停止
    • 設定ファイルのバックアップ
    • Zabbixエージェントのアップグレード
    • Zabbixエージェントの起動
  • 2.3.4 Zabbixエージェントのアップグレード手順(Windowsの場合)
    • 設定ファイルのバックアップ
    • Windowsエージェントのexeファイルを入れ替え

第3章 クイックスタートガイド

3.1 Webインターフェースの操作

  • 3.1.1 Webインターフェースへのログイン
  • 3.1.2 メニューの日本語化
  • 3.1.3 基本的な操作方法
    • サブメニューの操作
    • 画面最上部のメニュー

3.2 Zabbixの監視設定の全体像と流れ

  • 3.2.1 Zabbixの監視設定の全体像
  • 3.2.2 Zabbixの監視設定の流れ
  • 3.2.3 ステータス情報収集,障害検知/通知の流れ

3.3 Zabbixの基本的な監視設定と監視データの表示

  • 3.3.1 インストール直後のZabbixサーバの状態
  • 3.3.2 登録されているホストの確認とZabbix Serverホストの有効化
  • 3.3.3 アイテムの収集データを表示
    • 最新データ画面
    • 概要画面
  • 3.3.4 トリガーの状態とイベントの表示
    • トリガーのステータス画面
    • イベント画面
    • 概要画面
  • 3.3.5 アクションの状態と設定
  • 3.3.6 メディアタイプの設定
  • 3.3.7 ユーザの設定
  • 3.3.8 障害の発生と障害通知メールの確認
    • 障害の発生
    • アイテムで収集したデータの確認
    • トリガーのステータスの変化
    • イベントの生成とアクションの実行
    • 送信されたメールの確認
  • 3.3.9 グラフの表示
  • 3.3.10 マップの表示
  • 3.3.11 スクリーンの表示
  • 3.3.12 ダッシュボードの利用
    • Zabbixサーバの状態
    • システムステータス
    • ホストステータス
    • 最新20件の障害
    • グラフ/スクリーン/マップをお気に入りへ登録
    • ウェブ監視

第4章 監視対象と監視項目の設定

4.1 ホストの設定

  • 4.1.1 設定されているホストの一覧画面
  • 4.1.2 ホストの設定項目
    • ホストタブ
    • テンプレートタブ
    • IPMIタブ
    • マクロタブ
    • ホストインベントリタブ

4.2 ホストグループの設定

  • 4.2.1 設定されているホストグループの一覧画面
  • 4.2.2 ホストグループの設定項目

4.3 アイテムの設定

  • 4.3.1 設定されているアイテムの一覧画面
  • 4.3.2 タイプ共通のアイテムの設定項目
  • 4.3.3 タイプ別のアイテム設定
    • Zabbixエージェント
    • Zabbixエージェント(アクティブ)
    • シンプルチェック
    • SNMP v1/v2/v3エージェント
    • Zabbixトラッパー
    • Zabbixインターナル
    • Zabbixアグリゲート
    • 外部チェック
    • データベースモニタ
    • IPMIエージェント
    • SNMPトラップ
    • SSHエージェント
    • 【Column】IPMI
    • TELNETエージェント
    • JMXエージェント

4.4 ユーザパラメータを使用した独自監視項目の追加

  • 4.4.1 ユーザパラメータの設定
    • Zabbixエージェントの設定
    • アイテムの設定
  • 4.4.2 ユーザパラメータの設定例
    • 簡単なユーザパラメータの設定例
    • いくつかのコマンドを組み合わせたユーザパラメータの設定例
    • 引数付きのユーザパラメータの設定例

4.5 アプリケーションの設定

  • 4.5.1 アプリケーションの設定項目

4.6 ウェブ監視

  • 4.6.1 設定されているウェブ監視の一覧画面
  • 4.6.2 ウェブ監視の設定項目
    • シナリオタブの設定項目
    • ステップタブの設定項目115
    • シナリオのステップの設定項目116
  • 4.6.3 ウェブ監視で設定されるアイテム
  • 4.6.4 ウェブ監視データの表示

第5章 障害検知と障害通知の設定

5.1 トリガーの設定

  • 5.1.1 設定されているトリガーの一覧画面
  • 5.1.2 トリガーの設定
    • トリガータブ
    • 依存関係タブ
  • 5.1.3 トリガー条件式の設定例
    • 死活監視の応答がなければ障害として検知する
    • ポートの応答がなければ障害として検知する
    • プロセスが稼働していなければ障害として検知する
    • ファイルが更新された場合に障害として検知する
    • Windowsサービスが稼働していなければ障害として検知する
    • 直近1時間以内に4回以上ロードアベレージが10を超えた場合に障害として検知する
    • 過去30分間のCPU使用率の平均が高い場合に障害として検知する
    • ログに特定の文字列が含まれていた場合に障害として検知する
    • 二重化されているSMTPサーバの双方が停止したら障害として検知する
  • 5.1.4 トリガーの状態の変化とイベントの生成

5.2 アクションの設定

  • 5.2.1 設定されているアクションの一覧画面
  • 5.2.2 アクションの設定
    • アクションタブ
    • アクションの実行条件タブ
    • アクションの実行内容タブ
    • [メッセージの送信]を選択した場合
    • [リモートコマンド]を選択した場合
  • 5.2.3 エスカレーションを利用したアクションの設定例
    • アクションタブ
    • アクションの実行条件タブ
    • アクションの実行内容タブ

第6章 グラフィカル表示の設定

6.1 グラフの設定

  • 6.1.1 設定されているグラフの一覧
  • 6.1.2 グラフの設定
    • 折線グラフと積算グラフ
    • 円グラフと分解円グラフ
    • グラフに追加したアイテムの詳細設定

6.2 マップの設定

  • 6.2.1 設定されているマップの一覧
  • 6.2.2 マップの設定
    • マップの基本設定
    • マップの詳細設定
  • 6.2.3 アイコンの自動描画
  • 6.2.4 アイコンの自動選択
    • アイコンのマッピング設定
    • マップの基本設定
    • マップの詳細設定
  • 6.2.5 マップのインポートとエクスポート

6.3 スクリーンの設定

  • 6.3.1 設定されているスクリーンの一覧画面
  • 6.3.2 スクリーンの設定
    • スクリーンの基本設定
    • スクリーンの詳細設定
  • 6.3.3 ダイナミックスクリーンの利用
  • 6.3.4 スクリーンのインポートとエクスポート
  • 6.3.5 スライドショーの利用
    • 設定されているスライドショーの一覧画面
    • スライドショーの設定
    • スライドショーの表示
  • 6.3.6 ホストスクリーンの利用

第7章 ローレベルディスカバリとVMware仮想環境の監視

7.1 ローレベルディスカバリの利用

  • 7.1.1 ローレベルディスカバリの動作
  • 7.1.2 設定されているローレベルディスカバリの一覧画面
  • 7.1.3 ローレベルディスカバリの設定
  • 7.1.4 プロトタイプの設定
  • 7.1.5 具体的なローレベルディスカバリの設定
    • Zabbixエージェントを利用したディスクパーティションの監視
    • SNMPエージェントを利用したネットワークスイッチのインターフェース監視
    • 7.1.6 ローレベルディスカバリの応用

7.2 VMware仮想環境の監視

  • 7.2.1 VMware監視機能の概要
  • 7.2.2 VMware監視機能の設定
  • 7.2.3 VMware監視機能の動作
  • 7.2.4 VMware監視で自動登録されたホストの設定を変更する
  • 7.2.5 ホストのローレベルディスカバリ

第8章 テンプレートの利用とエクスポート/インポート

8.1 テンプレートの利用

  • 8.1.1 登録されているテンプレートの一覧
  • 8.1.2 テンプレートに含まれる各監視設定の確認
  • 8.1.3 テンプレートの利用方法
    • ホスト一覧画面
    • ホスト設定画面
  • 8.1.4 ホストとテンプレートをリンクさせる際の注意点
  • 8.1.5 テンプレートから継承された設定の確認
  • 8.1.6 継承先のホスト側で設定変更を行った場合の動作
  • 8.1.7 継承元のテンプレート側で設定変更を行った場合の動作

8.2 テンプレートの作成

  • 8.2.1 テンプレートの作成方法
  • 8.2.2 テンプレートに含まれるアイテム/トリガー/グラフの設定

8.3 ユーザ定義マクロ

  • 8.3.1 ユーザ定義マクロの作成

8.4 エクスポート/インポート

  • 8.4.1 エクスポート/インポートできる設定
  • 8.4.2 設定のエクスポート
  • 8.4.3 設定のインポート

第9章 一般設定とユーザ設定

9.1 一般設定

  • 9.1.1 表示設定
  • 9.1.2 データの保存期間
  • 9.1.3 イメージ
  • 9.1.4 アイコンのマッピング
    • 設定されているアイコンマッピングの一覧
    • アイコンのマッピングの設定項目
  • 9.1.5 正規表現
    • 設定されている正規表現の一覧
    • 正規表現の設定項目
    • 正規表現の利用
  • 9.1.6 マクロ
  • 9.1.7 値のマッピング
  • 9.1.8 ワーキングタイム
  • 9.1.9 トリガーの深刻度
  • 9.1.10 トリガー表示オプション
  • 9.1.11 その他の設定

9.2 メディアタイプの設定

  • 9.2.1 設定されているメディアタイプの一覧
  • 9.2.2 メディアタイプの設定項目
    • メール送信サーバの設定(タイプに[メール]を選択)
    • Jabberによるチャットメッセージサーバの設定(タイプに[Jabber]を選択)
    • SMSメッセージ送信モデムの設定(タイプに[SMS]を選択)
    • スクリプトの設定(タイプに[スクリプト]を選択)

9.3 ユーザとユーザグループの設定

  • 9.3.1 ユーザの設定
    • 登録されているユーザの一覧画面
    • ユーザの設定項目
  • 9.3.2 ユーザグループの設定
    • 設定されているユーザグループの一覧画面
    • ユーザグループの設定項目

9.4 認証の設定

第10章 Zabbixによるシステム監視サーバ構築実践

10.1 想定するシステム環境

10.2 事前調査

  • 10.2.1 監視対象ホストのリストアップ
  • 10.2.2 利用するユーザと権限,通知先のリストアップ
  • 10.2.3 監視間隔と監視項目数の決定
    • リソース監視の監視項目数
    • アプリケーション監視の監視項目数
    • SNMP機器の監視項目数
    • 監視項目数の合計
  • 10.2.4 監視データの保存期間の決定
  • 10.2.5 独自に作成/追加する必要がある監視項目の決定
  • 10.2.6 決定しておくとよい事項

10.3 Zabbixサーバのハードウェアスペックの決定

  • 10.3.1 CPUとOSの決定
  • 10.3.2 必要となるメモリ容量
  • 10.3.3 必要なディスク容量の計算方法
    • 監視設定の容量
    • ヒストリデータの容量
    • トレンドデータの容量
    • イベントデータの容量
    • 解説するシステムでZabbixサーバに必要なデータベースの容量

10.4 サーバの監視項目と閾値の調査

  • 10.4.1 Windowsサーバでの調査方法
    • システム情報
    • ディスクドライブ情報
    • パフォーマンスカウンタ
    • サービス
    • プロセス
    • ポート
  • 10.4.2 Linuxサーバでの調査方法
    • OSのホスト名/アーキテクチャ/バージョン
    • CPU
    • ネットワーク
    • メモリとスワップ
    • ディスク
    • プロセス
    • ポート

10.5 ネットワーク機器の監視項目の調査

  • 10.5.1 SNMPの概要
  • 10.5.2 SNMPコマンドの利用方法
    • snmpgetコマンド
    • snmpwalkコマンド
    • snmptranslateコマンド
  • 10.5.3 MIBの調査方法
  • 10.5.4 プライベートMIBの調査方法

10.6 Zabbixのセットアップと監視設定手順

  • 10.6.1 アクションとイベントの保存期間の設定
  • 10.6.2 メディアタイプの設定
  • 10.6.3 ホストグループとホストの作成
  • 10.6.4 ユーザとユーザグループの設定
  • 10.6.5 テンプレートの作成
  • 10.6.6 ユーザ定義マクロの作成
  • 10.6.7 テンプレートのリンクと個別のアイテムの設定
  • 10.6.8 アイテムとトリガーの状態の確認と調整
  • 10.6.9 アイテムが取得できない原因の調査方法
    • ①アイテムの一覧画面のアイコンを確認
    • ②Zabbixサーバから取得できるかを確認
    • ③Zabbixエージェントから取得できるかを確認
  • 10.6.10 障害通知と通知先の設定
  • 10.6.11 グラフ,マップ,スクリーンの設定

10.7 Zabbixサーバの冗長化

  • 10.7.1 Zabbixエージェントの設定
  • 10.7.2 Zabbixサーバの設定
  • 10.7.3 Heartbeatのインストールと設定
  • 10.7.4 Zabbixサーバの障害発生時の動作

第11章 障害発生時のスクリプト実行機能の活用

11.1 日本語のメールを送信する

  • 11.1.1 メール送信スクリプトを設置する
  • 11.1.2 Zabbixの設定

11.2 ネットワーク警告灯を利用して障害を通知する

  • 11.2.1 ネットワーク警告灯を点灯させる
  • 11.2.2 ネットワーク警告灯制御スクリプトを設置する
  • 11.2.3 Zabbixの設定

11.3 SNMPトラップを送信する

  • 11.3.1 SNMPトラップ送信スクリプトを設置する
  • 11.3.2 Zabbixの設定

11.4 モデムを利用して電話通知を行う

  • 11.4.1 Linuxからモデムを利用する
  • 11.4.2 モデム制御スクリプトを設置する
  • 11.4.3 Zabbixの設定

第12章 アプリケーションの詳細監視

12.1 Apache Webサーバの監視

  • 12.1.1 コンテンツが正常に表示できなければWebサービスを再起動する
    • ウェブ監視の設定
    • トリガーの設定
    • アクションの設定
    • リモートコマンドの許可とsudoの設定
  • 12.1.2 Webサーバのコネクション数の監視
    • Apacheのステータス取得の設定
    • ユーザパラメータの設定
    • アイテムの設定

12.2 Postfixメールサーバの監視

  • 12.2.1 メール送受信数とキューの数によるPostfixメールサーバの監視
    • ユーザパラメータとsudoの設定
    • アイテムの設定
  • 12.2.2 キューの数が増え過ぎたら自動的にholdキューに退避し,システム管理者にチャットメッセージによる障害通知を行う
    • トリガーの設定
    • アクションの設定
    • Jabberプロトコルを利用した通知の設定
    • リモートコマンドの許可とsudoの設定

12.3 BIND DNSサーバの監視

  • 12.3.1 特定のホスト名の名前解決が行えなければシステム管理者にメールを送信する
    • アイテムの設定
    • トリガーの設定
    • アクションの設定
  • 12.3.2 クライアントからの名前解決問い合わせ数を監視する
    • BIND DNSサーバのステータス情報の取得設定
    • ユーザパラメータの設定
    • sudoの設定
    • アイテムの設定

12.4 MySQLデータベースサーバの監視

  • 12.4.1 MySQLデータベースにアクセスし,正常に値が取得できなければメールで通知する
    • ODBCの設定
    • アイテムの設定
    • トリガーの設定
    • アクションの設定
  • 12.4.2 MySQLデータベースの負荷状況を監視する
    • MySQLデータベースサーバのステータス取得の設定
    • ユーザパラメータの設定
    • アイテムの設定

12.5 OpenLDAPサーバの監視

  • 12.5.1 OpenLDAPにクエリを発行してステータスを監視する
    • ユーザパラメータの設定
    • アイテムの設定
    • トリガーの設定
    • より汎用的なユーザパラメータ

12.6 Mailmanメーリングリストサーバの監視

  • 12.6.1 Mailmanのキューの状態を監視する
    • ユーザパラメータの設定
    • アイテムの設定

第13章 Zabbixサーバの運用とメンテナンス

13.1 障害発生時の対応

  • 13.1.1 トリガーのステータス画面による障害状況の確認
  • 13.1.2 イベント画面による障害の詳細確認
  • 13.1.3 障害対応コメント機能
    • 障害対応コメントの表示
    • 障害対応コメントを入力すると変化する画面
  • 13.1.4 トリガーの説明機能
  • 13.1.5 トリガーのURL機能
  • 13.1.6 インベントリ機能

13.2 スクリプト機能によるWebインターフェースからのコマンド実行

  • 13.2.1 設定されているスクリプトの一覧画面
  • 13.2.2 スクリプトの設定項目

13.3 監視対象機器のメンテナンス

  • 13.3.1 手動で監視を停止する
    • ホストを無効化した場合
    • アイテムを無効化した場合
    • トリガーを無効化した場合
    • アクションを無効化した場合
  • 13.3.2 メンテナンス期間の機能を利用する
    • 設定されているメンテナンスの一覧画面
    • メンテナンスの設定項目
    • メンテナンスを設定した場合の画面表示

13.4 Zabbixサーバのメンテナンス

13.5 Zabbixデータベースのバックアップ

  • 13.5.1 バックアップの取得
  • 13.5.2 取得したバックアップからのリストア

13.6 パフォーマンスチューニング

  • 13.6.1 監視のパフォーマンスの確認
  • 13.6.2 Zabbixサーバの稼働状況の確認
    • Template App Zabbix serverテンプレート
  • 13.6.3 MySQLの負荷が高い場合の対処方法

13.7 監査履歴

13.8 運用レポートの作成

  • 13.8.1 スクリーン機能を利用する
  • 13.8.2 各種レポート機能
    • 稼働レポート画面
    • 障害発生数上位100項目画面
    • バーレポート画面
    • アクション履歴画面
    • 通知レポート画面

第14章 大規模システムの監視

14.1 ホストの自動登録

  • 14.1.1 自動登録用のアクション一覧
  • 14.1.2 自動登録用のアクション設定例
    • アクションタブ
    • アクションの実行条件タブ
    • アクションの実行内容タブ
    • Zabbixエージェントの設定
    • 自動登録されたホストの状態

14.2 ディスカバリ

  • 14.2.1 ディスカバリの動作
  • 14.2.2 設定されているディスカバリの表示
  • 14.2.3 ディスカバリの設定
  • 14.2.4 ディスカバリで発見されたホストの表示
  • 14.2.5 ディスカバリによってホストが発見された場合のアクションの設定
    • ディスカバリ用のアクションの一覧
    • ディスカバリ用アクションの設定
    • ディスカバリのステータスとホストのステータスの確認

14.3 ITサービス

  • 14.3.1 ITサービスの設定
    • サービスタブ
    • 依存関係タブ
    • 時間タブ
  • 14.3.2 Webサービスを登録する場合の設定例
  • 14.3.3 ITサービスの表示

14.4 Zabbixプロキシを利用した分散監視

  • 14.4.1 Zabbixプロキシのデータフロー
  • 14.4.2 Zabbixプロキシサーバのインストール
    • インストール前の準備
    • ZabbixプロキシサーバのRPMをインストール
    • データベースへの初期データのインポート
    • Zabbixプロキシサーバの設定と起動
  • 14.4.3 Zabbixプロキシサーバの登録
    • 設定されているZabbixプロキシサーバの一覧画面
    • Zabbixプロキシサーバの設定項目
  • 14.4.4 Zabbixプロキシサーバを利用した監視設定

14.5 API

  • 14.5.1 Zabconのインストール
  • 14.5.2 Zabconの利用方法

Appendix キー,トリガー条件式,マクロ設定リファレンス

A.1 アイテムのキー

  • A.1.1 アイテムのキーとOSの対応一覧
  • A.1.2 Zabbixエージェントのキー一覧
  • A.1.3 Windows固有のZabbixエージェントのキー一覧
  • A.1.4 シンプルチェックのキー一覧
  • A.1.5 Zabbixインターナルのキー一覧
  • A.1.6 アグリゲートのキー一覧

A.2 トリガー条件式の関数と演算子

  • A.2.1 トリガー関数
  • A.2.2 トリガー演算子

A.3 マクロ

  • A.3.1 マクロ一覧
  • A.3.2 ホストインベントリ用マクロ一覧

A.4 コードページ

  • A.4.1 コードページ一覧

著者プロフィール

寺島広大(てらしまこうだい)

Zabbix Japan代表。20歳の頃にLinuxに触れたのがきっかけでオープンソースに興味を持つ。2005年にZABBIX-JPコミュニティサイトを作成し,2010年に書籍を出版,2011年にはZabbix本社へ転職し世界中のZabbixサポートを行いつつ,日本向けの公式トレーニングやパッケージ作成を担当する。2012年に日本支社であるZabbix Japanを設立し代表に就任。