Checkmkで仮想環境の監視をしてみましょう。設定方法はとても簡単です。ビギナーズガイド3本目となる今回の記事では、CheckmkでAPI監視をはじめる手順や監視する項目内容の確認を、実際にVMware ESXiを追加しながら見ていきましょう。
Specialエージェントとは?
Checkmkの監視方法は、4つの種類があります。
・Checkmkエージェント
・SNMPエージェント
・Specialエージェント
・アクティブチェック
本日ご紹介するのは、Specialエージェントを使ったVMware ESXiの監視です。
VMware ESXiへのアクセスは、通常のエージェントやSNMPではなく、vSphere APIで行います。Checkmkでは、CheckmkエージェントやSNMP以外の監視方法を「Specialエージェント」と呼んでいますが、ESXiホスト上にエージェントやその他のソフトウェアをインストールするわけではありません。
では実際に、ホスト登録方法とvSphere APIでどのようなサービスが取得できるかを確認していきましょう。
※ホスト……監視対象、 サービス……監視項目
1.ホスト登録
ホストの登録手順の基本はWindowsやLinuxホストと同じ手順です。
まずはESXiを登録するためのフォルダを作成します。
Setup > “Hosts” > Hosts > Add folder から行います。
図1
図1のフォルダ登録画面で、以下の設定を入力してください。
- Basic setting > Title:VMware(任意のフォルダ名)
- Monitoring agents > Checkmk agent / API integrations:
「Configured API integrations, no Checkmk agent」
- Monitoring agents > Piggyback:
「Use piggyback data from other hosts if present」
Saveし、画面右上の"X change!"をクリックしてください。
図2の画面が開きますので、左上赤枠の”Activate on selected sites” をクリックしてください。ホストアクティベーションを開始し、画面に”success”と表示されれば、変更が適用されます。
図2
フォルダの設定は以上です。作成したフォルダ内で「Add host」ボタンをクリックしてください。(図3)
- Basic setting > Hostname:
任意のホスト名を入力
- Network address > IPv4 address:
ホスト名がDNSで解決できない場合は、ホストのIPアドレスを入力してください。
複数のIPアドレスを入力することも可能です。
- Monitoring agents > Checkmk agent / API integrations:
フォルダにあらかじめ設定してある場合はデフォルトのまま、していない場合は
「Configured API integrations, no Checkmk agent」を選択
- Monitoring agents > Piggyback:
フォルダにあらかじめ設定してある場合はデフォルトのまま、していない場合は
「Use piggyback data from other hosts if present」を選択
ここまでの作業を一度保存して、疎通テストを行いましょう。
保存には図5のように3種類のボタンが用意されていますが、疎通テストも行うことができる「Save & go to connection tests」を選択します。
図5
図6の画面に遷移します。エージェントはこのあと設定するため、今回はPing欄が緑になっていれば疎通テストは完了とします。
図6
疎通が完了したら、画面右上の"X change!"をクリックし、図2で説明した手順でアクティベートを行ってください。
これでESXiをホストに登録できました。
次に、エージェントの設定を行います。
2.エージェント設定
左側のメニューから、
Setup > “Agents” > VM, Cloud, Container をクリックし、表示された図7のルール一覧から「VMWare ESX via vSphere」を選択してください。
図7
図8の画面が表示されますので、「Create rule in folder:」の右のプルダウンを「VMware」(先ほど登録したホストが格納されているフォルダ)に設定し、「Create rule in folder」ボタンをクリックします。
図8
図9の画面で以下を設定します。
図9
- vSphere User name: VMware ESXiのユーザー名
- vSphere secret: VMware ESXiのパスワード
- SSL certificate checking: Deactivated
- Retrieve information about...:vCenterから取得したいものにチェック
データストア・仮想マシン・サービス数をvCenterから取得する場合は
Virtual Machines, Datastores, License Usageにチェックします。
チェックしていないデータはESXiホストから直接取得します。
- Placeholder VMs: チェック無効
- Display VM power state additionally on: チェック有効にし以下を選択
The queried ESX system(vCenter/Host)
- Piggyback name of virtual machines: チェック有効にし以下を選択
Use the VMs hostname it set, otherwise fall back to ESX name
Saveし、アクティベートを実施してください。
これでエージェントの設定は完了です。サービスを取得してみましょう。
Setup > “Hosts” > Hosts をクリックし、ESXiを登録したフォルダを表示するとホストの管理画面が表示されます。
図10赤枠のボックスアイコンをクリックしてください。
図10
サービスが自動取得されます。
必要なサービスのみ追加する場合は、画面左の「+」ボタンで追加してください。今回は全てのサービスを追加するので、画面右の「Fix all」ボタンをクリックして全て追加します。
図11の画面が開き、全てのサービスが登録されました。
画面右上の"X change!"をクリックし適用してください。
図11
登録した仮想環境ESXiは、Monitor > "Overview" >All hostsでも確認することができます。
図12
図13
次の手順では、仮想マシンをCheckmkのホストとして登録する方法をご説明します。
3.仮想マシンをCheckmkホストとして一括登録する
Checkmkでは、VMware ESXi上に存在するそれぞれの仮想マシンを一度のルール設定のみでホストとして登録することができます。一台ずつIPアドレスを入力して登録する必要はありません。
まずは仮想マシンを登録するための空フォルダ「VMGuest」を作成します。
図14
作成後はSave, アクティベーションを実施してください。
Setup > ”Hosts” > Dynamic host managementを開きます。
図15の画面が表示されたら、「Add connection」を選択し以下の通り設定します。
図15
図16
- Unique ID: デフォルト。変更したければ任意
- TItle: 任意のタイトルを入力
- Sync interval: 任意の間隔を設定
- Piggyback creation options:
Add new element ボタンでホストの登録先フォルダを選択
ここでは先ほど作成した「VMGuest」フォルダを指定します。
Save、アクティベートが正常に完了すると、VMware ESXi上の仮想マシンが「VMGuest」フォルダに自動的に作成されます。Setup > "Hosts" > Hostsに作成した「VMGuest」フォルダに仮想マシンが増えていれば完了です。Monitor > "Overview" > All hosts のホスト一覧に並び(図17)、ホストとして監視することが可能になりました。
図17
※手順1でホスト登録した「ESXi」のサービス(サービスとしての仮想マシン)は削除されておりません。サービス数の上限が気になる方は、削除などで調整する必要があります。
- 【補足】piggybackとは?
設定画面に「piggyback」という単語が何度も登場していました。Checkmkでは、仮想マシン情報を取得するために「piggyback」という原理を利用しています。
図18
図18のHostA=ESXi、HostB/HostC=ESXi上の仮想マシンとします。
CheckcmkがHostAから1分間隔で監視データを取得する場合、その応答としてHostB/HostCのデータも受信することになります。
このデータは「piggybackデータ」と呼ばれ、Checkmkサーバーのファイルに格納されます。
この「piggyback」という原理により、CheckmkがあとでHostB/HostCのデータを必要とする場合、データはすでにローカルファイルに格納しているため、エージェントやHostAへ問合せすることなく、直接ローカルのデータを処理することができます。