ここでは、コネクション情報のモニタリングについて説明します。
コネクション情報は、以下のような場合に使用します。
アプリケーションとShunsakuとの接続状態を確認する
アプリケーションへの応答時間が一定時間を超えるコネクションの情報を収集する
どのアプリケーションからの要求に時間がかかっているかを分析する
コネクション状態は、conductorを配置しているサーバで、shuncstateコマンドにcオプションおよびtオプションを実行することにより取得できます。
例1 コネクション情報の表示例
以下に、コネクション情報の表示例を示します。
IPv4の場合
shuncstate -s shunc -c
Shunsaku shuncstate 2007/01/01 19:01:00
(1)             (2)
Client          Application
                (3)                  (4)
                RequestType          ShunsakuFile
                (5)                  (6)                  (7)
                QueryStarted         QueryElapse(sec)     Results
                (8)                  (9)
                Stage                StageElapse(sec)
                (10)                 (11)                 (12)
                DirectorStarted      DirectorEnded        BusiestDirector
                (13)                 (14)                 (15)
                SorterStarted        SorterEnded          Sorter
                (16)
                Expression
192.168.0.1     Application2
                SEARCH               file1
                19:02:53.340         6.660
                DIRECTOR             4.060
                19:02:53.950
                SEARCH: /root/company/employee/name == 'tanaka'
                RETURN: /root/company/name/text()
192.168.0.2     Application1
                DELETE               file1
                19:02:54.140         3.870
                DIRECTOR             3.020
                19:02:58.740
192.168.0.1     Application.PKG01
                SORT                 file1
                19:02:49.780         9.120                25
                SORTER               1.130                
                19:02:50.330         19:02:56.740         shund1
                19:02:57.080                              shuno1
                SEARCH: /root/company/id = 2000
                SORT: rlen(/root/company/name/text(),16)
                RETURN: /root/company/name/text()
192.168.0.3     Application3
                SEARCHKEY
                19:02:54.335         0.001
                DIRECTOR             0.000
                19:02:54.335
                SEARCHKEY: KEY1="20061101,00000001"
                RETURN: /IPv6の場合
shuncstate -s shunc -c
Shunsaku shuncstate 2007/01/01 19:01:00
(1)             (2)
Client          Application
                (3)                  (4)
                RequestType          ShunsakuFile
                (5)                  (6)                  (7)
                QueryStarted         QueryElapse(sec)     Results
                (8)                  (9)
                Stage                StageElapse(sec)
                (10)                 (11)                 (12)
                DirectorStarted      DirectorEnded        BusiestDirector
                (13)                 (14)                 (15)
                SorterStarted        SorterEnded          Sorter
                (16)
                Expression
2001:db8::1000  Application2
                SEARCH               file1
                19:02:53.340         6.660
                DIRECTOR             4.060
                19:02:53.950
                SEARCH: /root/company/employee/name == 'tanaka'
                RETURN: /root/company/name/text()
2001:db8::2000  Application1
                DELETE               file1
                19:02:54.140         3.870
                DIRECTOR             3.020
                19:02:58.740
2001:db8::1000  Application.PKG01
                SORT                 file1
                19:02:49.780         9.120                25
                SORTER               1.130                
                19:02:50.330         19:02:56.740         shund1
                19:02:57.080                              shuno1
                SEARCH: /root/company/id = 2000
                SORT: rlen(/root/company/name/text(),16)
                RETURN: /root/company/name/text()
2001:db8::3000  Application3
                SEARCHKEY
                19:02:54.335         0.001
                DIRECTOR             0.000
                19:02:54.335
                SEARCHKEY: KEY1="20061101,00000001"
                RETURN: /表示項目の説明を以下に示します。
| 表示項目 | 説明 | 
|---|---|
| (1) Client | アプリケーションが動作しているホストのIPアドレス | 
| (2) Application | アプリケーションの名前 | 
| (3) RequestType | アプリケーションの要求種別 
 | 
| (4) ShunsakuFile | 接続先のShunsaku File名 | 
| (5) QueryStarted | クエリ発行時間(HH:MM:SS.mmm) | 
| (6) QueryElapse(sec) | クエリ発行からの総経過時間(秒) | 
| (7) Results | 検索結果件数 | 
| (8) Stage | 要求の処理段階 
 tオプションを指定した場合は、常に“IDLE”または“ERROR”と出力されます。 | 
| (9) StageElapse(sec) | 現在の処理段階に移行してからの経過時間(秒) | 
| (10) DirectorStarted | director処理開始時間(HH:MM:SS.mmm) | 
| (11) DirectorEnded | director処理終了時間(HH:MM:SS.mmm) | 
| (12) BusiestDirector | 最も時間を要したdirectorの識別子 | 
| (13) SorterStarted | sorter処理開始時間(HH:MM:SS.mmm) | 
| (14) SorterEnded | sorter処理終了時間(HH:MM:SS.mmm) | 
| (15) Sorter | ソート指定付き検索要求で使用されたsorterの識別子 | 
| (16) Expression | 検索要求の式(ダイレクトアクセスキー、検索式、リターン式、ソート式) 
 | 
また、tオプションを使用することで、ある期間で実行されたクエリの情報を収集することもできます。
注意
ダイレクトアクセスキーの値が64KBを超える場合には、“SEARCHKEY”の表示において、すべての内容が表示されないことがあります。
検索式が64KBを超える場合には、"SEARCH"の表示において、すべての内容が表示されないことがあります。
リターン式が64KBを超える場合には、"RETURN"の表示において、すべての内容が表示されないことがあります。
例2 要求を受け付けたクエリのうち応答時間が3秒以上の要求に関するコネクション情報をテキストファイルへ出力する例
以下に、ある期間内で要求を受け付けたクエリのうち応答時間が3秒以上の要求に関するコネクション情報をテキストファイルへ出力する例を示します。
shuncstate -s shunc -t start -q 3 -o /home/shunsaku/monitor/connection.txt shuncstate -s shunc -t end
-t start指定でコネクション情報の収集を開始し、-t end指定で収集を終了します。
connection.txtの内容
Client          Application
                RequestType          ShunsakuFile
                QueryStarted         QueryElapse(sec)     Results
                Stage                StageElapse(sec)
                DirectorStarted      DirectorEnded        BusiestDirector
                SorterStarted        SorterEnded          Sorter
                Expression
192.168.0.1     application2
                SORT                 file1
                19:19:46.053         3.160                201
                IDLE                 0.000                
                19:19:46.091         19:19:47.133         shund1
                19:19:47.134         19:19:49.211         shuno1
                SEARCH: /document/base/prefecture == 'Nagoya' 
                SORT: val(/document/base/price/text()), /document/base/in/text()
                RETURN: /document/base/name, /document/base/price, /document/base/in
192.168.0.2     application1
                SORT                 file1
                19:19:46.250         3.162                283
                IDLE                 0.000          
                19:19:46.252         19:19:47.333         shund1
                19:19:47.334         19:19:49.411         shuno1
                SEARCH: /document/base/prefecture == 'Tokyo' 
                SORT: val(/document/base/price/text()), /document/base/in/text()
                RETURN: /document/base/name, /document/base/price, /document/base/in例3 要求を受け付けたクエリに関するコネクション情報をCSV形式で出力する例
以下に、ある期間内で要求を受け付けたクエリに関するコネクション情報をCSV形式で出力する例を示します。
shuncstate -s shunc -t start -C -o /home/shunsaku/monitor/connection.csv shuncstate -s shunc -t end
-t start指定でコネクション情報の収集を始め、-t end指定で収集を終了します。
connection.csvの内容
| "Client","Application","RequestType","ShunsakuFile","QueryStarted","QueryElapse(sec)","Results","Stage","StageElapse(sec)","DirectorStarted","DirectorEnded","BusiestDirector","SorterStarted","SorterEnded","Sorter","Expression" "192.168.0.1","application2","SORT","file1","19:19:46.053",3.160,201,"IDLE",0.000,"19:19:46.091","19:19:47.133","shund1","19:19:47.134","19:19:49.211","shuno1","SEARCH: /document/base/prefecture == 'Nagoya' SORT: val(/document/base/price/text()), /document/base/in/text() RETURN: /document/base/name, /document/base/price, /document/base/in" "192.168.0.2","application1","SORT","file1","19:19:46.250",3.162,283,"IDLE",0.000,"19:19:46.252","19:19:47.333","shund1","19:19:47.334","19:19:49.411","shuno1","SEARCH: /document/base/prefecture == 'Tokyo' SORT: val(/document/base/price/text()), /document/base/in/text() RETURN: /document/base/name, /document/base/price, /document/base/in" | 
1行目には項目名を出力し、2行目以降にコネクション情報を出力します。
1つのレコードの終端には改行コードが付加されます。
ポイント
CSVファイルには以下に示す形式で出力します。
文字列項目は二重引用符(" ")で囲みます。文字列中に二重引用符がある場合は、二重引用符を2回繰り返して出力します。
数値項目は二重引用符(" ")で囲みません。