1. 概要
  2. ユーザーガイド
    1. allコマンド
    2. アクティブコマンド
    3. Logstore コマンド
    4. Logfile コマンド
    5. 履歴コマンド
  3. 戻り値
  4. ユースケース
    1. Logtail 実行状態の監視
    2. ログ収集進行状況の監視
    3. ログファイルの収集が完了したかどうかの判断
    4. ログ収集問題のトラブルシューティング

概要

Logtail を使用して正常性ステータスとログ収集の進行状況を照会し、ログ収集の問題をチェックし、ログ収集のステータス監視をカスタマイズすることができます。

ユーザーガイド

ステータスクエリ機能をサポートする Logtail クライアントがインストールされている場合は、クライアントにコマンドを入力してローカルログ収集のステータスを問い合わせることができます。 Logtail をインストールするには、Logtail の Linux へのインストールを参照してください。

/etc/init.d/ilogtaild -hコマンドをクライアントに入力して、クライアントがローカルログ収集ステータスの照会をサポートしているかどうかを確認します。 logtail insight, versionキーワードが返された場合、この関数は Logtail クライアントでサポートされていることを示します。

/etc/init.d/ilogtaild -h
Usage: ./ilogtaild { start | stop (graceful, flush data and save checkpoints) | force-stop | status | -h for help}$
logtail insight, version : 0.1.0
commond list :
       status all [index] 
             get logtail running status 
       status active [--logstore | --logfile] index [project] [logstore] 
             list all active logstore | logfile. if use --logfile, please add project and logstore. default --logstore
       status logstore [--format=line | json] index project logstore 
             get logstore status with line or json style. default --format=line 
       status logfile [--format=line | json] index project logstore fileFullPath 
             get log file status with line or json style. default --format=line 
       status history beginIndex endIndex project logstore [fileFullPath] 
             query logstore | logfile history status.  
index : from 1 to 60. in all, it means last $(index) minutes; in active/logstore/logfile/history, it means last $(index)*10 minutes
現在、Logtail は、次のクエリコマンド、コマンド関数、クエリの時間間隔、および結果統計の時間ウィンドウをサポートしています。
コマンド 機能 クエリの時間間隔 統計の時間ウィンドウ
all Logtail の実行状態を照会 最後の 60 分 1 分
active 現在のアクティブなログストアまたはログファイルの照会(収集されたデータを含む) 最後の 600 分 10 分
logstore ログストアの収集ステータスを照会 最後の 600 分 10 分
logfile ログファイルの収集ステータスを照会 最後の 600 分 10 分
history ある期間にわたってログストアまたはログファイルの収集ステータスを照会 最後の 600 分 10 分
  • コマンドのindexパラメーターは、時間ウィンドウのインデックス値を表し、これは現在の時間から数えられています。 有効範囲は 1~60 です。 統計の時間枠が 1 分の場合、現在の時刻から (index、 index-1)分のクエリを実行することを示します。 統計の時間ウィンドウが 10 分の場合は、(10*index, 10*(index-1)) を現在の時刻からクエリします。
  • すべてのクエリコマンドは status サブコマンドに属しているため、メインコマンドは status です。

allコマンド

コマンドフォーマット
/etc/init.d/ilogtaild status all [ index ] 
allコマンドは、Logtail の実行状態を表示するために使用されます。 index パラメーターはオプションです。 空白のままにすると、デフォルトで 1 が使用されます。
/etc/init.d/ilogtaild status all 1
ok
/etc/init.d/ilogtaild status all 10
busy
アウトプットの説明
アイテム 説明 優先度 ソリューション
ok 現在のステータスは正常です。 N/A 何もする必要はありません。
busy 現在の収集速度は速く、Logtail は正常に動作しています。 N/A 何もする必要はありません。
many_log_files 収集されるログファイルの数が多くなりました。 低い 構成で収集する必要のないファイルがあるかチェックします。
process_block 現在のログ解析がブロックされています。 低い ログの生成が速すぎるかどうかを確認してください。 引き続きこのアウトプットが表示される場合、必要に応じてLogtail 起動設定パラメーターを変更して、CPU使用率の上限またはネットワーク上の同時送信数の制限を変更してください。
send_block 現行の送信はブロックされています。 比較的高い ブロックされています。 ログの生成が速すぎるか、ネットワークが正常であるかを確認してください。 引き続きこのアウトプットが表示される場合、必要に応じてLogtail 起動設定パラメーターを変更して、CPU使用率の上限またはネットワーク上の同時送信数の制限を変更してください。
send_error ログデータのアップロードに失敗しました。 高い ログ収集エラー診断を参照してください。

アクティブコマンド

コマンドフォーマット
/etc/init.d/ilogtaild status active [--logstore] index
 /etc/init.d/ilogtaild status active --logfile index project-name logstore-name
			
  • コマンドactive [--logstore] indexは、現在アクティブなログストアを照会するために使用されます。 --logstoreパラメーターは、コマンドの意味を変えずに削除することができます。
  • active --logfile index project-name logstore-nameコマンドは、プロジェクトのログストア内のすべてのアクティブなログファイルを表示するために使用されます。
  • Active コマンドは、アクティブなログファイルをレベルごとに表示するために使用されます。 まず、現在アクティブなログストアを見つけて、このログストア内のアクティブなログファイルを照会することを推奨します。
/etc/init.d/ilogtaild status active 1
sls-zc-test : release-test
sls-zc-test : release-test-ant-rpc-3
sls-zc-test : release-test-same-regex-3

/etc/init.d/ilogtaild status active --logfile 1 sls-zc-test release-test
/disk2/test/normal/access.log
アウトプットの説明
  • active --logstore indexコマンドを実行するために、現在アクティブな全てのログストアがproject-name :logstore-nameの形式でアウトプットされます。 コマンド active --logfile index project-name logstore-nameを実行すると、アクティブログファイルの完全なパスがアウトプットされます。
  • 現在のクエリウィンドウにログ収集アクティビティのないログストアまたはログファイルはアウトプットされません。

Logstore コマンド

コマンドフォーマット
/etc/init.d/ilogtaild status logstore [--format={line|json}] index project-name logstore-name
				
  • logstore コマンドは、指定したプロジェクトとログストアの収集状況を LINE または JSON 形式でアウトプットするために使用されます。
  • --format =パラメーターが設定されていない場合、デフォルトで --format = lineが選択されます。 エコー情報はLINE形式で返されます :--formatパラメーターはlogstoreの後ろに置く必要があることにご注意ください
  • このログストアが使用できない場合、または現在のクエリウィンドウでログ収集アクティビティがない場合は、LINE 形式の空のアウトプットと JSON 形式のヌル値が取得されます。
/etc/init.d/ilogtaild status logstore 1 sls-zc-test release-test-same
time_begin_readable : 17-08-29 10:56:11
time_end_readable : 17-08-29 11:06:11
time_begin : 1503975371
time_end : 1503975971
project : sls-zc-test
logstore : release-test-same
status : ok
config : ##1.0##sls-zc-test$same
read_bytes : 65033430
parse_success_lines : 230615
parse_fail_lines : 0
last_read_time : 1503975970
read_count : 687
avg_delay_bytes : 0
max_unsend_time : 0
min_unsend_time : 0
max_send_success_time : 1503975968
send_queue_size : 0
send_network_error_count : 0
send_network_quota_count : 0
send_network_discard_count : 0
send_success_count : 302
send_block_flag : false
sender_valid_flag : true
/etc/init.d/ilogtaild status logstore --format=json 1 sls-zc-test release-test-same
{
   "avg_delay_bytes" : 0,
   "config" : "##1.0##sls-zc-test$same",
   "last_read_time" : 1503975970,
   "logstore" : "release-test-same",
   "max_send_success_time" : 1503975968,
   "max_unsend_time" : 0,
   "min_unsend_time" : 0,
   "parse_fail_lines" : 0,
   "parse_success_lines" : 230615,
   "project" : "sls-zc-test",
   "read_bytes" : 65033430,
   "read_count" : 687,
   "send_block_flag" : false,
   "send_network_discard_count" : 0,
   "send_network_error_count" : 0,
   "send_network_quota_count" : 0,
   "send_queue_size" : 0,
   "send_success_count" : 302,
   "sender_valid_flag" : true,
   "status" : "ok",
   "time_begin" : 1503975371,
   "time_begin_readable" : "17-08-29 10:56:11",
   "time_end" : 1503975971,
   "Maid": "17-08-29 11:06:11"
}
アウトプットの説明
キーワード 説明 ユニット
Status この Logstore の全体的なステータス。 特定のステータス、説明、および変更方法については、次の表を参照してください。 N/A
time_begin_readable 読み込み開始になる時刻。 N/A
time_end_readable 読み込み終了になる時刻。 N/A
time_begin 統計の開始時刻。 Unix タイムスタンプ、秒
time_end 統計の終了時刻。 Unix タイムスタンプ、秒
project プロジェクト名。 N/A
logstore Logstore 名。 N/A
config コレクション構成の名前( ## 1.0 ##, project, $, config)で構成されるグローバル一意の構成名。 N/A
read_bytes ウィンドウで読み取られたログの数。 Byte
parse_success_lines ウィンドウ内で正常に解析された行の数。
parse_fail_lines ウィンドウ内のログ解析に失敗した行数。
last_read_time ウィンドウ内での最後の読み取り時間。 Unix タイムスタンプ、秒
Read_count ウィンドウ内のログ読み込みの数。
avg_delay_bytes ウィンドウ内の各読み込み時の現在のオフセットとファイルサイズの差の平均。 Byte
max_unsend_time ウィンドウが終了したときの送信キュー内の未送信データパケットの最大時間。 キューが空の場合、値は0です。 Unixタイムスタンプ、秒
min_unsend_time ウィンドウが終了したときの送信キュー内の未送信データパケットの最小時間。 キューが空の場合、値は0です。 Unixタイムスタンプ、秒
max_send_success_time ウィンドウに正常に送信されたデータの最大時間。 Unixタイムスタンプ、秒
send_queue_size ウィンドウが終了したときの現在の送信キュー内の未送信データパケットの数。 パケット
send_network_error_count ネットワークエラーによるウィンドウ内の未送信データパケット数。 パケット
send_network_quota_count クォータを超過したために送信されなかったデータパケットの数。 パケット
send_network_discard_count データの例外または許可の問題によりウィンドウ内で破棄されたデータパケットの数。 パケット
send_success_count ウィンドウで正常に送信されたデータパケットの数。 パケット
send_block_flag ウィンドウの終了時に送信キューがブロックされるかどうか。 N/A
sender_valid_flag ウィンドウの終了時にこのログストアの送信フラグが有効かどうかを示します。Trueはフラグが有効であることを意味し、falseはネットワークエラーまたはクォータエラーのためにフラグが無効であることを意味します。 N/A
Logstore ステータステーブル
ステータス 説明 処理方法
ok Logstore は正常に実行されています。 何もする必要はありません。
process_block ログ解析がブロックされている ログの生成が速すぎるかどうかを確認してください。 このアウトプットが続く場合は、必要に応じてLogtail 起動設定パラメーターを変更して、CPU使用率の上限またはネットワーク上の同時送信数の制限を変更します。
parse_fail ログ解析が失敗しました。 ログ形式がログ収集構成と一致しているかどうかを確認します。
send_block 現行の送信はブロックされています。 ブロックされています。 ログの生成が速すぎるか、ネットワークが正常であるかを確認してください。 このアウトプットが続く場合は、必要に応じてLogtail 起動設定パラメーターを変更して、CPU使用率の上限またはネットワーク上の同時送信数の制限を変更します。
sender_invalid ログデータの送信中に例外が発生しました。 ネットワークの状態を確認してください。 ネットワークが正常な場合は、収集エラークエリ:ログ収集エラー診断を参照してください。

Logfile コマンド

コマンドフォーマット
/etc/init.d/ilogtaild status logfile [--format={line|json}] index project-name logstore-name fileFullPath
			
  • logfile コマンドは、特定のログファイルの収集状況を LINE またはJSON形式で出力するために使用します。
  • --format =パラメーターが設定されていない場合、デフォルトで --format = lineが選択されます。 エコー情報は LINE 形式で返されます。
  • このログファイルが利用できない場合、または現在のクエリウィンドウでログ収集アクティビティがない場合は、LINE 形式の空の出力、または JSON 形式のヌル値を取得します。
  • --formatパラメーターはlogfileの後ろに置く必要があります。
  • filefullpathは絶対パス名でなければなりません。
/etc/init.d/ilogtaild status logfile 1 sls-zc-test release-test-same /disk2/test/normal/access.log
time_begin_readable : 17-08-29 11:16:11
time_end_readable : 17-08-29 11:26:11
time_begin : 1503976571
time_end : 1503977171
project : sls-zc-test
logstore : release-test-same
status : ok
config : ##1.0##sls-zc-test$same
file_path : /disk2/test/normal/access.log
file_dev : 64800
file_inode : 22544456
file_size_bytes : 17154060
file_offset_bytes : 17154060
read_bytes : 65033430
parse_success_lines : 230615
parse_fail_lines : 0
last_read_time : 1503977170
read_count : 667
avg_delay_bytes : 0
/etc/init.d/ilogtaild status logfile --format=json 1 sls-zc-test release-test-same /disk2/test/normal/access.log
{
   "avg_delay_bytes" : 0,
   "config" : "##1.0##sls-zc-test$same",
   "file_dev" : 64800,
   "file_inode" : 22544456,
   "file_path" : "/disk2/test/normal/access.log",
   "file_size_bytes" : 17154060,
   "last_read_time" : 1503977170,
   "logstore" : "release-test-same",
   "parse_fail_lines" : 0,
   "parse_success_lines" : 230615,
   "project" : "sls-zc-test",
   "read_bytes" : 65033430,
   "read_count" : 667,
   "read_offset_bytes" : 17154060,
   "status" : "ok",
   "time_begin" : 1503976571,
   "time_begin_readable" : "17-08-29 11:16:11",
   "time_end" : 1503977171,
   "time_end_readable" : "17-08-29 11:26:11"
}
アウトプットの説明
キーワード 説明 ユニット
Status 現在のウィンドウ期間におけるこのログファイルの収集ステータス。 logstoreコマンドのステータスを参照してください。 N/A
time_begin_readable 読み込み開始になる時刻。 N/A
time_end_readable 読み込み終了になる時刻。 N/A
time_begin 統計の開始時刻。 Unix タイムスタンプ、秒
time_end 統計の終了時刻。 Unix タイムスタンプ、秒
project プロジェクト名。 N/A
logstore Logstore 名 N/A
file_path ログファイルのパス。 N/A
file_dev ログファイルのデバイスID。 N/A
file_inode ログファイルの iノード。 N/A
file_size_bytes ウィンドウ内で最後にスキャンされたファイルのサイズ。 Byte
read_offset_bytes このファイルの解析オフセット。 Byte
config コレクション構成の名前( ## 1.0 ##,project, $ ,config)で構成されるグローバル一意の構成名。 N/A
read_bytes ウィンドウで読み取られたログの数。 Byte
parse_success_lines ウィンドウ内で正常に解析された行の数。
parse_fail_lines ウィンドウ内のログ解析に失敗した行数。
last_read_time ウィンドウ内での最後の読み取り時間。 Unix タイムスタンプ、秒
read_count ウィンドウ内のログ読み込みの数。
avg_delay_bytes ウィンドウ内の各読み込み時の現在のオフセットとファイルサイズの差の平均。 Byte

履歴コマンド

コマンドフォーマット
/etc/init.d/ilogtaild status history beginIndex endIndex project-name logstore-name [fileFullPath]
			
  • 履歴コマンドは、一定期間に渡ってログストアまたはログファイルの収集ステータスを照会するために使用されます。
  • beginIndexendIndexは、コード照会ウィンドウのインデックスの開始と終了の値を表します。beginIndex <= endIndex は必須です。
  • fileFullPathがパラメーターに入力されていない場合、コードはLogstoreの収集情報を照会します。 それ以外の場合は、ログファイルの収集情報が照会されます。
/etc/init.d/ilogtaild status history 1 3 sls-zc-test release-test-same /disk2/test/normal/access.log
        begin_time status read parse_success parse_fail      last_read_time read_count avg_delay device inode file_size read_offset
 17-08-29 11:26:11 ok 62.12MB 231000 0 17-08-29 11:36:11 671 0B 64800 22544459 18.22MB 18.22MB
 17-08-29 11:16:11 ok 62.02MB 230615 0 17-08-29 11:26:10 667 0B 64800 22544456 16.36MB 16.36MB
 17-08-29 11:06:11 ok 62.12MB 231000 0 17-08-29 11:16:11 687 0B 64800 22544452 14.46MB 14.46MB
$/etc/init.d/ilogtaild status history 2 5 sls-zc-test release-test-same
        begin_time status read parse_success parse_fail      last_read_time read_count avg_delay send_queue network_error quota_error discard_error send_success send_block send_valid max_unsend min_unsend    max_send_success
 17-08-29 11:16:11 ok 62.02MB 230615 0 17-08-29 11:26:10 667 0B 0 0 0 0 300 false true 70-01-01 08:00:00 70-01-01 08:00:00 17-08-29 11:26:08
 17-08-29 11:06:11 ok 62.12MB 231000 0 17-08-29 11:16:11 687 0B 0 0 0 0 303 false true 70-01-01 08:00:00 70-01-01 08:00:00 17-08-29 11:16:10
 17-08-29 10:56:11 ok 62.02MB 230615 0 17-08-29 11:06:10 687 0B 0 0 0 0 302 false true 70-01-01 08:00:00 70-01-01 08:00:00 17-08-29 11:06:08
 17-08-29 10:46:11 ok 62.12MB 231000 0 17-08-29 10:56:11 692 0B 0 0 0 0 302 false true 70-01-01 08:00:00 70-01-01 08:00:00 17-08-29 10:56:10
アウトプットの説明
  • このコマンドは、ログストアまたはログファイルの履歴収集情報をウィンドウごとに1行ずつアウトプットします。
  • 各出力フィールドの説明については、logstorelogfileコマンドを参照してください。

戻り値

通常の戻り値

すべてのコマンド入力が有効な場合は0が返されます(ログストアまたはログファイルでクエリを実行できないなどを含みます)。たとえば、次のようになります。
/etc/init.d/ilogtaild status logfile --format=json 1 error-project error-logstore /no/this/file
null
echo $?
0
/etc/init.d/ilogtaild status all
ok
echo $?
0

例外戻り値

ゼロ以外の戻り値は、例外を示します。 詳細は以下を参照してください。
戻り値 タイプ アウトプット トラブルシューティング
10 無効なコマンドまたは不足しているパラメータ invalid param, use -h for help. ヘルプを表示するには -hと入力してください。
1 クエリは1~60の時間枠を越えています invalid query interval ヘルプを表示するには -hと入力してください。
1 特定の時間枠をクエリできません query fail, error: $(error) 詳細は、errno説明を参照してください。 これは、Logtailの実行時間がクエリの期間よりも短い場合に発生する可能性があります。 問題が解決しない場合は、SB Cloud サポートセンターにお問い合わせください。
1 一致するクエリ時間枠がありません no match time interval, please check logtail Status Logtail が実行中であることを確認してください。 問題が解決しない場合は、SB Cloud サポートセンターにお問い合わせください。
1 クエリウィンドウにはデータがありません invalid profile, maybe logtail Restart Logtail が実行中であることを確認してください。 問題が解決しない場合は、SB Cloud サポートセンターにお問い合わせください。
/etc/init.d/ilogtaild status nothiscmd
invalid param, use -h for help.
echo $?
10
/etc/init.d/ilogtaild status/all 99
invalid query interval
echo $?
1

ユースケース

Logtail ヘルスチェックを使用して、Logtail の全体的なステータスを把握し、収集の進行状況のクエリを使用して、収集中に関連する測定基準を取得することができます。 このようにして得られた情報により、カスタマイズされた方法でログ収集を監視することができます。

Logtail 実行状態の監視

allコマンドを使ってLogtail の実行状況を監視します。

動作原理:毎分 Logtail の現在のステータスが問い合わせされます。 Logtail がprocess_blocksend_block、または send_errorステータスの下に5分間あると、アラームがトリガされます。

特定のシナリオでのログ収集の重要性に応じて、監視するアラームの持続時間と状態の範囲を調整できます。

ログ収集進行状況の監視

logstoreコマンドを使って Logstore の収集の進捗状況を監視します。

動作原理:このLogstoreのステータス情報を取得するために、 logstore コマンドが10分ごとに呼び出されます。 avg_delay_bytesが1 MB(1024 * 1024)を超えているかstatusokでなければ、アラームがトリガーされます。

avg_delay_bytesアラームしきい値は、ログ収集トラフィックに応じて調整できます。

ログファイルの収集が完了したかどうかの判断

logfileコマンドを使ってログファイルの収集が完了したかどうかを確認します。

動作原理:ログファイルへの書き込みが終了すると、このファイルのステータス情報を取得するために10分ごとに logfileコマンドが呼び出されます。 このファイルが read_offset_bytesfile_size_bytesに同じ値を示していれば、このログファイルの収集が完了したことを意味します。

ログ収集問題のトラブルシューティング

サーバ上でログ収集が遅れている場合は、historyコマンドを使用して、このサーバー上の関連する収集情報を問い合わせます。

  1. send_block_flagがtrueであれば、データ収集の遅延ブロックがネットワーク内にあることを示します。
    • send_network_quota_countの値が0より大きい場合、Logstore のシャードの分割を実行する必要があります。
    • send_network_error_countの値が0より大きい場合、ネットワーク接続をチェックする必要があります。
    • 関連するネットワークエラーが発生していない場合は、同時送信の制限と Logtail のトラフィック制限を調整する必要があります。
  2. 送信関連のパラメーターは正常ですが、avg_delay_bytes値は通常よりも高くなります。
    • 平均ログ解析速度は、read_bytesを使って計算して、ログ生成トラフィックが正常であるかどうかを判断することができます。
    • Logtailのリソース使用制限を適切に調整することができます。
  3. parse_fail_linesの値は0より大きいです。

    ログ収集の解析設定をすべてのログにマップできるかどうかを確認します。