はじめに

この記事ではvertica.log ファイルの出力フォーマットについてご紹介します。

vertica.logファイルとは?

vertica.logファイルは、トランザクションの詳細内容や、Moveout/Mergeoutの実行、エラーなどデータベース起動中に発生した様々な動作を記録するファイルです。

<参考>
Verticaの各種ログファイル
http://vertica-tech.ashisuto.co.jp/logfiles/

ログファイルのフォーマット

vertica.logは以下のフォーマット規則に従って稼働状況が記録されます。

▽フォーマット


▽対象のログの内容


フィールド意味出力例
Timestamp発生時刻2019-03-27 13:56:59.796
Service_Nameサービス名Init Session
Thread_IdスレッドID7fc85a516700-a0000000005ab5
Component構成要素
例:
TM(Tuple Mover)
Session(User session)
EE(Execution Engine)
OPT(Optimizer)
RECOVER(Recovery)
Txn(Transaction)
Session
Log_TypeログレベルINFO
Actual_Log_Messageログ内容[Query] TX:a0000000005ab5(v_test_node0001-1877:0x1a839) select * from table1;

ログレベルの詳細

vertica.logには記録されるアクティビティに応じて以下の様なレベルに分類されます。

ログレベル内容
PANICノードの突然のシャットダウンやパニック状態の発生
FATAL致命的な状態の時の情報
(クライアントからの接続がキャンセルされた場合など)
ERRORシステム内で発生したすべてのエラー
WARNING注意すべき情報


通常、データベースの監視を行う場合には、ログ監視を組み込むケースが多いかと思います。vertica.logに出力されるこれらログレベルのうち、以下のログレベルを監視対象の文字列とすることを推奨します。
「PANIC」
「FATAL」
「ERROR」

また、以下のようなメッセージが出力された際には、稼働状況に問題が発生していることが考えられます。定常監視に組み込むことを推奨いたします。

メッセージ内容
Insufficientメモリ不足や権限がないなど、何らかの処理に不足が発生した場合の情報
【例】
 Insufficient resources : メモリ不足
 Insufficient privilege : 権限不足
left theクラスタからノードが切り離された場合の情報
timeoutロックによって何らかのタイムアウトが発生した場合の情報

ログ監視実行時の注意点

ログレベルのうち、ERRORではコマンド入力時の記述ミスの場合にもログに出力されてしまいます。例えば、以下のように「FROM」を「FORM」と入力ミスしてしまった場合にもERRORメッセージが出力されます。

上記のようなケースでは、「Syntax error」が出力されている場合には監視対象から除外するといった運用を取ることをおすすめします。

対象処理を確認するには

ERRORなど文字列が出力された際に、対象セッションの処理内容を確認するには以下手順を実行します。

検証バージョンについて

この記事の内容はVertica 9.2で確認しています。

更新履歴

2019/3/27 検証バージョンを9.2に変更
2015/9/18 本記事を公開