SUPPORTCONFIG(8)

πŸ“¦ version 3.2.14.2, in opensuse-leap 16.0

πŸ’… SUPPORTCONFIG(8) β€” Support Utilities Manual πŸ’…

okay bestie, welcome to supportconfig β€” it's from the Support Utilities Manual and it is genuinely the main character of "my system is doing something cursed and I need help" πŸ’–


✨ NAME ✨

supportconfig β€” gathers system troubleshooting information 🫢

✨ SYNOPSIS ✨

supportconfig [OPTIONS]

✨ DESCRIPTION ✨

It creates a tar ball that you can attach to a SUSE service request and/or send straight to a SUSE Technical Services engineer. It collects comprehensive system information for troubleshooting and reducing resolution time β€” like, the whole vibe of your machine, catalogued. πŸ”₯

This tool will create a tar ball in the default /var/log directory. Please attach the tar ball to your open service request. πŸ’Œ

If you cannot attach the tar ball to the service request, then email it to the support engineer assigned to your service request. That's it, that's the whole ask.

✨ DISCLAIMER ✨ β€” read this one fr fr

Detailed system information and logs are collected and organized in a manner that helps reduce service request resolution times. Private system information can be disclosed when using this tool 😭. If this is a concern, please prune private data from the log files. Several startup options are available to exclude more sensitive information. Refer to the OPTIONS below.

ngl this is the part where you actually read the options. Your hostnames and usernames live in these logs. Be a little careful. πŸ™ˆ

🌸 OPTIONS 🌸

  • -h β€” this screen. the "what do I even do here" button πŸŽ€
  • -A β€” activates all supportconfig functions with additional logging and full rpm verification. going full send πŸ”₯
  • -B string β€” includes the string in the tar ball filename in the format scc_<string>. See supportconfig.conf(5) under VAR_OPTION_CUSTOM_ARCH for string qualifiers.
  • -C β€” creates a new default /etc/supportutils/supportconfig.conf. fresh config, who dis ✨
  • -D β€” use defaults; ignore /etc/supportutils/supportconfig.conf. no cap, we're not reading your config today.
  • -E string β€” contact email address. This is an optional email address that is included in the basic-environment.txt file.
  • -F β€” display available supportconfig feature keywords (case-sensitive) used with -i and -x. the keyword menu πŸ’…
  • -G gpg_uid β€” the GPG recipient user ID used to encrypt the supportconfig tar ball for more secure uploads. locking it down πŸ”
  • -H number β€” limit number of included HA Policy engine files.
  • -I number β€” default log file line count.
  • -J β€” if the system has 16TB of memory or more, supportconfig will skip potentially times-consuming systool memory device information. This will override to have it included. big-memory problems 🫠
  • -L β€” create a full file listing from /. the whole tree, periodt.
  • -M string β€” contact company terminal ID. This is an optional terminal identifier that is included in the basic-environment.txt file.
  • -N string β€” contact name. This is an optional contact name that is included in the basic-environment.txt file.
  • -O string β€” contact company name. This is an optional company name that is included in the basic-environment.txt file.
  • -P string β€” contact phone number. This is an optional phone number that is included in the basic-environment.txt file.
  • -Q β€” run in quiet mode, no output. 🀫
  • -R directory_path β€” directory path for supportconfig output files.
  • -S number β€” limit number of included SAR data and text files. This number applies to the data and text files separately, 30 data and 30 text sar files. Default: 30.
  • -T seconds β€” binary execution timeout. Some binaries are executed with a timeout value. If the timeout value is exceeded, supportconfig assumes the binary is unresponsive and continues gathering information. iconic "we're not waiting for you" behaviour ⏳
  • -U URI_string β€” sets the upload target URI and initiates an upload. Supported services: ftp, ftps, https, scp.

Examples:

supportconfig -r 123456789012 -U 'https://support-ftp.us.suse.com/incoming/upload.php?appname=supportconfig&file={tarball}'
supportconfig -r 123456789012 -U ftps://support-ftp.us.suse.com/incoming

Uploads the supportconfig tar ball to SUSE's secure server or ftp server respectively, and includes the open service request number.

supportconfig -U scp://central.server.foo.com/supportconfig/archives

You might want to create an ssh trusted host configuration for the scp service. This would allow supportconfig to copy the files to the upload target without being prompted for a password. πŸ”‘

supportconfig -U https://secure.server.foo.com/supportconfig/upload.php?file={TARBALL}

The "{TARBALL}" is a reserved case insensitive word that supportconfig replaces with the supportconfig tar ball filename. The upload.php script is code you would have to supply that would receive the connection and copy the file locally. The supportconfig sends a User-Agent string to the HTTP server called "SupportConfig".

  • -V key:value β€” include a key/value pair in summary.xml under the <customer> tag. This option can be repeated. yes, stack them, go off πŸ‘‘
  • -W string β€” contact company store ID. This is an optional store identifier that is included in the basic-environment.txt file.
  • -X number β€” max system logs line count.
  • -a β€” upload the tar ball to the specified alternate target VAR_OPTION_UPLOAD_TARGET_ALT. See supportconfig.conf(5) for more details. The following upload services are supported: ftp, ftps, https, scp.
  • -b β€” switch to screen buffer mode. This mode echos the current action, but not a status. Useful for third party applications running supportconfig.
  • -c β€” disables curl checks to SUSE update servers. Helpful for local servers. If the server is registered to SMT or SUSE Manager, they are still checked and would be checked instead of SUSE servers.
  • -d β€” exclude detailed disk information and scans. Disks are still scanned, but this switch attempts to minimize the disk scans.
  • -e β€” disables extended scaling. By default extended scaling is disabled. However, if more than EXT_SCALING_PID_LIMIT PIDs are running or more than EXT_SCALING_IRQ_LIMIT IRQs are active or commands take longer than EXT_SCALING_EXEC_LIMIT seconds/nanoseconds to run, extended scaling will instruct supportconfig to exclude pmap and name space comparison data for all running PIDs and disable gathering IRQ data. Any limit exceeded will scale back supportconfig. To force supportconfig to gather the data, use -e. If you disable extended scaling, busy systems may take a long time to gather supportconfig data. πŸ’€
so real β€” -e on a busy box is a "go touch grass, this will take a while" situation.
  • -f directory β€” from directory. Don't collect report files, just use files in that directory. This option is most often used in connection with -t <target_directory> and the YaST support module. If a regular directory is used, supportconfig looks for the most recent supportconfig archive directory and uses it. If a valid supportconfig directory is specified, it is used.
  • -g β€” use gzip instead of the default bzip2 compression. πŸ—œοΈ
  • -j β€” scrub sensitive data from the collected files before packing the archive. Requires the supportutils-scrub package (version 1.2 or later) to be installed. Obfuscates IP addresses, MAC addresses, hostnames, domain names, usernames, and serial numbers. With version 1.4 or later, the hostname is also scrubbed from the archive folder name. Additional options can be passed to supportutils-scrub via the SUPPORTUTILS_SCRUB_OPTS environment variable. Scrubbing can be enabled permanently without using this flag by setting ADD_OPTION_SCRUB=1 in /etc/supportutils/supportconfig.conf. 🧼✨
  • -i keyword[,keyword] β€” include keywords. A comma separated list of feature keywords that specify which features to include. Use -F to see a list of valid keywords. Do not use spaces and keywords are case-sensitive.

Example:

supportconfig -i BOOT,aFSLIST,pgroupwise
  • -k β€” disable automatic kernel module loading. Some of the system commands (ie hwinfo), automatically load kernel modules for probing purposes. On rare occasions these additional kernel modules have caused unexpected behavior. This option will not run any system command that is known to load kernel modules. Do not use this option, unless directed by NTS.
fr fr, don't freestyle with -k unless support told you to.
  • -l β€” includes all log file lines. Gathers additional rotated logs. Includes commented lines in all configuration files.
  • -m β€” only gather a minimum amount of info: basic env, basic health, hardware, rpm, messages, y2logs. the little snack version πŸ“
  • -o keyword[,keyword] β€” toggle keywords on or off. A comma separated list of feature keywords that changes the feature state opposite it's current state. For example, if OPTION_LVM is set, -o LVM will turn it off. If OPTION_LVM is not set, -o LVM will turn it on. πŸ¦‹
  • -p β€” disable all plugin execution.
  • -q β€” add a unique identifier to the supportconfig tar ball filename. You usually do not need this, as hostnames, date and times are unique enough within an organization. However, when uploading to a central public repository, it should be included.
  • -r srnum β€” includes the service request number in the basic-environment.txt file and the tar ball filename. Use this option when uploading (-u) tar balls to SUSE.
  • -s β€” include full SLP service lists.
  • -t directory β€” target directory. Just save log files here, do not create tarball.
  • -u β€” uploads the supportconfig tar ball to the specified VAR_OPTION_UPLOAD_TARGET. See supportconfig.conf(5) for more details. The following upload services are supported: ftp, ftps, https, scp.
  • -v β€” performs an rpm -V for each installed rpm.
  • -w β€” enable verbose wait trace logging. Shows the start and stop times of each command supportconfig is running.
  • -x keyword[,keyword] β€” excludes the specified keywords. A comma separated list of feature keywords that specify which features to exclude. Use -F to see a list of valid keywords. Do not use spaces and keywords are case-sensitive.

Example:

supportconfig -x aFSLIST,X,SMART
  • -y β€” gathers full YaST log files.

Use Ctrl+\ to try and skip a function that is hanging. lowkey a lifesaver 😭


πŸ¦‹ ENVIRONMENT πŸ¦‹

  • SC_CONF β€” you can use the SC_CONF environment variable to specify an alternate configuration file path.

Example: export SC_CONF=/opt/supportconfig.conf

  • SUPPORTUTILS_SCRUB_OPTS β€” extra options passed to supportutils-scrub when -j is used.

Example: SUPPORTUTILS_SCRUB_OPTS="--verify --keywords mycompany,myserver --hostname terminus,vmhost1" supportconfig -j

πŸŽ€ FILES πŸŽ€

  • /etc/supportutils/supportconfig.conf β€” bestie, this is the supportconfig config file, like the whole personality file. Peep supportconfig.conf(5) for the deets ✨
  • /usr/lib/supportconfig/plugins β€” the plugin directory, okay? It's giving backstage pass. See PLUGINS below for the full tea πŸ’…

πŸ¦‹ PLUGINS πŸ¦‹

okay so this is genuinely my favorite part β€” you can literally bring your own scripts or applications to the supportconfig tar ball 🫢 you don't have to beg, you just make the /usr/lib/supportconfig/plugins directory and copy your script file in there. That's it. That's the whole vibe check.

real talk though: the plugin gets executed, but it is not sourced into the supportconfig environment. So no cap β€” you will not have access to the functions and variables in supportconfig. It's a separate little main character doing its own thing. Any file with execute permissions that sends its output to stdout and stderr is supported πŸ’–

For example, say you want to include the pstree output with the supportconfig. Do the following, and yes you literally just type this:

  1. mkdir -p /usr/lib/supportconfig/plugins
  2. cp -a /usr/bin/pstree /usr/lib/supportconfig/plugins/
  3. The output will be in the plugin-pstree.txt file.

Supportconfig will include a text file called plugin-myscript.txt in its tar ball after executing myscript, where myscript is your plugin filename. Iconic, honestly πŸŽ€

and if you're like "no plugins today thanks" β€” totally valid β€” just run supportconfig with the -p parameter and you're good 🌸

πŸ’€ REPORTING BUGS πŸ’€

found something cursed? got a bug fix? just wanna comment? Please submit bug fixes or comments via:

http://en.opensuse.org/Supportutils#Reporting_Bugs

we appreciate you, fr fr πŸ™ˆ


πŸ‘‘ AUTHOR πŸ‘‘

Jason Record <jason.record@suse.com> β€” the legend, the moment, the main character who wrote this πŸ”₯


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>.

ngl that's the whole legal bit, word for word β€” especially the "without any warranty" part, that one's not a vibe, it's a promise πŸ’…

⭐ SEE ALSO ⭐

go read those next bestie, iykyk πŸ¦‹


okay that's the whole page!! mwah πŸ’– this was supportutils, dated 18 Apr 2024, and you can find it hanging out as SUPPORTCONFIG(8) in section 8 of the manual. now go forth and collect them logs, queen πŸ‘‘βœ¨

πŸ“¦ where this page comes from