[Reference:<_A7@delegate-notes.ML_>]
Newsgroups: mail-lists.delegate-notes
[DeleGate-Notes] 実行中のDeleGateのログレベルを変更するには (/ysh, /admin)
実行中のDeleGateのログレベルを変更するには
DGbeecon-09-12-11-sato
DeleGateの実行中に一時的に詳細なログを取りたくなることがあります。
ログレベルを常時詳細レベル(-vd)にしているとログ出力が膨大なってしまい、
性能にも影響を及ぼします。一方、停止してログレベルを上げて再起動、では、
中継中のセッションが破棄されてしまいますし、そもそも中継中のセッション
に何か異常を見つけてログを詳細化したい、という場合に対応できません。
そこで最近のDeleGateでは、9.8.2 (08年3月)以降、実行中のDeleGateにTelnetや
HTTPで接続して、(共有メモリ上におかれるようになった)ログレベル制御変数
を操作できるようになっています。ただし、実装上の問題が、最近の9.9.6で
発見され修正されたりもしていますので、この機能をお試しになる場合には
新しい版をお使いになることをお勧めします。
(1) Telnet で 実行中のDeleGateの "yshell" に接続する方法
準備:以下のようにDeleGateのyshell機能を有効にするオプションを加えて
DeleGateを起動する。
この例では、yshell のためのポートを9823、認証のためのユーザ名を
User、パスワードを Pass としている。
-Q9823/ysh AUTHORIZER="-list{User:Pass}:ysh:-:-Q9823"
使用:DeleGateにTelnetクライアントから接続して、ログレベルを変更する
コマンドを入力する
% telnet localhost 9823
ysh> option -vd (あるいは -vt -vs -vu)
Username: User
Password: Pass
ysh> quit
(2) HTTPS/SSL で実行中のDeleGateの "/-/admin/" で遠隔制御する方法
準備:以下のように、HTTPS経由でDeleGateを遠隔制御するためのポートを
加えてDeleGateを起動する。
この例では、DeleGateのホスト名を delegate、遠隔制御のためのポートを
9880、認証のためのユーザ名を User、パスワードを Pass としている。
-Q9880/admin AUTH=admin::User:Pass
使用:
- ブラウザで https://delegate:9880/-/admin/ を開く
- 赤字で表示される「Authenticate」をクリックし
- ユーザ名 User、パスワード Pass で認証する
- 「Logging」を開く (https://delegate:9880/-/admin/logging)
- ラヂオボタン "silent", "terse", "usual" あるいは "verbose" を選択
- "Logfile" ボタンを押す
ログレベルの変更はセキュリティに関わる操作ですので、操作の前に利用者
認証を必須としています。
これらはいずれも、WindowsCE版の開発の過程で、必要に迫られて導入された
機能でした。
上の(1)(2)に加えて、(3)として、コマンドレベルで同様なことを行なう方法が
あっても良さそうなものですし、実現も簡単そうですが、現在のところ実現して
いません。
9 9
┌─┐┬┌──┬┐ //\^^ ( e ); {Do the more with the less -- B. Fuller}
├─┤│└─┐│ / 877m\_< >_ <URL:http://www.delegate.org/delegate/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人)
|