暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB A 使用CSV格式写日志

墨天轮 2019-10-12
808

使用CSV格式写日志

前提条件

  • log_destination的值设置为csvlog。
  • logging_collector的值设置为on。

csvlog定义

以“逗号分隔值” 即CSV(Comma Separated Value)的形式发出日志。

以下是简单的用来存储CSV形式日志输出的表定义:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CREATE TABLE postgres_log
(
log_time timestamp(3) with time zone,
user_name text,
database_name text,
process_id integer,
connection_from text,
"session_id" text,
session_line_num bigint,
command_tag text,
session_start_time timestamp with time zone,
virtual_transaction_id text,
transaction_id bigint,
error_severity text,
sql_state_code text,
message text,
detail text,
hint text,
internal_query text,
internal_query_pos integer,
context text,
query text,
query_pos integer,
location text,
application_name text,
PRIMARY KEY ("transaction_id", session_line_num)
);

详细说明请参见表1。

表1 csvlog字段含义表

字段名

字段含义

字段名

字段含义

log_time

毫秒级的时间戳

sql_state_code

SQLSTATE代码

user_name

用户名

message

错误消息

database_name

数据库名

detail

详细错误消息

process_id

进程ID

hint

提示

connection_from

客户主机:端口号

internal_query

内部查询(查询那些导致错误的信息,如果有的话)

session_id

会话ID

internal_query_pos

内部查询指针

session_line_num

每个会话的行数

context

环境

command_tag

命令标签

query

错误发生位置的字符统计

session_start_time

会话开始时间

query_pos

错误发生位置指针

virtual_transaction_id

常规事务

location

GaussDB 200源代码中错误的位置(如果log_error_verbosity的值设为verbose )

transaction_id

事务ID

application_name

应用名称

error_state_code

ERRORSTATE代码

-

-

使用COPY FROM命令将日志文件导入这个表:
1
COPY postgres_log FROM '/opt/data/pg_log/logfile.csv' WITH csv;
说明:

此处的日志名“logfile.csv”要换成实际生成的日志的名称。

简化输入

简化输入到CSV日志文件,可以通过如下操作:

  • 设置log_filename和log_rotation_age,为日志文件提供一个一致的、可预测的命名方案。通过日志文件名,预测一个独立的日志文件完成并进入准备导入状态的时间。
  • 将log_rotation_size设为0来终止基于尺寸的日志回滚,因为基于尺寸的日志回滚让预测日志文件名变得非常的困难。
  • 将log_truncate_on_rotation设为on以便区分在同一日志文件中旧的日志数据和新的日志数据。
  • 表1包含了一个特定的主键,对防止意外导致导入两次相同的信息起到保护作用。COPY命令要求所有的数据在同一时间进行导入,所以在COPY过程中出现的所有错误都会导致整个导入失败。多次对同一日志文件进行导入会发生主键冲突,导致导入失败,请等到日志文件写入完成后再执行导入。设置主键也会限制日志没有写完整时部分日志的导入。

查看更多:华为GaussDB 200 错误报告和日志
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论