大変お世話になっております。
早速ですが、題記の件、ESXIにzabbixーagentをインストールして、死活監視及びログ監視を行いたいと思います。
そこで以下2点をご教示願います。
?そもそもESXIにagentは対応していますか?? →マニュアル見たけど、のってませんでした。
?ESXIはログをはきださない。 ※吐き出す先を他のサーバに指定する仕様になっています。 zabbixでESXIのログ監視はできませんか??
以上、ご教示願います。
robinmasukさん
ESXIですか…使ったことないですが…A(^^;
ESXIに対応しているかと言われるとちょっと意味が… ESXI上のOSに対応するかと言う話ならOS対応一覧にあるならと言う話かと…
XenやVMwareの話も乗ってなかった様な… ちなみに、VMware上のXenの上のLinuxでZabbixエージェントを動かしたことはあります。
他のサーバ上のログがZabbixで読める権限ならば監視可能だと思いますが…ログ形式はどんなものでしょうか?
ESXi自体は、Zabbixのサポートプラットホームに含まれていません。 簡単にインストールするパッケージも見当たりませんので、ESXi自体にZabbixのAgentをインストールすることは無理だと考えられたほうが良いと思います。
ログの監視に関しては、syslogサーバを用意し、ESXiからそのサーバに飛ばすように設定して、そのログをZabbixで監視すればよいのではないでしょうか。
・ESXi InstallableおよびvCenterServerセットアップガイド(JA-000256-00) P.34 「システムログファイルのリモートホストへのリダイレクト」参照 https://www.vmware.com/jp/support/pubs/vs_pages/vsp_pubs_esxi40_u1_i_vc40_u1.html
syslogサーバの構成に関しては、以下のURLなども参考にされてはいかがでしょうか。 http://www.atmarkit.co.jp/fsecurity/rensai/unix_sec08/unix_sec01.html
robinmasukさん、TNKさん
私なんか勘違いしていますでしょうか… ESXi上のゲストOSを監視したいのではなくてESXiそのものを監視したいと言うことなのでしょうか?
これはOKですね。 監視対象じゃないサーバからリモートsyslog出力したログの監視やネットワーク機器がLinuxサーバのsyslog宛てに出力したログの監視は実績ありますので。
syslogの他にsyslog-ngと言うのもあります。 syslogに比べ色々な機能があって便利です。
ESXi上のゲストOSを監視したいのではなくてESXiそのものを監視したいと言うことなのでしょうか?
私は、元の質問がESXi自体を監視したいのだと読み取りました。 ゲストOSが対応していれば、ゲストOSにエージェントを導入することで監視可能だと思います。
syslogの他にsyslog-ngと言うのもあります。
syslog-ngの他にrsyslogというのもあります。 FedoraやRed Hat Enterprise Linuxのインストールメディアにも入っているようです。 syslogの設定をそのまま生かせるので移行が楽かもしれません。 http://www.atmarkit.co.jp/flinux/rensai/newlog01/newlog01c.html http://www.atmarkit.co.jp/flinux/rensai/newlog04/newlog04a.html
KAZ様 TNK様
すみません。。。返信遅くなりました。 私の質問がわるかったですね。
おっしゃる通りです。 ESXIを監視したかったのですが、agentが対応していないということですね。。。
こんな機能もあるのですね。。 大変参考になりました。
変な推測をさせてしまって、申し訳ありません。。。
ESXであればサービスコンソール(ホストOS)がLinuxなのでZabbixエージェントをインストールすることも可能ですが、ESXiはサービスコンソール自体がないのではと思います。
私はESXiを触ったことがないので詳しくは知らないのですが、ホストOSにsshでログインしたり、Linux用のRPMをインストールしたりすることができるものなのでしょうか?
ESXiもLinuxベースのコンソールを持つので、シェルを利用することができます。 手順としては、
1.Alt+F1でコンソールを開く 2.「unsupported」+Enterを入力する(表示されない) 3.passwordプロンプトにrootのパスワードを入力
で、「Tech Support Mode」というモードになります。
いくつかのコマンドは利用できます。 /etc/inetd.confを変更して、inetdプロセスにHUPシグナルを送ればリモートからsshを利用することもできます。 しかし、Agentインストールに必要なツールがインストールされていないので、Agentをインストールするのは結構手間がかかると思います。例えば、rpmコマンドはインストールされていません。(ESXi 4.0.0-208167で確認)
syslogに関しては、vSphere ClientでESXiに接続をして、
「構成」タブ →「ソフトウェア」→「詳細設定」→「Syslog」→「Remote」
を開き、Syslog.Remote.HostnameにsyslogサーバのIPアドレスかホスト名を入力します。 ポート番号は、デフォルトが514番になってます。
syslogサーバ側は、
1.syslogdをリモートからの要求を受け付けるようにする 2.Firewallの設定で、514/UDPを許可する
でESXiからのsyslogを受けられるようになると思います。 1.のリモートから受けられるようにするには、Red Hat系なら、
/etc/sysconfig/syslog
内のSYSLOGD_OPTIONSに「-r」を追加して、syslogdを再起動します。
上記のESXiとsyslogサーバの両方の設定を行えば、ESXiのログがsyslogサーバのsyslogに出力されるようになります。
TNK様
回答頂きありがとうございます。
内のSYSLOGD_OPTIONSに「-r」を追加して、syslogdを再起動します。 上記のESXiとsyslogサーバの両方の設定を行えば、ESXiのログがsyslogサーバのsyslogに出力されるようになります。
上記設定を行って、syslogサーバ構築しました。 なんでしょうか・・・構築して思ったのですが syslogサーバはlogを見る為だけのサーバですので、不要なスペックだと思います。 zabbixでログが見れるので、syslogサーバをたてるつもりはありませんでしたが、ESXIでagentのインストールができないと思っていたので、立てました。。。
ESXIのインストール方法があればいいな・・・と思う程度です。 TNK様貴重なご回答ありがとうございます。
syslogサーバとして別途立てなくても、何かのサーバに共存させてしまっても構わないと思います。 具体的に障害発生時にどのようなログが出力されるかまでは確認できていませんが、恐らく、ESXiの状態の変化などはsyslogに出力されるのではないかと思います。 標準のままだと、vSphere ClientのGUI上からしかログの確認ができないと思うので、どこかで集中管理するという意味では、syslogも有用な機能の一つではないでしょうか。
また、RPMでのインストールができないことは、先日も書かせて頂きましたが、他の方法として、Zabbix Agentをstaticリンクでコンパイルして、それを稼動できないかと思ってやってみました。 具体的には、ソースを展開して、configureを実行する際に、オプションを追加します。 <code> ./configure --enable-agent --enable-static </code> 結果としては、CentOS 5.4(x86_64)上でコンパイルして、ESXi 4.0上に配置したものの、起動させることができませんでした。 起動できなかった原因までは追究できていません。
やはり、ESXiの監視は、
・vSphere CLI(vSphere SDK for Perl) http://www.vmware.com/support/developer/vcli/ http://www.vmware.com/support/developer/viperltoolkit/ ・vMA http://www.vmware.com/support/developer/vima/index.html http://communities.vmware.com/community/vmtn/vsphere/automationtools/vima
などを検討された方が良いのではないでしょうか。
アカウント名 robinmasuk
Zabbix関連
KAZ - 投稿数: 1085
robinmasukさん
ESXIですか…使ったことないですが…A(^^;
ESXIに対応しているかと言われるとちょっと意味が…
ESXI上のOSに対応するかと言う話ならOS対応一覧にあるならと言う話かと…
XenやVMwareの話も乗ってなかった様な…
ちなみに、VMware上のXenの上のLinuxでZabbixエージェントを動かしたことはあります。
他のサーバ上のログがZabbixで読める権限ならば監視可能だと思いますが…ログ形式はどんなものでしょうか?
TNK - 投稿数: 4769
ESXi自体は、Zabbixのサポートプラットホームに含まれていません。
簡単にインストールするパッケージも見当たりませんので、ESXi自体にZabbixのAgentをインストールすることは無理だと考えられたほうが良いと思います。
ログの監視に関しては、syslogサーバを用意し、ESXiからそのサーバに飛ばすように設定して、そのログをZabbixで監視すればよいのではないでしょうか。
・ESXi InstallableおよびvCenterServerセットアップガイド(JA-000256-00)
P.34 「システムログファイルのリモートホストへのリダイレクト」参照
https://www.vmware.com/jp/support/pubs/vs_pages/vsp_pubs_esxi40_u1_i_vc40_u1.html
syslogサーバの構成に関しては、以下のURLなども参考にされてはいかがでしょうか。
http://www.atmarkit.co.jp/fsecurity/rensai/unix_sec08/unix_sec01.html
KAZ - 投稿数: 1085
robinmasukさん、TNKさん
私なんか勘違いしていますでしょうか…
ESXi上のゲストOSを監視したいのではなくてESXiそのものを監視したいと言うことなのでしょうか?
これはOKですね。
監視対象じゃないサーバからリモートsyslog出力したログの監視やネットワーク機器がLinuxサーバのsyslog宛てに出力したログの監視は実績ありますので。
syslogの他にsyslog-ngと言うのもあります。
syslogに比べ色々な機能があって便利です。
TNK - 投稿数: 4769
私は、元の質問がESXi自体を監視したいのだと読み取りました。
ゲストOSが対応していれば、ゲストOSにエージェントを導入することで監視可能だと思います。
syslog-ngの他にrsyslogというのもあります。
FedoraやRed Hat Enterprise Linuxのインストールメディアにも入っているようです。
syslogの設定をそのまま生かせるので移行が楽かもしれません。
http://www.atmarkit.co.jp/flinux/rensai/newlog01/newlog01c.html
http://www.atmarkit.co.jp/flinux/rensai/newlog04/newlog04a.html
robinmasuk - 投稿数: 81
KAZ様
TNK様
すみません。。。返信遅くなりました。
私の質問がわるかったですね。
おっしゃる通りです。
ESXIを監視したかったのですが、agentが対応していないということですね。。。
こんな機能もあるのですね。。
大変参考になりました。
変な推測をさせてしまって、申し訳ありません。。。
kodai - 投稿数: 1341
ESXであればサービスコンソール(ホストOS)がLinuxなのでZabbixエージェントをインストールすることも可能ですが、ESXiはサービスコンソール自体がないのではと思います。
私はESXiを触ったことがないので詳しくは知らないのですが、ホストOSにsshでログインしたり、Linux用のRPMをインストールしたりすることができるものなのでしょうか?
TNK - 投稿数: 4769
ESXiもLinuxベースのコンソールを持つので、シェルを利用することができます。
手順としては、
1.Alt+F1でコンソールを開く
2.「unsupported」+Enterを入力する(表示されない)
3.passwordプロンプトにrootのパスワードを入力
で、「Tech Support Mode」というモードになります。
いくつかのコマンドは利用できます。
/etc/inetd.confを変更して、inetdプロセスにHUPシグナルを送ればリモートからsshを利用することもできます。
しかし、Agentインストールに必要なツールがインストールされていないので、Agentをインストールするのは結構手間がかかると思います。例えば、rpmコマンドはインストールされていません。(ESXi 4.0.0-208167で確認)
syslogに関しては、vSphere ClientでESXiに接続をして、
「構成」タブ
→「ソフトウェア」→「詳細設定」→「Syslog」→「Remote」
を開き、Syslog.Remote.HostnameにsyslogサーバのIPアドレスかホスト名を入力します。
ポート番号は、デフォルトが514番になってます。
syslogサーバ側は、
1.syslogdをリモートからの要求を受け付けるようにする
2.Firewallの設定で、514/UDPを許可する
でESXiからのsyslogを受けられるようになると思います。
1.のリモートから受けられるようにするには、Red Hat系なら、
/etc/sysconfig/syslog
内のSYSLOGD_OPTIONSに「-r」を追加して、syslogdを再起動します。
上記のESXiとsyslogサーバの両方の設定を行えば、ESXiのログがsyslogサーバのsyslogに出力されるようになります。
robinmasuk - 投稿数: 81
TNK様
回答頂きありがとうございます。
上記設定を行って、syslogサーバ構築しました。
なんでしょうか・・・構築して思ったのですが
syslogサーバはlogを見る為だけのサーバですので、不要なスペックだと思います。
zabbixでログが見れるので、syslogサーバをたてるつもりはありませんでしたが、ESXIでagentのインストールができないと思っていたので、立てました。。。
ESXIのインストール方法があればいいな・・・と思う程度です。
TNK様貴重なご回答ありがとうございます。
TNK - 投稿数: 4769
syslogサーバとして別途立てなくても、何かのサーバに共存させてしまっても構わないと思います。
具体的に障害発生時にどのようなログが出力されるかまでは確認できていませんが、恐らく、ESXiの状態の変化などはsyslogに出力されるのではないかと思います。
標準のままだと、vSphere ClientのGUI上からしかログの確認ができないと思うので、どこかで集中管理するという意味では、syslogも有用な機能の一つではないでしょうか。
また、RPMでのインストールができないことは、先日も書かせて頂きましたが、他の方法として、Zabbix Agentをstaticリンクでコンパイルして、それを稼動できないかと思ってやってみました。
具体的には、ソースを展開して、configureを実行する際に、オプションを追加します。
<code>
./configure --enable-agent --enable-static
</code>
結果としては、CentOS 5.4(x86_64)上でコンパイルして、ESXi 4.0上に配置したものの、起動させることができませんでした。
起動できなかった原因までは追究できていません。
やはり、ESXiの監視は、
・vSphere CLI(vSphere SDK for Perl)
http://www.vmware.com/support/developer/vcli/
http://www.vmware.com/support/developer/viperltoolkit/
・vMA
http://www.vmware.com/support/developer/vima/index.html
http://communities.vmware.com/community/vmtn/vsphere/automationtools/vima
などを検討された方が良いのではないでしょうか。