44
全全全Zabbix 全全全全 Zabbix +α 全全全

全自動Zabbix ver2

  • Upload
    -

  • View
    5.346

  • Download
    3

Embed Size (px)

DESCRIPTION

Zabbix Conference Japan 2013で発表した資料です。 Zabbix 運用の自動化 「全自動Zabbix」の内容を Zabbix 2.2 に合わせて追記、修正しました。

Citation preview

Page 1: 全自動Zabbix ver2

全自動ZabbixZabbix自動登録+αのお話

Page 2: 全自動Zabbix ver2

2

CN:九龍真乙(くりゅうまおと) 所属:自宅ラック勉強会 Twitter @qryuu

2013/11/22

自己紹介

Page 3: 全自動Zabbix ver2

Zabbixでの監視は便利です。 HW監視、死活監視、リソース監視、グラフ表示 でも、監視対象を登録するのは、めんどくさいです。

じゃぁ自動化しちゃいましょう。 もちろんZabbixの機能で!(スクリプトとか作らずに)

趣旨

2013/11/223

Page 4: 全自動Zabbix ver2

Zabbixは監視対象を自動的に登録する機能があります。

自動登録には 2種類あります。 Agent自動登録 ディスカバリ自動登録

Zabbixの自動登録

2013/11/224

Page 5: 全自動Zabbix ver2

Agent自動登録 Zabbixエージェントを起動すると、アクティブチェックの項目を確認するために、Agent→Serverという通信が発生します。

このときにAgentは自分のホスト名をZabbixサーバに通知して、Zabbixエージェント(アクティブ)のアイテム一覧を取得します。

このときに通知されたホスト名がZabbixサーバに登録されていない場合に自動的にホスト登録するのがAgent自動登録です。

2種類の自動登録(Agent)

2013/11/225

Page 6: 全自動Zabbix ver2

Zabbixサーバは指定されたIPアドレスレンジを走査して、監視対象を見つけ出して登録することができます。

これがディスカバリ自動登録です。 ディスカバリ自動登録ではIPアドレスの他に、SNMPポーリングや指定ポートの応答、Zabbixエージェントへのポーリングなどを行う事ができます。

ポーリングによって値を収集することが出来るので、この値を元に任意のテンプレートとリンクさせる事もできます。

2種類の自動登録(ディスカバリ)

2013/11/226

Page 7: 全自動Zabbix ver2

2013/11/227

2種類の自動登録

Zabbixサーバ

Zabbixエージェント

ポート応答

SNMPエージェント

Ping応答

Zabbixエージェント

自動登録 ディスカバリ

Page 8: 全自動Zabbix ver2

それぞれの自動登録の方法について実際に見ていきます

設定方法

2013/11/228

Page 9: 全自動Zabbix ver2

Agent自動登録

[設定 ][アクション ]の画面でイベントソース[自動登録 ]を選び [アクションの作成 ]をクリックします。

2013/11/229

Page 10: 全自動Zabbix ver2

自動登録はホスト登録されていない(名前が一致しない)Agentからの通信が合った場合に動作するので、『自動ホスト登録』せずにメール通知だけすることも出来ます

[アクション ]で設定するのはその際の本文になります。

Agent自動登録

2013/11/2210

Page 11: 全自動Zabbix ver2

自動登録の実行条件はホスト名の部分一致もしくは、経由したプロキシの選択です。

自動登録設定を複数作る事で、グループ分けやホスト毎に異なるテンプレートを紐付けることができます。

実行条件設定が無い場合、すべての未登録 Agentが自動登録されます。

Agent自動登録

2013/11/2211

Page 12: 全自動Zabbix ver2

Agent自動登録の実行条件ではホスト名でしか条件分岐が出来ないため、Agent自動登録でテンプレートリンクの仕分けをしたい場合は、ホスト名からOSや役割が判断出来るようにする必要があります。( 2.0まで)

Zabbix2.2では、 Agent.confに設定した[HostMetadata=]を仕分け条件として、特定のテンプレートとリンクさせたり、ホストグループに仕分けすることが可能になりました。

Agent自動登録

2013/11/2212

Page 13: 全自動Zabbix ver2

自動登録で出来る動作は以下の通りです。 [メッセージの送信 ][リモートコマンド ][ホスト追加 ][ホストグループへの登録 ][テンプレートリンク ][ホスト無効化 ]

Agent自動登録

2013/11/2213

Page 14: 全自動Zabbix ver2

実際の使用では、 [メッセージの送信 ][ホスト登録 ][ホストグループ登録 ] [テンプレートリンク ]が主に使われると思います。

ホストグループへの追加、テンプレートリンクではホストグループやテンプレートを新規作成することは出来ないため、事前に作成しておく必要があります。

Agent自動登録

2013/11/2214

Page 15: 全自動Zabbix ver2

Agent自動登録されたホストは [エージェントインターフェイス ]の設定が [IPアドレス ]ではなく、[DNS ]として登録されます。このため、DNS、DDNSが適切に運用されている環境で無い限り、パッシブ型の監視アイテムやPing等のシンプルチェックができません。( 2.0の途中まで)

これらが無い環境の場合は、全てのAgentアイテムを [Agent(アクティブ) ]にしたテンプレートをつかって運用するとよいでしょう。

2.0以降は IPアドレスが登録されるようになりました。このためパッシブアイテムを利用できます。

Agent自動登録

2013/11/2215

Page 16: 全自動Zabbix ver2

ディスカバリ自動登録では、指定されたIPアドレスレンジを定期的にスキャンして新たな監視対象を探します。

2013/11/2216

ディスカバリ自動登録

Page 17: 全自動Zabbix ver2

スキャンする際に同時に、ポートやエージェントの応答を取得することができます。

2013/11/2217

ディスカバリ自動登録

Page 18: 全自動Zabbix ver2

ディスカバリ設定は候補を集めてくるだけなので、実際にホスト登録などを行う場合にはアクション設定が必要です。

[設定 ][アクション ]の画面でイベントソース[ディスカバリ ]を選び [アクションの作成 ]をクリックします。

2013/11/2218

ディスカバリ自動登録

Page 19: 全自動Zabbix ver2

Agent自動登録のときと同様、 [アクション ]はメール通知の際の本文設定です。

2013/11/2219

ディスカバリ自動登録

Page 20: 全自動Zabbix ver2

アクションの実行条件では、ディスカバリで収集した値を元に、実行条件を指定することができます。

機器名やOS情報、ポート情報などから条件設定できるため、Agent自動登録より柔軟な設定が可能です。

2013/11/2220

ディスカバリ自動登録

Page 21: 全自動Zabbix ver2

2013/11/2221

ディスカバリ自動登録

ディスカバリ自動登録では、定期的にスキャンを行うため、監視追加の他に、監視停止や監視削除も行うことができます。

Page 22: 全自動Zabbix ver2

Agent自動登録仮想環境などで、Agent導入済みの仮想マシンをクローンして監視登録する場合など。クラウドのオートスケールに対応できます。

OSホスト名はクローン時のウィザードなどで変更できますが、 Zabbix_agentd.confの Hostnameを都度変更するのは面倒です。

HostnameItem=system.hostnameを有効化すれば、OSのホスト名を使用するため、クローン後に Zabbix_agentd.confを編集する必要がなくなります。

2013/11/2222

ポイント

Page 23: 全自動Zabbix ver2

ディスカバリ自動登録では、ZabbixエージェントやSNMPエージェントの値を使用することが出来ます。

Zabbixエージェントの [system.uname]や

SNMPエージェントの [sysDescr.0]を使えば、サーバのOS情報や NW機器の機種情報が取得できるため、テンプレートリンクの際に有効な仕分け情報とすることが出来ます。

2013/11/2223

ポイント

Page 24: 全自動Zabbix ver2

せっかく、ホスト登録を自動化したら、マップ作成も自動化しましょう。

[一般設定 ][アイコンのマッピング ]ではインベントリの情報を元に自動的にアイコンを紐付ける事ができます。

2013/11/2224

アイコンマッピング

Page 25: 全自動Zabbix ver2

ホストインベントリの情報は、アイテム設定で[ホストインベントリフィールドの自動設定 ]で登録したいインベントリを選択することによって自動登録することが可能です。テンプレートに設定しておきましょう。

2013/11/2225

アイコンマッピング

Page 26: 全自動Zabbix ver2

マップ定義でアイコンの自動マッピングを選択することで、 NW機器やサーバ毎に自動的にアイコンが変わるマップにすることができます。

マップ作成毎にアイコンを選択する手間がかかりません。

ただし、自動アイコンではステータス毎のアイコン定義が出来ないので、障害・正常の判断は、文字情報やアイコンのハイライトで判断する必要があります。

2013/11/2226

マップの自動作成

Page 27: 全自動Zabbix ver2

マップアイコンの設定 アイコンタイプ [ホストグループ ]で [ホストグループ内のホスト ]を選択した場合、ホスト一覧マップを自動生成することが出来ます。

アイコンマッピングと組み合わせることで、マップ作成が自動化できます。

2013/11/2227

マップの自動作成

Page 28: 全自動Zabbix ver2

ローレベルディスカバリでは、プロトタイプとよばれる基本設定を作っておくことで、 NICやディスクなど、ホスト毎に構成(名前や数)が異なるアイテムを自動的に監視することができます。

2013/11/2228

アイテムの自動生成(ローレベルディスカバリ)

Page 29: 全自動Zabbix ver2

ホストやテンプレートの一覧画面で、ローレベルディスカバリを設定したいホストの [ディスカバリ ]リンクをクリックします。

2013/11/2229

アイテムの自動生成(ローレベルディスカバリ)

Page 30: 全自動Zabbix ver2

まず、 [ディスカバリルールの作成 ]で NIC一覧や、ディスク一覧など、リスト形式で取得できるアイテムを定義します。

2013/11/2230

アイテムの自動生成(ローレベルディスカバリ)

Page 31: 全自動Zabbix ver2

[名前 ]や [キー ]の部分は通常のアイテム設定と同様です。

Zabbix2.0ではファイルシステム一覧を取得するためのキー [vfs.fs.discovery]とNIC一覧を取得するためのキー [net.if.discovery]が追加されました。

[フィルター ]の [マクロ ]はリストの中で、特定の正規表現にマッチする物だけを呼び出す際に使用します。

SNMPのようにリストの値をそのまま使う場合には、設定は必要ありません。

カスタム LLDとして JSON 形式でリストを返すスクリプトを作成すれば、 LLDを拡張することが出来ますが、このスライドでは趣旨に反するので、紹介しません。

2013/11/2231

アイテムの自動生成(ローレベルディスカバリ)

Page 32: 全自動Zabbix ver2

ディスカバリルールの定義が終わったら、アイテム、トリガー、グラフのプロトタイプを設定します。

設定方法は通常のアイテムと変わりませんが、可変部分についてはディスカバリルールのマクロやSNMPのマクロなどを使って設定します。

2013/11/2232

アイテムの自動生成(ローレベルディスカバリ)

Page 33: 全自動Zabbix ver2

アイテム 1つ分の設定を行えば、ディスカバリによって見つかった分だけ、自動的にアイテムが複製され、監視されます。

名前やアイテムキーが重複しないように必ずマクロを使って設定をおこなってください。(重複するとアイテムが作成されません)

2013/11/2233

アイテムの自動生成(ローレベルディスカバリ)

Page 34: 全自動Zabbix ver2

2013/11/2234

スクリーンのダイナミックアイテム

スクリーンを設定する際、 [ ダイナミックアイテム ]にチェックを付けると1つのスクリーンを定義するだけで、複数のホストの情報を切り替えて表示することができます。

Page 35: 全自動Zabbix ver2

ダイナミックアイテムが設定されているスクリーンを開くと、プルダウンで表示するホストを選択出来るようになります。1つのスクリーン設定で、全ホスト用のスクリーン設定のように使う事ができます。

2013/11/2235

スクリーンのダイナミックアイテム

Page 36: 全自動Zabbix ver2

v Center Serverを監視対象として登録することで、その配下の Hypervisorsや仮想マシンを自動的に見つけ出し(ホスト LLD)、監視対象ホストとして登録してくれます。

v Center Serverを使わずに、 ESXiだけで運用している環境では、同じように ESXiを登録するだけで、配下の仮想マシンを自動的に見つけ出し、監視対象ホストとして登録してくれます。

2013/11/2236

VMware監視

Page 37: 全自動Zabbix ver2

VM監視に関わる追加されたパラメータは次の通りです。

VM監視系の confパラメータ

2013/11/2237

### Option: StartVMwareCollectors# Number of pre-forked vmware collector instances.## Mandatory: no# Range: 0-250# Default:StartVMwareCollectors=5

### Option: VMwareFrequency# How often Zabbix will connect to VMware service to obtain a new data## Mandatory: no# Range: 10-86400# Default:VMwareFrequency=20

### Option: VMwareCacheSize# Size of VMware cache, in bytes.# Shared memory size for storing VMware data.## Mandatory: no# Range: 256K-2G# Default:VMwareCacheSize=256M

Zabbixインストール直後の状態では、StartVMwareCollectors  の設定が0になっています。

VM監視を行う場合は環境規模に合わせて 1以上の値に設定してください。

Page 38: 全自動Zabbix ver2

VM監視テンプレートの種類

2013/11/2238

テンプレート名 解説(推測)

Template Virt VMware vCenter Server/単体 vSpher Hyperviser用テンプレート(手動適用)

Template Virt VMware Guest LLDを実施し見つかった VMに対して自動適用されるテンプレート

Template Virt VMware Hypervisor LLDを実施し見つかったvSphere Hypervisorに対して自動適用されるテンプレート

Zabbix2.0からアップデートインストールした場合、テンプレートは追加されません。別途インポートする必要があります。

Page 39: 全自動Zabbix ver2

VM監視テンプレートを利用するためには、 vCenterや ESXiのデータを取得するためのID、パスワード、 URLが必要です。

VMwareテンプレートのマクロ設定

2013/11/2239

Page 40: 全自動Zabbix ver2

マクロ 内容

{$URL} vCenter/ESX/ESXiの URLを記入します。https://<IPアドレス >/sdk  となります。※/mobではないので注意

{$USERNAME} 対象の vCenterや ESX/ESXiに読み取り権限がある UserIDを記入します。

{$PASSWORD} UserIDのパスワードを記入します。

マクロの内容

2013/11/2240

Page 41: 全自動Zabbix ver2

LLDの機能により、自動的に Hypervisorと仮想マシンが登録されテンプレートがリンクされて監視が開始されます。

VM監視

2013/11/2241

Page 42: 全自動Zabbix ver2

Agent自動登録、ディスカバリ自動登録で、ホストを自動登録して、適切なテンプレートと紐付ける、ホストグループで自動グループ分けする。

VM監視では管理ノードを登録すると配下のホストはLLDで登録される。

自動登録されたホストはローレベルディスカバリでアイテム、トリガー、グラフを自動設定する

アイコンのマッピング、ホストグループ内のホストを使ってマップを自動生成する。

スクリーンのダイナミックアイテムを使って、自動登録されたホストもスクリーンで確認出来るようにする。

2013/11/2242

全自動 Zabbix

Page 43: 全自動Zabbix ver2

2013/11/2243

全自動 Zabbix

これで、どれだけ監視対象ホストが増えても、設定稼働は増えませんね。

※監視サーバの負荷監視は忘れずに!

Page 44: 全自動Zabbix ver2

ご静聴ありがとうございました。 Zabbix 2.0 から Zabbix 2.2 へアップデートする際の注意点なども以下のサイトで公開しています。

http://www.rack.sh/

2013/11/2244

おわり