目次
- 改訂版に寄せて
- 本書に寄せて
- はじめに
第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 Zabbixのバージョンと開発ポリシー
2.1.3 システム要件
- 対応OS
- Zabbixサーバーのシステム要件
- Zabbixエージェントのシステム要件
- データベースのシステム要件
- Webインターフェースのシステム要件
- Webブラウザのシステム要件
2.1.4 解説に利用するインストール環境
- OS
- データベース
- Webサーバー
- Zabbixサーバー/エージェント
2.2 Zabbixのインストール
2.2.1 Zabbix社のyumリポジトリの登録方法
- RPMパッケージをダウンロードしてインストールする場合
2.2.2 Zabbixサーバーのインストール
- データベースのインストール
- 時刻同期クライアントのインストールと設定
- ZabbixサーバーのRPMをインストール
- データベースへの初期データのインポート
- Zabbixサーバーの設定と起動
2.2.3 Webインターフェースのインストール
- WebインターフェースのRPMをインストール
- Webインターフェースのインストーラを実行
2.2.4 Zabbixエージェントのインストール
- Linuxへのインストール
- Windowsへのインストール
- [Column]ZabbixエージェントをインストールしたOSの時刻同期
2.2.5 インストールされるバイナリと設定ファイル
- Zabbixサーバー
- Webインターフェース
- Zabbixエージェント(Linux)
- Zabbixエージェント(Windows)
第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 ダッシュボードの利用
3.3.13 Webインターフェースのアラート表示
3.4 監視設定
3.4.1 監視設定の流れ
3.4.2 監視設定画面の操作
第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 タイプ共通のアイテムの設定項目
- [Column]アイテム名のマクロ
4.3.3 監視間隔のカスタマイズ
- 例外設定
- 定期設定
- 例1
- 例2
- 例3
- 監視間隔のカスタマイズの注意点
4.3.4 保存前処理タブ
- テキスト系の保存前処理
- 構造化データ系の保存前処理
- 計算
- 変化
- 数値変換
4.3.5 タイプ別のアイテム設定
- Zabbixエージェント
- Zabbixエージェント(アクティブ)
- シンプルチェック
- SNMPv1/v2/v3エージェント
- SNMPの一括取得
- 一般的なMIB値の変換機能
- ダイナミックインデックスの使用
- Zabbixトラッパー
- zabbix_senderによるデータ受信
- Zabbixインターナル
- Zabbixアグリゲート
- 外部チェック
- 外部チェックによるNTPサーバーの稼働監視
- データベースモニタ
- ODBCの設定
- データベース監視によるMySQLの稼働監視
- IPMIエージェント
- IPMIによるサーバーのハードウェア監視
- [Column]IPMI
- SNMPトラップ
- [Column]SNMPトラップ整形ツール
- zabbix_trap_receiver.plのインストール
- snmptrapdの設定
- SNMPトラップの受信確認
- Zabbixサーバーの設定
- SNMPトラップ監視のホストとアイテム設定
- ホストの設定
- アイテムの設定
- SSHエージェント
- SSHエージェントを使用したエージェントレス監視例
- TELNETエージェント
- JMXエージェント
- Zabbixを利用したJavaアプリケーションの監視
- Zabbix Java Gatewayのインストールと設定
- 監視対象のJava VMの設定
- Zabbixの監視設定
- JMXで監視できる項目の調査
- HTTPエージェント
- 依存アイテム
4.4 ユーザーパラメータを使用した独自監視項目の追加
4.4.1 ユーザーパラメータの設定
- Zabbixエージェントの設定
- アイテムの設定
4.4.2 ユーザーパラメータの設定例
- 簡単なユーザーパラメータの設定例
- いくつかのコマンドを組み合わせたユーザーパラメータの設定例
- 引数付きのユーザーパラメータの設定例
4.5 ローダブルモジュール
4.5.1 ローダブルモジュールを利用した監視機能の拡張
4.5.2 ローダブルモジュールを利用したヒストリデータの活用
4.6 アプリケーションの設定
4.6.1 アプリケーションの設定項目
4.7 Web監視
4.7.1 設定されているWeb監視の一覧画面
4.7.2 Web監視の設定項目
- シナリオタブの設定項目
- ステップタブの設定項目
- シナリオのステップの設定項目
- 認証タブの設定項目
4.7.3 Web監視データの表示
4.7.4 Web監視で設定されるアイテム
4.7.5 Web監視の障害検知
4.7.6 Web監視のPOSTデータの調査方法
4.8 ログ監視とイベントログ監視
4.8.1 テキストログの監視設定
- テキストログのアイテム設定
- テキストログのトリガー設定
- 基本的なトリガーの設定例
- 復旧条件式を利用した正常判定
- タグを利用した特定のアプリケーションの判定
- outputパラメータを利用したログからの文字列抜き出し
4.8.2 Windowsイベントログの監視
- Windowsイベントログのトリガー設定
4.8.3 正規表現の利用
- 一般的な正規表現
- [Column]Zabbixで利用できる正規表現
- [Column]正規表現の「*」
- ユーザー定義の正規表現設定
4.8.4 ログ監視の注意点
- [Column]ログ監視とnodataトリガー関数
4.9 ホストインベントリの自動設定
第5章:障害検知と障害通知の設定
5.1 トリガーの設定
5.1.1 設定されているトリガーの一覧画面
5.1.2 トリガーの設定
- トリガータブ
- 依存関係タブ
5.1.3 トリガー条件式の設定例
- 死活監視の応答がなければ障害として検知する
- ポートの応答がなければ障害として検知する
- プロセスが稼働していなければ障害として検知する
- ファイルが更新された場合に障害として検知する
- Windowsサービスが稼働していなければ障害として検知する
- 直近1時間以内に4回以上ロードアベレージが10を超えた場合に障害として検知する
- 過去30分間のCPU使用率の平均が高い場合に障害として検知する
- 二重化されているSMTPサーバーの双方が停止したら障害として検知する
5.1.4 トリガーの状態の変化とイベントの生成
5.1.5 トリガーの判定動作とValueCacheのしくみ
5.1.6 予測トリガー関数
5.1.7 イベントの相関関係
- 相関関係タブ
- 実行内容
5.2 アクションの設定
- [Column]日本で利用できるZabbixの通知機能
5.2.1 設定されているアクションの一覧画面
5.2.2 アクションの設定
- アクションタブ
- [Column]アクション実行条件に設定できたトリガーのステータス条件
- 実行内容タブ
- [Column]メンテナンス中のアクション実行
- [メッセージの送信]を選択した場合の設定項目
- [リモートコマンド]を選択した場合の設定項目
- [Column]プロキシ経由のリモートコマンド
- [Column]Zabbixエージェント,サーバー,プロキシでコマンド実行する場合の注意点
- 復旧時の実行内容タブと更新時の実行内容タブ
5.2.3 エスカレーションを利用したアクションの設定例
- アクションタブ
- 実行内容タブ
5.2.4 内部イベントによるアクション
第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 ホストスクリーンの利用
6.4 ダッシュボード
6.4.1 設定されているダッシュボードの一覧画面
6.4.2 ダッシュボードの設定
6.5 ダッシュボード/マップ/スクリーン/スライドショーの共有
第7章:ローレベルディスカバリとVMware仮想環境の監視
7.1 ローレベルディスカバリの利用
7.1.1 ローレベルディスカバリの動作
7.1.2 設定されているローレベルディスカバリの一覧画面
7.1.3 ディスカバリルールの設定
- ディスカバリルールタブ
- フィルタータブ
7.1.4 プロトタイプの設定
7.1.5 具体的なローレベルディスカバリの設定
- Zabbixエージェントを利用したディスクパーティションの監視
- SNMPエージェントを利用したネットワークスイッチのインターフェース監視
- Zabbixエージェントを利用したWindowsサービスの監視
- データベースモニタを利用したデータベース内のステータス値の監視
7.1.6 ローレベルディスカバリの応用
- /home以下の各ユーザーごとのディレクトリサイズを監視する
- ユーザーパラメータのスクリプト
- zabbix_agentd.confの設定
- ローレベルディスカバリルールの設定
- アイテムとトリガーのプロトタイプ
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 ホストとテンプレートをリンクさせる際の注意点
- [Column]Zabbix 2.0以前の制限
8.1.5 テンプレートから継承された設定の確認
8.1.6 継承先のホスト側で設定変更を行った場合の動作
8.1.7 継承元のテンプレート側で設定変更を行った場合の動作
8.2 テンプレートの作成
8.2.1 テンプレートの作成方法
8.2.2 テンプレートに含まれるアイテム/トリガー/グラフの設定
8.3 ユーザー定義マクロ
8.3.1 ユーザー定義マクロの作成
8.3.2 ユーザー定義マクロのコンテキスト
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 正規表現
- 設定されているユーザー定義の正規表現の一覧
- ユーザー定義の正規表現の設定項目
- 条件式タブ
- テストタブ
- [Column]テスト機能で利用できる正規表現
- ユーザー定義の正規表現の利用
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.2.3 メディアタイプのオプション設定
9.3 ユーザーとユーザーグループの設定
9.3.1 ユーザーの設定
- 登録されているユーザーの一覧画面
- ユーザーの設定項目
- ユーザータブ
- メディアタブ
- 権限タブ
9.3.2 ユーザーグループの設定
- 設定されているユーザーグループの一覧画面
- ユーザーグループの設定項目
- ユーザーグループタブ
- 権限タブ
- タグフィルタータブ
9.4 認証の設定
- 認証タブ
- HTTP認証の設定タブ
- LDAP認証の設定タブ
第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のサイジングの考え方
10.3.2 メモリのサイジングの考え方
- Zabbixサーバーが利用するメモリ
- データベースが利用するメモリ
- Webインターフェースが利用するメモリ
- OSが利用するメモリ
- 必要なメモリのサイジング
10.3.3 ディスクのパフォーマンスの考え方
10.3.4 必要なディスク容量の計算方法
- 監視設定の容量
- ヒストリデータの容量
- トレンドデータの容量
- イベントデータの容量
- 解説するシステムで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 アイテムが取得できない原因の調査方法
- (1)アイテムの一覧画面のアイコンを確認
- (2)Zabbixサーバーから取得できるかを確認
- (3)Zabbixエージェントから取得できるかを確認
10.6.10 障害通知と通知先の設定
10.6.11 グラフィカル表示の設定
第11章:スクリプト実行機能による障害通知と監視機能の拡張
11.1 ネットワーク警告灯を利用して障害を通知する
11.1.1 ネットワーク警告灯を点灯させる
11.1.2 ネットワーク警告灯制御スクリプトを設置する
11.1.3 Zabbixの設定
11.2 SNMPトラップを送信する
11.2.1 SNMPトラップ送信スクリプトを設置する
11.2.2 Zabbixの設定
11.3 Apache Webサーバーの監視
11.3.1 コンテンツが正常に表示できなければWebサービスを再起動する
- Web監視の設定
- トリガーの設定
- アクションの設定
- リモートコマンドの許可とsudoの設定
11.3.2 Webサーバーのコネクション数の監視
- Apacheのステータス取得の設定
11.4 MySQLデータベースサーバーの監視
11.4.1 MySQLデータベースにアクセスし,
正常に値が取得できなければメールで通知する
- ODBCの設定
- アイテムの設定
- トリガーの設定
11.4.2 MySQLデータベースの負荷状況を監視する
- MySQLの内部ステータス監視のための手法
- MySQLデータベースサーバーの監視設定
11.5 センサーを利用して温度や湿度の監視を行う
11.5.1 サーバー内に搭載されているセンサーを利用する
11.5.2 ネットワーク機器に搭載されているセンサーを利用する
11.5.3 専用の温湿度センサー製品を利用する
11.6 Zabbix ShareとIntegrationsの利用
11.6.1 Zabbix Shareの利用
11.6.2 Integrationsの利用
第12章:Zabbixサーバーの運用とメンテナンス
12.1 障害発生時の対応
12.1.1 障害画面による障害状況の確認
12.1.2 障害確認機能と障害の手動クローズ
- 障害確認のメッセージ機能
- 障害確認ステータスの利用
- 障害の深刻度の変更
- 障害の手動クローズの利用
12.1.3 トリガーの説明機能
12.1.4 トリガーのURL機能
12.1.5 インベントリ機能
12.2 スクリプト機能によるWebインターフェースからのコマンド実行
12.2.1 設定されているスクリプトの一覧画面
12.2.2 スクリプトの設定項目
12.3 監視対象機器のメンテナンス
12.3.1 手動で監視を停止する
- ホストを無効化した場合
- アイテムを無効化した場合
- トリガーを無効化した場合
- アクションを無効化した場合
12.3.2 メンテナンス期間の機能を利用する
- 設定されているメンテナンスの一覧画面
- メンテナンスの設定項目
- メンテナンスタブ
- 監視対象のメンテナンス期間タブ
- ホストとホストグループタブ
- メンテナンスを設定した場合の画面表示
12.3.3 メンテナンス中のアクション実行の挙動
- Zabbix 3.0以前の挙動
- Zabbix 3.2以降の挙動
12.4 Zabbixサーバーのメンテナンス
12.5 Zabbixデータベースのバックアップ
12.5.1 ファイルベースでバックアップ/リストア
12.5.2 mysqldumpを利用したバックアップ/リストア
12.6 Zabbixのアップデート
12.6.1 バージョン間の互換性
12.6.2 マイナーバージョンのアップデート
12.6.3 メジャーバージョンのアップデート
12.6.4 Zabbixエージェントのアップデート
12.7 パフォーマンスチューニング
12.7.1 監視のパフォーマンスの確認
12.7.2 監視データ収集が遅延しているアイテムの調査
12.7.3 Zabbixサーバーの稼働状況の確認
- プロセスのビジー率
- メモリキャッシュの使用率
- キューとZabbixサーバーのデータ処理数
- グラフとホストスクリーン
12.7.4 データベースの負荷が高い場合
12.8 Zabbixプロセスのログレベルの動的変更
12.8.1 指定したプロセスのみデバッグレベルを変更する
12.9 監査履歴
12.10 運用レポートの作成
12.10.1 スクリーン機能を利用する
12.10.2 各種レポート機能
- 稼働レポート画面
- 障害発生数上位100項目画面
- アクション履歴画面
- 通知レポート画面
第13章:大規模システムの監視
13.1 ホストの自動登録
13.1.1 自動登録用のアクション一覧
13.1.2 自動登録用のアクション設定例
- アクションタブ
- 実行内容タブ
- Zabbixエージェントの設定
- 自動登録されたホストの状態
13.2 ネットワークディスカバリ
13.2.1 ネットワークディスカバリの動作
13.2.2 設定されているネットワークディスカバリの表示
13.2.3 ネットワークディスカバリの設定
13.2.4 ネットワークディスカバリで発見されたホストの表示
13.2.5 ネットワークディスカバリによってホストが発見された場合のアクションの設定
- ネットワークディスカバリ用のアクションの一覧
- ネットワークディスカバリ用アクションの設定
- アクションタブ
- 実行内容タブ
- ネットワークディスカバリのステータスとホストのステータスの確認
13.3 サービス
13.3.1 サービスの設定
- サービスタブ
- 依存関係タブ
- 時間タブ
13.3.2 Webサービスを登録する場合の設定例
13.3.3 サービスの表示
13.4 Zabbixプロキシを利用した分散監視
13.4.1 Zabbixプロキシのデータフロー
- アクティブプロキシ
- パッシブプロキシ
13.4.2 Zabbixプロキシサーバーのインストール
- インストール前の準備
- ZabbixプロキシサーバーのRPMをインストール
- データベースへの初期データのインポート
- Zabbixプロキシサーバーの設定と起動
- Zabbixサーバーの設定
13.4.3 Zabbixプロキシサーバーの登録
- 設定されているZabbixプロキシサーバーの一覧画面
- Zabbixプロキシサーバーの設定項目
13.4.4 Zabbixプロキシサーバーを利用した監視設定
13.4.5 Zabbixプロキシの監視
- ZabbixプロキシサーバーとZabbixサーバー間の通信の監視
- Zabbixプロキシのパフォーマンス監視
13.4.6 Zabbixプロキシの運用時の注意点
- Zabbixプロキシとの通信復帰後のパフォーマンスの検討
- Zabbixプロキシのメジャーバージョンアップ
13.5 暗号化通信
13.5.1 Zabbixが利用する通信暗号化のライブラリ
13.5.2 暗号化通信の設定
13.5.3 PSKを利用した暗号化通信
13.5.4 SSL証明書を利用した暗号化通信
13.5.5 ZabbixサーバーまたはZabbixプロキシとZabbixエージェント間の暗号化通信の設定
- Webインターフェースの設定
- Zabbixサーバーの設定
- Zabbixエージェントの設定
13.5.6 ZabbixサーバーとZabbixプロキシ間の暗号化通信の設定
- Webインターフェースの設定
- Zabbixサーバーの設定
- Zabbixプロキシの設定