ここでは Houdini 18 から可能になり、18.0.525 以降で改良されたライセンスサーバのピーク使用量ログの取り方と Houdini Launcher 導入によるライセンスツールの変更について説明する。
使用したビルド:
- Houdini 18.0.597 (18.0.525 以降が基本的には必須) Windows 10
- 最後に使ったのは Houdini 19.0.455 (ライセンスツール) + 460 (Python3)
- Python/Hython2.7 または 3.x
- pytz
- tzlocal
- xlsxwriter
1. Houdini 19 および Launcher によるライセンスツールの場所の移動 (Windows)
Windows で Houdini 19 または Launcher を使って ライセンスツールをインストールすると、
- sesictrl.exe
- sesinetd.exe
2. sesinetd.options の設定
C:\Program Files\Side Effects Software\License Server に sesinetd.options を作成、以下のように記述し、sesinetd を再起動することでピークログの記録が始まる。
-V 3 -z 1048576 -U minute -G -l C:/sesinetd.log
Windows での sesinetd の再起動は Win キー + R で services.msc を実行、Houdini License Server サービスをリストから見つけ、RMB->Restart とする。
-U と -G フラグが正しく認識されれば、ライセンスファイルのあるディレクトリ (C:\Windows\keys)に、sesinetd_peak_usage.bin というファイルができるはず。
3. parsepeakuserlog.py の設定
parsepeakuserlog.py は Houdini 18.0.525 以降に同梱のファイル。これをフルに活用するには 以下のPython 追加モジュールのインストールが必要。
これらのモジュールは 2.7/3.x どちらにも互換がある模様。pip を使っていない人にとって、最も手っ取り早いインストール方法は、
- それぞれのソース (tar.gz) をダウンロードし解凍。
- PYTHONPATH を、例えば、C:\Python27\Lib\site-packages (または 3x 以下の同じディレクトリ) に設定。
- 解凍したファイルのうち、pytz, tzlocal, xlsxwriter ディレクトリをC:\Python27\Lib\site-packages 以下にコピー。
各モジュールが正しくインストールされれば、
$ hython (または python) parsepeakuserlog.py
としたときに
usage: parsepeakuserlog.py [-h] [--no-progress-info] [--verbosity VERBOSITY] [--time-zone TIME_ZONE] [--group-by {hour,day,month}] [--usage-by-license] [--export-dir EXPORT_DIR] [--export-type {csv,mysql,xlsx}] [--export-users] [--csv-dialect {excel}] [--start-date START_DATE] [--end-date END_DATE] log_file parsepeakuserlog.py: error: too few arguments正しいフラグの指定方法と入力ファイルの指定が無いこと以上の警告が出ない。それぞれが無ければ、以下のような警告が出る。
WARNING: The pytz Python module is not installed, so the --time-zone option is not available and all times will be converted to the local time zone. Please install pytz to add proper support for time zones. WARNING: The xlsxwriter Python module is not installed, so the xlsx export type is not available. Please install xlsxwriter if you intend on exporting as xlsx.
pytz がインストールされ、tzlocal がないと以下のような警告が追加で出る。
WARNING: The tzlocal Python module is not installed, so the time information may be off depending on Daylight Savings Time. Please install tzlocal to enable accurate timezone information.
4. parsepeakuserlog.py の実行
- C:\Windows\keys に書き込み権限があることを確認する。もしくは、C:\Windows\keys\sesinetd_peak_usage.bin を別ディレクトリにコピーする (例: C:\temp\sesinetd_peak_usage.bin)
- Houdini の Command Line Tools を実行する。
- cd %HFS% (Houdini インストールディレクトリに行く。)
- 以下のコマンド実行。
Python 2.7 版の Houdini の場合$ python27\python.exe houdini\python2.7libs\parsepeakuserlog.py C:\temp\sesinetd_peak_usage.bin
Python 3.7 版の Houdini の場合$ python37\python.exe houdini\python3.7libs\parsepeakuserlog.py C:\temp\sesinetd_peak_usage.bin
Cygwin や Linux および MacOS であれば、環境設定後に環境変数を使って以下のように実行可能。$ $HFS/python37/python.exe $HHP/parsepeakuserlog.py sesinetd_peak_usage.bin
正しく実行されれば、以下のようなメッセージが出る。Finished reading usage file..xxx%
C:\temp 以下には、sesinetd_peak_usage.bin.exported というディレクトリができ、その中に以下ように二つ (以上) のファイルができる。- usage_license_table.csv
- usage_log_FX.csv
これらのファイルは、テキストエディタでも Excel などでも開くことができる。さらに細かい調整は、上記のフラグを見て設定していく。
5. トラブルシューティング
ログが正しく書かれないなど、問題があったときには、sesinetd.options で指定したログファイルの中身を見てみる。例えば、
[2022-01-06 10:46:05] Manager - Invalid log file等とある場合には、sesinetd_peak_usage.bin が何らかの理由で壊れた可能性がある。そうすると Python コマンドを実行しても usage_license_table.csv にヘッダだけ書かれ中身がない。
- sesinetd_peak_usage.bin を作り直してみる
- 一度、sesinetd (HoudiniLicenseServer) と hserver (HoudiniServer) を停止し、既存の C:\Windows\keys\sesinetd_peak_usage.bin を別ディレクトリに移し、C:\Windows\keys\ に新しく sesinetd_peak_usage.bin が作られるようにして、sesinetd と hserver を再開する。
新しく作成された sesinetd_peak_usage.bin からは問題なくログ情報が取れる(はず)。 - Cygwin で TZ が正しく認識されていない
- Windows (Cygwin) で実行する場合、環境変数 TZ を tzlocal が理解できる形で再定義しておいた方が良いかもしれない。TZ が "Asia/Japan" などとなっていると以下のようなエラーが起きる。
Timezone offset does not match system offset: -14400 != 3600. Please, check your config files.
この場合、(Cygwin で実行している場合)、$ export TZ=JST-9
等と TZ 環境変数を再定義しておく。
リンク
- ピークの使用状況をログに残す (Houdini ドキュメント)
- Houdini 環境変数設定
- WindowsにPython2.7とPython3.7が共存できるようにインストールする
最終更新: 2022-01-06
0 件のコメント:
コメントを投稿