IROHA2装置管理サーバー ================================= .. contents:: 目次: :depth: 3 起動 ################################# 手動起動 --------------------------------- 装置管理サーバーがインストールされたディレクトリにおいて以下のコマンドを実行する。 .. code-block:: sh $ cd /opt/mlfsoft/iroha2/iroha-management-server $ ./run.sh サービスとしての起動 --------------------------------- 装置管理サーバーをサービスとして登録している場合、systemctlコマンドによるサーバーの起動・停止の管理が可能である。 登録方法は管理者マニュアルの :doc:`../AdminManual/install` を参照のこと。 .. code-block:: sh # 起動 $ sudo systemctl start irhmngsrv # 状態確認 $ sudo systemctl status irhmngsrv # 再起動 $ sudo systemctl restart irhmngsrv # 停止 $ sudo systemctl stop irhmngsrv Web UIへのアクセス --------------------------------- サーバーを起動しているマシンからアクセスする場合、Webブラウザで以下のURLにアクセスする。 **http://localhost:8086** サーバー外のマシンからアクセスする場合、localhostをサーバーのIPアドレスに変更する。 ログイン --------------------------------- 上記のURLにアクセスすると装置管理サーバーのログイン画面が表示される。 .. figure:: ../DetailManual/images/irhmngsrv/login.jpg :scale: 60 :alt: Alternative Text :name: login 装置管理サーバーのログイン画面 ユーザー名とパスワードを入力し、ログインを実行する (初期状態では管理者のアカウント(ユーザー名 *admin*)のみが登録されている)。 ログインに成功すると装置管理サーバーのホーム画面が表示される。 管理者としてログインした場合のホーム画面を :numref:`home_menu` に示す。 .. figure:: ../DetailManual/images/irhmngsrv/home_menu.jpg :scale: 40 :alt: Alternative Text :name: home_menu 装置管理サーバーのホーム画面(管理者) 装置管理サーバーのWeb UIはシステムステータスバー、メニューおよびメニューに依存して表示されるメインコンテンツで構成されている。 サーバー設定 ################################# 装置管理サーバーのサーバーとしての設定を行う。 メニューの :guilabel:`Settings` を選択して設定画面を開く。 .. figure:: ../DetailManual/images/irhmngsrv/server_settings.jpg :scale: 60 :alt: Alternative Text :name: server_settings 装置管理サーバーの設定画面(管理者) ここでは以下の項目の設定を行う。 値を入力したのち、 :guilabel:`Save` ボタンを押下して設定を適用する。 .. csv-table:: Settingsの設定内容 :header-rows: 1 :widths: 8, 17, 75 :name: server_settings_items 項番, 項目, 説明 1, srvName, サーバー名。システムステータスバーおよびWebページタイトルとして保存される。 2, instCode, 3文字の装置コード。測定結果の出力等に使用される。DAQ M/W で設定している値と同一の値にする。 3, medPassword, MLF実験データベースから出力されるユーザファイルの出力先を指定する。未登録のユーザでもこのファイルに登録されていれば、ログイン時にインポートされる。 4, outputBasePath, "| runInfoやログなどの測定結果を出力するディレクトリのベースパスを設定する。測定結果は以下のように出力される。 | <ベースパス>/<装置コード>/<装置コード><RUN#>_YYYYMMDD/params/run.xml | 例)/opt/mlfsoft/data/SIK/SIK012345_20140205/params/run012345.xml" 5, logConf, 構成ログの保存パスを指定する。 6, logAuth, 認証ログの保存パスを指定する。 7, logMsg, メッセージログの保存パスを指定する。 8, runInfoPageMax, "| Run Informationメニューでの1ページあたりの表示数を設定する。 | ★admin 以外のユーザはユーザフィルタのため表示が著しく遅くなる可能性があるため、ページングされない。最新のRun情報の1ページ分が表示される。" 9, retryMax, デバイス制御サーバー接続時のリトライ回数を設定する。リトライ回数を超えて接続できない場合は、該当サーバーへの接続はResetされるまで再試行されない。0に設定すると無限に接続を試みる。 10, authSrv, 統合認証サーバーのURIを設定する。セカンダリーサーバーを登録する場合は、スペースで区切って設定する。 11, authSrvBaseDn, 統合認証サーバーアクセス時のBaseDnを設定する。 12, authSrvSearchOu, 統合認証サーバーアクセス時のOuを設定する。 13, infoSrv, 連携データベースのIPアドレスを設定する。セカンダリーサーバーを登録する場合は、スペースで区切って設定する。 14, infoSrvUsr, 連携データベースのユーザーを設定する。 15, infoSrvPass, 連携データベースのパスワードを設定する。 16, keyDir, "| RSA 鍵の作成ディレクトリを設定する。本項目は、Web UI からは参照できないため、以下のファイルをエディタで編集する必要がある。 | iroha-settings/management/database/settings.xml" .. note:: 最低限、2と4を設定すれば問題なく動作する ユーザー設定 ################################# 装置管理サーバー、シーケンス管理サーバー、統合制御サーバーにアクセスするユーザーアカウントの管理を行う。 メニューの :guilabel:`Users` を選択して設定画面を開く(この画面は管理者のみに表示される)。 .. figure:: ../DetailManual/images/irhmngsrv/users.jpg :scale: 60 :alt: Alternative Text :name: users_settings ユーザー管理画面 新規登録 --------------------------------- 一番下の行の :guilabel:`Name` にユーザー名、 :guilabel:`Password` にパスワードを入力し、 :guilabel:`Add` ボタンを押下する。 削除 --------------------------------- 削除するユーザーの行の :guilabel:`Delete` ボタンを押下する。 ただし、Adminおよび統合認証サーバーの認証でログインしたユーザーは削除することができない。 パスワード変更 --------------------------------- パスワードを変更するユーザーの行の :guilabel:`Password` に新しいパスワードを入力し、 :guilabel:`Change Password` ボタンを押下する。 ただし、統合認証サーバーの認証でログインしたユーザーのパスワードは変更することができない。 強制ログアウト --------------------------------- ログアウトさせるユーザーの行の :guilabel:`Logout` ボタンを押下する。 他サーバーとの接続設定 ################################# デバイス制御サーバーおよびDAQ M/Wと接続するための設定を行う。 メニューの :guilabel:`Servers` を選択して設定画面を開く(この画面は管理者のみに表示される)。 デバイス制御サーバーの設定 --------------------------------- 装置管理サーバーで管理対象とするデバイス制御サーバーの設定を行う。 .. figure:: ../DetailManual/images/irhmngsrv/server_devsrv.jpg :scale: 60 :alt: Alternative Text :name: server_devsrv サーバー設定画面:デバイス制御サーバーの登録 新規登録 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 一番下の行の :guilabel:`IP Address` にデバイス制御サーバーのIPアドレス、 :guilabel:`Port` にポート番号(デフォルト8085)を入力し、 :guilabel:`Add` ボタンを押下する。 :guilabel:`Monitor` はデバイス制御サーバー自体をモニタリングサーバーとして登録するかどうかを選択する(version 2.6以降)。モニタリングについては後述する。 削除 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 削除するサーバーの行の :guilabel:`Delete` ボタンを押下する。 更新 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`IP Address` や :guilabel:`Port` 等を変更し、変更した行の :guilabel:`Update` ボタンを押下する。 再接続 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 再接続を行うサーバーの行の :guilabel:`Reset` を押下する。 操作 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Pythonのライブラリparamikoがインストールされている場合、 :guilabel:`Control` が有効になり、デバイス制御サーバーの起動、停止、状態取得を行うことができる。 詳細は割愛する。 DAQ M/Wの設定 --------------------------------- DAQ M/Wサーバーの設定を行う。 .. figure:: ../DetailManual/images/irhmngsrv/server_daqmw.jpg :scale: 60 :alt: Alternative Text :name: server_daqmw サーバー設定画面:DAQ M/Wサーバーの登録 ここでは以下の項目の設定を行う。 値を入力したのち、 :guilabel:`Update` ボタンを押下して設定を適用する。 .. csv-table:: DAQ M/Wの設定内容 :header-rows: 1 :widths: 8, 17, 75 :name: setting_daqmw 項番, 項目, 説明 1, host, DAQ OperatorのIPアドレスを設定する。 2, urlCnt, DAQ M/Wの制御スクリプトのパスを設定する。 3, inPathConfig, 測定開始時にconfig.xmlの書き換えを行う場合に入力となるconfig.xmlのパスを設定する。入力しない場合はこの処理は行われない。 4, outPathConfig, 測定開始時にconfig.xmlの書き換えを行う場合に出力先となるconfig.xmlのパスを設定する。入力しない場合はこの処理は行われない。 5, inPathCondition, 測定開始時にcondition.xmlの変換を行う場合に入力元となるcondition.xmlのパスを設定する。入力しない場合はこの処理は行われない。またRun情報にcondition情報が記録されない。 6, outPathCondition, 測定開始時にcondition.xmlの変換を行う場合に出力先となるcondition.jsonのパスを設定する。未入力の場合はこの処理は行われない(本機能を利用するにはpythonのlxmlモジュールが必要)。 7, daqCntRetry, DAQ M/W 制御時のタイムアウト回数を指定する。Begin/Endコマンド送信後、DAQ M/W がRUNNING/CONFIGUREDとなるまで待ち時間となる(デフフォルトでは約1秒×60回=1分待つ)。 8, kickerCompName, Kickerコンポーネントの名称を指定する。 デバイス構成の設定 ################################# 登録されたデバイス制御サーバー上にあるデバイスのうち、測定に使用するデバイスを選択してまとめたものをデバイス構成と呼ぶ。 メニューの :guilabel:`Configuration` を選択して設定画面を開く。 .. figure:: ../DetailManual/images/irhmngsrv/configuration.jpg :scale: 60 :alt: Alternative Text :name: configuration デバイス構成画面 追加 --------------------------------- 一番下の行の入力欄( :guilabel:`NewConfigName` )に構成名を入力し、 :guilabel:`Add` ボタンを押下する。 2つのチェックボックスのうち、 :guilabel:`All Devices` を選択すると管理下にあるデバイス制御サーバーのすべてのデバイスの初期状態が *Use Devidce* となり、 :guilabel:`Public` を選択すると他のユーザーからも参照できるようになる。 :guilabel:`Add` ボタンを押下すると :numref:`configuration_edit` の画面に遷移する。 .. figure:: ../DetailManual/images/irhmngsrv/configuration_edit.jpg :scale: 60 :alt: Alternative Text :name: configuration_edit デバイス構成編集画面 ここでは各デバイスのカテゴリの選択、 *Public/Private* の選択を行う。 デバイスのカテゴリは以下のとおりである。 .. csv-table:: Configurationにおけるデバイスのカテゴリ :header-rows: 1 :widths: 8, 22, 70 :name: configuration_category 項番, カテゴリ, 説明 1, Use Device, 監視および制御対象とするデバイス 2, Monitor Device, 監視のみ行うデバイス。このデバイスがError状態となっても測定には影響が出ない。 3, Not Use Device, 監視および制御を行わないデバイス version 2.6以降では *モニタリングサーバー* 機能が追加されている。 :guilabel:`Servers` 画面においてデバイス制御サーバーをモニタリングに設定した場合、 もしくはあるデバイス制御サーバーのすべてのデバイスをモニタリング対象とした場合に、 そのデバイス制御サーバーはモニタリングサーバーとなる。 モニタリングサーバーがDisconnect状態に陥るなどの問題が生じても、システムはエラー状態とならずに測定を継続することができる。 モニタリングサーバーとして設定されるとデバイス構成編集画面ではデバイスをUseに変更することができなくなる。 そのため、:guilabel:`Servers` 画面においてモニタリングサーバーを解除する必要がある。 デバイス構成を *Public* にする場合は :guilabel:`Public Access` にチェックを入れる。 デバイス構成を編集したのち、 :guilabel:`Save` ボタンを押下して保存する。 または、 :guilabel:`Cancel` ボタンを押下した場合には編集結果が破棄される。 どちらかのボタンを押下したのち、 :numref:`configuration` の画面に戻る。 編集 --------------------------------- 編集したいデバイス構成の行の :guilabel:`Edit` ボタンを押下すると :numref:`configuration_edit` の画面に遷移する。 編集方法は追加で説明した手順と同じである。 削除 --------------------------------- 削除したいデバイス構成の行の :guilabel:`Delete` ボタンを押下すると、そのデバイス構成は削除される。 有効化/無効化 --------------------------------- デバイス構成の行の右のボタンが :guilabel:`Deactivate` となっている場合、このデバイス構成が有効な状態である。 :guilabel:`Deactivate` ボタンを押下すると、このデバイス構成は無効化される。 一方、 :guilabel:`Activate` の場合には、このデバイス構成は無効状態である。 :guilabel:`Activate` ボタンを押下すると、このデバイス構成は有効化される。 ただし、複数のデバイス構成を有効化することはできず、最後に :guilabel:`Activate` ボタンを押下したデバイス構成のみが有効化される。 測定予約 ################################# 複数のユーザーで同時に測定することを避けるために、測定予約の機能がある。 測定予約を行ったユーザーのみが装置管理サーバーにおける測定やさらに上位のシーケンス管理サーバー、統合制御サーバーからの操作が可能になる。 * 測定予約はシステムステータスバーの :guilabel:`Not Reserved` ボタンを押下することで、現在のユーザーが測定予約される。 * 測定予約状態の場合には、ボタンの文字が :guilabel:`Reserved for <ユーザー名>` のように変化する。この状態でボタンを押下すると測定予約が解除される。 .. figure:: images/irhmngsrv/reserved.jpg :scale: 40 :alt: Alternative Text :name: reserved 測定予約ボタン(上:測定予約解除状態、下:測定予約状態) 管理者は他の一般ユーザーの測定予約を解除できるが、一般ユーザーは自らの測定予約の解除しかできない。 また、測定予約状態はログアウトやサーバーの再起動では解除されない。 測定 ################################# 装置管理サーバーにおいて測定の設定と制御を行うことができる。 メニューの :guilabel:`Measurement` を選択して測定画面を開く。 .. figure:: ../DetailManual/images/irhmngsrv/measurement.jpg :scale: 60 :alt: Alternative Text :name: measurement 測定画面 測定の設定 --------------------------------- 項目を入力し、 :guilabel:`Save` ボタンを押下すると設定が反映される。 .. csv-table:: 測定の設定項目 :header-rows: 1 :widths: 8, 22, 70 :name: meas_setting_item 項番, カテゴリ, 説明 1, Run No., 測定のラン番号。測定を行うと自動的にインクリメントされる。 2, Experimental ID, 測定の実験ID。 3, Comment, コメント。 測定の制御 --------------------------------- デバイスの設定などを含む高度な測定はシーケンス管理サーバー等の上位サーバーで行うことが想定されているため、装置管理サーバーではサポートされていない。 装置管理サーバーでは、測定開始、停止などの簡易測定制御を行うことができる。 簡易測定では次の処理を行う。 * 測定開始(Begin) * デバイス構成およびDAQ M/W の状態確認(ERROR でない) * 測定結果用ディレクトリの作成、測定結果(runInfo)の準備 * デバイス制御サーバーの測定ログパス変更と測定ログの取得開始 * DAQ M/W の状態リセット(他の状態にあってもCONFIGURED 状態になります) * DAQの開始 * 測定の中断及び再開(Pause/Resume) * DAQ のPAUSE(一時停止)およびRESUME(再開) * 測定終了(End) * DAQ の停止 * デバイス制御サーバーの測定ログ停止 * 測定結果の出力 * リセット(Reset) * 全デバイス制御サーバーへのリセット送信 * 装置管理サーバー上のデバイス制御サーバー通信状態のリセット * 測定状態のリセット(装置管理サーバー上の状態リセット) * DAQ M/W をCONFIGUREDとする .. note:: Reset 時にはRun No はインクリメントされない Recent Run情報は最近実行された測定または実行中の測定情報を表示する。 この情報は装置管理サーバーが起動している状態で管理されているため、 装置管理サーバーを再起動すると次回測定まで表示されない(ファイルには保存されていない)。