Zabbixによる監視(3) 第04回 19年05月 / 最終更新:2019.05.20

前回はZabbixの外部監視について説明しました。今回は、Zabbixの内部監視についてお話したいと思います。

内部監視

内部監視は、監視対象をホワイトボックスとして監視します。内部監視を行う場合は、監視対象サーバへZabbix Agentをインストールし、監視元のZabbix Server と通信できるようにする必要があります。通常はServerからAgentへ接続し監視情報を取得します。
一般的には以下のような項目を監視します。

1.システム情報
   - ホスト名
   - システム名
     uname -aで出力される情報
   - システムアーキテクチャ
     i686, x86_64など
   - HWモデル、シリアル番号
   - ハードウェアセンサー情報
     デバイス名、センサー名、モード(平均、最大、最小)を指定して、以下のような情報を取得する
     - 使用電気量
     - 温度
     - ファン回転数
   - ブートした時間
   - uptime(起動してからの時間)
   - ログインユーザ数
   - デバイス名
     PCIもしくはUSB接続したデバイスの一覧
   - ホストの内部時刻
   - OSが使用できるプロセス数
   - パッケージ情報
     RPM/dpkgなどのパッケージ一覧

2.CPU
   - CPU数
   - ロードアベレージ
   - CPUのコンテキストスイッチ
   - CPU使用率
     Idle、User、System、IOwait、interrupt, softirqなど
   - CPU HW情報
   - システム統計情報
     以下のパラメータで指定されたCPU使用率(%)を取得する
     - プロセス名
     - ユーザ名
     - CPUタイプ(system/user/systemとuserの合計)
     - プロセスのコマンドライン(正規表現可能)
     - 統計情報の時間(1/5/15分)

3.メモリ
   - メモリサイズ
     全物理メモリ、使用中メモリ、空きメモリなどを指定可能
   - メモリ使用率
     使用中、使用可の名メモリをパーセント表示で取得可能
   - Swap サイズ
   - Swap in/outの回数
   - システム統計情報
     以下のパラメータで指定されたメモリ使用量をバイト単位で取得する
     - プロセス名
     - ユーザ名
     - 統計情報のモード(平均、最大、最小、合計)
     - プロセスのコマンドライン(正規表現可能)
     - メモリタイプ(詳細は[マニュアル](https://www.zabbix.com/documentation/4.0/manual/appendix/items/proc_mem_notes)(英語のみ)を参照)

4.ストレージ
   - ディスクリード・ライト量
     全デバイスもしくはデバイス名指定
     セクタ/s・読込回数/s,・バイト数/sのいずれかを指定可能
   - 指定ファイルシステムのinode数、サイズ
   - 指定ディレクトリ以下のファイル数
     ファイルタイプ・ファイル名(正規表現可)・サイズ、作成時間を指定可能
   - 指定ディレクトリ以下のディスク使用量
     適用・除外するファイル名(正規表現可)や検索するディレクトリ階層数を指定可能
   - 指定ファイルの確認
   - ファイルが存在するか
   - チェックサム

       整数値もしくはmd5を指定可能
   - ファイル内容
     - 指定文字列が含まれているか
     - サイズ
     - タイムスタンプ

5.ネットワーク
   - インタフェースのコリジョン数
     インタフェース名指定
   - インタフェースへの入出力トラフィック、および入出力の合計トラフィック
     インタフェース名指定
     バイト数、パケット数、エラー数、ドロップ数などを指定可能
   - DNSルックアップ可能か
     ルックアップ対象ホスト、DNS IPアドレス、TCP/UDPなどを指定可能
   - DNSルックアップの結果
     ルックアップ対象ホスト、DNS IPアドレス、TCP/UDPなどを指定可能
   - インタフェースのMACアドレス

6.プロセス
   以下の項目を指定して、プロセス数を取得する
   - プロセス名
   - ユーザ名
   - プロセスの状態(ディスクアクセス待ち、起動、スリープ、停止中、ゾンビ、左記のすべて)
   - プロセスのコマンドライン(正規表現可能)

7.ログファイル
   ログファイルに関する情報を得るために、以下の項目を指定できる
   - ファイル名
   - 正規表現文字列
   - 文字コード(UTF-8かANSI)
   - 処理済みのログをスキップするか
   - 出力形式
   - 最大遅延時間(秒)

   指定したログファイルに関し、上記項目で指定した内容から下記の情報を取得可能である

   - ログファイルの内容
     指定した条件にマッチしたファイルの内容を、出力形式に合わせて取得する
     最大行を指定できる
   - ログカウント
     指定した条件にマッチしたファイルの行数を取得する
     現在時間から何秒以内のログを検索するかを指定できる。

8.Zabbix Agent経由の情報取得
   - Zabbix Agentの設定ファイルに指定されたホスト名
   - Zabbix AgentがZabbix Serverからの通信に応答の可否
   - Zabbix Agentのバージョン
   - Webページの内容、ロード時間、指定した文字列(正規表現)にマッチした内容を取得する
     ホスト名、URLのPATH部分、ポートを指定して、Webページの内容を取得する
   - Zabbix Agent の設定ファイルに指定された、内部コマンドの実行

内部監視をどのように使うか

Zabbix Agentを使うことで、システムの詳細情報を取得できます。しかし、監視項目は多すぎても監視しきれませんし、大量にホストがある場合はなおさら監視しきれません。
次回は、内部監視を使ってどのように監視を行えばよいのかについて述べていこうと思います。次回をお楽しみにお待ち下さい。