OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

vertica.logファイルのフォーマットとログ監視実施時の注意点

公開日:
更新日:
基本操作
#verticaログ

はじめに

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

vertica.logファイルとは?

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

<参考>
Verticaの各種ログファイル
https://www.ashisuto.co.jp/cm/analytics-database/logfiles.html

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

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

▽フォーマット

タイムスタンプ サービス名:スレッドID [コンポーネント] <ログレベル> メッセージ

▽対象のログの内容

2019-03-27 13:56:59.796 Init Session:7fc85a516700-a0000000005ab5 [Session] <INFO> [Query] TX:a0000000005ab5(v_test_node0001-1877:0x1a839) select * from table1;

フィールド

意味

出力例

Timestamp

発生時刻

2019-03-27 13:56:59.796

Service_Name

サービス名

Init Session

Thread_Id

スレッドID

7fc85a516700-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メッセージが出力されます。

【SQL実行時の入力ミスの例】
dbadmin=> select * form table1;
ERROR 4856:  Syntax error at or near "form" at character 10
LINE 1: select * form table1;


【vertica.logの出力例】
2019-03-27 16:16:57.710 Init Session:7fc85a516700-a0000000005ab5 [Session] <INFO> [Query] TX:a0000000005ab5(v_test_node0001-1877:0x1a839) select * form table1;
2019-03-27 16:16:57.711 Init Session:7fc85a516700-a0000000005ab5 <ERROR> @v_test_node0001: 42601/4856: Syntax error at or near "form" at character 10

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

対象処理を確認するには

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

【SQL実行例】
dbadmin=> \x
dbadmin=> select * from query_requests where transaction_id = hex_to_integer('a000000006174d');

※a000000006174d にvertica.logファイルで確認したtransaction_idを指定します。


【出力例】
-[ RECORD 2 ]-------+----------------------------------------------------------------
node_name           | v_test_node0001
user_name           | dbadmin
session_id          | v_test_node0001-1877:0x1a839
request_id          | 2
transaction_id      | 45035996273728181
statement_id        | 2
request_type        | QUERY
request             | select * from table1;
request_label       |
search_path         | "$user", public, v_catalog, v_monitor, v_internal, v_func
memory_acquired_mb  | 100
success             | t
error_count         | 3
start_timestamp     | 2019-03-27 13:56:59.798267+09
end_timestamp       | 2019-03-27 13:56:59.807656+09
request_duration    | 00:00:00.009389
request_duration_ms | 9
is_executing        | f

検証バージョンについて

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

更新履歴

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