gs_collector

Background

When openGauss is faulty, gs_collector can be used to collect information about the OS, logs, and configuration file of the cluster, helping you locate the fault. You can use the -C parameter to specify the information to be collected. Table 1 describes the information that can be collected.

Table 1 Information to be collected by gs_collector

TypeName

Content

Description

Default Collection

System

HardWareInfo

RunTimeInfo

Collect the status information about the current OS.
  • HardWareInfo
  • CPU (cat /proc/cpuinfo)
  • Memory (cat /proc/meminfo)
  • Disk (df -h)
  • RunTimeInfo:
  • topStatus (ps ux)
  • ioStat (iostat -xm 2 3)
  • Network status (cat /proc/net/dev)
  • Memory usage (free -m)

Yes

Database

For details, see Table 1.

Collect system views or system catalogs.

Yes. Information about the pg_locks, pg_stat_activity, and pg_thread_wait_status views is collected by default.

Log

DataNode

ClusterManager

  • Collect pg_log and gs_profile of the data node.
  • The ClusterManager log information to be collected:
    • om
    • gs_ctl
    • gs_guc
    • gs_initdb

Yes

Config

DataNode

  • Collect the data node configuration information:
    • postgresql.conf
    • gaussdb.state
    • pg_hba.conf
    • pg_control
    • pg_replslot
    • pg_ident.conf

Yes

Gstack

DataNode

Run the gstack command to obtain the current stack information of the data node.

No

CoreDump

gs_ctl, gaussdb, GaussMaster, AioWorker, AlarmChecker, Archiver, Auditor, AutoVacLauncher, AutoVacWorker, AuxMain, BackendMode, BgWriter, BootStrap, Catchup, CBMWriter, Checkpointer, CommAuxStream, CommPoolCleane, CommRcvStream, CommRcvWorker, CommSendStream, CpMonitor, DataRcvWriter, DataReceiver, DataSender, ExtremeRTO, FencedUDFMaster, Heartbeater, JobExecutor, JobScheduler, LWLockMonitor, PageWriter, ParallelRecov, PercentileJob, Reaper, RemoteSrv, StartupProcess, StatCollector, Stream, SysLogger, ThdPoolListener, TwoPhaseCleaner, WalRcvWriter, WalReceiver, WalSender, WalWriter, WDRSnapshot, WlmArbiter, WlmCollector, WlmMonitor

Filter the core files of the gaussdb process by time.

CAUTION:

Configure the core as follows: Add the core file format core-%e-%p-%t to the /proc/sys/opengauss/core_pattern file.

No

XLog

DataNode

Collect Xlogs that are filtered by time.

No

Plan

*

Collect planned reproduction information:
  • If you enter an asterisk (*), the planned reproduction information of all databases is collected.
  • If you enter a specific database name, the planned reproduction information of the specified database is collected.

No

Prerequisites

An OS tool (such as gstack) that gs_collector requires has been installed. If it is not installed, an error message is displayed, and this collection item is skipped.

Syntax

  • Collect logs (as a non-root user).

    gs_collector --begin-time="BEGINTIME" --end-time="ENDTIME" [-h HOSTNAME | -f HOSTFILE] [--keyword=KEYWORD] [--speed-limit=SPEED] [-o OUTPUT] [-l LOGFILE] [-C CONFIGFILE]
    
  • Display help information.

    gs_collector -? | --help
    
  • Display version information.

    gs_collector -V | --version
    

Parameter Description

  • -h

    Specifies the name of the host whose information is to be collected.

    Value range: host name

    If this parameter is not specified, information about all hosts is collected by default.

  • -f

    Specifies the file of a host name list. The file is a plain text file.

    NOTE: The -f and -h parameters cannot be used together.

    Value range: a host name list

  • -o

    Saves collected logs as a package into a specified folder.

    If this parameter is not specified, the check results are saved as a package into the directory specified by tmpMppdbPath in the configuration file.

    If tmpMppdbPath is not configured in the configuration file, the check results are saved as a package into the /tmp/user name_mppdb/ directory by default.

  • -l

    Specifies a log file and its save path.

  • -C

    Specifies the configuration file of the information to be collected. TypeName is used to specify the type of the information to be collected. Content is used to specify the content of each type of information. Count is used to specify the number of times for collecting the information. Interval is used to specify the collection interval, in seconds.

    The values of TypeName and Content cannot be empty.

    Interval and Count are optional. If Count is not specified, the information is collected once by default. If Interval is not specified, the interval is 0 seconds. The values of Interval and Count cannot be smaller than 0.

    If the preceding parameters are not specified, the default configuration file is used.

    The configuration file is in JSON format. The template is as follows:

    {
        "Collect":
        [
            {"TypeName": "name", "Content":"value","Interval":"seconds", "Count":"count"}
        ]
    }
    

    NOTE: The content of the default configuration file is as follows: { “Collect”: [ {“TypeName”: “System”, “Content”:“RunTimeInfo, HardWareInfo”,“Interval”:“0”, “Count”:“1”}, {“TypeName”: “Log”, “Content” : “DataNode,ClusterManager”, “Interval”:“0”, “Count”:“1”}, {“TypeName”: “Database”, “Content”: “pg_locks,pg_stat_activity,pg_thread_wait_status”,“Interval”:“0”, “Count”:“1”}, {“TypeName”: “Config”, “Content”: “DataNode”, “Interval”:“0”, “Count”:“1”} ] } For details about the value ranges of TypeName and corresponding Content, see Table 1 Information to be collected by gs_collector. The Interval and Count parameters do not take effect when TypeName is Log, CoreDump, Config, or XLog.

  • --keyword=KEYWORD

    Specifies a log file containing the keyword.

    If the keyword contains spaces, quote the keyword with double quotations marks ("").

    NOTE: Logs about the performance are binary logs. The keyword collection function does not support performance log collection.

  • --begin-time

    Start time of the search time range. The input format: yyyymmdd hh:mm

  • --end-time

    End time of the search time range. The input format: yyyymmdd hh:mm

  • --speed-limit

    Specifies the log collection rate. The value is a non-negative integer in the unit of MB/s.

    This parameter is used to prevent high disk or network I/O from being generated during log collection. If database nodes are deployed on the same disk where the $GAUSSLOG/$PGHOST path is located, they may become faulty due to high I/O. The value of this parameter must not exceed 1/3 of the minimum value of the disk and network I/O in openGauss.

  • -?, --help

    Displays help information.

  • -V, --version

    Displays version information.

Examples

Run the following command to collect OS and log information:

gs_collector --begin-time="20180131 23:00" --end-time="20180201 20:00" -h plat1 
Successfully parsed the configuration file.
create Dir.
Successfully create dir.
do system check interval 0 : count 1
Collecting OS information.
Successfully collected OS information.
do database check interval 0 : count 1
Collecting catalog statistics.
Successfully collected catalog statistics.
do log check interval 0 : count 1
Collecting Log files.
Successfully collected Log files.
do Config check 0:1
Collecting Config files.
Successfully collected Config files.
Collecting files.
Successfully collected files.
All results are stored in $PGHOST/collector_20200624_134541.tar.gz.

Run the following command to query the collected statistics:

tar -zxvf $PGHOST/collector_20200624_134541.tar.gz
collector_20200624_134541/
collector_20200624_134541/plat1.tar.gz
collector_20200624_134541/Detail.log
collector_20200624_134541/Summary.log
cd collector_20200624_134541
tar -zxvf plat1.tar.gz
plat1/
plat1/catalogfiles/
plat1/catalogfiles/gs_clean_20200624_134548283647.txt
plat1/catalogfiles/dn_6001_pg_locks_20200624_134547746215.csv
plat1/catalogfiles/dn_6001_pg_thread_wait_status_20200624_134548068716.csv
plat1/catalogfiles/dn_6001_pg_stat_activity_20200624_134547851117.csv
plat1/configfiles/
plat1/logfiles/
plat1/logfiles/log_20200624_134548540916.tar.gz
plat1/coreDumpfiles/
plat1/gstackfiles/
plat1/systemfiles/
plat1/systemfiles/OS_information_20200624_134542218134.txt
plat1/systemfiles/database_system_info_20200624_134546282006.txt
plat1/planSimulatorfiles/
plat1/xlogfiles/
cd plat1/logfiles/
tar -zxvf log_20200624_134548540916.tar.gz
./
./om/
./om/gs_preinstall-2020-06-24_113654.log
./om/gs_local-2020-06-24_113710.log
./om/gs_install-2020-06-24_113911.log
./om/gs_checkperf-2020-06-24_114311.log
./om/gs_collector-2020-06-24_114240.log
./om/gs_backup-2020-06-24_114101.log
./om/gs_om-2020-06-24_114052.log
./bin/
./bin/gs_initdb/
./bin/gs_initdb/gs_initdb-2020-06-24_114010-current.log
./bin/gs_guc/
./bin/gs_guc/gs_guc-2020-06-24_114033-current.log
./bin/gs_ctl/
./bin/gs_ctl/gs_ctl-2020-06-24_114041-current.log
./pg_log/
./pg_log/dn_6001/
./pg_log/dn_6001/postgresql-2020-06-24_114043.log
./pg_log/dn_6001/postgresql-2020-06-24_114330.log
./pg_log/dn_6001/postgresql-2020-06-24_114316.log
./gs_profile/
./gs_profile/dn_6001_6002/
./gs_profile/dn_6001_6002/postgresql-2020-06-24_114330.prf
./gs_profile/dn_6001_6002/postgresql-2020-06-24_114316.prf
./gs_profile/dn_6001_6002/postgresql-2020-06-24_114043.prf
Feedback
编组 3备份
    openGauss 2024-05-06 00:44:54
    cancel