仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

VMware ESXiホストでSNMPを有効化・設定する方法(ESXi 6.7/5.5以降対応)

監視システムでVMware ESXiサーバーの状態を監視したい場合、各ホストにSNMPエージェントを設定しておく必要があります。本記事では、VMware ESXi 6.7でSNMPを有効化して構成する手順を解説します(ESXi 5.5以降のバージョンにもそのまま適用可能です)。

ESXiには、SNMPリクエストやトラップ(Trap)を送受信できるSNMPエージェントが標準で組み込まれています。ESXiホストのSNMPエージェントは、vCLIやPowerCLIを使って有効化・構成できます。vSphere ClientのGUIからは直接設定できない点に注意してください。

ESXiのSNMPサーバーサービスを確認する

vSphere Webクライアントからは、「SNMP Server」サービスが稼働中かどうかの確認、起動ポリシーの変更、サービスの開始・停止のみを行えます。対象のESXiホストを選択し、「構成(Configure)」→「サービス(Services)」→「SNMP Server」の順に開いてください。このサービスはデフォルトで停止しているため、「開始」をクリックして起動します。

続いて、ESXiホストでSSHアクセスを有効にし、任意のSSHクライアント(Windows 10の標準SSHクライアントなど)からホストへ接続します。

現在のSNMP設定を確認するには、次のコマンドを実行します。

esxcli system snmp get
Authentication:
Communities:
Enable: false
Engineid:
Hwsrc: indications
Largestorage: true
Loglevel: info
Notraps:
Port: 161
Privacy:
Remoteusers:
Syscontact:
Syslocation:
Targets:
Users:
V3targets:

出力結果を見ると、すべてのパラメータが空で「Enable: false」となっており、SNMPエージェントが未設定かつ無効であることが分かります。

ESXiでSNMPエージェントのパラメータを設定する

まず、監視サーバーのIPアドレス(SNMPターゲット)、ポート番号(デフォルトはUDP 161)、SNMPコミュニティ名(通常は「public」)を指定します。

esxcli system snmp set --targets=192.168.99.99@161/public

コミュニティ名だけを個別に設定することもできます。

esxcli system snmp set --communities YOUR_COMMUNITY_STRING

さらに、設置場所(sysLocation)や管理者の連絡先(sysContact)を登録しておくと、監視運用時に役立ちます。

esxcli system snmp set --syslocation "Allee 16, Mun, DE"
esxcli system snmp set --syscontact admin@woshub.com

設定が完了したら、ESXiホストでSNMPサービスを有効にします。

esxcli system snmp set --enable true

設定をテストするには、次のコマンドを実行します。正常に完了すれば成功です。

esxcli system snmp test

設定を反映させるため、SNMPエージェントを再起動します。

/etc/init.d/snmpd restart

また、現在の設定を初期化するコマンドと、SNMPを無効化するコマンドも覚えておくと便利です。

# 設定のリセット
esxcli system snmp set -r

# SNMPの無効化
esxcli system snmp set --disable true

ESXiファイアウォールでSNMPトラフィックを許可する

ESXiホストのファイアウォールでSNMPトラフィックを許可する方法は2通りあります。ネットワーク上のすべてのデバイスからのSNMPリクエストを許可する場合は、次のコマンドを実行します。

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
esxcli network firewall ruleset set --ruleset-id snmp --enabled true

セキュリティを重視する場合は、監視サーバーのIPアドレスや、SNMPサーバーが属するサブネットからの通信のみを許可する設定が推奨されます。

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.100.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true

これで、SNMP経由でVMware ESXiホストを監視できるようになりました。

PowerCLIで複数のESXiホストのSNMP設定を一括変更する

多数のESXiホストに対してSNMPパラメータを素早く設定したい場合は、PowerCLIスクリプトを利用すると効率的です。以下はそのサンプルです。

$ESXi = 'mun-esxi01'
$Community = 'Public'
$Target = '192.168.99.99'
$Port = '161'

# ESXiホストへの接続
Connect-VIServer -Server $sESXiHost
# 現在のSNMP設定のクリア
Get-VMHostSnmp | Set-VMHostSnmp -ReadonlyCommunity @()
# SNMPパラメータの設定
Get-VMHostSnmp | Set-VMHostSnmp -Enabled:$true -AddTarget -TargetCommunity $Community -TargetHost $Target -TargetPort $Port -ReadOnlyCommunity $Community
# 現在のSNMPパラメータの表示
$Cmd = Get-EsxCli -VMHost $ESXiHost
$Cmd.System.Snmp.Get()

また、VMware Enterprise Plusライセンスをお持ちの場合は、ホストプロファイル(管理 → ホストプロファイル → 対象プロファイル → SNMP Agent Configuration)を使って、複数のESXiホストへSNMP設定を一括適用することも可能です。

ESXiでSNMPv3を設定する

ここまで、ESXiホストでSNMP v1/v2cエージェントを有効化・構成する方法を説明しました。ESXi 5.1以降では、より新しいプロトコルバージョンであるSNMP v3もサポートされています。認証と暗号化に対応したSNMPv3を利用すれば、より安全な監視環境を構築できます。

まず、認証プロトコルと暗号化プロトコルを設定します。

esxcli system snmp set -a MD5 -x AES128

次に、認証用・暗号化用パスワードのハッシュを生成します(authpassprivhashは実際のパスワードに置き換えてください)。

esxcli system snmp hash --auth-hash authpass --priv-hash privhash --raw-secret

生成されたハッシュ(authhashとprivhash)を使ってSNMPv3ユーザーを追加します。

esxcli system snmp set -e yes -C snmp@woshub.com -u snmpuser/authhash/privhash/priv

続いて、SNMPターゲット(トラップ送信先)のアドレスを指定します。

esxcli system snmp set --v3targets 192.168.99.99@161/user/priv/trap

Linuxのsnmpwalkツールを使えば、リモートからSNMPv3の設定を検証できます。

snmpwalk -v3 -u snmpuser -l AuthPriv -a SHA -A P@ssw0rd1 -x AES-X P@ssword2 192.168.1.120

まとめ

ESXiのSNMP設定はGUIからは行えず、esxcliコマンドまたはPowerCLIを使う必要があります。まずはv2cコミュニティによる簡易な監視から始め、セキュリティ要件が厳しい環境ではSNMPv3(認証+暗号化)への移行を検討しましょう。ファイアウォールの許可設定も忘れずに行うことで、ZabbixやPRTGなどの監視システムからESXiホストの状態を安全に収集できるようになります。

  1. Windows 10のOffice 365でダークモードを有効にして設定する方法

    ダークモードは美しいものです。多くのアプリやオペレーティングシステムで人気を集めているこの機能は、画面の明るさを抑え、目の負担を軽減しながら、内容を読みやすくしてくれます。しかし、Officeアプリそれぞれにも独自のダークモードが搭載されていることをご存じでしょうか。このガイドでは、Windows 10のOffice 365でダークモードを有効にする方法を詳しく解説します。 Office 365でダークモードを有効にする手順 まず、Wordで新しい文書、PowerPointでプレゼンテーション、またはExcelでスプレッドシートなど、いずれかのOfficeアプリを起動します。次に、開いているウ

  2. VMware ESXiで仮想マシンのクローンを作成する手順を徹底解説

    本チュートリアルは、一般の家庭ユーザーにはあまり馴染みがないかもしれません。しかし、何らかの理由で環境にVMware ESXiを採用している方にとっては、きっと役立つ内容となるはずです。VMware ESXiは無料で提供されているベアメタル型ハイパーバイザーです。より多機能な有償製品「ESX Server」への購入を促すための、いわば導入版的な位置づけにあります。ESX Serverはあらゆる機能を備えている一方、価格も桁違いに高額です。ESXiは、ベアメタル仮想化における「低コストな選択肢」と言えるでしょう。そのため、上位製品にはある当たり前の機能がいくつか欠けており、クローン作成機能もその