vm.gowatana.jp

NEOにほんごVMware(仮)

Horizon 8 のイベント データベースを構築してみる。(PowerCLI での構成 / クリア)

Horizon 8 のイベント データベースを、PowerCLI で構成してみます。今回は、Horizon Connection Server からデータベース サーバへの接続を切り替えてみます。

 

今回の内容です。

 

今回の環境

Horizon 8 環境は、下記のように構築してあります。

 

PowerCLI の実行環境は、下記のように構築してあります。Horizon の操作には、VMware.Hv.Helper モジュールを使用します。

 

データベース サーバは、下記のように構築してあります。

 

PowerCLI でのイベント データベースの構成

ここからは、Horizon Connection Server の下記の画面にあたる手順を、PowerCLI で実行してみます。

 

0. Horizon Connection Server への接続

まず、PowerCLI から Horizon Connection Server に接続しておきます。

PS C:\Users\user01> Connect-HVServer "192.168.80.41" -Domain "EUC" -User "Administrator" -Password "VMware1!"

ServiceUri    : https://192.168.80.41/view-vlsi/sdk
RefCount      : 1
User          : Administrator
Domain        : EUC
Id            : /ViewServer=administrator@192.168.80.41/
SessionSecret : f89c20c0-4298-4013-ac7c-7c4323ddd22d
IsConnected   : True
ExtensionData : VMware.Hv.Services
Name          : 192.168.80.41
Uid           : /ViewServer=administrator@192.168.80.41/
Client        : VMware.VimAutomation.HorizonView.Impl.V1.ViewServerClientImpl

 

この時点では、まだ Horizon イベント データベースは構成されていません。

PS C:\Users\user01> Get-HVEventDatabase
No Event Database configuration found

 

1. Microsoft SQL Server への接続

それでは、Microsoft SQL Server に接続してみます。イベント データベースの構成には、Set-HVEventDatabase コマンドレットを使用します。

パスワード文字列は、「ConvertTo-SecureString」で System.Security.SecureString 型に変換しておきます。

$pass = "VMware1!" | ConvertTo-SecureString -AsPlainText -Force
Set-HVEventDatabase `
-ServerName "192.168.80.52" `
-DatabaseType "SQLSERVER" `
-DatabasePort 1433 `
-DatabaseName "evtdb" `
-UserName "sa" `
-password $pass `
-TablePrefix "evt_"

 

Set-HVEventDatabase コマンドレットを実行して、成功すると特に出力はありません。データベースにプリフィックスで指定した名前のテーブル一式が存在しない場合は自動作成されます。そして、すでにテーブルが存在する場合は、以前に格納されたイベント情報が確認できるようになります。

PS C:\Users\user01> Set-HVEventDatabase `
>> -ServerName "192.168.80.52" `
>> -DatabaseType "SQLSERVER" `
>> -DatabasePort 1433 `
>> -DatabaseName "evtdb" `
>> -UserName "sa" `
>> -password $pass `
>> -TablePrefix "evt_"
PS C:\Users\user01>

 

Get-HVEventDatabase で、イベント データベースが構成構成されたことが確認できます。

PS C:\Users\user01> Get-HVEventDatabase

Servername                 : 192.168.80.52
Type                       : SQLSERVER
DatabaseName               : evtdb
UserName                   : sa
TablePrefix                : evt_
ShowEventsForTime          : TWO_WEEKS
ClassifyEventsAsNewForDays : 2

 

Horizon Console でも、画面を更新するとイベント データベースの構成が確認できます。

 

そして、データベースに以前のイベント情報が格納されている場合は表示されます。

 

イベントデータベースの構成をクリア(切断)する場合は、Clear-HVEventDatabase を実行します。

PS C:\Users\user01> Clear-HVEventDatabase -Confirm:$false

 

2. PostgreSQL への接続

PostgreSQL のデータベースに接続してみます。DatabaseType は「POSTGRESQL」を指定します。

$pass = "VMware1!" | ConvertTo-SecureString -AsPlainText -Force
Set-HVEventDatabase `
-ServerName "192.168.80.51" `
-DatabaseType "POSTGRESQL" `
-DatabasePort 5432 `
-DatabaseName "postgres" `
-UserName "postgres" `
-password $pass `
-TablePrefix "evt81_"

 

イベント データベースが構成されました。

 

表示されるイベント情報も切り替わりました。このデータベースは再構築したものなので、まだイベントは1件だけです。

 

イベント データベースの構成をクリアしておきます。

PS C:\Users\user01> Clear-HVEventDatabase -Confirm:$false

 

3. Oracle Database への接続

Oracle Database のデータベースに接続してみます。DatabaseType は「ORACLE」を指定します。以前の 投稿 で設定したように、Oracle のリスナー設定を変更した上で、DatabaseName には Oracle SID ではなく PDB の名前(XEPDB1)を指定しています。

$pass = "VMware1!" | ConvertTo-SecureString -AsPlainText -Force
Set-HVEventDatabase `
-ServerName "192.168.80.52" `
-DatabaseType "ORACLE" `
-DatabasePort 1521 `
-DatabaseName "XEPDB1" `
-UserName "horizon" `
-password $pass `
-TablePrefix "evt_"

 

イベント データベースが構成されました。



そして、イベント情報も切り替わりました。

 

イベント データベースの構成をクリアしておきます。

PS C:\Users\user01> Clear-HVEventDatabase -Confirm:$false

 

このように、工夫すると検証環境などでイベント データベースを切り替えて利用できそうかなと思います。

以上、PowerCLI で Horizon イベント データベースを構成してみる話でした。