Zabbix
【Zabbix連載コラム:第1回】ホストの設計はどうするの?
Zabbixを使い始める際に、必ず最初にやらなければならないのがホストの登録です。
いきなりホストを登録し始める前に、ホストの設計ポイントを考えてみましょう。
設計ポイント① 洗い出すべき情報について
まず、Zabbixのホスト画面を見てみます。
最低限入力が必要なのは「ホスト名」「グループ」「エージェントのインターフェース」の3項目になります。
ある意味最低3つの情報があればホストの登録は行えますが、必要な情報はそれだけではありません。
■表示名を使用する場合
Zabbixの画面上でホスト名ではなく、わかりやすい通称のサーバ名をつけたい場合に使用します。
表示名を使用する場合、表示名として使える名前の洗い出しも必要です。
■ホストインベントリを使用する場合
「ホストインベントリ」は対象機器の資産情報などを入力し、障害通知のメールに資産情報を付け加えることができます。
障害発生時にホスト名とIPアドレスだけの情報でなく、サーバの機種名、設置場所、連絡先などの情報も合わせて確認することで初動対応を素早く行うことができます。
■ホストグループのグルーピングの元情報
「ホストグループ」はホスト登録時に最低1つは登録する必要があります。一般的には、OS毎のグループや、部門、システム毎のグループを作成するケースが多いです。
この場合、各機器のOS、管理部門、システムなどの情報も必要になります。
また、一般的にサーバの機器一覧などをExcelのシートにまとめているケースも多いです。この場合、機器一覧シートの必要な列情報を活用してZabbixのホスト登録用のパラメータシートにすることも可能です。
今回は過去に実際に使用したホスト登録用のパラメータシートのサンプルをご紹介します。
[ホストのパラメータシートのサンプル]
|
設計ポイント② ホスト名のリストアップについて
Zabbixサーバとエージェントの通信はパッシブ(デフォルト)とアクティブがありますが、アクティブの場合はZabbixエージェントの設定ファイル(Linuxの場合は/etc/zabbix/zabbix_agentd.conf)のHostnameかHostnameItemパラメータで設定された名前と、Zabbixのホスト登録画面で指定したホスト名が一致している必要があります。
Zabbixエージェントの設定ファイルに個々のホスト名をサーバ毎に記載するのは管理が煩雑になるためHostnameItemパラメータを指定して動的に設定するケースが多いでしょう。この場合注意が必要なのがWindowsの環境です。Windowsはホスト名以外にもNetBIOSホスト名があります。
HostnameItemパラメータにsystem.hostnameと指定した場合はNetBIOSホスト名が自動的に設定されます。
HostnameItemパラメータにsystem.hostname[host]と指定した場合はホスト名が自動的に設定されます。
設計ポイント③ 表示名の利用について
ホスト名にサーバの用途(例えばDB、WEBなど)の情報が含まれず、機械的に割り振られた文字列を使用している環境の場合に表示名を活用するケースもあるでしょう。
この場合、ホストのパラメータシート作成の段階で表示名に相当する情報の洗い出しも必要です。
上記のサンプルで言えばサーバの用途になりますが、ホスト名の設定と同様に名前の重複はNGのため注意が必要です。
設計ポイント④ ホストの登録について
数十台程度のホストの登録であれば、手動でWebフロントエンドから登録することもさほど大変ではないですが、数百台~数千台のホストを登録するとなるとかなりの時間を要することになるでしょう。
Zabbixのホスト定義はXMLの形式でエクスポート/インポート可能です。ホストのパラメータシートからマクロ等で取り込み用のXMLを生成して、まとめてホストを登録するなどの検討も必要になるかもしれません。
まとめ
ホストの登録自体は単純な作業の様で、色々と注意すべきポイントがあることがご理解いただけたと思います。
既存の資産を再利用しつつ、手戻りが無いよう洗い出すことが重要です。