仮想環境監視

仮想環境監視

仮想環境は、すべての企業の IT アーキテクチャで非常に重要であり、そのため、仮想環境の監視が不可欠です。 Pandora FMS Enterprise を使用すると、次の環境の監視ができます。

Amazon EC2, VMware, RHEV, Nutanix, XenServer, OpenNebula, IBM HMC, HPVM.

Amazon EC2

EC2 環境を監視するには、こちらを参照してください。

このガイドは、オープンソースの EC2 監視用コンポーネントに対応したものです。

ここでは、Amazon EC2 のインスタンスをモニタリングするために CloudWatch API を利用します。インスタンスにおいて、cloudwatch を有効にする必要があります。pandorafms.com のモジュールライブラリに、フリーのプラグインがあります。(EC2 で検索)

このリモートサーバプラグインの基本的な考え方は、ネットワークプラグインサーバを使ってインスタンスから情報を取得するものです。つまり、サーバにプラグインを登録し、EC2 サーバの情報を異なるモジュールとして取得します。

以下に実行例を示します。\ で改行しています。

 /home/slerena/ec2_plugin.sh \
          -A AKIAILTVCAS26GTKLD4A \
          -S CgmQ6DxUWES05txju+alJLoM57acDudHogkLotWk \
          -i i_9d0b4af1 \
          -n AWS/EC2 \
          -m CPUUtilization

これは、インスタンス i-9d0b4af1 において、“CPUUtilization” の値を返します。

インストールは次のようにします。

  1. JAVA が動作するようにし、JAVA のホームディレクトリを設定します。Pandora FMS アプライアンス(Vmwareイメージ)では、/usr/ です。
  2. プラグインを上記ディレクトリにコピーし、パーミッションを 755 にします。また、プラグインの最初の行に定義されている AWS_CLOUDWATCH_HOME 変数を設定します。プラグインの最初の行を編集する必要があります。

プラグインには、いくつかのファイルがあります。

/ec2_plugin.sh - プラグイン本体です。 /bin/* - Amazon CloudWatch (モニタリング) コマンドラインツールのコンポーネントで、プラグインの配布ファイルに含まれています。このスクリプトは、Apache ライセンスに基づいて配布されています。

全てのファイルをサーバに展開します。例えば以下の場所です。

/usr/share/pandora_server/plugin/ec2

そして、AWS_CLOUDWATCH_HOME を /usr/share/pandora_server/plugin/ec2 に設定します。

正しくインストールできたか確認するには、以下のコマンドを実行します。

/usr/share/pandora_server/plugin/ec2/mon-cmd --version

以下のように表示されます。

Amazon CloudWatch CLI version 1.0.9.5 (API 2010-08-01)

同様に表示されれば、プラグインは利用可能です。

そうでなければ、おそらく、Amazon CloudWatch (モニタリング) コマンドラインツールのインストールと設定が必要です。以下のステップを実行してください。

インストール

手順:

  1. システムに、JAVA のバージョン 1.5 もしくはそれ以上がインストールされている必要があります。(java -version)
  2. zip ファイルを展開します。
  3. 以下の環境変数を設定します。
    1. 'AWS_CLOUDWATCH_HOME': ファイルを展開したディレクトリです。確認は以下のようにします。
Unix: ls ${AWS_CLOUDWATCH_HOME}/bin で、mon-list-metrics ... が表示されます。)
  Windows: dir %AWS_CLOUDWATCH_HOME%\bin で、mon-list-metrics ... が表示されます。)
  1. JAVA_HOME - Java をインストールしたホームディレクトリです。
  2. パスを追加します。
'${AWS_CLOUDWATCH_HOME}/bin' (Windows の場合は '%AWS_CLOUDWATCH_HOME%\bin')

設定

AWS ユーザ権限でコマンドラインツールを利用できるようにします。権限を与えるには 2つの方法があります。

  1. AWS パスワードの利用
  2. X.509 証明書の利用

AWS パスワードの利用

コマンドラインで認証情報を指定します。

-I ACCESS_KEY --S SECRET_KEY

認証ファイルを作成することもできます。デプロイした環境にはテンプレートファイルが含まれています。

${AWS_CLOUDWATCH_HOME}/credential-file-path.template.

このファイルのコピーを編集し、適切な情報を追加します。UNIX では、認証ファイル(作成した認証ファイル) の所有者の権限を制限します。

$ chmod 600 <作成した認証ファイル>

ファイルを作成したら、それを参照するいくつかの方法があります。

  • 次の環境変数を設定します。
export AWS_CREDENTIAL_FILE =<作成した認証ファイル>
  • それぞれのコマンド実行に次のようなオプションを設定します。
  1. -aws-credential-file <作成した認証ファイル>

X.509 Certs の利用

公開鍵と秘密鍵をファイルに保存します。例えば、my-cert.pem および my-pk.pem

コマンドラインツールに認証情報を提供するには 2種類の方法があります。

  • 次の環境変数を設定します。
 EC2_CERT =/path/to/cert/file
 EC2_PRIVATE_KEY =/path/to/key/file
  • 各コマンドのコマンドラインでファイルを指定します。
 <command> \
      --ec2-cert-file-path=/path/to/cert/file \
      --ec2-private-key-file-path=/path/to/key/file

カスタム JVM プロパティの設定

環境変数 SERVICE_JVM_ARGS を設定することにより、コマンドラインに任意の JVM プロパティを渡すことができます。

例えば、以下では Linux/UNIX においてプロキシサーバのプロパティを設定します。

export SERVICE_JVM_ARGS="-D http.proxyHost=http://my.proxy.com -Dhttp.proxyPort=8080"

実行

設定が正しくできたか確認するために、次のコマンドを実行します。

 $ mon-cmd --help

全てのモニタリングコマンドで利用方法を表示します。

 $ mon-list-metrics --headers

ヘッダーが表示されます。何らかの特別な定義をしていたなら、それも確認してください。

VMware

IT アーキテクチャにとって仮想環境はとても重要です。そのため、これらの環境を監視することは、あなたの会社のシステムの適切なパフォーマンスを確認するために必要です。Pandora FMS Enterprise では VMware Monitoring Plugin を利用でき、VMware アーキテクチャを簡単に操作することができます。

監視する WMware アーキテクチャ

このシステムでは、以下のようなアーキテクチャを監視することができます。

Pandora FMS は、VCenter、ESXi サーバ、データストアおよび、データストアや仮想マシンといった仮想化コンポーネントを監視できます。Pandora FMS は、データ収集のために VMware Perl SDK が提供する API を利用します。

自動検出アプリケーションを通しての監視

自動検出を通して VMware インフラストラクチャの監視については、こちら を参照してください。

プラグインの要件

VMware プラグインが適切に機能するための要件は次の通りです。

  • Pandora FMS v7.0NG.732 またはそれ以上
  • Perl 用の VMware vSphere SDK

監視のための vCenter 設定

VMware の自動検出アプリケーションは、VMware vCenter および ESXi API が提供する機能を用います。これらが使用可能かどうかは、情報収集用に設定されているレベルによって異なります。

これらのレベルは、Statistics オプションの vCenter Server Settings メニューにて変更できます。vCenter で、それぞれの時間オプションとレベルで、どのカウンタを収集するかを参照することができます。Pandora FMS モニタリングプラグインが利用する最低レベルは Level 2 です。

vCenter の設定によっては、いくつかのモジュールは、Pandora FMS へデータを送信しません。 これは、vCenter でいくつかのプラグインが不足している場合です。これは、エンティティに VMware エージェントをインストールする必要があるか、単にエンティティがオフになっているためです(仮想マシンまたは ESXi)。これらの問題を解決するには、VMware のドキュメントを確認してください。

ハードウエアの状態監視などでは、vCenter および ESX をサポートするホストの高度な設定が必要になる場合があります。

VMware プラグインのデプロイ

Pandora FMS バージョン 732 以降では、VMware の監視は、自動検出アプリケーション システムを用いて行われます。(より詳細は、こちら を参照してください。)

いくつかの理由によりこの機能の外で手動でプラグインを設定したい場合は、以下に説明する旧手法を使うことができます。

VMware プラグインをインストールしたり最新のバージョンにアップデートする場合は、以下に示す手順に従ってください。

手動でのプラグインデプロイ

1. VMware プラグインを展開したファイルがあるディレクトリへ行きます。

2. vmware-plugin.{pl,conf} を対応するディレクトリににコピーします。

 sudo cp vmware-plugin.pl vmware-plugin.conf /usr/share/pandora_server/util/plugin/
 sudo chown pandora:apache /usr/share/pandora_server/util/plugin/vmware-plugin.{pl,conf}
 sudo chmod g w /usr/share/pandora_server/util/plugin/vmware-plugin.conf

3. プラグインを設定するために必要なデータを確認します。

Pandora FMS コンソールの “設定(Configuration)” メニューで、API パスワードを設定します。

vmware_api_settings.jpg

4. 設定ファイル vmware-plugin.conf を編集します。

5. VMware SDK for Perl が使えるかどうかを確認します。

VMware SDK Perl のインストールを確認するには、以下のスクリプトを実行します。

#!/usr/bin/perl

use strict;
use warnings;

use VMware::VIRuntime;

print "VMware SDK Version: " . $VMware::VIRuntime::VERSION . "\n";

スクリプトの実行:

perl check_vmware.pl

出力結果は次のようになります。

VMware SDK Version: 6.5.0

SDK のバージョンが VMware 製品のバージョンと同じか新しいことを確認してください。

Pandora FMS バージョン 717 から、デプロイするマシンに perl ライブラリ PluginTools.pm のインストールも必要です(サーバと一緒に /usr/lib/perl5/PandoraFMS 以下にあります)。(プラグインを実行するマシンの /usr/lib/perl5/PandoraFMS にコピーします)

VMware vSphere SDK for Perl のインストール

必要な VMware ソフトウェアのダウンロードセンターへのリンクは次の通りです。

https://my.vmware.com/web/vmware/details?downloadGroup=VS-PERL-SDK65&productId=614

CentOS 7 への Linux SDK のインストール

この手順は、SDK バージョン 4.1、5.1、6.0、6.5 でテストしています

SDK は、対応する VMware ソフトウエアバージョンと同等のものを利用することをお勧めします。例えば、VMware ソフトウエアが 4.1 の場合は、4.1 の SDK を利用することをお勧めします。

最初に、次のコマンドで SDK パッケージを展開します。

# tar -xzvf VMware-vSphere-Perl-SDK-x.x.x-xxxxxx.i386.tar.gz

次に、次のコマンドで SDK をコンパイルおよびインストールします。

 # perl Makefile.PL
 # make
 # make install

SDK のインストールが成功しエラーが表示されなければ、次のコマンドで vCenter に接続することができます。

# /usr/lib/vmware-viperl/apps/general/connect.pl --server <vcenter_ip> --username <vcenter_user> --password <vcenter_pass>

コマンドの実行結果は次のようになります。

 Connection Successful
 Server Time : 2013-02-21T16:24:05.213672Z

SDK の旧バージョンから 6.5 へのアップグレード

VMware SDK をアップグレードするには、次のステップを行います。

  • 開発者ツールのインストール
yum groupinstall "Developer Tools"
  • CPAN のインストール
yum install perl-CPAN
  • 依存ファイルのインストール
 yum install openssl-devel perl-Class-MethodMaker
 yum install epel-release
  • VMware® SDK Perl のインストールファイルを展開
tar xvzf VMware-vSphere-Perl-SDK-6.5.0-4566394.x86_64.tar.gz
  • ディレクトリへアクセス
cd vmware-vsphere-cli-distrib
  • インストーラを起動
./vmware-install.pl

インストール中:

  • ライセンスを承諾
  • not to use the prebuilt modules for VMware SDK が表示される
  • CPAN 経由でのモジュールの自動インストールを承諾
  • すべての必要ファイルが正しくインストールされたか確認
  • VMware SDK Perl モジュールがインストールされるディレクトリを表示

perl UUID パッケージが CentOS 7 にインストールされたときにエラーを生成することがあります。コンポーネントを追加するために以下のステップを実行してください:

  • UUID-0.03 に必要な依存ファイルをインストール
yum install libuuid-devel perl-JSON-PP
  • コードパッケージをダウンロード
wget https://cpan.metacpan.org/authors/id/C/CF/CFABER/UUID-0.03.tar.gz
  • ファイルを展開してディレクトリへ移動
 tar xvzf UUID-0.03.tar.gz
 cd UUID-0.03
  • Perl モジュールのコンパイルに必要なファイルの生成
perl Makefile.PL
  • Perl モジュールをコンパイル
make
  • 次のような応答を確認
Manifying blib/man3/UUID.3pm
  • コンパイルしたモジュールのインストール
make install

モジュールをインストールしたら、VMware® SDK Perl のインストール処理を実行します。

./vmware-install.pl

VMware アンインストーラは、以前の VMware モジュールライブラリを完全に削除しません。

次に進む前に、以下にライブラリが正しくインストールされたか確認します。

/usr/lib/vmware-vcli/VMware/share/

以下を手動で実施します。

  • 古いライブラリを削除
 rm -rf /usr/share/perl5/vendor_perl/VMware
 rm -rf /usr/share/perl5/VMware
  • 新しい VMware® ライブラリを追加
cp -R /usr/lib/vmware-vcli/VMware/share/VMware /usr/share/perl5/vendor_perl/

完了したら、VMware® SDK Perl のインストールを確認するために、次の内容のスクリプトを実行します。

 #!/usr/bin/perl

 use strict;
 use warnings;

 use VMware::VIRuntime;

 print "VMware SDK Version: " . $VMware::VIRuntime::VERSION . "\n";

スクリプトの実行:

perl check_vmware.pl

出力は次のようになります。

VMware SDK Version: 6.5.0

出力結果が異なる場合は、すべてのステップを正しく実行したか確認してください。

CentOS 7 の SDK の依存ファイルは次の通りです。

 gdbm-devel
 glibc-devel
 glibc-headers
 kernel-headers
 libdb-devel
 libuuid-devel
 make
 openssl
 perl-Business-ISBN
 perl-Business-ISBN-Data
 perl-Class-Inspector
 perl-Class-MethodMaker
 perl-Convert-BinHex
 perl-Crypt-SSLeay
 perl-Digest
 perl-Digest-MD5
 perl-Email-Date-Format
 perl-Encode-Locale
 perl-ExtUtils-Install
 perl-ExtUtils-MakeMaker
 perl-ExtUtils-Manifest
 perl-ExtUtils-ParseXS
 perl-File-Listing
 perl-HTML-Parser
 perl-HTML-Tagset
 perl-HTTP-Cookies
 perl-HTTP-Daemon
 perl-HTTP-Date
 perl-HTTP-Message
 perl-HTTP-Negotiate
 perl-IO-HTML
 perl-IO-SessionData
 perl-IO-Socket-IP
 perl-IO-Socket-SSL
 perl-JSON-PP
 perl-LWP-MediaTypes
 perl-LWP-Protocol-https
 perl-MIME-Lite
 perl-MIME-Types
 perl-MIME-tools
 perl-MailTools
 perl-Mozilla-CA
 perl-Net-HTTP
 perl-Net-LibIDN
 perl-Net-SMTP-SSL
 perl-Net-SSLeay
 perl-SOAP-Lite
 perl-Test-Harness
 perl-TimeDate
 perl-URI
 perl-WWW-RobotRules
 perl-XML-LibXML
 perl-XML-NamespaceSupport
 perl-XML-Parser
 perl-XML-SAX
 perl-XML-SAX-Base
 perl-devel
 perl-libwww-perl
 pyparsing
 systemtap-sdt-devel
 glibc
 glibc-common
 libblkid
 libmount
 libsmartcols
 libuuid
 util-linux

以下のコマンドで、プラグイン用の追加の依存ファイル をインストールできます。

yum install perl-Archive-Zip perl-JSON

以下のコマンドで、パスワード暗号化の依存ファイル をインストールできます。

yum install openssl-devel perl-Crypt-CBC perl-Digest-SHA

Artica のリポジトリから、perl-Crypt-OpenSSL-AES のカスタム RPM をダウンロードできます。

  • CentOS 7:
yum install https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/RPM%20CentOS%2C%20RHEL/perl-Crypt-OpenSSL-AES-0.02-1.el7.x86_64.rpm
Ubuntu 22 への Linux SDK のインストール

このインストールプロセスでテストしている SDK のバージョンは 7 です。

VMware® ソフトウェアバージョンに対応する SDK バージョンを使用することを常にお勧めします。 たとえば、バージョン 7 の SDK では VMware® ソフトウェア 7 を使用することをお勧めします。

依存ファイルのインストール:

apt update
apt-get install -y lib32z1 build-essential uuid \
  uuid-dev libssl-dev perl-doc libxml-libxml-perl \
  libcrypt-ssleay-perl libsoap-lite-perl libmodule-build-perl

我々のリポジトリからのダウンロード:

wget https://firefly.artica.es/pandorafms/utils/VMware-vSphere-Perl-SDK-7.0.0-16453907.x86_64.tar.gz

展開とインストール:

tar xvzf VMware-vSphere-Perl-SDK-7.0.0-16453907.x86_64.tar.gz
cd vmware-vsphere-cli-distrib/
sed --follow-symlinks -i -e "s/[^#].*show_EULA().*/  #show_EULA();/g" vmware-install.pl
./vmware-install.pl --default
cpan Crypt::OpenSSL::AES
Windows での SDK 設定

vSphare SDK と共に提供される Perl のバージョンでは、VMware の perl ライブラリが動作しません。問題に対処するためには次の手順を実施します。

  • VMware vSphere SDK をインストール
  • Strawberry PERL version 5.12. をインストール
  • 'C:\Program Files\VMware\VMware vSphere CLI\Perl\lib\VMware' を 'C:\strawberry\perl\lib' へコピー
  • VMware vSphere SDK をアンインストール

プラグイン設定

VMware プラグインは手動で設定することも、ダウンロード可能な VMware プラグインファイルと共に利用可能なコンソール拡張機能を使用して設定することもできます。

手動でのプラグイン設定

VMware プラグインの複数の設定を管理するには、Pandora FMS コンソールの拡張を使用することをお勧めします。

手動で設定ファイルを編集することができます。'#' で始まる行はコメントです。

VMware® プラグインは、デフォルトですべてのエンティティを検出し監視を追加します。 設定ファイルから監視する必要がある変数を選択できます。

設定ファイルには、監視に必要なすべての情報が含まれており、次のセクションにグループ化されています: Configuration, Rename, Reject, Datacenter, Datastore, ESX および VM

設定ファイルに関連するすべてのエラーは、エラーログサーバと Pandora FMS のイベントビューアで確認できます。これらのソースを確認することで、設定ファイルの問題を特定できます。

グローバル設定

VMware® 環境の監視プラグイン設定ファイルには、次の一般的な要素が含まれています。

server

監視した VMware サーバの FQDN または IP。

user

vCenter® で読み出し権限のあるユーザ。

pass

ユーザのパスワード。

datacenter

Datacenter 名。 (デフォルト: ha-datacenter)

temporal

テンポラリディレクトリ。デフォルト: /tmp

logfile

ログファイル。デフォルト: /tmp/vmware_plugin.log

entities_list

監視するエンティティファイル。デフォルト: /tmp/vmware_entitites_list.txt

transfer_mode

XML を Pandora へ転送するモード。デフォルト: local

tentacle_ip

Pandora FMS サーバアドレス。デフォルト: 127.0.0.1

tentacle_port

tentacle ポート。デフォルト: 41121

tentacle_opts

tentacle の追加オプション。

local_folder

XML をローカル転送する場合の保存先フォルダ: /var/spool/pandora/data_in

pandora_url

Pandora FMS コンソールの Web アドレス。デフォルト:

http://127.0.0.1/pandora_console

api_pass

Pandora FMS コンソールの API パスワード。

api_user

Pandora FMS API へアクセスするユーザ。

api_user_pass

API アクセスするユーザのパスワード

retry_send

XML 送信エラー時にリトライする(1) しない(0) の設定。(buffer_xml に似ています)

event_mode

VMware イベント情報をリカバーする(1) しない(0) の設定。

event_pointer_file

VMware イベントの補助インデックスファイル。デフォルト: /tmp/vmware_events_pointer.txt

Virtual network monitoring

仮想スイッチの監視を含める。

Encrypt passwords

以下のコマンドで暗号化パスワードを生成します:

perl vmware-plugin.pl --generate_password

生成されたパスワードを設定ファイル内のパストークンに追加します:

use_encrypted_password 1

verbosity

デバッグレベル。(1 をお勧めします)

threads

利用する最大スレッド数。(4 をお勧めします)

interval

エージェントおよびモジュールを生成する秒間隔。(プラグインの実行頻度に応じて調整します)

Recon Interval

一時エンティティキャッシュファイルが自動削除されたのち、VMware インフラストラクチャが再スキャンされるまでの秒間隔。

group

プラグインにより生成されたエージェントのサーバグループ。

virtual_network_monitoring

仮想スイッチ監視を有効化(1) または、無効化(0) する設定。

use_ds_alias_as_name

データストアエージェントで、別名をエージェント名として利用する(1) または、しない(0) 設定。

サーバ、データセンター、ユーザ、パス、間隔は、Pandora コンソールから調整できます。

Pandora FMS 5.0 以上を利用していて、 かつプラグイン拡張またはイベント監視を使いたい場合は、Pandora FMS API を正しく設定する必要があります。それには、API パスワードおよび、API アクセス許可アドレスを正しく設定する必要があります。 これらの設定は、Pandora FMS コンソールの一般設定にあります。

API パスワードと一緒に使用するユーザは、イベントを記録するための読み取りおよび書き込み 権限を持っている必要があります。 また、エージェントからのコンソールのイベントが発生するため、監視にデータセンターエージェントを含めることを忘れないでください。

VMware® 環境監視プラグインの “Reject” セクションには次のオプションを含んでいます。

  • all_ipaddresses

この設定が存在する場合、XML の IPアドレスは更新されません。この設定はタスクにも有効です。

設定ファイルのこのセクションの例を以下に示します。

 Configuration
 server 192.168.70.249
 user Administrator
 pass S1stemas
 datacenter artica
 temporal /tmp
 logfile /tmp/vmware_plugin.log
 entities_list /tmp/vmware_entities_list.txt
 transfer_mode tentacle
 tentacle_ip 192.168.70.81
 tentacle_port 41121
 tentacle_opts
 local_folder /var/spool/pandora/data_in
 pandora_url http://192.168.70.81/pandora_console
 api_pass 1234
 api_user admin
 api_user_pass pandora
 event_mode 0
 event_pointer_file /tmp/vmware_events_pointer.txt

Windows® でプラグインを使用する場合は、Windows® でサポートされているパスに置き換えてください。

エンティティスキャン

自動検出でこの機能を使用するには、Extra settings 内に目的の設定を追加します。

VMware® インフラストラクチャのエンタープライズクライアントのサイズの問題で、各実行で利用可能なすべてのエンティティの一般的なスキャンがパフォーマンスの問題を引き起こす可能性があります。

この状況を回避するために、VMware 監視プラグインには、最初の実行でスキャンされたエンティティのリストを格納するエンティティファイル (entities_list) があります。

このファイルが存在する限り、監視はファイルに示されているエンティティに限定されます。

VMware インフラストラクチャの定期的なスキャンが必要な場合は、システムの cron を使用して、このファイルを時々(たとえば 1 時間ごとに)削除します。

エンティティの名前変更

自動検出でこの機能を使用するには、Extra settings 内に目的の設定を追加します。

エンティティの名前変更は、RENAME トークンを使用して行われ、プラグインによって検出されたエンティティの名前を変更できます。 この機能を使用すると、Pandora FMS で作成されたエージェントが新しい名前で表示されます。 このセクションの構造は次のとおりです。

<current name> TO <new name>

このセクションの設定例を以下に示します。

 #Rename entities
 Rename
 Debian 11 TO Virtual Machine 1
 RedHat 12 TO Web server
 ESX Workstation TO Host Work Sales
エンティティの除外

自動検出でこの機能を使用するには、Extra settings 内に目的の設定を追加します。

プラグインを使用すると、種類ごとまたは個別にエンティティを除外できます。 両方のオプションについて以下で説明します。

エンティティを除外するには REJECT トークンを使用します。 このセクションでは、全ての仮想マシンやすべての ESX ホストなどのタイプに応じてエンティティを除外できます。このセクションで使用できる値は、all_datastore、all_datacenter、all_esx、および all_vm です。

このセクションの設定(すべてのエンティティを除外) は、次のようになります。

 #Dismissed entities
 Reject
 all_datastore
 all_datacenter
 all_esx
 all_vm

エンティティを個別に除外するには、プラグインによって作成されたエンティティのファイルを削除します。 プラグインは、entities_list パラメータで指定された場所にファイルを作成します (デフォルトでは /tmp/vmware_entities_list.txt です)。 この プラグイン は、最初の実行時にこのファイルを作成し、(まだ存在しない場合は)検出されたすべてのエンティティのリストを書き込みます。 このファイル例を以下に示します。

 Datacenter
 artica
 Datastore
 datastore_1
 datastore2
 ESX
 192.168.70.252
 VM
 Pandora FMS 4.0.3
 Debian2
 Debian3
 Debian4
 Redhat
 debian5
 Debian6
 Debian8
 Debian7
 Debian11
 Debian10
 Debian9
 NSM
 Pandora
 vcenter
 suse11.2

設定ファイルは、DatacenterDatastoreESX、および VM の複数のトークンに分割され、さまざまなエンティティがリストされています。設定ファイルが作成されると、プラグインは監視対象のエンティティを読み取ります。 特定のエンティティを除外する場合は、フォルダから削除します。 たとえば、次のエンティティを監視したくない場合: Debian2datastore2NSMsuse11.2、および 192.168。 70.252 、設定ファイルは次のようにする必要があります。

 Datacenter
 artica
 Datastore
 datastore_1
 ESX
 VM
 Pandora FMS 4.0.3
 Debian3
 Debian4
 Redhat
 debian5
 Debian6
 Debian8
 Debian7
 Debian11
 Debian10
 Debian9
 Pandora
 vcenter

この機能により、プラグインの実行ごとに監視対象エンティティの数を制限することで、監視負荷を分散できます。 その他の負荷分散方法については、以下で説明します。

監視設定

自動検出でこの機能を使用するには、Extra settings 内に目的の設定を追加します。

次のファイル セクションでは、すべての種類のエンティティに対して作成されたモジュールを設定します。 これらのセクションでは、Data CenterData StoreESX、および VM セクションを使用します。 これらのセクションでは、モジュールの監視を有効または無効にできます。 次の例では、ESX および仮想マシン用に作成されるモジュールに基づく設定が含まれています。

 ...
 #ESX Modules
 ESX
 cpuUsagePercent disabled
 diskRead enabled
 diskWrite enabled

 #VM Modules
 VM
 diskReadLatency disabled
 diskWriteLatency disabled
 diskRate enabled
 ...

すべての設定行はモジュールです。 ただし、前の例では、すべてのモジュールがデフォルト値で作成されています。 '名前'、'説明'、'警告' および '障害' 状態の 'しきい値' を設定できます。このタイプの設定例は、次のようになります。

 ...
 #VM Modules
 ESX
 diskReadLatency disabled
 diskWriteLatency disabled
 diskRate name = Disk Rate; desc = Lec Rate/Esc disk; limits_warn = 5 10; limits_crit = 0 4
 ...

モジュール設定に使用できるオプションは次のとおりです。

  • <module> disabled: モジュールは作成されません。
  • <module> enabled: モジュールは(デフォルト値で)作成されます。
  • <module> name = <name>; desc = <description>; limits_warn <lim_warn>; limits_crit <lim_crit» : モジュールは、指定された名前と説明とともに作成されます。 このモジュールは、'最大' と '最小' および障害と警告状態のしきい値を定義します。

設定ファイルの行の書式に従うことが非常に重要であり、何よりも、モジュールの名前と説明に文字 ; が付けられていることを確認することが非常に重要であることに注意してください。以下の 2 行は 同等ではありません (文字 ; の前のスペースを参照):

 diskRate name = Disk Rate; desc = Lec Rate/Esc Disk; limits_warn = 5 10; limits_crit = 0 4
 diskRate name = Disk Rate    ; desc = Lec Rate/Esc disk    ; limits_warn = 5 10; limits_crit    = 0    4

モジュールは、短い名前またはより単純な同等の名前で参照され、コマンド ラインに記述されます。 短い名前と完全な名前のマッピングテーブルについては、次のセクションで説明します。

上記の例の設定を分析してみましょう。 次の設定で、Disk Rate モジュールが作成されます。

 * Name: Disk Rate
 * Description: Lec Rate/Esc disk
 * Min Warning: 5
 * Max Warning: 10
 * Min Critical: 0
 * Max Critical: 4

動的に生成されるモジュールがいくつかあります。 例えば、ディスクまたはネットワークインターフェイス上のモジュールです。これらのメトリクスについて、プラグインは検出された要素ごとにモジュールを作成します。 これらのモジュールは、Pandora FMS では特別な名前が付けられています。例:

 Disk Free [0]
 Disk Free [1]
 Disk Free [2]
 ...

このような場合、名前には動的な部分があるため、%s マクロを使用して、モジュール名の変数部分に置き換えることができます。 動的モジュール設定の例は次のとおりです。

diskfree name = Disk (% s) free space; desc = Free space for disk; limits_warn = 0 0; limits_crit = 0 0

この場合、デフォルトのモジュール名は次の通りです。

Free Disk [0]

そして、次のように名前を変更します。

Disk (0) free space

モジュールの警告状態と障害状態を設定できるように、テキスト文字列を設定することもできます。 このような場合、設定は次のようになります。

powerState operation name = State; desc = VM operating state; limits_warn =. * suspended. *; limits_crit =. * poweredOff. *

正規表現を利用して、設定内でより高い柔軟性を得ることもできます。

VMware 監視の設定

自動検出を通して VMware インフラストラクチャの監視を設定するには、自動検出 で説明している手順に従います。

VMware プラグインの実行

設定した機能を確認するには、次のコマンドを実行します。

perl /usr/share/pandora_server/util/plugin/vmware-plugin.pl /usr/share/pandora_server/util/plugin/vmware-plugin.conf

注意:

  • VMware SDK 6.5.0 で、プラグインの実行中に次のような出力が表示された場合:
Server version unavailable at 'https://your_vmwre_fqdn:443/sdk/vimService.wsdl' at /usr/local/lib64/perl5/VMware/VICommon.pm line 734.

perl LWP ライブラリのバージョンを調整することで解決します:

cpan install GAAS/libwww-perl-5.837.tar.gz

インフラを監視するには、VMware 検出アプリケーションの利用をおすすめします。ただし、VMware 監視プラグインの実行を自動化する方法はいろいろあります。

Pandora FMS エージェントからのスケジュール実行

Pandora FMS エージェントを利用します:

Pandora FMS エージェントがアクセス可能な場所へ vmware-plugin.{pl,conf} をコピーします。

sudo cp /usr/share/pandora_server/util/plugin/vmware-plugin.{pl,conf} /etc/pandora/plugins/

.tar には設定ファイル vmware-plugin-events.confは ありませんが、vmware-plugin.confをコピーして 'event_mode' を手動で 1に変更することで作成できます。

次のように、新しいプラグインモジュールをエージェント設定ファイルに追加します。

module_plugin perl /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin.conf

イベントのコピーも実行したい場合は、イベントのコピーを行う別の設定ファイルを使用して別のプラグインモジュールを作成する必要があります。 構文は次の通りです。

module_plugin perl /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-events.conf

Windows システムでは、使用するインタプリタを指定する必要があります。 コマンドは次のようになります。

module_plugin perl "C:\Program Files\pandora_agent\util\vmware-plugin.pl" "C:\Program Files\pandora_agent\util\vmware-plugin.conf"

プラグイン設定ファイルのパラメータについては、以降のセクションで詳しく説明します。

VMware プラグインは、登録されたエンティティの数により、多くの実行時間を必要とします

自動検出サーバがこれらのタスクを担当するように、自動検出を介して監視することをお勧めします。

他の方法で監視する場合、複数の Pandora FMS ソフトウェアエージェントに負荷を分散するか、他のプログラミングモードを選択する必要があります。 すべての情報は、次のセクションにあります。

システム cron からのスケジュール実行

システム cron からプラグインの実行を行うことができます。 生成された要素の実行間隔(設定した間隔)と実際の実行間隔は一致している必要があります。

 # crontab に追加するエントリー。この設定では 600秒間隔にしています。
 */10 * * * * root perl /usr/share/pandora_server/util/plugin/vmware-plugin.pl /usr/share/pandora_server/util/plugin/vmware-plugin.conf

上記の例は、crontab に追加される行を示しています。 これを使用するには、間隔を 600 に設定します。

VMware 仮想アーキテクチャのモニタリング

プラグインの実行結果を見るには、'モニタリング(Monitoring)' → 'エージェント詳細(Agent Detail)' へ行きます。

以下では、他の Pandora FMS エージェントと一緒にプラグインにより作成されたエージェントが表示されます。

vmware_agent_detail.jpg

エージェント名をクリックすると、Pandroa FMS エージェント表示で VMware プラグインで監視されているモジュールを見ることができます。

agent_detail_screen.jpg

デフォルトでは、プラグインは各 VMware の要素ごとに基本的な監視項目を表示します。これらのデフォルトのエンティティ設定を以降に示します。

データセンターのデフォルトの監視
  • Ping
  • Check 443 port
データストアのデフォルトの監視
  • Capacity
  • Free Space
  • Disk Overallocation
  • Free Space Bytes
ESXi のデフォルトの監視
  • CPU Usage
  • Memory Usage
  • Data received
  • Data transmitted
  • Disk Read Latency
  • Disk Write Latency
  • Host Alive
仮想マシンのデフォルトの監視
  • CPU Usage
  • Memory Usage
  • Tools Running Status
  • Host Alive
  • Disk Free
  • Disk Read Latency
  • Disk Write Latency
  • Data received
  • Data transmitted
  • Net Usage

以降の章では、それぞれのモジュールの情報の詳細について説明します。

VMware 仮想アーキテクチャエージェントモジュール

VMware のバージョンおよび環境設定により、いくつかのモジュールが存在しない場合もあります。以下に示す表では、存在するモージュールとその機能を説明します。

プラグインは、' ESX ホストおよび仮想マシンのパフォーマンスカウンタ' の設定をすることができます。その方法については、設定ファイルの説明の章にて説明しています。

データセンターエージェントモジュール
モジュール 説明 API バージョン 存在性
Ping vCenter をサポートするマシンに対して ping の監視をします すべて 常時
Check 443 port vCenter をサポートするマシンに対して 443 番ポートの応答を監視します すべて 常時
データストアエージェントモジュール
モジュール 説明 API バージョン 存在性
Capacity バイト単位のデータストアの最大容量 すべて 常時
Free Space データストアの空き率 すべて 常時
Disk Overallocation ディスクのオーバーロケーション率 ≥v4.0 常時
Free Space Bytes バイト単位での空き容量 すべて 常時
ESXi ホストエージェントモジュール
モジュール 説明 API バージョン 存在性
Boot Time ホストが起動した時間 すべて 常時
CPU Info [x] CPU の一般情報 (ESXi CPU ごとに一つのモジュールです) すべて 接続されている場合
Memory Size バイト単位でのホストの物理メモリ容量 すべて 接続されている場合
Overall CPU Usage Mhz 単位での全 CPU の利用状況 すべて 接続されている場合
Overall Memory Usage MB 単位でのホストでの利用物理メモリ量 すべて 接続されている場合
Power State ホストの電源状態 ≥v2.5 常時
SSL Thumbprint ホストの SSL print ≥v4.0 接続されている場合
Uptime 秒単位でのホストの uptime ≥v4.1 接続されている場合
VNIC Info [x] ホストの仮想ネットワークインタフェースの情報 すべて 接続され、設定されている場合
Host Alive ESX が接続されている場合に 1、そうでない場合に 0 になるキープアライブモジュール すべて 常時
Connection State ホストの接続状態 すべて 常時
Disk Read Kbps 単位でのディスクの読み出し速度 すべて 状態レベルが ≥2 の場合
Disk Write Kbps 単位でのディスクの書き込み速度 すべて 状態レベルが ≥2 の場合
Disk Read Latency ミリ秒単位でのディスク読み出し遅延 すべて 状態レベルが ≥2 の場合
Disk Write Latency ミリ秒単位でのディスク書き込み遅延 すべて 状態レベルが ≥2 の場合
Data received Kbps 単位でのホストが受け取ったデータ量 すべて 状態レベルが ≥2 の場合
Data transmitted Kbps 単位でのホストが送信したデータ量 すべて 状態レベルが ≥2 の場合
Packages Received 一定間隔内で受け取ったパケット数 すべて 状態レベルが ≥2 の場合
Packages Transmitted 一定間隔内で送信したパケット数 すべて 状態レベルが ≥2 の場合
CPU Usage CPU 利用率(%) すべて 状態レベルが ≥2 の場合
Memory Usage メモリ利用率(%) すべて 状態レベルが ≥2 の場合
Net Usage 全 NIC での送受信データ量 すべて 状態レベルが ≥2 の場合
Disk Rate KB/sec 単位でのトータル I/O 量 すべて 状態レベルが ≥2 の場合
Max. Disk Latency 全ディスクの最大遅延 すべて 状態レベルが ≥2 の場合
HA Status ホストの HA 状態 ≥v5.0 設定されている場合
Sensor* ハードウエアセンサーの状態 (sensor ごとに一つのモジュールです) すべて ESXi >= 3.5
仮想マシンエージェントモジュール

これらのモジュールは、VMware アーキテクチャ視点からの情報を提供します。仮想マシンに関する他のパラメータをモニタしたい場合は、02_operations03_remote_monitoringに示した手法を考慮する必要があります。

モジュール 説明 API バージョン 存在性
Boot Time 仮想マシンが起動した時間 すべて 接続されている場合
Connection State 接続状態 すべて 常時
Consumed Overhead Memory MB 単位での仮想マシンが利用するメモリ量 ≥v4.0 接続されている場合
CPU Allocation 仮想マシンの CPU に割り当てられているリソースに関する情報 すべて 接続されている場合
Disk Free [x] 仮想マシンのディスク空き率(%) (仮想マシンのディスクごとに一つのモジュールになります) すべて 接続されている場合
Guest State ホストOSの動作状況 すべて 接続されている場合
Host Info VMware ホストに関する情報 すべて 設定されている場合
Host Alive 仮想マシンが実行されている場合は 1、そうでなければ 0 を返す、キープアライブモジュール すべて 常時
Host Memory Usage MB 単位での仮想マシンが利用しているメモリ量 すべて 接続されている場合
Host Name ホスト OS の名前 すべて 設定されている場合
IP Address [x] システムの IP アドレス (ネットワークインタフェースごとに 1つです) ≥v4.1 設定されている場合
MAC Address [x] システムの MAC アドレス (ネットワークインタフェースごとに 1つです) すべて 設定されている場合
Max CPU Usage 仮想マシンの CPU 使用率最大上限値 すべて 設定されている場合
Max Memory Usage 仮想マシンのメモリ使用率最大上限値 すべて 設定されている場合
Memory Allocation メモリのリソース制限 すべて 設定されている場合
Memory Overhead バイト単位での、ホストのメモリを超えて仮想マシンが使っているメモリ量 すべて 設定されている場合
Overall CPU Demand Mhz 単位での CPU パフォーマンスの基本統計情報 ≥v4.0 接続されている場合
Overall CPU Usage Mhz 単位での CPU 使用率の基本統計情報 すべて 接続されている場合
Power State 仮想マシンの現在の電源状態 すべて 常時
Private Memory MB 単位の共有せずに仮想マシンに割り当てられているメモリ容量 ≥v4.0 接続されている場合
Shared Memory MB 単位の共有して仮想マシンに割り当てられているメモリ容量 ≥v4.0 接続されている場合
Tools Running Status ホスト OS にインストールされている VMWare Tools の実行状況 ≥v4.0 設定されている場合
Trigger Alarm State VMware アラームの状態 すべて 設定されている場合
Uptime Seconds 秒単位での仮想マシンの uptime ≥v4.1 接続されている場合
Virtual Image Path 仮想マシンの設定ファイル(.vmx)パス すべて 常時
Disk Read Kbps 単位でのディスク読み出し速度 すべて 状態レベルが ≥2 の場合
Disk Write Kbps 単位でのディスク書き込み速度 すべて 状態レベルが ≥2 の場合
Disk Read Latency ミリ秒単位でのディスク読み出し遅延 すべて 状態レベルが ≥2 の場合
Disk Write Latency ミリ秒単位でのディスク書き込み遅延 すべて 状態レベルが ≥2 の場合
Data received Kbps 単位でのホストが受け取ったデータ すべて 状態レベルが ≥2 の場合
Data transmitted Kbps 単位でのホストが送信したデータ すべて 状態レベルが ≥2 の場合
Packages Received 一定間隔において受け取ったパケット数 すべて 状態レベルが ≥2 の場合
Packages Transmitted 一定時間において送信したパケット数 すべて 状態レベルが ≥2 の場合
CPU Usage CPU 利用率(%) すべて 状態レベルが ≥2 の場合
Memory Usage メモリ使用率(%) すべて 状態レベルが ≥2 の場合
Net Usage すべてのNICでの送受信データ量 すべて 状態レベルが ≥2 の場合
Disk Rate KB/sec 単位での全ディスク I/O 量 すべて 状態レベルが ≥2 の場合
Max. Disk Latency 全ディスクにおける最大遅延 すべて 状態レベルが ≥2 の場合
HeartBeat 仮想マシン heartbeat の数 すべて 状態レベルが ≥2 の場合
CPU Ready マシンの準備ができていて物理 CPU のスケジューリングができなかった時間の割合 すべて 状態レベルが ≥2 の場合
Number Snapshots 仮想マシンのスナップショット数 (このモジュールは監視のパフォーマンスに影響します。 そのため、1時間ごとなど実行間隔をあけることを強くお勧めします。) すべて 設定されている場合
HA Status 仮想マシンの HA 状態 ≥v5.0 設定されている場合

いくつかのモジュールは、VMware tools のインストールが必要です。

VMware のイベント監視

この機能は、VMWare vCenter から Pandora FMS へイベント情報をコピーするために作成されました。

これらのイベントは、Pandora FMS イベント管理フローにのっとり、自動的に vCenter エージェントに割り当てられます。次の画面は、自動検出タスクで生成されたイベントの例です。

コピー処理は、VMware が生成したイベントの情報や重要度を引き継ぎます。イベントにおける、障害、警告、情報といった重要度のレベルを Pandora に渡します。次の画面は Pandora FMS での詳細情報の例です。

Pandora FMS でのすべてのイベントは、イベント管理のアクションを実行できます。たとえば、アラーと生成、フィルタ設定、インシデント作成などです。

VMware 仮想アーキテクチャの管理と表示

VMWare プラグインと一緒に、VMware Manager および VMware View という 2つの拡張を配布しています。VMware View は、VMware アーキテクチャのコンポーネントを簡単に表示することができます。また、VMware Manager は、Pandora FMS コンソールから仮想マシンの停止、起動、再起動、稼働の中止など、仮想マシンを管理することができます。これらの拡張は、Pandora FMS 4.0 以降でのみ動作するオプションです。

バージョン 4.1 以降のプラグインから、これらの拡張は一つにまとめられました。拡張は VMware Settings と呼びます。この新しい拡張は、Pandora FMS 5.1 以降でサポートされています。

VMware View 拡張の利用

VMware アーキテクチャ表示を使うには、エージェント参照の VMware View をクリックします。

VMware View 拡張は、自動検出タスクで見つけた全 VMware アーキテクチャを含んだ以下のようなマップを表示します。

マップには、VMware アーキテクチャの要素(仮想マシン、ESX、データストアおよび、データセンター)が、それぞれを区別できる異なるアイコンで表示されています。また、Pandora FMS エージェントの状態がそれぞれの要素の状態を表します。さらに、仮想マシン、ESX および データセンター間の関係を表示しています。これにより、簡単にすばやく VMware アーキテクチャの状態を見ることができます。

この拡張には、要素を隠したり、文字を大きくしたり、要素を拡大したりといった、アーキテクチャの表示の改善を手助けしてくれるいくつかのオプションがあります。

上記のオプションを使うと、データセンターと ESX だけを見ることができます。

VMware ビューダッシュボード (バージョン 5.0 以上)

Pandora FMS バージョン 5.0 以上では、VMware ビュー拡張により、仮想アーキテクチャトポロジを表示する 2つの追加マップビューがあります。新たなタブでは、VMware ビュー拡張の異なる表示を切り替えることができます。

最初のビューは、一目で、仮想マシン、データストアや、ESXi ホスト問題が発生しているかをわかるようにした、一般的な仮想アーキテクチャを表示するダッシュボードです。さらに、グラフにより仮想アーキテクチャ全体の中で、5つの仮想マシンが使っている、メモリ、CPU、ディスク、ネットワークがわかります。一般的なパフォーマンスパラメータも簡単に確認することができます。

2つ目のビューでは、ESX ホストのパフォーマンスパラメータを確認することができます。このビューでは、ホストおよび仮想マシンの状態を確認したい ESX ホストを選択することができます。ESXi ホストにおける CPU、メモリ、ディスク、ネットワーク利用状況が表示されます。さらに、仮想マシンのほとんどのリソース情報 (CPU、メモリ、ディスク、ネットワーク) もグラフィカルに参照することができます。

VMware View オプションタブ

Pandora FMS 7.0NG 716 では、VMware 拡張は、Enterprise 版 Pandora FMS コンソールに含まれています。

ダッシュボードおよびマップオプションを設定するための、設定パネルがあります。

  • ダッシュボードグラフでの表示閾値(最小 - 最大)を調整することができます。
  • デフォルトマップビューを調整することができます。
  • 設定管理システムへのリンクを含めることができます。

VMware View のオプションタブ:

VMware Manager 拡張の利用

VMware Manager 拡張を利用するには、VMware アーキテクチャ内の仮想マシンエージェントの操作画面へ行きます。そこに、拡張にリンクした VMware のアイコンがあります。

VMware Manager 拡張では、仮想マシンを Pandora FMS コンソールから管理できます。拡張は仮想マシンの現在の状態を色で表示(緑 = on、オレンジ = off、グレー = 停止中)します。さらにコンボボックスにとりうる状態が表示され、選択して Change Status ボタンをクリックすることにより仮想マシンの状態を変更することができます。

この拡張で、次のように Stop を選択することにより仮想マシンを停止することができます。

これによりマシンが停止し、VMware Manage 拡張での表示が変ります。次のようにマシンが停止状態であると表示されます。

この拡張を利用するには、Pandora を動作させるのと同じマシンに Perl 用 VMware SDK がインストールされている必要があります。 Perl 用 VMware SDK がインストールされていないと拡張は動きません。

RENAME を使用して監視が設定されている場合、名前が変更されたターゲットでは機能しません。

カスタムパフォーマンス測定

自動検出でこの機能を利用するには、Extra settings に設定を追加します。

この節では、仮想マシンと ESX のパフォーマンスカウンタのための新たなモジュールを設定します。新たなパフォーマンスモジュールを設定するには、次の構造を利用します。

custom_performance type = mem; metric = swapinRate; module_type = generic_data; name = Swap In Rate; desc = Swap In Rate for host; limits_warn = 0 0; limits_crit = 0 0

設定パラメータは次の通りです。

  • Type: 監視するメトリックのタイプ。指定可能なタイプは次の通りです。
    • 'Cpu' CPU
    • 'Mem': メモリ
    • 'Disk': ディスク
    • 'Net' ネットワーク
    • 'Sys': システム
  • Metric: 監視するメトリック。(メトリックの表示にて後述します)
  • Module_type: Pandora のモジュールタイプ。(例 generic_data).
  • Name: モジュール名。
  • Desc: モジュールの説明。
  • Limits_warn: 警告閾値
  • Limits_crit: 障害閾値

それぞれのエンティティの Performance セクションのそれぞれのタイプに存在するメトリックを確認できます。以下では、VMware プラグインで vCenter 内より監視できるパフォーマンスメトリックを表示しています。例えば、以下の例では、ESX ホストの Performance view を表示しています。

タイプごとのすべてのメトリックの一覧を参照するには、Advanced ボタンをクリックし、Char オプションボタンをクリックします。以下のように、メトリックの全タイプの一覧と、それぞれのタイプのメトリックのウインドウが表示されます。

メトリックの各タイプには、カウンタ番号(Pandoraで監視できる値)があります。値を監視するには、内部の Name を利用する必要があります。さらに、(vCenterで設定されている)状態レベルをメトリックの Collection Level と比較検索して確認する必要があります。

例えば、ESX ホストの CPU 使用率を見たい場合は、ESX の CPU タイプの値を探し、utilization を選択します。この場合、設定ファイルに追加する必要がある設定は、次のようになります。

custom_performance type = cpu; metric = utilization; module_type = generic_data, name = CPU Utilization, desc = CPU Utilization for ESX; limits_warn = 0 0; limits_crit = 0 0
同一エージェントでの複数データセンターの監視

エージェントに設定したそれぞれのプラグインモジュールが、データセンターを監視します。複数のデータセンターを一つの Pandora FMS ソフトウエアエージェントで監視したい場合は、次の事に注意してください。

  • 監視するそれぞれのデータセンター用に module_plugin を追加する必要があります。例えば、次の通りです。
 module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter1.conf
 module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter2.conf
  • それぞれの設定ファイルで、logfileentities_listevent_pointer_file パラメータを変更する必要があります。設定ファイルは次のようになります。

vmware-plugin-datacenter1.conf

  ...
  logfile / tmp/vmware_plugin_datacenter1.log
  entities_list / tmp/vmware_entities_list_datacenter1.txt
  event_pointer_file / tmp/vmware_events_pointer_datacenter1.txt
  ...

vmware-plugin-datacenter2.conf

  ...
  logfile / tmp/vmware_plugin_datacenter2.log
  entities_list / tmp/vmware_entities_list_datacenter2.txt
  event_pointer_file / tmp/vmware_events_pointer_datacenter2.txt
  ...
  • また、イベントをコピーしたい場合は、2つ以上のプラグインモジュールを設定ファイルに追加し、event_mode フラグを有効にします。module_plugin の設定は次のようになります。
 module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter1.conf
 module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter1-events.conf
 module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter2.conf
 module_plugin /etc/pandora/plugins/vmware-plugin.pl /etc/pandora/plugins/vmware-plugin-datacenter2-events.conf
複数の Pandora サーバ間での監視の負荷分散

プラグイン設定ファイルのオプションで、Pandora FMS サーバ間で監視の負荷分散ができます。

たとえば、仮想環境が次のような構成だとします。

 DC
 |
 |- Datastore_1
 |- DataStore_2
 |
 |- ESX_1
       |- mv1.1
       |- mv1.2
       |- mv1.3

 |- ESX_2
       |- mv2.1
       |- mv2.2
       |- mv2.3

この環境において、監視のための 2つの Pandora FMS サーバがあります。負荷を分散する簡単な方法としては、データセンター、データストア、ESX を 1台目のサーバで監視し、仮想サーバを 2台目のサーバで監視します。自動検出スクリプトの設定ファイルは、次のようになります。

サーバ 1:

 Reject
 all_vm

サーバ 2:

 Reject
 all_datacenter
 all_datastore
 all_esx

サーバ 1 は、仮想マシン以外のすべてを監視し、サーバ 2 は、仮想マシンのみを監視します。

他の分散方法としては、ESX サーバごとに監視を分ける方法です。1台目の Pandora サーバが、1台目の ESX サーバに関するすべてを監視し、2台目が 2台目の ESX を監視します。entties_list.txt を 2つのファイルに分割し、異なるエージェントで 2つのプラグインの実行を構成します。 設定ファイルは次のようになります。

サーバ 1:

 Datacenter
 DC
 Datastore
 Datastore_1
 ESX
 ESX_1
 VM
 mv1.1
 mv1.2
 mv1.3

サーバ 1 は、2つ目の VMware グループに関連するすべてを無視します。それにより、1つ目の環境のみ監視します。

サーバ 2:

 Datastore
 DataStore_2
 ESX
 ESX_2
 VM
 mv2.1
 mv2.2
 mv2.3

サーバ 2 は、1つ目の VMware グループに関連するすべてとデータセンターを無視します。データセンターは、サーバ 1 で監視されるエンティティのためです。

エンティティを対象外にする機能はとても柔軟で、それぞれの Pandora FMS エージェントに少ないエンティティを割り当てることにより、負荷を分散することができます。

設定ファイル例

すべてのモジュールを無効にするファイル

 #These lines are comments
 #Datacenter Modules
 Datacenter
 ping disabled
 check443 disabled

 #Datastore Modules
 Datastore
 capacity disabled
 freeSpace disabled
 overallocation disabled
 freeSpaceBytes disabled

 #ESX Modules
 ESX
 bootTime disabled
 cpuInfo disabled
 memorySize disabled
 overallCpuUsage disabled
 overallMemoryUsage disabled
 powerState disabled
 sslThumbprint disabled
 uptime disabled
 vnicInfo disabled
 hostAlive disabled
 connectionState disabled
 diskRead disabled
 diskWrite disabled
 diskReadLatency disabled
 diskWriteLatency disabled
 netReceived disabled
 netTransmitted disabled
 netPkgRx disabled
 netPkgTx disabled
 cpuUsagePercent disabled
 memoryUsagePercent disabled
 netUsage disabled
 diskRate disabled
 maxDiskLatency disabled
 systemHealthInfo disabled

 #VM Modules
 VM
 bootTime disabled
 connectionState disabled
 consumedOverheadMemory disabled
 cpuAllocation disabled
 diskFree disabled
 guestState disabled
 host disabled
 hostAlive disabled
 diskUsed disable
 provisioningUsed disable
 totalReadLatency disable
 totalWriteLatency disable
 hostMemoryUsage disabled
 hostName disabled
 ipAddress disabled
 macAddress disabled
 maxCpuUsage disabled
 maxMemoryUsage disabled
 memoryAllocation disabled
 memoryOverhead disabled
 overallCpuDemand disabled
 overallCpuUsage disabled
 powerState disabled
 privateMemory disabled
 sharedMemory disabled
 toolsRunningStatus disabled
 triggeredAlarmState disabled
 virtualImagePath disabled
 uptimeSeconds disabled
 diskRead disabled
 diskWrite disabled
 diskReadLatency disabled
 diskWriteLatency disabled
 netReceived disabled
 netTransmitted disabled
 netPkgRx disabled
 netPkgTx  disabled
 cpuUsagePercent disabled
 memoryUsagePercent disabled
 netUsage disabled
 diskRate disabled
 maxDiskLatency disabled
 heartbeat disabled
 cpuReady disabled

短い名前の関係表

データセンター
長い名前 短い名前
Ping ping
Check 443 port check443
データストア
長い名前 短い名前
Capacity capacity
Free Space freeSpace
Disk Overallocation overallocation
Free Space Bytes freeSpaceBytes
ESX
長い名前 短い名前
Boot Time bootTime
CPU Info cpuInfo
Memory Size memorySize
Overall CPU Usage overallCpuUsage
Overall Memory Usage overallMemoryUsage
Power State powerState
SSL Thumbprint sslThumbprint
Uptime uptime
VNIC Info vnicInfo
Host Alive hostAlive
Connection State connectionState
Disk Read diskRead
Disk Write diskWrite
Disk Read Latency diskReadLatency
Disk Write Latency diskWriteLatency
Data received netReceived
Data transmitted netTransmitted
Packages Received netPkgRx
Packages Transmitted netPkgTx
CPU Usage cpuUsagePercent
Memory Usage memoryUsagePercent
Net Usage netUsage
Disk Rate diskRate
Max Disk Latency maxDiskLatency
HA Status haStatus
Sensor* haStatus
仮想マシン
長い名前 短い名前
Boot Time bootTime
Connection State connectionState
Consumed Overhead Memory consumedOverheadMemory
CPU Allocation cpuAllocation
Disk Free diskFree
Guest State guestState
Host Info host
Host Alive hostAlive
Disk Used diskUsed
Provisioning Used provisioningUsed
Total Read Latency totalReadLatency
Total Write Latency totalWriteLatency
Host Memory Usage hostMemoryUsage
Host Name hostName
IP Address ipAddress
MAC Address macAddress
Max. CPU Usage maxCpuUsage
Max. Memory Usage maxMemoryUsage
Memory Allocation memoryAllocation
Memory Overhead memoryOverhead
Overall CPU Demand overallCpuDemand
Overall CPU Usage overallCpuUsage
Power State powerState
Private Memory privateMemory
Shared Memory sharedMemory
Tools Running Status toolsRunningStatus
Trigger Alarm State triggeredAlarmState
Uptime Seconds uptimeSeconds
Virtual Image Path virtualImagePath
Disk Read diskRead
Disk Write diskWrite
Disk Read Latency diskReadLatency
Disk Write Latency diskWriteLatency
Data Received netReceived
Data Transmitted netTransmitted
Packages Received netPkgRx
Packages Transmitted netPkgTx
CPU Usage cpuUsagePercent
Memory Usage memoryUsagePercent
Net Usage netUsage
Disk Rate diskRate
Max. Disk Latency maxDiskLatency
HeartBeat heartbeat
CPU Ready cpuReady
Number of Snapshots snapshotCounter
HA Status haStatus
イベントテーブル

このイベント一覧は、Pandora FMS でイベントのアラートを設定するのに役立ちます。正しい最新のイベント一覧は、VMware のドキュメントを確認してください。

イベント 重要度 イベントタイプ グループ
An account was created on host {host.name} Informational System All
Account {account} was removed on host {host.name} Informational System All
An account was updated on host {host.name} Informational System All
The default password for the root user on the host {host.name} has not been changed Informational System All
Alarm '{alarm.name}' on {entity.name} triggered an action Informational System All
Created alarm '{alarm.name}' on {entity.name} Informational System All
Alarm '{alarm.name}' on {entity.name} sent email to {to} Informational System All
Alarm '{alarm.name}' on {entity.name} cannot send email to {to} Critical System All
Reconfigured alarm '{alarm.name}' on {entity.name} Informational System All
Removed alarm '{alarm.name}' on {entity.name} Informational System All
Alarm '{alarm.name}' on {entity.name} ran script {script} Informational System All
Alarm '{alarm.name}' on {entity.name} did not complete script: {reason.msg} Critical System All
Alarm '{alarm.name}': an SNMP trap for entity {entity.name} was sent Informational System All
Alarm '{alarm.name}' on entity {entity.name} did not send SNMP trap: {reason.msg} Critical System All
Alarm '{alarm.name}' on {entity.name} changed from {[email protected]} to {[email protected]} Informational System All
All running virtual machines are licensed Informational System All
User cannot logon since the user is already logged on Informational System All
Cannot login {userName}@{ipAddress} Critical System All
The operation performed on host {host.name} in {datacenter.name} was canceled Informational System All
Changed ownership of file name {filename} from {oldOwner} to {newOwner} on {host.name} in {datacenter.name}. Informational System All
Cannot change ownership of file name {filename} from {owner} to {attemptedOwner} on {host.name} in {datacenter.name}. Critical System All
Checked cluster for compliance Informational System All
Created cluster {computeResource.name} in {datacenter.name} Informational System All
Removed cluster {computeResource.name} in datacenter {datacenter.name} Informational System All
Insufficient capacity in cluster {computeResource.name} to satisfy resource configuration in {datacenter.name} Critical System All
Reconfigured cluster {computeResource.name} in datacenter {datacenter.name} Informational System All
Configuration status on cluster {computeResource.name} changed from {[email protected]} to {[email protected]} in {datacenter.name} Informational System All
Created new custom field definition {name} Informational System All
Removed field definition {name} Informational System All
Renamed field definition from {name} to {newName} Informational System All
Changed custom field {name} on {entity.name} in {datacenter.name} to {value} Informational System All
Cannot complete customization of VM {vm.name}. See customization log at {logLocation} on the guest OS for details. Informational System All
An error occurred while setting up Linux identity. See log file '{logLocation}' on guest OS for details. Critical System All
An error occurred while setting up network properties of the guest OS. See the log file {logLocation} in the guest OS for details. Critical System All
Started customization of VM {vm.name}. Customization log located at {logLocation} in the guest OS. Informational System All
Customization of VM {vm.name} succeeded. Customization log located at {logLocation} in the guest OS. Informational System All
The version of Sysprep {sysprepVersion} provided for customizing VM {vm.name} does not match the version of guest OS {systemVersion}. See the log file {logLocation} in the guest OS for more information. Critical System All
An error occurred while customizing VM {vm.name}. For details reference the log file {logLocation} in the guest OS. Critical System All
dvPort group {net.name} in {datacenter.name} was added to switch {dvs.name}. Informational System All
dvPort group {net.name} in {datacenter.name} was deleted. Informational System All
Informational System All
dvPort group {net.name} in {datacenter.name} was reconfigured. Informational System All
dvPort group {oldName} in {datacenter.name} was renamed to {newName} Informational System All
HA admission control disabled on cluster {computeResource.name} in {datacenter.name} Informational System All
HA admission control enabled on cluster {computeResource.name} in {datacenter.name} Informational System All
Re-established contact with a primary host in this HA cluster Informational System All
Unable to contact a primary HA agent in cluster {computeResource.name} in {datacenter.name} Critical System All
All hosts in the HA cluster {computeResource.name} in {datacenter.name} were isolated from the network. Check the network configuration for proper network redundancy in the management network. Critical System All
HA disabled on cluster {computeResource.name} in {datacenter.name} Informational System All
HA enabled on cluster {computeResource.name} in {datacenter.name} Informational System All
A possible host failure has been detected by HA on {failedHost.name} in cluster {computeResource.name} in {datacenter.name} Critical System All
Host {isolatedHost.name} has been isolated from cluster {computeResource.name} in {datacenter.name} Warning System All
Created datacenter {datacenter.name} in folder {parent.name} Informational System All
Renamed datacenter from {oldName} to {newName} Informational System All
Datastore {datastore.name} increased in capacity from {oldCapacity} bytes to {newCapacity} bytes in {datacenter.name} Informational System All
Removed unconfigured datastore {datastore.name} Informational System All
Discovered datastore {datastore.name} on {host.name} in {datacenter.name} Informational System All
Multiple datastores named {datastore} detected on host {host.name} in {datacenter.name} Critical System All
<internal> Informational System All
File or directory {sourceFile} copied from {sourceDatastore.name} to {datastore.name} as {targetFile} Informational System All
File or directory {targetFile} deleted from {datastore.name} Informational System All
File or directory {sourceFile} moved from {sourceDatastore.name} to {datastore.name} as {targetFile} Informational System All
Reconfigured Storage I/O Control on datastore {datastore.name} Informational System All
Configured datastore principal {datastorePrincipal} on host {host.name} in {datacenter.name} Informational System All
Removed datastore {datastore.name} from {host.name} in {datacenter.name} Informational System All
Renamed datastore from {oldName} to {newName} in {datacenter.name} Informational System All
Renamed datastore from {oldName} to {newName} in {datacenter.name} Informational System All
Disabled DRS on cluster {computeResource.name} in datacenter {datacenter.name} Informational System All
Enabled DRS on {computeResource.name} with automation level {behavior} in {datacenter.name} Informational System All
DRS put {host.name} into standby mode Informational System All
DRS is putting {host.name} into standby mode Informational System All
DRS cannot move {host.name} out of standby mode Critical System All
DRS moved {host.name} out of standby mode Informational System All
DRS is moving {host.name} out of standby mode Informational System All
DRS invocation not completed Critical System All
DRS has recovered from the failure Informational System All
Unable to apply DRS resource settings on host {host.name} in {datacenter.name}. {reason.msg}. This can significantly reduce the effectiveness of DRS. Critical System All
Resource configuration specification returns to synchronization from previous failure on host '{host.name}' in {datacenter.name} Informational System All
{vm.name} on {host.name} in {datacenter.name} is now compliant with DRS VM-Host affinity rules Informational System All
{vm.name} on {host.name} in {datacenter.name} is violating a DRS VM-Host affinity rule Informational System All
DRS migrated {vm.name} from {sourceHost.name} to {host.name} in cluster {computeResource.name} in {datacenter.name} Informational System All
DRS powered On {vm.name} on {host.name} in {datacenter.name} Informational System All
Virtual machine {macAddress} on host {host.name} has a duplicate IP {duplicateIP} Informational System All
A vNetwork Distributed Switch {dvs.name} was created in {datacenter.name}. Informational System All
vNetwork Distributed Switch {dvs.name} in {datacenter.name} was deleted. Informational System All
vNetwork Distributed Switch event Informational System All
The vNetwork Distributed Switch {dvs.name} configuration on the host was synchronized with that of the vCenter Server. Informational System All
The host {hostJoined.name} joined the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
The host {hostLeft.name} left the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
The host {hostMember.name} changed status on the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
The vNetwork Distributed Switch {dvs.name} configuration on the host differed from that of the vCenter Server. Warning System All
vNetwork Distributed Switch {srcDvs.name} was merged into {dstDvs.name} in {datacenter.name}. Informational System All
dvPort {portKey} was blocked in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
The port {portKey} was connected in the vNetwork Distributed Switch {dvs.name} in {datacenter.name} Informational System All
New ports were created in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
Deleted ports in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
The dvPort {portKey} was disconnected in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
dvPort {portKey} entered passthrough mode in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
dvPort {portKey} exited passthrough mode in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
dvPort {portKey} was moved into the dvPort group {portgroupName} in {datacenter.name}. Informational System All
dvPort {portKey} was moved out of the dvPort group {portgroupName} in {datacenter.name}. Informational System All
The port {portKey} link was down in the vNetwork Distributed Switch {dvs.name} in {datacenter.name} Informational System All
The port {portKey} link was up in the vNetwork Distributed Switch {dvs.name} in {datacenter.name} Informational System All
Reconfigured ports in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
dvPort {portKey} was unblocked in the vNetwork Distributed Switch {dvs.name} in {datacenter.name}. Informational System All
The vNetwork Distributed Switch {dvs.name} in {datacenter.name} was reconfigured. Informational System All
The vNetwork Distributed Switch {oldName} in {datacenter.name} was renamed to {newName}. Informational System All
An upgrade for the vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} is available. Informational System All
An upgrade for the vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} is in progress. Informational System All
Cannot complete an upgrade for the vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} Informational System All
vNetwork Distributed Switch {dvs.name} in datacenter {datacenter.name} was upgraded. Informational System All
Host {host.name} in {datacenter.name} has entered maintenance mode Informational System All
The host {host.name} is in standby mode Informational System All
Host {host.name} in {datacenter.name} has started to enter maintenance mode Informational System All
The host {host.name} is entering standby mode Informational System All
{message} Critical System All
Host {host.name} in {datacenter.name} has exited maintenance mode Informational System All
The host {host.name} could not exit standby mode Critical System All
The host {host.name} is no longer in standby mode Informational System All
The host {host.name} is exiting standby mode Informational System All
Sufficient resources are available to satisfy HA failover level in cluster {computeResource.name} in {datacenter.name} Informational System All
General event: {message} Informational System All
Error detected on {host.name} in {datacenter.name}: {message} Critical System All
Issue detected on {host.name} in {datacenter.name}: {message} Informational System All
Issue detected on {host.name} in {datacenter.name}: {message} Warning System All
User logged event: {message} Informational System All
Error detected for {vm.name} on {host.name} in {datacenter.name}: {message} Critical System All
Issue detected for {vm.name} on {host.name} in {datacenter.name}: {message} Informational System All
Issue detected for {vm.name} on {host.name} in {datacenter.name}: {message} Warning System All
The vNetwork Distributed Switch corresponding to the proxy switches {switchUuid} on the host {host.name} does not exist in vCenter Server or does not contain this host. Informational System All
A ghost proxy switch {switchUuid} on the host {host.name} was resolved. Informational System All
The message changed: {message} Informational System All
{componentName} status changed from {oldStatus} to {newStatus} Informational System All
Cannot add host {hostname} to datacenter {datacenter.name} Critical System All
Added host {host.name} to datacenter {datacenter.name} Informational System All
Administrator access to the host {host.name} is disabled Warning System All
Administrator access to the host {host.name} has been restored Warning System All
Cannot connect {host.name} in {datacenter.name}: cannot configure management account Critical System All
Cannot connect {host.name} in {datacenter.name}: already managed by {serverName} Critical System All
Cannot connect host {host.name} in {datacenter.name} : server agent is not responding Critical System All
Cannot connect {host.name} in {datacenter.name}: incorrect user name or password Critical System All
Cannot connect {host.name} in {datacenter.name}: incompatible version Critical System All
Cannot connect host {host.name} in {datacenter.name}. Did not install or upgrade vCenter agent service. Critical System All
Cannot connect {host.name} in {datacenter.name}: error connecting to host Critical System All
Cannot connect {host.name} in {datacenter.name}: network error Critical System All
Cannot connect host {host.name} in {datacenter.name}: account has insufficient privileges Critical System All
Cannot connect host {host.name} in {datacenter.name} Critical System All
Cannot connect {host.name} in {datacenter.name}: not enough CPU licenses Critical System All
Cannot connect {host.name} in {datacenter.name}: incorrect host name Critical System All
Cannot connect {host.name} in {datacenter.name}: time-out waiting for host response Critical System All
Host {host.name} checked for compliance. Informational System All
Host {host.name} is in compliance with the attached profile Informational System All
Host configuration changes applied. Informational System All
Connected to {host.name} in {datacenter.name} Informational System All
Host {host.name} in {datacenter.name} is not responding Critical System All
dvPort connected to host {host.name} in {datacenter.name} changed status Informational System All
HA agent disabled on {host.name} in cluster {computeResource.name} in {datacenter.name} Informational System All
HA is being disabled on {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} Informational System All
HA agent enabled on {host.name} in cluster {computeResource.name} in {datacenter.name} Informational System All
Enabling HA agent on {host.name} in cluster {computeResource.name} in {datacenter.name} Warning System All
HA agent on {host.name} in cluster {computeResource.name} in {datacenter.name} has an error {message}: {[email protected]} Critical System All
HA agent on host {host.name} in cluster {computeResource.name} in {datacenter.name} is configured correctly Informational System All
Disconnected from {host.name} in {datacenter.name}. Reason: {[email protected]} Informational System All
Cannot restore some administrator permissions to the host {host.name} Critical System All
Host {host.name} has the following extra networks not used by other hosts for HA communication:{ips}. Consider using HA advanced option das.allowNetwork to control network usage Critical System All
Cannot complete command 'hostname -s' on host {host.name} or returned incorrect name format Critical System All
Maximum ({capacity}) number of hosts allowed for this edition of vCenter Server has been reached Critical System All
The virtual machine inventory file on host {host.name} is damaged or unreadable. Informational System All
IP address of the host {host.name} changed from {oldIP} to {newIP} Informational System All
Configuration of host IP address is inconsistent on host {host.name}: address resolved to {ipAddress} and {ipAddress2} Critical System All
Cannot resolve IP address to short name on host {host.name} Critical System All
Host {host.name} could not reach isolation address: {isolationIp} Critical System All
A host license for {host.name} has expired Critical System All
Host {host.name} does not have the following networks used by other hosts for HA communication:{ips}. Consider using HA advanced option das.allowNetwork to control network usage Critical System All
Host monitoring state in {computeResource.name} in {datacenter.name} changed to {[email protected]} Informational System All
Host {host.name} currently has no available networks for HA Communication. The following networks are currently used by HA: {ips} Critical System All
Host {host.name} has no port groups enabled for HA communication. Critical System All
Host {host.name} currently has no management network redundancy Critical System All
Host {host.name} is not in compliance with the attached profile Critical System All
Host {host.name} is not a cluster member in {datacenter.name} Critical System All
Insufficient capacity in host {computeResource.name} to satisfy resource configuration in {datacenter.name} Critical System All
Primary agent {primaryAgent} was not specified as a short name to host {host.name} Critical System All
Profile is applied on the host {host.name} Informational System All
Cannot reconnect to {host.name} in {datacenter.name} Critical System All
Removed host {host.name} in {datacenter.name} Informational System All
Host names {shortName} and {shortName2} both resolved to the same IP address. Check the host's network configuration and DNS entries Critical System All
Cannot resolve short name {shortName} to IP address on host {host.name} Critical System All
Shut down of {host.name} in {datacenter.name}: {reason} Informational System All
Configuration status on host {computeResource.name} changed from {[email protected]} to {[email protected]} in {datacenter.name} Informational System All
Cannot synchronize host {host.name}. {reason.msg} Critical System All
Cannot install or upgrade vCenter agent service on {host.name} in {datacenter.name} Critical System All
The userworld swap is not enabled on the host {host.name} Warning System All
Host {host.name} vNIC {vnic.vnic} was reconfigured to use dvPort {vnic.port.portKey} with port level configuration, which might be different from the dvPort group. Informational System All
WWNs are changed for {host.name} Warning System All
The WWN ({wwn}) of {host.name} conflicts with the currently registered WWN Critical System All
Host {host.name} did not provide the information needed to acquire the correct set of licenses Critical System All
{message} Informational System All
Insufficient resources to satisfy HA failover level on cluster {computeResource.name} in {datacenter.name} Critical System All
The license edition '{feature}' is invalid Critical System All
License {feature.featureName} has expired Critical System All
License inventory is not compliant. Licenses are overused Critical System All
Unable to acquire licenses due to a restriction in the option file on the license server. Critical System All
License server {licenseServer} is available Informational System All
License server {licenseServer} is unavailable Critical System All
Created local datastore {datastore.name} on {host.name} in {datacenter.name} Informational System All
The Local Tech Support Mode for the host {host.name} has been enabled Informational System All
Datastore {datastore} which is configured to back the locker does not exist Warning System All
Locker was reconfigured from {oldDatastore} to {newDatastore} datastore Informational System All
Unable to migrate {vm.name} from {host.name} in {datacenter.name}: {fault.msg} Critical System All
Unable to migrate {vm.name} from {host.name} to {dstHost.name} in {datacenter.name}: {fault.msg} Critical System All
Migration of {vm.name} from {host.name} to {dstHost.name} in {datacenter.name}: {fault.msg} Warning System All
Cannot migrate {vm.name} from {host.name} to {dstHost.name} and resource pool {dstPool.name} in {datacenter.name}: {fault.msg} Critical System All
Migration of {vm.name} from {host.name} to {dstHost.name} and resource pool {dstPool.name} in {datacenter.name}: {fault.msg} Warning System All
Migration of {vm.name} from {host.name} in {datacenter.name}: {fault.msg} Warning System All
Created NAS datastore {datastore.name} on {host.name} in {datacenter.name} Informational System All
Cannot login user {userName}@{ipAddress}: no permission Critical System All
No datastores have been configured on the host {host.name} Informational System All
A required license {feature.featureName} is not reserved Critical System All
Unable to automatically migrate {vm.name} from {host.name} Informational System All
Non-VI workload detected on datastore {datastore.name} Critical System All
Not enough resources to failover {vm.name} in {computeResource.name} in {datacenter.name} Informational System All
The vNetwork Distributed Switch configuration on some hosts differed from that of the vCenter Server. Warning System All
Permission created for {principal} on {entity.name}, role is {role.name}, propagation is {[email protected]} Informational System All
Permission rule removed for {principal} on {entity.name} Informational System All
Permission changed for {principal} on {entity.name}, role is {role.name}, propagation is {[email protected]} Informational System All
Profile {profile.name} attached. Informational System All
Profile {profile.name} was changed. Informational System All
Profile is created. Informational System All
Profile {profile.name} detached. Informational System All
Profile {profile.name} reference host changed. Informational System All
Profile was removed. Informational System All
Remote Tech Support Mode (SSH) for the host {host.name} has been enabled Informational System All
Created resource pool {resourcePool.name} in compute-resource {computeResource.name} in {datacenter.name} Informational System All
Removed resource pool {resourcePool.name} on {computeResource.name} in {datacenter.name} Informational System All
Moved resource pool {resourcePool.name} from {oldParent.name} to {newParent.name} on {computeResource.name} in {datacenter.name} Informational System All
Updated configuration for {resourcePool.name} in compute-resource {computeResource.name} in {datacenter.name} Informational System All
Resource usage exceeds configuration for resource pool {resourcePool.name} in compute-resource {computeResource.name} in {datacenter.name} Critical System All
New role {role.name} created Informational System All
Role {role.name} removed Informational System All
Modifed role {role.name} Informational System All
Task {scheduledTask.name} on {entity.name} in {datacenter.name} completed successfully Informational System All
Created task {scheduledTask.name} on {entity.name} in {datacenter.name} Informational System All
Task {scheduledTask.name} on {entity.name} in {datacenter.name} sent email to {to} Informational System All
Task {scheduledTask.name} on {entity.name} in {datacenter.name} cannot send email to {to}: {reason.msg} Critical System All
Task {scheduledTask.name} on {entity.name} in {datacenter.name} cannot be completed: {reason.msg} Critical System All
Reconfigured task {scheduledTask.name} on {entity.name} in {datacenter.name} Informational System All
Removed task {scheduledTask.name} on {entity.name} in {datacenter.name} Informational System All
Running task {scheduledTask.name} on {entity.name} in {datacenter.name} Informational System All
A vCenter Server license has expired Critical System All
vCenter started Informational System All
A session for user '{terminatedUsername}' has stopped Informational System All
Task: {info.descriptionId} Informational System All
Task: {info.descriptionId} time-out Informational System All
Upgrading template {legacyTemplate} Informational System All
Cannot upgrade template {legacyTemplate} due to: {reason.msg} Informational System All
Template {legacyTemplate} upgrade completed Informational System All
The operation performed on {host.name} in {datacenter.name} timed out Warning System All
There are {unlicensed} unlicensed virtual machines on host {host} - there are only {available} licenses available Informational System All
{unlicensed} unlicensed virtual machines found on host {host} Informational System All
The agent on host {host.name} is updated and will soon restart Informational System All
User {userLogin} was added to group {group} Informational System All
User {userName}@{ipAddress} logged in Informational System All
User {userName} logged out Informational System All
Password was changed for account {userLogin} on host {host.name} Informational System All
User {userLogin} removed from group {group} Informational System All
{message} Informational System All
Created VMFS datastore {datastore.name} on {host.name} in {datacenter.name} Informational System All
Expanded VMFS datastore {datastore.name} on {host.name} in {datacenter.name} Informational System All
Extended VMFS datastore {datastore.name} on {host.name} in {datacenter.name} Informational System All
A vMotion license for {host.name} has expired Critical System All
Cannot uninstall vCenter agent from {host.name} in {datacenter.name}. {[email protected]} Critical System All
vCenter agent has been uninstalled from {host.name} in {datacenter.name} Informational System All
Cannot upgrade vCenter agent on {host.name} in {datacenter.name}. {[email protected]} Critical System All
vCenter agent has been upgraded on {host.name} in {datacenter.name} Informational System All
VIM account password was changed on host {host.name} Informational System All
Remote console to {vm.name} on {host.name} in {datacenter.name} has been opened Informational System All
A ticket for {vm.name} of type {ticketType} on {host.name} in {datacenter.name} has been acquired Informational System All
Invalid name for {vm.name} on {host.name} in {datacenter.name}. Renamed from {oldName} to {newName} Informational System All
Cloning {vm.name} on host {host.name} in {datacenter.name} to {destName} on host {destHost.name} Informational System All
Cloning {vm.name} on host {host.name} in {datacenter.name} to {destName} on host {destHost.name} Informational System All
Creating {vm.name} on host {host.name} in {datacenter.name} Informational System All
Deploying {vm.name} on host {host.name} in {datacenter.name} from template {srcTemplate.name} Informational System All
Migrating {vm.name} from {host.name} to {destHost.name} in {datacenter.name} Informational System All
Relocating {vm.name} from {host.name} to {destHost.name} in {datacenter.name} Informational System All
Relocating {vm.name} in {datacenter.name} from {host.name} to {destHost.name} Informational System All
Cannot clone {vm.name}: {reason.msg} Critical System All
Clone of {sourceVm.name} completed Informational System All
Configuration file for {vm.name} on {host.name} in {datacenter.name} cannot be found Informational System All
Virtual machine {vm.name} is connected Informational System All
Created virtual machine {vm.name} on {host.name} in {datacenter.name} Informational System All
dvPort connected to VM {vm.name} on {host.name} in {datacenter.name} changed status Informational System All
{vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} reset by HA. Reason: {[email protected]} Informational System All
{vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} reset by HA. Reason: {[email protected]}. A screenshot is saved at {screenshotFilePath}. Informational System All
Cannot reset {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} Warning System All
Unable to update HA agents given the state of {vm.name} Critical System All
HA agents have been updated with the current state of the virtual machine Informational System All
Disconnecting all hosts as the date of virtual machine {vm.name} has been rolled back Critical System All
Cannot deploy template: {reason.msg} Critical System All
Template {srcTemplate.name} deployed on host {host.name} Informational System All
{vm.name} on host {host.name} in {datacenter.name} is disconnected Informational System All
Discovered {vm.name} on {host.name} in {datacenter.name} Informational System All
Cannot create virtual disk {disk} Critical System All
Migrating {vm.name} off host {host.name} in {datacenter.name} Informational System All
End a recording session on {vm.name} Informational System All
End a replay session on {vm.name} Informational System All
Cannot migrate {vm.name} from {host.name} to {destHost.name} in {datacenter.name} Critical System All
Cannot complete relayout {vm.name} on {host.name} in {datacenter.name}: {reason.msg} Critical System All
Cannot complete relayout for virtual machine {vm.name} which has disks on a VMFS2 volume. Critical System All
vCenter cannot start the Secondary VM {vm.name}. Reason: {[email protected]} Critical System All
Cannot power Off {vm.name} on {host.name} in {datacenter.name}: {reason.msg} Critical System All
Cannot power On {vm.name} on {host.name} in {datacenter.name}. {reason.msg} Critical System All
Cannot reboot the guest OS for {vm.name} on {host.name} in {datacenter.name}. {reason.msg} Critical System All
Cannot suspend {vm.name} on {host.name} in {datacenter.name}: {reason.msg} Critical System All
{vm.name} cannot shut down the guest OS on {host.name} in {datacenter.name}: {reason.msg} Critical System All
{vm.name} cannot standby the guest OS on {host.name} in {datacenter.name}: {reason.msg} Critical System All
Cannot suspend {vm.name} on {host.name} in {datacenter.name}: {reason.msg} Critical System All
vCenter cannot update the Secondary VM {vm.name} configuration Critical System All
Failover unsuccessful for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}. Reason: {reason.msg} Warning System All
Fault Tolerance state on {vm.name} changed from {[email protected]} to {[email protected]} Informational System All
Fault Tolerance protection has been turned off for {vm.name} Informational System All
The Fault Tolerance VM ({vm.name}) has been terminated. {[email protected]} Informational System All
Guest OS reboot for {vm.name} on {host.name} in {datacenter.name} Informational System All
Guest OS shut down for {vm.name} on {host.name} in {datacenter.name} Informational System All
Guest OS standby for {vm.name} on {host.name} in {datacenter.name} Informational System All
VM monitoring state in {computeResource.name} in {datacenter.name} changed to {[email protected]} Informational System All
Assign a new instance UUID ({instanceUuid}) to {vm.name} Informational System All
The instance UUID of {vm.name} has been changed from ({oldInstanceUuid}) to ({newInstanceUuid}) Informational System All
The instance UUID ({instanceUuid}) of {vm.name} conflicts with the instance UUID assigned to {conflictedVm.name} Critical System All
New MAC address ({mac}) assigned to adapter {adapter} for {vm.name} Informational System All
Changed MAC address from {oldMac} to {newMac} for adapter {adapter} for {vm.name} Warning System All
The MAC address ({mac}) of {vm.name} conflicts with MAC assigned to {conflictedVm.name} Critical System All
Reached maximum Secondary VM (with FT turned On) restart count for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}. Warning System All
Reached maximum VM restart count for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name}. Warning System All
Error message on {vm.name} on {host.name} in {datacenter.name}: {message} Critical System All
Message on {vm.name} on {host.name} in {datacenter.name}: {message} Informational System All
Warning message on {vm.name} on {host.name} in {datacenter.name}: {message} Warning System All
Migration of virtual machine {vm.name} from {sourceHost.name} to {host.name} completed Informational System All
No compatible host for the Secondary VM {vm.name} Critical System All
Not all networks for {vm.name} are accessible by {destHost.name} Warning System All
{vm.name} does not exist on {host.name} in {datacenter.name} Warning System All
{vm.name} was powered Off on the isolated host {isolatedHost.name} in cluster {computeResource.name} in {datacenter.name} Informational System All
{vm.name} on {host.name} in {datacenter.name} is powered off Informational System All
{vm.name} on {host.name} in {datacenter.name} is powered on Informational System All
Virtual machine {vm.name} powered On with vNICs connected to dvPorts that have a port level configuration, which might be different from the dvPort group configuration. Informational System All
VM ({vm.name}) failed over to {host.name}. {[email protected]} Critical System All
Reconfigured {vm.name} on {host.name} in {datacenter.name} Informational System All
Registered {vm.name} on {host.name} in {datacenter.name} Informational System All
Relayout of {vm.name} on {host.name} in {datacenter.name} completed Informational System All
{vm.name} on {host.name} in {datacenter.name} is in the correct format and relayout is not necessary Informational System All
{vm.name} on {host.name} reloaded from new configuration {configPath}. Informational System All
{vm.name} on {host.name} could not be reloaded from {configPath}. Critical System All
Cannot relocate virtual machine '{vm.name}' in {datacenter.name} Critical System All
Completed the relocation of the virtual machine Informational System All
Remote console connected to {vm.name} on host {host.name} Informational System All
Remote console disconnected from {vm.name} on host {host.name} Informational System All
Removed {vm.name} on {host.name} from {datacenter.name} Informational System All
Renamed {vm.name} from {oldName} to {newName} in {datacenter.name} Warning System All
{vm.name} on {host.name} in {datacenter.name} is reset Informational System All
Moved {vm.name} from resource pool {oldParent.name} to {newParent.name} in {datacenter.name} Informational System All
Changed resource allocation for {vm.name} Informational System All
Virtual machine {vm.name} was restarted on {host.name} since {sourceHost.name} failed Informational System All
{vm.name} on {host.name} in {datacenter.name} is resumed Informational System All
A Secondary VM has been added for {vm.name} Informational System All
vCenter disabled Fault Tolerance on VM '{vm.name}' because the Secondary VM could not be powered On. Critical System All
Disabled Secondary VM for {vm.name} Informational System All
Enabled Secondary VM for {vm.name} Informational System All
Started Secondary VM for {vm.name} Informational System All
{vm.name} was shut down on the isolated host {isolatedHost.name} in cluster {computeResource.name} in {datacenter.name}: {[email protected]} Informational System All
Start a recording session on {vm.name} Informational System All
Start a replay session on {vm.name} Informational System All
{vm.name} on host {host.name} in {datacenter.name} is starting Informational System All
Starting Secondary VM for {vm.name} Informational System All
The static MAC address ({mac}) of {vm.name} conflicts with MAC assigned to {conflictedVm.name} Critical System All
{vm.name} on {host.name} in {datacenter.name} is stopping Informational System All
{vm.name} on {host.name} in {datacenter.name} is suspended Informational System All
{vm.name} on {host.name} in {datacenter.name} is being suspended Informational System All
Starting the Secondary VM {vm.name} timed out within {timeout} ms Critical System All
Unsupported guest OS {guestId} for {vm.name} on {host.name} in {datacenter.name} Warning System All
Virtual hardware upgraded to version {version} Informational System All
Cannot upgrade virtual hardware Critical System All
Upgrading virtual hardware on {vm.name} in {datacenter.name} to version {version} Informational System All
Assigned new BIOS UUID ({uuid}) to {vm.name} on {host.name} in {datacenter.name} Informational System All
Changed BIOS UUID from {oldUuid} to {newUuid} for {vm.name} on {host.name} in {datacenter.name} Warning System All
BIOS ID ({uuid}) of {vm.name} conflicts with that of {conflictedVm.name} Critical System All
New WWNs assigned to {vm.name} Informational System All
WWNs are changed for {vm.name} Warning System All
The WWN ({wwn}) of {vm.name} conflicts with the currently registered WWN Critical System All
{message} Warning System All
Booting from iSCSI failed with an error. See the VMware Knowledge Base for information on configuring iBFT networking. Warning System All
com.vmware.license.AddLicenseEventLicense {licenseKey} added to VirtualCenter Informational System All
com.vmware.license.AssignLicenseEventLicense {licenseKey} assigned to asset {entityName} with id {entityId} Informational System All
com.vmware.license.DLFDownloadFailedEventFailed to download license information from the host {hostname} due to {errorReason.@enum.com.vmware.license.DLFDownloadFailedEvent.DLFDownloadFailedReason} Warning System All
com.vmware.license.LicenseAssignFailedEventLicense assignment on the host fails. Reasons: {[email protected]}. Informational System All
com.vmware.license.LicenseExpiryEventYour host license will expire in {remainingDays} days. The host will be disconnected from VC when its license expires. Warning System All
com.vmware.license.LicenseUserThresholdExceededEventCurrent license usage ({currentUsage} {costUnitText}) for {edition} exceeded the user-defined threshold ({threshold} {costUnitText}) Warning System All
com.vmware.license.RemoveLicenseEventLicense {licenseKey} removed from VirtualCenter Informational System All
com.vmware.license.UnassignLicenseEventLicense unassigned from asset {entityName} with id {entityId} Informational System All
com.vmware.vc.HA.ClusterFailoverActionCompletedEventHA completed a failover action in cluster {computeResource.name} in datacenter {datacenter.name} Informational System All
com.vmware.vc.HA.ClusterFailoverActionInitiatedEventHA initiated a failover action in cluster {computeResource.name} in datacenter {datacenter.name} Warning System All
com.vmware.vc.HA.DasAgentRunningEventHA Agent on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} is running Informational System All
com.vmware.vc.HA.DasFailoverHostFailedEventHA failover host {host.name} in cluster {computeResource.name} in {datacenter.name} has failed Critical System All
com.vmware.vc.HA.DasHostCompleteDatastoreFailureEventAll shared datastores failed on the host {hostName} in cluster {computeResource.name} in {datacenter.name} Critical System All
com.vmware.vc.HA.DasHostCompleteNetworkFailureEventAll VM networks failed on the host {hostName} in cluster {computeResource.name} in {datacenter.name} Critical System All
com.vmware.vc.HA.DasHostFailedEventA possible host failure has been detected by HA on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} Critical System All
com.vmware.vc.HA.DasHostMonitoringDisabledEventNo virtual machine failover will occur until Host Monitoring is enabled in cluster {computeResource.name} in {datacenter.name} Warning System All
com.vmware.vc.HA.DasTotalClusterFailureEventHA recovered from a total cluster failure in cluster {computeResource.name} in datacenter {datacenter.name} Warning System All
com.vmware.vc.HA.HostDasAgentHealthyEventHA Agent on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} is healthy Informational System All
com.vmware.vc.HA.HostDasErrorEventHA agent on {host.name} in cluster {computeResource.name} in {datacenter.name} has an error: {[email protected]} Critical System All
com.vmware.vc.VCHealthStateChangedEventvCenter Service overall health changed from '{oldState}' to '{newState}' Informational System All
com.vmware.vc.cim.CIMGroupHealthStateChangedHealth of [data.group] changed from [data.oldState] to [data.newState]. Informational System All
com.vmware.vc.datastore.UpdateVmFilesFailedEventFailed to update VM files on datastore {ds.name} using host {hostName} Critical System All
com.vmware.vc.datastore.UpdatedVmFilesEventUpdated VM files on datastore {ds.name} using host {hostName} Informational System All
com.vmware.vc.datastore.UpdatingVmFilesEventUpdating VM files on datastore {ds.name} using host {hostName} Informational System All
com.vmware.vc.ft.VmAffectedByDasDisabledEventVMware HA has been disabled in cluster {computeResource.name} of datacenter {datacenter.name}. HA will not restart VM {vm.name} or its Secondary VM after a failure. Warning System All
com.vmware.vc.npt.VmAdapterEnteredPassthroughEventNetwork passthrough is active on adapter {deviceLabel} of virtual machine {vm.name} on host {host.name} in {datacenter.name} Informational System All
com.vmware.vc.npt.VmAdapterExitedPassthroughEventNetwork passthrough is inactive on adapter {deviceLabel} of virtual machine {vm.name} on host {host.name} in {datacenter.name} Informational System All
com.vmware.vc.vcp.FtDisabledVmTreatAsNonFtEventHA VM Component Protection protects virtual machine {vm.name} on {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} as non-FT virtual machine because the FT state is disabled Informational System All
com.vmware.vc.vcp.FtFailoverEventFT Primary VM {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} is going to fail over to Secondary VM due to component failure Informational System All
com.vmware.vc.vcp.FtFailoverFailedEventFT virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} failed to failover to secondary Critical System All
com.vmware.vc.vcp.FtSecondaryRestartEventHA VM Component Protection is restarting FT secondary virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} due to component failure Informational System All
com.vmware.vc.vcp.FtSecondaryRestartFailedEventFT Secondary VM {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} failed to restart Critical System All
com.vmware.vc.vcp.NeedSecondaryFtVmTreatAsNonFtEventHA VM Component Protection protects virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} as non-FT virtual machine because it has been in the needSecondary state too long Informational System All
com.vmware.vc.vcp.TestEndEventVM Component Protection test ends on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} Informational System All
com.vmware.vc.vcp.TestStartEventVM Component Protection test starts on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} Informational System All
com.vmware.vc.vcp.VcpNoActionEventHA VM Component Protection did not take action on virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} due to the feature configuration setting Informational System All
com.vmware.vc.vcp.VmDatastoreFailedEventVirtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} lost access to {datastore} Critical System All
com.vmware.vc.vcp.VmNetworkFailedEventVirtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} lost access to {network} Critical System All
com.vmware.vc.vcp.VmPowerOffHangEventHA VM Component Protection could not power off virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} successfully after trying {numTimes} times and will keep trying Critical System All
com.vmware.vc.vcp.VmRestartEventHA VM Component Protection is restarting virtual machine {vm.name} due to component failure on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} Informational System All
com.vmware.vc.vcp.VmRestartFailedEventVirtual machine {vm.name} affected by component failure on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} failed to restart Critical System All
com.vmware.vc.vcp.VmWaitForCandidateHostEventHA VM Component Protection could not find a destination host for virtual machine {vm.name} on host {host.name} in cluster {computeResource.name} in datacenter {datacenter.name} after waiting {numSecWait} seconds and will keep trying Critical System All
com.vmware.vc.vmam.AppMonitoringNotSupportedApplication monitoring is not supported on {host.name} in cluster {computeResource.name} in {datacenter.name} Warning System All
com.vmware.vc.vmam.VmAppHealthMonitoringStateChangedEventApplication heartbeat status changed to {status} for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} Warning System All
com.vmware.vc.vmam.VmDasAppHeartbeatFailedEventApplication heartbeat failed for {vm.name} on {host.name} in cluster {computeResource.name} in {datacenter.name} Warning System All
esx.clear.net.connectivity.restoredNetwork connectivity restored on virtual switch {1}, portgroups: {2}. Physical NIC {3} is up. Informational System All
esx.clear.net.dvport.connectivity.restoredNetwork connectivity restored on DVPorts: {1}. Physical NIC {2} is up. Informational System All
esx.clear.net.dvport.redundancy.restoredUplink redundancy restored on DVPorts: {1}. Physical NIC {2} is up. Informational System All
esx.clear.net.redundancy.restoredUplink redundancy restored on virtual switch {1}, portgroups: {2}. Physical NIC {3} is up. Informational System All
esx.clear.net.vmnic.linkstate.upPhysical NIC {1} linkstate is up. Informational System All
esx.clear.storage.connectivity.restoredConnectivity to storage device {1} (Datastores: {2}) restored. Path {3} is active again. Informational System All
esx.clear.storage.redundancy.restoredPath redundancy to storage device {1} (Datastores: {2}) restored. Path {3} is active again. Informational System All
esx.problem.apei.bert.memory.error.correctedA corrected memory error occurred in last boot. The following details were reported. Physical Addr: {1}, Physical Addr Mask: {2}, Node: {3}, Card: {4}, Module: {5}, Bank: {6}, Device: {7}, Row: {8}, Column: {9} Error type: {10} Critical System All
esx.problem.apei.bert.memory.error.fatalA fatal memory error occurred in the last boot. The following details were reported. Physical Addr: {1}, Physical Addr Mask: {2}, Node: {3}, Card: {4}, Module: {5}, Bank: {6}, Device: {7}, Row: {8}, Column: {9} Error type: {10} Critical System All
esx.problem.apei.bert.memory.error.recoverableA recoverable memory error occurred in last boot. The following details were reported. Physical Addr: {1}, Physical Addr Mask: {2}, Node: {3}, Card: {4}, Module: {5}, Bank: {6}, Device: {7}, Row: {8}, Column: {9} Error type: {10} Critical System All
esx.problem.apei.bert.pcie.error.correctedA corrected PCIe error occurred in last boot. The following details were reported. Port Type: {1}, Device: {2}, Bus #: {3}, Function: {4}, Slot: {5}, Device Vendor: {6}, Version: {7}, Command Register: {8}, Status Register: {9}. Critical System All
esx.problem.apei.bert.pcie.error.fatalPlatform encounterd a fatal PCIe error in last boot. The following details were reported. Port Type: {1}, Device: {2}, Bus #: {3}, Function: {4}, Slot: {5}, Device Vendor: {6}, Version: {7}, Command Register: {8}, Status Register: {9}. Critical System All
esx.problem.apei.bert.pcie.error.recoverableA recoverable PCIe error occurred in last boot. The following details were reported. Port Type: {1}, Device: {2}, Bus #: {3}, Function: {4}, Slot: {5}, Device Vendor: {6}, Version: {7}, Command Register: {8}, Status Register: {9}. Critical System All
esx.problem.iorm.nonviworkloadAn external I/O activity is detected on datastore {1}, this is an unsupported configuration. Consult the Resource Management Guide or follow the Ask VMware link for more information. Informational System All
esx.problem.net.connectivity.lostLost network connectivity on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}. Critical System All
esx.problem.net.dvport.connectivity.lostLost network connectivity on DVPorts: {1}. Physical NIC {2} is down. Critical System All
esx.problem.net.dvport.redundancy.degradedUplink redundancy degraded on DVPorts: {1}. Physical NIC {2} is down. Warning System All
esx.problem.net.dvport.redundancy.lostLost uplink redundancy on DVPorts: {1}. Physical NIC {2} is down. Warning System All
esx.problem.net.e1000.tso6.notsupportedGuest-initiated IPv6 TCP Segmentation Offload (TSO) packets ignored. Manually disable TSO inside the guest operating system in virtual machine {1}, or use a different virtual adapter. Critical System All
esx.problem.net.migrate.bindtovmkThe ESX advanced configuration option /Migrate/Vmknic is set to an invalid vmknic: {1}. /Migrate/Vmknic specifies a vmknic that vMotion binds to for improved performance. Update the configuration option with a valid vmknic. Alternatively, if you do not want vMotion to bind to a specific vmknic, remove the invalid vmknic and leave the option blank. Warning System All
esx.problem.net.proxyswitch.port.unavailableVirtual NIC with hardware address {1} failed to connect to distributed virtual port {2} on switch {3}. There are no more ports available on the host proxy switch. Warning System All
esx.problem.net.redundancy.degradedUplink redundancy degraded on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}. Warning System All
esx.problem.net.redundancy.lostLost uplink redundancy on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}. Warning System All
esx.problem.net.uplink.mtu.failedVMkernel failed to set the MTU value {1} on the uplink {2}. Warning System All
esx.problem.net.vmknic.ip.duplicateA duplicate IP address was detected for {1} on the interface {2}. The current owner is {3}. Warning System All
esx.problem.net.vmnic.linkstate.downPhysical NIC {1} linkstate is down. Informational System All
esx.problem.net.vmnic.watchdog.resetUplink {1} has recovered from a transient failure due to watchdog timeout Informational System All
esx.problem.scsi.device.limitreachedThe maximum number of supported devices of {1} has been reached. A device from plugin {2} could not be created. Critical System All
esx.problem.scsi.device.thinprov.atquotaSpace utilization on thin-provisioned device {1} exceeded configured threshold. Affected datastores (if any): {2}. Warning System All
esx.problem.scsi.scsipath.limitreachedThe maximum number of supported paths of {1} has been reached. Path {2} could not be added. Critical System All
esx.problem.storage.connectivity.deviceporFrequent PowerOn Reset Unit Attentions are occurring on device {1}. This might indicate a storage problem. Affected datastores: {2} Warning System All
esx.problem.storage.connectivity.lostLost connectivity to storage device {1}. Path {2} is down. Affected datastores: {3}. Critical System All
esx.problem.storage.connectivity.pathporFrequent PowerOn Reset Unit Attentions are occurring on path {1}. This might indicate a storage problem. Affected device: {2}. Affected datastores: {3} Warning System All
esx.problem.storage.connectivity.pathstatechangesFrequent path state changes are occurring for path {1}. This might indicate a storage problem. Affected device: {2}. Affected datastores: {3} Warning System All
esx.problem.storage.redundancy.degradedPath redundancy to storage device {1} degraded. Path {2} is down. Affected datastores: {3}. Warning System All
esx.problem.storage.redundancy.lostLost path redundancy to storage device {1}. Path {2} is down. Affected datastores: {3}. Warning System All
esx.problem.vmfs.heartbeat.recoveredSuccessfully restored access to volume {1} ({2}) following connectivity issues. Informational System All
esx.problem.vmfs.heartbeat.timedoutLost access to volume {1} ({2}) due to connectivity issues. Recovery attempt is in progress and outcome will be reported shortly. Informational System All
esx.problem.vmfs.heartbeat.unrecoverableLost connectivity to volume {1} ({2}) and subsequent recovery attempts have failed. Critical System All
esx.problem.vmfs.journal.createfailedNo space for journal on volume {1} ({2}). Opening volume in read-only metadata mode with limited write support. Critical System All
esx.problem.vmfs.lock.corruptondiskAt least one corrupt on-disk lock was detected on volume {1} ({2}). Other regions of the volume might be damaged too. Critical System All
esx.problem.vmfs.nfs.mount.connect.failedFailed to mount to the server {1} mount point {2}. {3} Critical System All
esx.problem.vmfs.nfs.mount.limit.exceededFailed to mount to the server {1} mount point {2}. {3} Critical System All
esx.problem.vmfs.nfs.server.disconnectLost connection to server {1} mount point {2} mounted as {3} ({4}). Critical System All
esx.problem.vmfs.nfs.server.restoredRestored connection to server {1} mount point {2} mounted as {3} ({4}). Informational System All
esx.problem.vmfs.resource.corruptondiskAt least one corrupt resource metadata region was detected on volume {1} ({2}). Other regions of the volume might be damaged too. Critical System All
esx.problem.vmfs.volume.lockedVolume on device {1} locked, possibly because remote host {2} encountered an error during a volume operation and could not recover. Critical System All
vim.event.LicenseDowngradedEventLicense downgrade: {licenseKey} removes the following features: {lostFeatures} Warning System All
vprob.net.connectivity.lostLost network connectivity on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}. Critical System All
vprob.net.e1000.tso6.notsupportedGuest-initiated IPv6 TCP Segmentation Offload (TSO) packets ignored. Manually disable TSO inside the guest operating system in virtual machine {1}, or use a different virtual adapter. Critical System All
vprob.net.migrate.bindtovmkThe ESX advanced config option /Migrate/Vmknic is set to an invalid vmknic: {1}. /Migrate/Vmknic specifies a vmknic that vMotion binds to for improved performance. Please update the config option with a valid vmknic or, if you do not want vMotion to bind to a specific vmknic, remove the invalid vmknic and leave the option blank. Warning System All
vprob.net.proxyswitch.port.unavailableVirtual NIC with hardware address {1} failed to connect to distributed virtual port {2} on switch {3}. There are no more ports available on the host proxy switch. Warning System All
vprob.net.redundancy.degradedUplink redundancy degraded on virtual switch {1}. Physical NIC {2} is down. {3} uplinks still up. Affected portgroups:{4}. Warning System All
vprob.net.redundancy.lostLost uplink redundancy on virtual switch {1}. Physical NIC {2} is down. Affected portgroups:{3}. Warning System All
vprob.scsi.device.thinprov.atquotaSpace utilization on thin-provisioned device {1} exceeded configured threshold. Warning System All
vprob.storage.connectivity.lostLost connectivity to storage device {1}. Path {2} is down. Affected datastores: {3}. Critical System All
vprob.storage.redundancy.degradedPath redundancy to storage device {1} degraded. Path {2} is down. {3} remaining active paths. Affected datastores: {4}. Warning System All
vprob.storage.redundancy.lostLost path redundancy to storage device {1}. Path {2} is down. Affected datastores: {3}. Warning System All
vprob.vmfs.heartbeat.recoveredSuccessfully restored access to volume {1} ({2}) following connectivity issues. Informational System All
vprob.vmfs.heartbeat.timedoutLost access to volume {1} ({2}) due to connectivity issues. Recovery attempt is in progress and outcome will be reported shortly. Informational System All
vprob.vmfs.heartbeat.unrecoverableLost connectivity to volume {1} ({2}) and subsequent recovery attempts have failed. Critical System All
vprob.vmfs.journal.createfailedNo space for journal on volume {1} ({2}). Opening volume in read-only metadata mode with limited write support. Critical System All
vprob.vmfs.lock.corruptondiskAt least one corrupt on-disk lock was detected on volume {1} ({2}). Other regions of the volume may be damaged too. Critical System All
vprob.vmfs.nfs.server.disconnectLost connection to server {1} mount point {2} mounted as {3} ({4}). Critical System All
vprob.vmfs.nfs.server.restoredRestored connection to server {1} mount point {2} mounted as {3} ({4}). Informational System All
vprob.vmfs.resource.corruptondiskAt least one corrupt resource metadata region was detected on volume {1} ({2}). Other regions of the volume might be damaged too. Critical System All
vprob.vmfs.volume.lockedVolume on device {1} locked, possibly because remote host {2} encountered an error during a volume operation and could not recover. Critical System All

RHEV

Red Hat Enterprise Virtualization (RHEV) は、RedHat を利用するデータセンター企業で使われている仮想化技術の一つです。Pandora FMS は、RHEV Monitoring Plugin というプラグインを通してRHEV を使った仮想アーキテクチャをモニタすることができます。これは、簡単に RHEV の仮想アーキテクチャに関連するすべての値を制御することができます。

モニタする RHEV アーキテクチャ

このプラグインで、データセンター、ホストクラスタ、ストレージドメイン、ネットワーク、ホストおよび、仮想マシンといった、RHEV アーキテクチャの全体をモニタすることができ、仮想環境の全体の状態を確認することができます。

これを実現するために、Pandora では RHEV 仮想化システムによって公式に提供されている API を利用しています。

RHEV モニタリングプラグインでのモニタリング

RHEV 環境のモニタリングは、2つのコンポーネントに基づいています。

  1. 自動検出動作を行うエージェントプラグインとデータ収集タスク。このエージェントプラグインは、Pandora FMS へ情報を送信します。
  2. 検出したいくつかのパラメータを更新する自動検出スクリプト。このスクリプトは、「拡張」のために必要です。
  3. RHEV View および RHEV Manager 拡張。これらは、プラグインに機能追加し、Pandora FMS のコンソールからインフラのモニタリングおよび仮想マシンの管理 (電源ON/OFF) ができるようにした「拡張」です。

自動検出スクリプトを利用するには、自動検出サーバを有効にする必要があります。

仮想マシンで収集するデータを API で返すようにするには、RHEV エージェントをインストールする必要があります 。詳細については、RHEV のドキュメントを参照してください。

仮想マシンにインストールされた OS をモニタする には、RHEV API ではなくPandora FMS エージェント が必要です。

プラグイン動作の仕組

RHEV モニタリングプラグインは、RHEV 仮想環境の web API を通して情報を展開します。

モニタしたいだけであれば、この処理を実行するソフトウエアエージェントプラグインを設定します。

エージェントプラグインは、デバイスの自動検出を行い、検出したデバイスごとにモジュールを定義し XML を生成します。プラグインの設定では、どの要素をモニタリングしたいかを選択しモジュールを設定することができます。プラグインで作成されたモジュールの設定は変更が可能です。モジュールの、名前、説明、警告や障害状態の最小値、最大値を変更できます。

Pandora FMS 4.0 以降では XML を通して警告および障害状態の値(閾値)を更新することができますが、それより前のバージョンでは、ウェブコンソールから変更します。

XML が生成されると、エージェントプラグインは転送手法の設定に従って tentacle またはローカルでのファイルコピーにより、そのファイルを送信します。

また、RHEV View および RHEV Manager 拡張を利用する場合は、自動検出スクリプトを利用する必要があります。

自動検出スクリプトは、RHEV 仮想環境のそれぞれの Pandora FMS エージェントの値を更新します。これらの値は、RHEV View 拡張で状態を正しく表示したり、RHEV Manager 拡張で仮想マシンを正しく管理するために必要な値です。

インストール要件

エージェントプラグインは、次のソフトウエアが必要です。

  • curl
  • perl-XML-Simple
  • Pandora FMS ソフトウエアエージェント
  • tentacle_client (ファイルの送信に tentacle を利用したい場合。tentacle_client は、Pandora FMS ソフトウエアエージェントと共に配布されています。)
Red Hat

RedHat システムでは、次のように依存ファイルをインストールします。

yum install perl-XML-Simple curl
SLES

SUSE システムでは、次のように依存ファイルをインストールします。

zypper install perl-XML-Simple curl
Debian/Ubuntu

Debian/Ubuntu システムでは、次のように依存ファイルをインストールします。

apt-get install libxml-simple-perl curl
Pandora FMS ソフトウエアエージェントのインストール

Pandora FMS ソフトウエアエージェントのインストールは、Pandora FMSのインストールにて説明しています。ここに、エージェントをインストールためのドキュメントがそろっています。

RHEV 証明書のダウンロード

プラグインを実行する前に、RHEV API に HTTPS で接続するための証明書をダウンロードする必要があります。証明書をダウンロードするには、次のコマンドを実行します。

curl -o rhevm.cer http://[RHEVM-HOST]:8080/ca.crt

ここで、rhev-host は、RHEV API サーバのサーバ名です。例えば次の通りです。

curl -o rhevm.cer http://rhevm.server:8080/ca.crt

証明書をダウンロードしたら、次のコマンドで API に接続することができます。

curl -X GET -H "Accept: application/xml" -u [USER:PASS] --cacert [CERT] https://[RHEVM-HOST]:8443/api

次の値を指定してください。

  • USER: API へ接続する user@domain
  • PASS: API へ接続するためのユーザのパスワード
  • CERT: ダウンロードした証明書のパス
  • RHEVM-HOST: API ホストのアドレス

実際の実行例は次の通りです。

curl -X GET -H "Accept: application/xml" -u [[user@testdomain:12345|]] --cacert /home/user/ca.crt https://rhevm.server:8443/api

すべて成功すると、コマンドが XML フォーマットで RHEV API の一般情報を出力します。

RHEV 設定時に考慮すべき点

RHEV の仮想化環境は、同じ名前で複数のエンティティを持つことができます。この機能では、Pandora FMS において複数のエージェントが同じ名前でデータを送信してしまうという問題があります。この問題に加えて、API が出力する XML のパースにおいて次のようなエラーが出る問題があります。

Warning: <data_center> element has non-unique value in 'name' key attribute: Default at ./plugin-rhev.pl line 199

この問題の解決のためには、RHEV 仮想環境のエンティティの名前付けポリシーを、同一名にならないようにする必要があります。

エージェントプラグインのインストール

エージェントプラグインをインストールするには、rhev-plugin.pl および rhev-plugin.conf をプラグインを実行させたいマシンにインストールした pandora エージェントがアクセスできるフォルダにコピーするだけです。プラグインは、Pandora FMS サーバと同じマシンまたは他のマシンにインストールされたエージェントより実行できます。

プラグインを実行するには、エージェントの設定ファイル(デフォルトでは /etc/pandora/pandora_agent.conf です)に次のような行を追加します。

module_plugin /root/rhev-plugin.pl /root/rhev-plugin.conf

この行を追加することにより、エージェントの実行間隔でエージェントプラグインが実行されます。

RHEV 仮想アーキテクチャのモニタリング

プラグインの実行結果を見るには、モニタリング(Monitoring) > 表示(Views) > エージェント詳細(Agent Detail) をクリックします。

cosa111.jpg

見ての通り、プラグインが Pandora FMS 内に、RHEV アーキテクチャで検出したエンティティごとに一つのエージェントを作成しています。

cosa222.jpg

エージェント名をクリックすると、プラグインにより作成されたモジュールを見ることができます。加えて、エージェントに関連したその他データを次のように見ることができます。

snmp6.jpg

それぞれのエンティティで、それぞれ重要な情報をモニタリングするための複数のモジュールが自動的に作成されます。

rhev5.jpg

仮想マシンではなくホストに関連づけられたエージェントを選択した場合は、モニタリングモジュールは異なります。

RHEV プラグインは、仮想アーキテクチャ内で発生したイベントもモニタリングできます。プラグインは、次の画面のように、それぞれのエージェントにイベントをモニタするモジュールを作成します。

rhev1.jpg

イベントに基づいたこれらのモジュールのデータは、イベントが発生した時間とイベントの説明です。以下にデータの例を示します。

RHEV アーキテクチャに関連したエージェントおよびモジュールに加え、プラグインを実行するエージェントで生成されたモジュールもあります。このモジュールは、デフォルトではRHEV Plugin という名前で、このモジュールの実行結果例は次の通りです。

rhev3.jpg

このプラグインの内容はプラグインの実行結果であり、実行が正常にできた場合は OK で、エラーが発生した場合は、エラー文字列を表示します。この情報は、ログファイルにも書かれます。

エンティティ状態のモニタリング

エンティティの状態モジュールは、RHEV アーキテクチャで事前に定義された値を返します。これは、モニタするエンティティの状態に応じて、値が up, down, error, maintenance, non_operational などの文字列であることを意味します。

警告や障害状態を定義するには、モジュール設定にて正規表現を利用する必要があります。例えば、値が errordownnon_operational の時に障害状態とするには、そのモジュールの障害の場合の文字列(Str.) フィールドに、次の正規表現を設定します。

error|down|non_operational

Pandora FMS 4.0 の初期バージョンではこのオプションは利用できませんが、同一の場合の条件を利用して設定することができます。上記の例でアラーとテンプレートを作成するには、次の手順を実施します。

  1. 優先度が障害のアラートテンプレートを作成し、条件種別(Condition Type) フィールドを 正規表現(Regular expresion) に設定します。
  2. error|down|non_operational という正規表現をフィールドに入力します。これは、モジュールの値が errordownnon_operational のいずれかになった場合にアラートを実行するという意味になります。
  3. 以降は通常の設定を行います。

テンプレートを定義すると、イベント作成、メールや SMS 送信など、アラートが発生したときの実行アクションを選択することができます。

RHEV アーキテクチャのためのエージェントモジュール

以下に、RHEV アーキテクチャのそれぞれの要素のためのモジュールの詳細について示します。

データセンター
  • Status: データセンターの状態
ストレージドメイン
  • Available Space: ストレージドメインの空き容量
  • Committed Space: ストレージドメインのコミット容量
  • Used Space: ストレージドメインの利用容量
  • Percent Free Space: ストレージドメインの空き容量率
ネットワーク
  • Status: 仮想ネットワークの状態
  • STP Status: スパニングツリープロトコルの状態
クラスタ
  • Overcommit Percent: クラスタのオーバーコミット率
  • Transparent HugePages: Transparent HugePage の状態
  • High threshold: ポリシープランニングのための上位閾値
  • Low threshold: ポリシープランニングのための下位閾値
  • Threshold duration: ポリシープランニングのための閾値期間
ホスト
  • Status: ホストの状態
  • Buffers size: バッファサイズ
  • Cache size: キャッシュサイズ
  • Cached swap: キャッシュスワップのためのメモリ量 (バイト単位)
  • Free memory: 空きメモリ量 (バイト単位)
  • Percent free memory: 空きメモリ率
  • Swap cached percent: キャッシュスワップメモリ率
  • Swap free: スワップの空き容量 (バイト単位)
  • Swap free percent: 空きスワップメモリ率
  • Total Memory: このホストのトータルメモリ容量 (バイト単位)
  • Total Swap: スワップメモリ容量 (バイト単位)
  • Used memory: 利用メモリ量 (バイト単位)
  • Used Swap: 利用スワップメモリ量 (バイト単位)
  • Nic [x] TX: nic x の送信速度 (バイト/秒) インタフェースごとにモジュールが生成されます。
  • Nic [x] RX: nic x の受信速度 (バイト/秒) インタフェースごとにモジュールが生成されます。
  • Nic [x] erros TX: nic x の送信エラー数。インタフェースごとにモジュールが生成されます。
  • Nic [x] erros RX: nic x の受信エラー数。インタフェースごとにモジュールが生成されます。
  • User CPU: user CPU 使用率
  • System CPU: system CPU 使用率
  • CPU Idle: idle CPU 使用率
  • CPU Load: 5分間のロードアベレージ
  • KSM CPU: KSM の CPU 使用率
  • Active VM: ホスト内の稼働中の仮想マシン数
  • Migrating VM: ホスト内でマイグレーション処理中の仮想マシン数
  • Total VM: このホストにおける全仮想マシン数
  • Fence Status: ホストフェンスの状態
仮想マシン
  • Status: 仮想マシンの状態
  • Disk [x] read: ディスク x の読み込み速度 (バイト/秒)。ディスクごとにモジュールが生成されます。
  • Disk [x] write: ディスク x の書き込み速度 (バイト/秒)。ディスクごとにモジュールが生成されます。
  • Disk [x] size: disk x のディスクサイズ。ディスクごとにモジュールが生成されます。
  • Disk [x] status: disk x の状態。ディスクごとにモジュールが生成されます。
  • Nic [x] TX: nic x の送信速度 (バイト/秒)。nic ごとにモジュールが生成されます。
  • Nic [x] RX: nic x の受信速度 (バイト/秒)。nic ごとにモジュールが生成されます。
  • Nic [x] erros TX: nic x の送信エラー数。nic ごとにモジュールが生成されます。
  • Nic [x] erros RX: nic x の受信エラー数。nic ごとにモジュールが生成されます。
  • Installed memory: 設定されたメモリ容量 (バイト単位)
  • Percent free memory: 空きメモリ率
  • Used memory: 利用メモリ量 (バイト単位)
  • Stateless: ステートレス機能の状態
  • HA Status: HA 機能の状態
  • Total CPU: この仮想マシン全体の CPU 使用率
  • Hypervisor CPU: 仮想マシンによって使われている、ハイパーバイザーの CPU 使用率
  • Guest CPU: 仮想マシンの CPU 使用率
イベント
  • Event [x]: システム内で発生したイベント x の説明。それぞれのエージェント内に、検出されたイベントごとにモジュールが作成されます。

RHEV アーキテクチャの管理と参照

この節では、インストール、設定、および、どのように RHEV View および RHEV Manager 拡張が動作するかを説明します。

RHEV View および RHEV Manager 拡張は、Pandora FMS 4.0.2 以上 でのみ動作します。

自動検出タスクのインストール

カスタム検出タスクの作成は、検出サーバ を参照してください。

RHEV View および RHEV Manager 拡張のインストール

拡張のインストールは、extensions フォルダの中身をコピーするだけです。つぎのようなコマンドで、プラグインを展開したものを Pandora FMS コンソールの enterprise の中へコピーします。

cp -R extensions/* <pandora_console_dir>/enterprise/extensions/

これで、RHEV モニタリング拡張が使えるようになります。

RHEV View 拡張の利用

RHEV View 拡張を利用するには、モニタリング(Monitoring) メニューの中の RHEV View をクリックします。

拡張は、プラグインで検出した RHEV アーキテクチャの全コンポーネントを次のようにマップ表示します。

rhev_view_new.jpg

マップ内には、RHEV アーキテクチャの異なる要素(データセンター、ストレージドメイン、クラスタ、ネットワーク、ホスト、仮想マシン)が表示されます。それぞれの要素はアイコン表示され、それぞれの要素ごとに異なります。アイコン間の関係は、RHEV アーキテクチャの要素間の関係として表示します。この画面では、一目で要素の関係と状態を見ることができます。

拡張には、表示を設定するためのメニューがあります。エンティティを隠したり表示したり、テキストのサイズを変更したり、詳細画像の拡大・縮小ができます。

以下の画像の例では、ネットワーク、ホスト、仮想マシンのエレメントは隠れています。なぜなら、データセンターで、クラスタとストレージドメインの関係の詳細を見たいからです。

rhev8.jpg

RHEV Manager 拡張の利用

RHEV Manager 拡張は、Pandora FMS 内で RHEV 仮想マシンを表示するエージェント操作画面にあります。

この拡張は、curl コマンドを利用します。このコマンドがインストールされ、Pandora FMS コンソールを実行する web サーバプロセスのユーザ権限で利用できる必要があります。

拡張にアクセスするには、エージェントのタブにある Red Hat ロゴのアイコンをクリックします。

拡張では、RHEV 管理コンソールを使わずに仮想マシンを管理(電源 on/off、サスペンド)することができます。拡張は、色で仮想マシンの現在の状態を表示(緑 = 電源on、オレンジ = サスペンド、グレー = 電源off)します。また、状態を選択し、状態変更(Change Status) ボタンをクリックして状態を変更することができます。

仮想マシンを停止するために停止(Stop) 状態を選択すると、拡張は RHEV API に接続しコマンドを送信します。結果、仮想マシンの状態が変化し、選択オプションが次のようになります。

いくつかの状態の間の変更には、いくつかのステップがあります。例えば、停止(Stop) から 開始(Start) への変更です。この場合、拡張はそれぞれのステップで仮想マシンの状態を表示します。停止から開始への変更では、仮想マシンの状態は次のように変化します。

エージェントプラグイン設定

エージェントプラグイン設定は、デフォルトで rhev-plugin.conf という設定ファイル使って行います。

デフォルトでは、エージェントプラグインは全エンティティを選択し、名前と説明をデフォルトの値で全モジュールを作成します。これらのパラメータはすべて設定ファイルを通してカスタマイズできます。

設定ファイル

設定ファイルは、全体の設定と個々の監視の設定の 2つの部分から成ります。

全体の設定の部分では、Configuration という記述から始まり、プラグイン設定に関する情報があります。この部分で設定可能なパラメータは次の通りです。

  • module_name: プラグインを実行するエージェントから報告されるモジュール名です。
  • server: RHEV API を実行するホスト名です。
  • user: API に接続するユーザです。user@domain という書式です。
  • pass: API へ接続するパスワードです。
  • cert: API 証明書のパスです。
  • temporal: テンポラリフォルダです。
  • logfile: ログファイル名です。
  • transfer_mode: 転送モードです。local または tentacle です。
  • tentacle_ip: 情報の送信先の tentacle サーバの IP です。一般的に Pandora サーバと同じマシンです。転送モードに tentacle を利用した場合に利用できます。
  • tentacle_port: tentacle サーバのポート番号です。転送モードに tentacle を利用した場合に利用できます。
  • tentacle_opts: tentacle サーバの拡張オプションです。転送モードに tentacle を利用した場合に利用できます。

監視設定部分には、いくつかのサブセクションがあります。一つ目は、Reject というトークンがあり、除外する仮想環境のエンティティの名前のリストを作成することができます。エンティティを除外するには、次のように名前のリストを記載する必要があります。

 #Dismissed entities
 Reject
 mv1
 mv_WindowsXP
 mv_WebServer1
 ...

全ホスト、全仮想マシンなど、一つの種類のすべてのエンティティを除外することもできます。それぞれのエンティティのトークンは、all_dc (データセンタ)、all_host (ホスト)、all_network (ネットワーク)、all_storage (ストレージドメイン)、all_cluster (クラスタ)、all_vm (仮想マシン)です。これらのトークンの利用例を以下に示します。

 #Dismissed entities
 Reject
 all_dc
 all_host
 all_network
 all_storage
 all_cluster
 all_vm

2つ目のセクションは、Rename というトークンで定義され、エンティティの名前を変更できます。この機能は、Pandora FMS の同一エージェント内でソフトウエアエージェントと API 情報を結びつけるのにとても便利です。このセクションの設定は、古い名前、新しい名前の順にスペースを入れて次のように記述します。

 #Rename entities
 Rename
 mv_WebServer1 WebServer1
 mv_WindowsXP WindowsXP Test
 ...

次のサブセクションは、エンティティのモニタリング設定に関するものです。それぞれのエンティティには、それぞれ DataCenter, StorageDomain, Network, Cluster, Host および VM というトークンがあります。各エンティティで、モジュールの有効・無効、警告や障害状態となる最小値や最大値を定義することができます。例を以下に示します。

 #VM Modules
 VM
 status disabled
 errors_total_tx name = TX Error Net [%s]; desc = Total error TX net; limits = 60 70 71 100
 memory_used name = Used Mem; desc = Memory used by the virtual machine; limits = 256 1024 1025 2048
 ...

それぞれの行はモニタリングモジュールに関連していて、次の 2つのオプションがあります。

  • <モジュール> disabled: モジュールは、作成されません
  • <モジュール> name = <名前>; desc = <説明>; limits = <警告の最小値> <警告の最大値> <障害の最小値> <障害の最大値» モジュールは、指定した名前と説明で作成されます。また、警告および障害の最大・最小の閾値を指定します。

設定ファイルの行構造 に注意し、特にモジュール名とモジュールの説明の近くの; 文字 に注意することがとても重要 です。これらの行は、同じではありません 。(; 文字の前のスペースを確認してください)

 errors_total_tx name = TX Error Net [%s]; desc = Total error TX net; limits = 60 70 71 100 #OK
 errors_total_tx name = TX Error Net [%s]    ; desc = Total error TX net    ; limits = 60 70 71 100 #Wrong

モジュールは、コマンドラインで入力しやすい短い名前で参照されます。フルネームと短い名前の関連付けした表を次の章に示します。

仮想マシンの設定例 (VM セクション) を見てみましょう。

仮想マシンをモニタするには、設定ファイルの VM セクションで、モジュールを有効化・無効化するかの一覧を定義します。status モジュールは無効化されており、errors_total_tx および memory_used モジュールはカスタム値を持っています。リストに無い残りのモジュールは、デフォルトの値で作成されます。この設定で、memory_used モジュールは次の値になります。

  • Name: Used Memory
  • Description: Memory used by the virtual machine
  • Min Warning: 256
  • Max Warning: 1024
  • Min Critical: 1025
  • Max Critical: 2048

ディスクやネットワークインタフェースに関連するモジュールは動的に生成されます。それぞれの要素ごとにモジュールが作成され、次のようにモジュール名は特別な書式になっています。

errors_total_tx name = Errores TX Net [%s]; desc = Errores totales TX de red; limits = 60 70 71 100

この場合、名前は動的に決まる部分があり、% マクロを利用することができます。これはプラグインによりモジュール名で動的に変わるものに置き換えられます。

例えば、errors_total_tx モジュールのデフォルトの名前は次の通りです。

Nic [nic1] errors TX

この設定での名前は次の通りです。

TX Error Net [nic1]

nic1 がモジュール名で動的に決まる部分です。

設定ファイルに関連する全てのエラーはログファイルに出力されます。また、Pandora FMS のプラグインを実行するエージェント内部の非同期モジュールへ送信されます。

それぞれの要素に関連したセクションに加え、設定ファイルにはイベント設定のための共通セクションがあります。このセクションは、EventCodes というトークンで定義され、モニタするすべてのイベントコード一覧を次のように定義します。

 EventCodes
 30
 920
 980
 509
 956

このセクションを定義しないと、イベントモニタリングは動作しません。

複数のソフトウエアエージェントでのモニタリング負荷の分散

設定ファイルを通して、RHEV 仮想環境のモニタリング負荷を分散することができます。

そのためには、モニタするエンティティをエージェント間で分割する必要があります。この例では、次のようなアーキテクチャを想定します。

 DC1
  |
  |- Cluster 1.1
        |- c1.1mv1
        |- c1.1mv2
        |- c1.1mv3

  |- Cluster 1.2
        |- c1.2mv1
        |- c1.2mv2
        |- c1.2mv3

 DC2
  |
  |- Cluster 2.1
        |- c2.1mv1
        |- c2.1mv2
        |- c2.1mv3

  |- Cluster 2.2
        |- c2.2mv1
        |- c2.2mv2
        |- c2.2mv3

負荷を分散する方法として、一つのデータセンタをそれぞれ違うエージェントに割り当てます。そのためには、エンティティを除外する機能 (Reject トークン) を利用します。

最初のエージェントはデータセンター DC1 のみをモニタし、DC2 のエンティティは除外します。

 Reject
 DC2
 Cluster 2.1
 Cluster 2.2
 c2.1mv1
 c2.1mv2
 c2.1mv3
 c2.2mv1
 c2.2mv2
 c2.2mv3

2つ目のソフトウエアエージェントは、データセンター DC2 をモニタし、DC1 は除外します。

 Reject
 DC1
 Cluster 1.1
 Cluster 1.2
 c1.1mv1
 c1.1mv2
 c1.1mv3
 c1.2mv1
 c1.2mv2
 c1.2mv3

また、クラスタをベースに負荷を分散することもできます。例えば、4つのソフトウエアエージェントがあり、それぞれ異なるクラスタをモニタします。

ソフトウエアエージェント1 ではクラスタ 1.1 をモニタし、他のエンティティを除外します。

 Reject
 DC1
 Cluster 1.2
 c1.2mv1
 c1.2mv2
 c1.2mv3
 DC2
 Cluster 2.1
 Cluster 2.2
 c2.1mv1
 c2.1mv2
 c2.1mv3
 c2.2mv1
 c2.2mv2
 c2.2mv3

ソフトウエアエージェント2 ではクラスタ 1.2 をモニタし、他のエンティティを除外します。

 Reject
 DC1
 Cluster 1.1
 c1.1mv1
 c1.1mv2
 c1.1mv3
 DC2
 Cluster 2.1
 Cluster 2.2
 c2.1mv1
 c2.1mv2
 c2.1mv3
 c2.2mv1
 c2.2mv2
 c2.2mv3

ソフトウエアエージェント3ではクラスタ 2.1 をモニタし、他のエンティティを除外します。

 Reject
 DC1
 Cluster 1.1
 Cluster 1.2
 c1.1mv1
 c1.1mv2
 c1.1mv3
 c1.2mv1
 c1.2mv2
 c1.2mv3
 DC2
 Cluster 2.2
 c2.2mv1
 c2.2mv2
 c2.2mv3

ソフトウエアエージェント4ではクラスタ 2.2 をモニタし、他のエンティティを除外します。

 Reject
 DC1
 Cluster 1.1
 Cluster 1.2
 c1.1mv1
 c1.1mv2
 c1.1mv3
 c1.2mv1
 c1.2mv2
 c1.2mv3
 DC2
 Cluster 2.1
 c2.1mv1
 c2.1mv2
 c2.1mv3

エンティティの除外設定はとても柔軟で、それぞれのソフトウエアエージェントで複数のエンティティのモニタリング負荷を分散させることができます。

設定ファイル例

全モジュール無効化の例

 #These lines are comments

 #Plugin configuration parameters
 Configuration
 server rhevm.server
 user user@testdomain
 pass 12345
 cert /home/user/rhevm.cer
 temporal /tmp
 logfile /tmp/plugin-rhev.log
 transfer_mode local
 tentacle_ip 127.0.0.1
 tentacle_port 41121
 tentacle_opts

 #Dismissed entities
 Reject

 #Data Center modules
 DataCenter
 status disabled

 #StorageDomain modules
 StorageDomain
 available disabled
 used disabled
 committed disabled
 free_percent disabled

 #Networks modules
 Network
 status disabled
 stp disabled

 #Clusters modules
 Cluster
 overcommit disabled
 hugepages disabled
 threshold_low disabled
 threshold_high disabled
 threshold_duration disabled

 #Host Modules
 Host
 status disabled
 vm_active disabled
 vm_migrating disabled
 vm_total disabled
 data_current_rx disabled
 data_current_tx disabled
 errors_total_rx disabled
 errors_total_tx disabled
 memory_cached disabled
 memory_total disabled
 swap_free_percent disabled
 swap_cached_percent disabled
 swap_free disabled
 cpu_current_idle disabled
 cpu_current_user disabled
 memory_used disabled
 ksm_cpu_current disabled
 memory_free_percent disabled
 swap_total disabled
 memory_buffers disabled
 cpu_current_system disabled
 cpu_load_avg_5m disabled
 swap_cached disabled
 swap_used disabled
 memory_free disabled
 fence_status disabled

 #VM Modules
 VM
 status disabled
 stateless disabled
 ha disabled
 cpu_current_guest disabled
 cpu_current_hypervisor disabled
 memory_free_percent disabled
 memory_installed disabled
 memory_used disabled
 cpu_current_total disabled
 data_current_read disabled
 data_current_write disabled
 size disabled
 disk_status disabled
 data_current_rx disabled
 data_current_tx disabled
 errors_total_rx disabled
 errors_total_tx disabled
モジュール名関係表

データセンター

長い名前 短い名前
Status status

ストレージドメイン

長い名前 短い名前
Available Space available
Used Space used
Committed Space committed
Percent Free Space free_percent

ネットワーク

長い名前 短い名前
Status status
STP Status stp

クラスタ

長い名前 短い名前
Overcommit Percent overcommit
Transparent HugePages hugepages
Low Threshold threshold_low
High Threshold threshold_high
Threshold duration threshold_duration

ホスト

長い名前 短い名前
Status status
Active VM vm_active
Migrating VM vm_migrating
Total VM vm_total
Nic [x] RX data_current_rx
Nic [x] TX data_current_tx
Nic [x] errors RX errors_total_rx
Nic [x] errors TX errors_total_tx
Cache size memory_cached
Total memory memory_total
Swap free percent swap_free_percent
Swap cached percent swap_cached_percent
Swap free swap_free
CPU Idle cpu_current_idle
User CPU cpu_current_user
Used memory memory_used
KSM CPU ksm_cpu_current
Percent free memory memory_free_percent
Total swap swap_total
Buffers size memory_buffers
System CPU cpu_current_system
CPU Load cpu_load_avg_5m
Cached swap swap_cached
Used swap swap_used
Free memory memory_free
Fence Status fence_status

仮想マシン

長い名前 短い名前
Status status
Stateless stateless
HA Status ha
Guest CPU cpu_current_guest
Hypervisor CPU cpu_current_hypervisor
Percent free memory memory_free_percent
Installed memory memory_installed
Used memory memory_used
Total CPU cpu_current_total
Disk [x] read data_current_read
Disk [x] write data_current_write
Disk [x] size size
Disk [x] status disk_status
Nic [x] RX data_current_rx
Nic [x] TX data_current_tx
Nic [x] errors RX errors_total_rx
Nic [x] errors TX errors_total_tx

Nutanix

Nutanix ハイパーコンバージドソリューションでは、ネットワーク、ディスク、処理、メモリリソースのすべてを一ヵ所で管理することができます。

Pandora FMS の Nutanix 監視プラグインにより、Nutaix ソリューションの状態を常に監視することができます。

プラグイン操作

Nutanix プラグインは、Perl で書かれたプログラムで、Nutanix PRISM の REST API へ接続します。以下の要素を監視するために必要なメトリックスを取得します。

  • Nutanix クラスタ
  • ストレージデバイス
  • コンテナ
  • 仮想マシン
  • ホスト
  • レプリケーションプロセスの状態

プラグインの必要条件

REST API から情報を取得するためには、以下が必要です。

  • ポータルの IPアドレス/FQDN
  • API の読み出し権限を持った ユーザ
  • ユーザの パスワード

監視結果を Pandora FMS へ反映させるために、以下が必要です。

  • ローカルまたは Tentacle での 情報の転送
    • ローカルであれば、結果を含む XML ファイルを置くディレクトリが必要です。またディレクトリには書き込み権限が必要です。
    • Tentacle を利用する場合は、Pandora サーバの IPアドレスまたは FQDN に Tentacle のポートで接続できる必要があります。tentacle クライアントの場所やオプションの定義も必要です。

プラグインのインストール

プラグインに必要なファイルを モジュールライブラリ からダウンロードします。

Nutanix インフラストラクチャを監視するリモートのコンピュータへファイルを転送し、プラグインファイルを展開します。

tar xvzf pandora_nutanix.tar.gz

プラグイン設定

次のフィールドがあります。

Nutanix API 設定

nx_fqdn

Prism メインサーバのアドレス

nx_port

REST API のポート番号(デフォルトは 9440)

nx_user

REST API の読み出し権限を持ったユーザ

nx_pass

上記ユーザのパスワード

use_https

https を利用する(1)かしないか(0)

nx_rest_version

API バージョン(デフォルトは 'v1')

Nutanix エージェント設定

agent_interval

プラグインで生成されるエージェントの間隔(デフォルトは 300)

agent_group

生成されるエージェントが所属するグループ(Pandora サーバの設定で 'autocreate_group' が無効化されている場合) デフォルトは、Nutanix です。

module_interval

生成されたエージェントのモジュールの間隔(倍率指定で、デフォルトは 1)

module_tags

生成されたエージェントの新規モジュールに関連付けるタグ

module_group

新たなモジュールが所属するグループ

Pandora サーバとの通信設定

mode

データ転送モード “local” または “tentacle”

tentacle_ip

Pandora サーバの IP アドレス。tentacle モードでのみ利用します。

tentacle_port

Tentacle の接続ポート番号

tentacle_opts

Tentacle の拡張オプション

tentacle_client

Tentacle クライアントのパス

temp

テンポラリディレクトリ

local_folder“local” データ転送モード時のディレクトリパス

フィルタ

cluster_monitoring

クラスタ監視の有効化(1)または無効化(0)

storage_monitoring

ストレージデバイス監視の有効化(1)または無効化(0)

container_monitoring

ストレージコンテナ監視の有効化(1)または無効化(0)

vm_monitoring

仮想マシン監視の有効化(1)または無効化(0)

host_monitoring

仮想マシンサーバ(Nutanixノード)監視の有効化(1)または無効化(0)

pd_monitoring

プロテクションドメイン監視の有効化(1)または無効化(0)

カスタマイズ

cluster_agent_header

クラスタタイプデバイスエージェントのエージェント名ヘッダ

storage_agent_header

ストレージデバイスタイプエージェントのエージェント名ヘッダ

host_agent_header

仮想マシンサーバタイプデバイス(Nutanix ノード)エージェントのエージェント名ヘッダ

container_agent_header

ストレージコンテナタイプデバイスエージェントのエージェント名ヘッダ

vm_agent_header

仮想マシンタイプデバイスエージェントのエージェント名ヘッダ

pd_agent_header

プロテクションドメインタイプデバイスエージェントのエージェント名ヘッダ

モジュール生成ルール

vm_stat

仮想マシンを監視するためのモジュール追加集約ルールです。デフォルトは 'hypervisor_cpu_usage_ppm|hypervisor_memory_usage_ppm|.*avg.*' です。メトリックの名前がこのフィールドに示されている正規表現と一致した場合に、異常モジュールを生成します。すべてのメトリックを監視するには、“.*” を追加します。

host_stat

仮想マシンサーバ(Nutanix ノード)を監視するためのモジュールを追加するルールです。デフォルトは、' hypervisor_cpu_usage_ppm|hypervisor_memory_usage_ppm|. *avg*' です。メトリックの名前がこのフィールドに示されている正規表現と一致した場合に、異常モジュールを生成します。すべてのメトリックを監視するには、“.*” を追加します。

pd_stat

プロテクションドメインを監視するためのモジュールを追加するルールです。デフォルトは、'replication_transmitted_bandwidth_kBps|replication_total_transmitted_bytes' です。メトリックの名前がこのフィールドに示されている正規表現と一致した場合に、異常モジュールを生成します。すべてのメトリックを監視するには、“.*” を追加します。

名前変更エンティティ

RENAME aaa TO bbb

エンティティの名前を変更するためのルールで、要素の名前を変更するのに必要な数のディレクティブを定義できます。

エンティティの除外

REJECT aaa

エンティティを監視から除外するルールで、除外したい数のディレクティブを定義できます。

プラグインの実行

プラグインを実行するサーバは、監視のために Pandora サーバおよび Nutanix インフラストラクチャの両方にアクセスできる必要があります。

手動実行:

./pandora_nutanix-linux-x64 pandora_nutanix.conf

/etc/crontab に以下の設定を追加することにより、cron でプラグインを自動実行できます。

  • /5 * * * * root /path/to/plugin/pandora_nutanix-linux-x64 /path/to/plugin/pandora_nutanix.conf

プラグインの結果

プラグインが取得した結果は次のようになります。

Nutanix アーキテクチャマップの例:

nutanix_map.jpg

Nutanix アーキテクチャエージェント表示の例:

nutanix_agents.jpg

Nutanix エージェントのモジュール表示の例:

nutanix_host_modules.jpg

XenServer

Xen は、ケンブリッジ大学で開発されたオープンソースの仮想環境です。

設計の目標は、すべての機能を備えたオペレーティングシステムのインスタンスを、単純なコンピュータで完全に機能させることです。

Xenは、安全な隔離、リソース管理、サービス品質の保証、仮想マシンのホットマイグレーションを提供します。 オペレーティングシステムは、Xen で実行するための変更を行います(ただし、ユーザアプリケーションとの互換性は維持されます)。 これにより、Xen は特別なハードウェアサポートなしで高性能仮想化を実現します。

インテルは、VT-X Vanderpool アーキテクチャ拡張をサポートするための複数の機能を Xen に提供しました。 この技術により、物理サーバが Intel または AMD の VT 拡張をサポートしていれば、オペレーティングシステムを変更することなく Xen の仮想マシンとして動作することが可能になります。

プラグイン操作

Xen 環境監視のための Pandora FMS プラグインは、Python で書かれています。 必要な情報をすべて取得するには、XenAPI を使用します。 これにより、次のタイプの要素の監視が可能になります。

  • Xen 内の仮想化システム
  • ストレージリソース
  • Xen 自身のサーバ(ホスト)

プラグインに必要なもの

プラグインを実行するシステムには次のものが必要です。

  • Python のインストール
  • 以下の Python ライブラリ
    • XenAPI
    • xmltodict
  • XenServer API へのアクセス (プラグインを実行するマシンから、XenServer へのポート 443 または 80 での接続許可)
  • 利用できる情報が多いため、仮想マシンには Xen Server Tools のインストールを推奨します。

プラグインは、XenServer 6.5 および 7.2 のシステムでテストしています。

プラグインのインストール

Pandora FMS の XenServer プラグインを、モジュールライブラリ からダウンロードします。

実行環境のマシン(Windows または Linux)で、Pandora FMS エージェントまたはシステム cron を使用して実行できるディレクトリにファイルを展開します。

プラグイン設定

Xen 用の Pandora FMS プラグイン設定は以下の通りです。

設定ブロック conf

xen_server_ip

Xen Server の IP/FQDN アドレス

user

Xen API に対してクエリを出せるユーザ

password

ユーザのパスワード

temporal

テンポラリディレクトリ

設定ブロック [PANDORA]

tentacle_client

Tentacle クライアントの実行ファイルの場所

tentacle_ip

Tentacle の接続先 IP アドレス

tentacle_port

Tentacle の接続先ポート

logfile

ログファイルのパス

interval

生成したエージェントの間隔

group

生成したエージェントに割り当てるグループ

設定ブロック [TUNNING]

time_adjustment

プラグインを実行しているコンピュータと Xen server との間で許容可能な時間差を調整するパラメータ。(デフォルト = 10, 秒単位)

scan_vm_ip

プラグインが Xen サーバーの VM の IP を取得するかどうかを定義するパラメータ。XenTools がインストールされた VM の IP のみ取得できます。有効化(scan_vm_ip = true)または、無効化(scan_vm_ip = false)の設定ができます。設定されていない場合は、有効になります。

設定ブロック [RENAME]

xen_element_name=pandora_agent_name

このブロックでは、以下のフォーマットで多くのエントリーを定義できます。XenServer 要素の名前を Pandora で使われるエージェント名に変更することができます。VMs、SR、Xen Server 自身を変更することができ、以下に例を示します。

 [RENAME]
 example-xen-server = Example Xen Server
 Example Xen Server 2 = example-xen-server-2
 example-vm = Example VM
 Example VM 2 = example-vm-2
 example-sr = Example SR
 Example SR 2 = example-sr-2

名前にスペースが含まれていても、クオートでくくる必要はありません。

プラグインの実行

Pandora FMS エージェントの設定に以下を追加することによって、プラグインの実行ができます。

module_plugin python "<ruta>\xen-plugin.py" "<ruta>\xen-plugin.conf"

システムの cron で設定する場合は、/etc/crontab に以下を追加します。

  • /5 * * * * root python “<ruta>\xen-plugin.py” “<ruta>\xen-plugin.conf” > /dev/null 2>&1

プラグインを手動実行すると、出力は以下のようになります。

 python "<ruta>\xen-plugin.py" "<ruta>\xen-plugin.conf"
 <module>
 <name><![CDATA[XenServer Plugin]]></name>
 <type><![CDATA[async_string]]></type>
 <description><![CDATA[Result of XenServer Plugin execution]]></description>
 <data><![CDATA[OK]]></data>
 </module>

プラグインの結果

プラグインが取得した結果か以下のようになります。

Xen アーキテクチャマップの例:

Xen アーキテクチャエージェント表示の例:

Xen エージェントのモジュール表示の例:

OpenNebula

OpenNebula は、分散型および異機種のデータセンターに焦点を当てたクラウドコンピューティングのプラットフォームであり、インフラストラクチャのプライベート、パブリック、およびハイブリッドのインプリメンテーションをサービス(IaaS)クラウドとして構築する仮想インフラストラクチャを提供します。

OpenNebula は、Apache 2 ライセンスのオープンソースソフトウエアです。

プラグイン操作

OpenNebula 環境を監視するための Pandora FMS プラグインは Perl で書かれています。OpenNebula サーバのローカルで実行し、OpenNebula 自身の管理コマンドを使って必要な情報を取得します。

  • クラスタ
  • ホスト
  • 仮想マシン
  • ストレージリソース

プラグインに必要なもの

プラグインの実行には以下が必要です。

  • Perl のインストール
  • 以下のコマンドの実行権限
    • onehost
    • onecluster
    • onedatastore

プラグインの実行は OpenNebula システム 5.X.X でテストしています。

プラグインのインストール

OpenNebula 用の Pandora FMS プラグインは、モジュールライブラリ からダウンロードします。

Pandora FMS エージェントまたはシステム cron を使用して実行できるディレクトリにファイルを展開します。

unzip pandora_OpenNebula.zip

プラグインの設定

OpenNebula 用の Pandora FMS プラグインには以下の設定があります。

Pandora サーバとの通信設定

mode

データ転送モード。“local” または “tentacle” です。

tentacle_ip

Pandora サーバの IP アドレス。tentacle モードの場合のみ。

tentacle_port

Tentacle サーバのポート番号

tentacle_opts

Tentacle の追加オプション

tentacle_client

Tentacle クライアントのパス

temp

テンポラリディレクトリ

local_folder

データ転送モードが “local” の場合のパス

エージェント設定

agent_interval

エージェント間隔。デフォルトは 300。

agent_group

エージェントグループ。デフォルトは OpenNebula。

モジュールカスタマイズ

module_group

モジュールグループ。デフォルトは、OpenNebula。

module_interval

モジュール間隔(倍率)。デフォルトは 1

module_tags

モジュールのタグ

名前のカスタマイズ

cluster_agent_header

クラスタタイプデバイスエージェントのエージェント名ヘッダ

host_agent_header

仮想マシンサーバタイプデバイスエージェントのエージェント名ヘッダ

storage_agent_header

ストレージデバイスタイプエージェントのエージェント名ヘッダ

vm_agent_header

仮想マシンタイプデバイスエージェントのエージェント名ヘッダ

フィルタ

cluster_monitoring

クラスタ監視の有効化(1)または無効化(0)

host_monitoring

仮想マシンサーバ監視の有効化(1)または無効化(0)

storage_monitoring

ストレージデバイス監視の有効化(1)または無効化(0)

vm_monitoring

仮想マシン監視の有効化(1)または無効化(0)

エンティティのリネーム

RENAME aaa TO bbb

エンティティのリネームルールで、必要なだけ定義することができます。

エンティティの除外

REJECT aaa

監視対象外エンティティのルールで、必要なだけ定義することができます。

プラグインの実行

システム cron で設定するには、次の行を /etc/crontab へ追加します。

  • /5 * * * * root “<ruta>/pandora_opennebula” “<ruta>/pandora_opennebula.conf” > /dev/null 2>&1

プラグインを手動実行すると、出力は次のようになります。

 [root@valhalla ~]# ./pandora_opennebula pandora_opennebula.conf
 [root@valhalla ~]# echo $?
 0

プラグインの実行結果

OpenNebula プラグインで生成されるモジュール一覧です。

ホスト:

  1. Available CPU
  2. Available Disk
  3. Available memory
  4. Error Error reported by OpenNebula
  5. State
  6. Total zombies
  7. VMs running

ストレージデバイス:

  1. Disk Free %

仮想マシン:

  1. Assigned CPU
  2. Assigned Memory
  3. Network RX
  4. Network TX
  5. State
  6. Time running

OpenNebula アーキテクチャマップの例:

IBM HMC

このプラグインは、HMC ハードウエア管理コンソールを通して IBM AIX 仮想環境を監視できます。 このプラグインは、HMC システムによって AIX 環境に作成されたすべての論理パーティションから情報を収集します。各管理サーバ、論理パーティション、仮想 IO サーバごとに一つのエージェントを作成します。

SSH で情報を収集するために、プラグインは以下の 3つのモードを使えます。

  1. スクリプト ssh_launcher.sh の利用をもとにしたもの
  2. Net::SSH::Perl ライブラリをもとにしたもの
  3. Net::SSH::Expect ライブラリをもとにしたもの

キャプチャされた情報を補完するために、REST API に対してもクエリが実行されます。(デフォルトは https://fqdn:12443/rest/api/{root_element} です。)

必要条件

監視に必要なパラメータは次の通りです。

  • HMC システムの認証に必要なユーザ名(読み出し専用)
    • ユーザは REST API への接続権限および、HMC シェルへログインし(少なくとも)次のコマンドを実行する権限が必要です。
      • lssyscfg
      • lshwres
  • ユーザのパスワード
  • HMC の場所(FQDN/IP) (myhmc.mydomain など)
  • HMC REST API のベース URL (https://myhmc.mydomain:12443 など)

プラグインにより生成されるモジュール

プラグインによって監視されるパラメータは次の通りです。(エレメントタイプでグループ化されます)

  • Current logical partitions 展開されている現在の論理パーティション
  • Max logical partitions 最大論理パーティション数
  • Max memory available 未使用メモリ
  • Max memory installed 最大搭載メモリ
  • Proc pool DefaultPool current proc units
  • Proc pool DefaultPool max proc units
  • Proc pool DevelopmentPool current proc units
  • Proc pool DevelopmentPool max proc units
  • Proc pool ProductionPool current proc units
  • Proc pool ProductionPool max proc units
  • Proc pool TestPool current proc units
  • Proc pool TestPool max proc units
  • Proc pool VIOPool current proc units
  • Proc pool VIOPool max proc units
  • Processor pools configured 設定されているプロセッサプール
  • Processor units available 未使用プロセッサユニット
  • Processor units installed 搭載されているプロセッサユニット
  • State 管理システムの状態
  • UUID HMC API を照会するために使用されます
  • Virtual proc units max 論理パーティションの最大仮想プロセッサユニット

LPAR:

  • Auto start 自動起動設定の論理パーティション
  • LPAR type 論理パーティションタイプ
  • LPAR UUID HMC API を照会するために使用されます
  • Max memory 最大メモリ
  • Max memory current 未使用メモリ
  • Processor units available 未使用プロセッサユニット
  • Processor units current 搭載プロセッサユニット
  • RMC IP address RMC IP アドレス
  • RMC state LPAR の RMC の状態
  • State 論理パーティションの状態
  • Virtual proc units この LPAR に割り当てられた仮想プロセッサユニット

Virtual IO:

  • Auto start 自動起動設定の論理パーティション
  • LPAR type 論理パーティションタイプ
  • LPAR UUID HMC API を照会するために使用されます
  • Max memory 最大メモリ
  • Max memory current 未使用メモリ
  • Processor units available 未使用プロセッサユニット
  • Processor units current 搭載プロセッサユニット
  • RMC IP address RMC IP アドレス
  • RMC state LPAR の RMC の状態
  • State 論理パーティションの状態
  • Virtual proc units この LPAR へ割り当てられている仮想プロセッサユニット

プラグイン設定

プラグインのパラメータは次の通りです。(エレメントタイプごとにグループ化)

Pandora サーバとの通信設定

mode

データ転送モード。“local” または “tentacle”

tentacle_ip

Pandora サーバの IP アドレス。tentacle モードの場合のみ利用。

tentacle_port

Tentacle サーバのポート

tentacle_opts

Tentacle の追加パラメータ

tentacle_client

Tentacle クライアントのパス

temp

テンポラリディレクトリ

local_folder

データ転送モードが “local” の場合のパス

HMC へのアクセス設定

hmc_host

HMC の IP または FQDN

hmc_user

読み出し権限のユーザ

hmc_pass

パスワード

as_agent_plugin

Pandora FMS エージェントで実行する場合(as_agent_plugin = 1)、プラグインの出力は XML フォーマットで返されます。システムの cron で実行するかまたは、サーバプラグインとして実行する場合(as_agent_plugin = 0)は、標準出力に状態が返されます。

エージェント設定

agent_name

オプション。親エージェントの名前を設定します。デフォルトは 'hostname' です。

agent_interval

エージェントの間隔。デフォルトは 300。

agent_group

エージェントグループ。デフォルトは IBM。

モジュールカスタマイズ

module_group

モジュールグループ。デフォルトは IBM。

module_interval

モジュールの間隔(倍率)。デフォルトは 1。

module_tags

モジュールのタグ

その他エンティティ

名前変更エンティティ。rename というブロックを使います。

 rename
 MyLPAR_NAME TO my new name
 MyLPAR_NAME2 TO my second new name
 rename_end

プラグインの実行

IBM AIX システムを HMC を通して監視するための Pandora プラグインは次のように展開しますj。

as_agent_plugin パラメータを 1 に設定した場合(エージェントプラグインとしての実行):

module_plugin /usr/bin/perl pandora_hmc.pl pandora_hmc.conf

as_agent_plugin パラメータを 0 に設定した場合(サーバプラグインとしての実行):

 # /etc/crontab
 */5 * * * * root /usr/bin/perl /root/hmc/pandora_hmc.pl /root/vmware/pandora_hmc .conf

HPVM

Hewlett-Packard が提供する仮想化で、HP-UX を実行する Itanium サーバ上で複数の仮想マシンを同時に実行することができます。サーバに最適化された製品です。

プラグイン設定

このプラグインは、HPVM 仮想化サーバを監視できます。エージェントプラグインとして起動し、監視対象システム内に起動している各仮想マシンごとに、エージェントを生成します。

情報を収集するためにローカルコマンドを利用します。

プラグインに必要なもの

  1. 監視対象のいコンピュータへの Pandora FMS エージェントのインストール
  2. プラグインの実行権限を持ったユーザ
  3. ユーザは、以下のように hpvvmstatus コマンドを実行する権限が必要です
    1. hpvmstatus
    2. hpvmstatus -X
    3. hpvmstatus -r -X

プラグインのインストール

Pandora FMS プラグインは、モジュールライブラリ からダウンロードします。

実行できる場所に展開します。

unzip pandora_HPVM.zip

プラグイン設定

HPVM 用の Pandora FMS プラグインの設定は以下の通りです。

Pandora サーバとの通信設定

mode

データ転送モード。“local” または “tentacle”

tentacle_ip

Pandora サーバの IP アドレス。データ転送モードが tentacle の場合のみ。

tentacle_port

Tentacle サーバのポート

tentacle_opts

Tentacle の拡張オプション

tentacle_client

Tentacle クライアントのパス

temp

テンポラリディレクトリ

local_folder

データ転送モードが “local” の場合のパス

エージェント設定

agent_name

オプション。エージェント名を設定します。デフォルトは 'hostname' です。

agent_interval

エージェント間隔。デフォルトは 300。

agent_group

エージェントグループ。デフォルトは HPVM。

モジュールカスタマイズ

module_group

モジュールグループ。

module_interval

モジュールの間隔(倍率)。デフォルトは 1。

module_tags

モジュールのタグ

プラグインの実行

Pandora FMS エージェントからのプラグイン実行では、エージェント設定ファイルに次の設定をします。

module_plugin /usr/bin/perl pandora_hpvm.pl pandora_hpvm.conf

手動でテストをするには、プラグインを設定し次のように起動します。

perl pandora_hpvm.pl pandora_hpvm.conf

プラグインの実行結果

プラグインで生成されるモジュールの一覧を要素ごとに示します。

サーバーエージェント (プラグインを起動するユーザ)

  • Available VMs
  • HPVM Plugin HPVM プラグイン実行ステータス
  • HPVM Service hpvmctrld の稼働状態 (X インスタンス)
  • HPVM Service CPU usage hpvmctrld の CPU 利用率 (X インスタンス)
  • HPVM Service RAM usage hpvmctrld のメモリ利用率 (X インスタンス)
  • hpvmapp hpvmapp の稼働状態 (X インスタンス)
  • hpvmapp CPU usage hpvmapp の CPU 利用率 (X インスタンス)
  • hpvmapp RAM usage hpvmapp のメモリ使用率 (X インスタンス)

仮想マシン

  • boot_type
  • console_type
  • CPU usage
  • device_number
  • direct_io_number
  • distributed
  • effective_serverid
  • guest_type
  • Host RAM available
  • Host RAM free
  • local_id
  • memory total
  • model_name
  • networks_number
  • run_pid
  • run_serverid
  • serial_number
  • uuid
  • vcpu_number
  • vm_condition
  • vm_config_label
  • vm_config_version
  • vm_state
  • vm_version
  • vm_version_label

Pandora FMS ドキュメント一覧に戻る