Zabbix統合監視実践入門 改訂3版 障害通知、傾向分析、可視化による省力運用
[改訂3版]Zabbix統合監視実践入門 ──障害通知、傾向分析、可視化による省力運用 (Software Design plus)
技術評論社
著者:寺島広大
改訂版に寄せて
本書に寄せて
はじめに
目次
第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プロキシの設定
13.5.7 暗号化通信を利用した場合のパフォーマンス
13.6 ヒストリとイベントのリアルタイムエクスポート
13.6.1 リアルタイムエクスポートの有効化
13.6.2 データがエクスポートされるファイル
13.6.3 エクスポートされるデータの形式
13.7 API
13.7.1 jQZabbixのインストール
13.7.2 jQZabbixデモアプリケーションの利用方法
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.3.3 ユーザー定義マクロとローレベルディスカバリのマクロ
A.4 コードページ
A.4.1 コードページ一覧
A.5 プロセスとキャッシュ
A.5.1 プロセス
A.5.2 キャッシュ
索引