gplogfilter

在Greenplum数据库日志文件中搜索指定的项。

概要

gplogfilter [timestamp_options] [pattern_options] 
     [output_options] [input_options] [input_file] 

gplogfilter --help 

gplogfilter --version

描述

gplogfilter工具可以被用来在一个Greenplum数据库日志文件中搜索匹配指定条件的项。如果没有提供输入文件,那么gplogfilter将使用环境变量$MASTER_DATA_DIRECTORY在标准日志位置定位Greenplum的Master日志文件。要从标准输入读取,可用一个破折号(-)作为输入文件名。输入文件可以被使用gzip压缩。在输入文件中,日志项由其YYYY-MM-DD [hh:mm[:ss]]格式的时间戳标识。

如果通过[gpssh](gpssh.html#topic1)工具运行gplogfilter,用户还可以用它来一次搜索所有的Segment日志文件。例如,要显示每个Segment日志文件中的最后三行:

gpssh -f seg_host_file
=> source /usr/local/greenplum-db/greenplum_path.sh
=> gplogfilter -n 3 /gpdata/*/pg_log/gpdb*.csv

gplogfilter的输出默认被发送到标准输出。可以使用-o选项把输出发送到一个文件或者一个目录。如果用户提供了一个以.gz结束的输出文件名,该输出文件默认将被以最大压缩率压缩。如果输出目标是一个目录,输出文件将被命名为输入文件的名字。

选项

时间戳选项 -b datetime | --begin=datetime

以格式YYYY-MM-DD [hh:mm[:ss]]指定要搜索的日志项的开始日期和时间。 如果指定一个时间,日期和时间必须被封闭在单引号或者双引号中。这个例子将日期和时间封闭在单引号中:

gplogfilter -b '2013-05-23 14:33'

-e datetime | --end=datetime

以格式YYYY-MM-DD [hh:mm[:ss]]指定要搜索的日志项的结束日期和时间。 如果指定一个时间,日期和时间必须被封闭在单引号或者双引号中。这个例子将日期和时间封闭在单引号中:

gplogfilter -e '2013-05-23 14:33'

-d time | --duration=time

以格式指定要搜索的日志项所在的时间长度。如果指定这个选项但没有指定-b-e选项,将使用当前时间作为基础。

模式匹配选项 -c i [gnore] | r [espect] | --case=i [gnore] | r [espect] 除非前面放上--case=ignore选项,字母表符号的匹配默认是大小写敏感的。 -C 'string' | --columns='string' 从日志文件中选择特定的列。将想要的列指定为由逗号定界的列编号串,列编号从1开始,从左到右依次是1、2、3等等。关于日志文件格式的详情以及可用列的列表及其相关编号请见Greenplum数据库管理员指南中的“查看数据库服务器日志文件”。

-f 'string' | --find='string' 查找包含指定字符串的日志项。 -F 'string' | --nofind='string' 拒绝包含指定字符串的日志项。 -m regex | --match=regex

查找匹配指定的Python正则表达式的日志项。Python正则表达式语法请参考https://docs.python.org/library/re.html。 -M regex | --nomatch=regex

拒绝匹配指定Python正则表达式的日志项。Python正则表达式语法请参考https://docs.python.org/library/re.html。 -t | --trouble 只查找在第一行有ERROR:FATAL:或者PANIC:的日志项。

输出选项 -n integer | --tail=integer

限制输出为找到的符合条件日志项中的最后integer项。 -s offset [limit] | --slice=offset [limit] 从符合条件的日志项列表中,从offset项处开始返回limit个项,其中为零(0)的offset指示结果集中的第一项并且任何不超过零的offset表示从结果集的末尾开始数。 -o output_file | --out=output_file

将输出写到指定的文件或者目录位置而不是STDOUT。 -z 0-9 | --zip=0-9 使用gzip把输出文件压缩到指定的压缩级别,其中0是不压缩而9是最大压缩。如果用户提供一个以.gz结束的输出文件名,该输出文件默认将被使用最大压缩级别压缩。 -a | --append 如果输出文件已经存在,会追加到该文件而不是覆盖它。

输入选项 input_file 要在其中搜索的输入日志文件的名称。如果没有提供输入文件,gplogfilter将使用环境变量$MASTER_DATA_DIRECTORY来定位Greenplum数据库的Master日志文件。要从标准输入读取,可使用一个破折号(-)作为输入文件名。 -u | --unzip 使用gunzip解压输入文件。如果输入文件名以.gz结束,它默认将被解压。 --help 显示在线帮助。 --version 显示这个工具的版本。

示例

显示Master日志文件中的最后三个错误消息:

gplogfilter -t -n 3

显示Master日志文件中时间戳位于最后10分钟内的所有日志消息:

gplogfilter -d :10

显示Master日志文件中包含字符串|con6 cmd11|的日志消息:

gplogfilter -f '|con6 cmd11|'

使用[gpssh](gpssh.html#topic1)在Segment主机上运行gplogfilter并且在Segment日志文件中搜索含有字符串con6的日志消息,把输出保存到一个文件。

gpssh -f seg_hosts_file -e 'source 
/usr/local/greenplum-db/greenplum_path.sh ; gplogfilter -f 
con6 /gpdata/*/pg_log/gpdb*.csv' > seglog.out

另见

[gpssh](gpssh.html#topic1)[gpscp](gpscp.html#topic1)

当前内容版权归GreenPlum和翻译组所有,若有侵权请联系删除下架 修订时间: 2024-09-16 18:10:15

results matching ""

    No results matching ""