セッション管理コマンドmoninfoの利用方法
moninfoコマンドは、コンソールから日医標準レセプトソフトのセッション管理を行うツールです。moninfoコマンドを利用して以下のことができます。
- サーバに接続しているクライアントの一覧表示
- 特定のクライアントへのダイアログによるメッセージ通知
- 全てのクライアントへのダイアログによるメッセージ通知
- 特定のクライアントへのポップアップによるメッセージ通知(Panda版のみ対応)
- 全てのクライアントへのポップアップによるメッセージ通知(Panda版のみ対応)
- 特定のクライアントへのメッセージ通知と強制終了
- 全てのクライアントへのメッセージ通知と強制終了
日医標準レセプトソフトVer5.2.0以降のmoninfoコマンド
コマンド形式
moninfoコマンドの形式は以下です。
WebORCAオンプレ版
$ curl http://127.0.0.1:8000/moninfo/who
※1 SSL接続の場合は下記のように curlの後に証明書の指定をおこない、httpsで接続してください
例:curl --cacert ca.crt --cert crtファイル名 --key pemファイル名 https://サーバIP:8000/moninfo/who
(証明書ファイルはフルパスで指定し、サーバIPはサーバ証明作成時に指定したIPを設定してください)
※2 Windowsの場合、message部分はダブルコーテーションの前にバックスラッシュを付与し、波カッコはダブルコーテーションで囲んでください
例:curl -X POST -H "Content-Type: application/json" -d "{\"message\":\"メッセージ\"}" http://127.0.0.1:8000/moninfo/sendmsgall
Panda版オンプレ $ sudo /usr/lib/panda/bin/moninfo -p /tmp/systemd-private-<ランダム英数字>-jma-receipt.service-<ランダム英数字>/tmp/sysdata コマンド 引数
重要:Panda版オンプレはsystemed対応によりwfcのプロセスの/tmpがprivate-tmpに隔離されたため、上記のような形式となります。
利用可能なコマンドとその説明は以下です。
| コマンド | 引数 | 説明明 | Panda | WebORCA |
|---|---|---|---|---|
| dump | - | 標準出力にシステムDBの内容をYAML形式でダンプする | 〇 | × |
| popup | 端末ID メッセージ | 端末IDで指定したクライアントにポップアップでメッセージを通知する | 〇 | × |
| popup-all | メッセージ | 全てのクライアントにポップアップでメッセージを通知する | 〇 | × |
| dialog | 端末ID メッセージ | 端末IDで指定したクライアントにダイアログでメッセージを通知する | 〇 | × |
| dialog-all | メッセージ | 全てのクライアントにダイアログでメッセージを通知する | 〇 | × |
| sendmsg | 端末ID メッセージ | 端末IDで指定したクライアントにダイアログでメッセージを通知する | × | 〇 |
| sendmsgall | メッセージ | 全てのクライアントにダイアログでメッセージを通知する | × | 〇 |
| abort | 端末ID メッセージ | 端末IDで指定したクライアントにメッセージを通知し、強制終了させる | 〇 | 〇 |
| abort-all | メッセージ | 全てのクライアントにメッセージを通知し、強制終了させる | 〇 | 〇 |
| who | - | 端末ID、ユーザ名、ウィンドウ名、アクセス時間、ログイン時間を表示する | 〇 | 〇 |
Panda版オンプレについて、moninfoコマンドはwfcが作成したUNIXドメインソケット/tmp/sysdataに接続するため、wfcを実行しているユーザ、すなわちorcaユーザで実行する必要があります。
popup、popup-all、dialog、dialog-all、abort、abort-allコマンドに渡すメッセージのエンコーディングは UTF-8 でなければいけません。
コマンド解説
dumpコマンド
dumpコマンドは標準出力にシステムDBの内容をYAML形式で出力します。セッションIDをキーとしたハッシュの形式となります。
dumpコマンドはデバッグ用のため将来バージョンでは出力内容、出力形式とも変更される可能性があります。
実行例$ sudo -u orca /usr/lib/panda/bin/moninfo dump 682C7:0000000000000000000000000100000000000000:00000EC6:ダンプデータ中の各項目の意味は以下です。
abort:
in_process: F
event:
window: M00
widget: SELNUM
access_time: Mon Jul 02 11:41:22 2012
agent: glclient2/1.4.7
process_time: 1.402335
count: 1
total_process_time: 1.402335
create_time: Mon Jul 02 11:41:22 2012
dialog:
host: localhost
user: ormaster
popup:
| 項目 | 値の説明 |
|---|---|
| user | ユーザ名 |
| host | セッションの接続元のホスト名 |
| agent | クライアントの種類※1 |
| window | イベントのウィンドウ名 |
| widget | イベントのウィジェット名 |
| event | イベント名 |
| in_process | アプリケーション処理中かどうかのフラグ("T" または "F") |
| create_time | セッション接続時間(例 Mon Aug 17 11:54:31 2009) |
| access_time | 最終アクセス時間(例 Mon Aug 17 11:54:31 2009) |
| process_time | 一つ前のトランザクションの処理時間(秒) |
| total_process_time | 一つ前までのトランザクションの処理時間の合計(秒) |
| count | トランザクション数 |
| popup | ポップアップ通知用メッセージ領域 |
| dialog | ダイアログ通知用メッセージ領域 |
| abort | 強制終了用メッセージ領域 |
popupコマンド
popupコマンドは端末IDを指定して特定のクライアントにポップアップによるメッセージを通知するコマンドです。 端末IDを指定するため、事前にwhoコマンドを実行して端末IDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo popup 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
popup-allコマンド
popup-allコマンドは全てのクライアントにポップアップによるメッセージを通知するコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo popup-all "メッセージ"
dialogコマンド
dialogコマンドは端末IDを指定して特定のクライアントにダイアログによるメッセージを通知するコマンドです。 端末IDを指定するため、事前にwhoコマンドを実行して端末IDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo dialog 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
dialog-allコマンド
dialog-allコマンドは全てのクライアントにダイアログによるメッセージを通知するコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ sudo -u orca /usr/lib/panda/bin/moninfo dialog-all "メッセージ"
sendmsgコマンド
sendmsgコマンドは端末IDを指定して特定のクライアントにダイアログによるメッセージを通知するコマンドです。 端末IDを指定するため、事前にwhoコマンドを実行して端末IDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ curl -X POST -H "Content-Type: application/json" -d '{"id":"whoで取得したid", "message":"メッセージ"}' http://127.0.0.1:8000/moninfo/sendmsg
(「127.0.0.1」の部分はサーバのIPとなります。運用環境に合わせ適宜変更してください)
sendmsgallコマンド
sendmsgallコマンドは全てのクライアントにダイアログによるメッセージを通知するコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
$ curl -X POST -H "Content-Type: application/json" -d '{ "message":"メッセージ"}' http://127.0.0.1:8000/moninfo/sendmsgall
(「127.0.0.1」の部分はサーバのIPとなります。運用環境に合わせ適宜変更してください)
abortコマンド
abortコマンドは端末IDを指定して特定のクライアントにメッセージを通知し、強制終了させるコマンドです。 端末IDを指定するため、事前にwhoコマンドを実行して端末IDを調べておく必要があります。 またメッセージのエンコーディングは UTF-8 でなければなりません。
実行例
WebORCAオンプレ版
$ curl -X POST -H "Content-Type: application/json" -d '{"id":"whoで取得したid", "message":"メッセージ"}' http://127.0.0.1:8000/moninfo/abort
(「127.0.0.1」の部分はサーバのIPとなります。運用環境に合わせ適宜変更してください)
Panda版オンプレ
$ sudo -u orca /usr/lib/panda/bin/moninfo abort 6BAA7:0000000000000000FFFF00000100007F00000000:00001A62 "メッセージ"
abort-allコマンド
abort-allコマンドは全てのクライアントにメッセージを通知し、強制終了させるコマンドです。 メッセージのエンコーディングは UTF-8 でなければなりません。
実行例
WebORCAオンプレ版
$ curl -X POST -H "Content-Type: application/json" -d '{ "message":"メッセージ"}' http://127.0.0.1:8000/moninfo/abortall
(「127.0.0.1」の部分はサーバのIPとなります。運用環境に合わせ適宜変更してください)
Panda版オンプレ
$ sudo -u orca /usr/lib/panda/bin/moninfo abortall "メッセージ"
whoコマンド
whoコマンドは接続しているクライアントのユーザ名、ホスト名、ログイン時間、アクセス時間、ウィンドウ名、クライアント種別、端末IDの一覧を表示するコマンドです。
実行例
WebORCAオンプレ版 $ curl http://127.0.0.1:8000/moninfo/who (「127.0.0.1」の部分はサーバのIPとなります。運用環境に合わせ適宜変更してください) Panda版オンプレ $ sudo -u orca /usr/lib/panda/bin/moninfo who |USER |HOST |LOGIN@ |LAST@ |WINDOW |AGENT |ID | |ormaster |localhost |Mon Jul 02 11:41:22 2012 |Mon Jul 02 11:41:22 2012 |M00 |glclient2/1.4.7 |682C7:0000000000000000000・・・ ※ WebORCAオンプレ版には「HOST」「AGENT」は表示されません


















