Understanding the cl-support Output File
The cl-support script generates a compressed archive file of useful information for troubleshooting. The system creates the file automatically or you can create the file manually.
Automatic cl-support File
The switch creates the cl-support file automatically:
- When there is a core dump file for any application (not specific to Cumulus Linux, but something all Linux distributions support), located in
/var/support/core. - When one of the monitored services fails for the first time after you reboot or power cycle the switch.
To prevent the switch from creating a cl-support file multiple times in rapid succession when a chain of faults like service failures occur, which burdens the system resources and can trigger broader system instability, Cumulus Linux preserves the cl-support file with the first fault that triggers the chain (the first file typically contains all relevant diagnostic information) and deactivates automatic cl-support file generation.
Automatic cl-support file generation reactivates when the switch reboots. You can also reactivate automatic cl-support file generation manually.
To reactivate automatic cl-support file generation manually, run the nv action activate system tech-support auto-generation command:
cumulus@switch:~$ nv action activate system tech-support auto-generation
You can configure the number of seconds during which failures are counted and the maximum number of failures allowed during that time before automatic cl-support file generation deactivates.
The following example sets number of seconds during which failures are counted to 120 and the maximum number of failures allowed to 5.
cumulus@switch:~$ nv set system tech-support auto-generation burst-duration 120
cumulus@switch:~$ nv set system tech-support auto-generation burst-size 5
cumulus@switch:~$ nv config apply
When Cumulus Linux deactivates automatic cl-support file generation, the cl-support file includes the reason for the failure, the state of cl-support file auto generation (auto-generation” (deactivated)), and indicates that the cl-support file is due to the first fault in a chain of faults.
In addition, a syslog log message generates indicating that auto generation is deactivated and you see a banner when you log into the switch (WARNING: Automatic tech-support auto collection has been DEACTIVATED due to repeated failures.)
To show if automatic cl-support file generation is active or inactive, and the reason for deactivation, run the nv show system tech-support status command.
cumulus@switch:~$ nv show system tech-support auto-generation
operational
----------------------------------- --------------------------------------------
auto-generation inactive
reason sudo process crashed
support-file /var/support/cl_support_mlx-4600c-11_20251120_175242.txz
Recovery Steps
===============
1. Verify system health (CPU, memory, storage)
2. Collect the support files
3. Activate the tech-support auto generation service manually “nv action activate system tech-support”
Manual cl-support File
To create the cl-support file manually, run the nv action generate system tech-support command:
cumulus@switch:~$ nv action generate system tech-support
Action executing ...
Generating system tech-support file, it might take a few minutes...
Action executing ...
Generated tech-support
Action succeeded
Cumulus Linux saves the cl-support file in the /var/support directory. The file name starts with cl_support and ends with the date and time of creation.
The Linux command to generate the cl-support file includes more options; for example, you can include security sensitive information, include debugging information, only run certain modules, and provide a reason for running the script in the file.
To create the cl-support file manually, run the cl-support command:
cumulus@switch:~$ sudo cl-support
If the Cumulus Linux support team requests that you submit the output from cl-support to investigate issues you experience, and you need to include security-sensitive information, such as the sudoers file, use the -s option:
cumulus@switch:~$ sudo cl-support -s
cl-support Script Options
| Option | Description |
|---|---|
-h: |
Displays the available cl-support script options with a description. |
-c: |
Runs only modules matching core files (if no -e modules). |
-D: |
Displays debugging information. |
-d: |
Does not run modules in the provided comma separated list. |
-e: |
Only runs modules in the provided comma separated list. -e all runs all modules and submodules, including all optional modules. |
-j: |
Creates json output files for modules, where supported. |
-l: |
Lists the available modules, then exits. |
-M: |
Does not set a timeout for modules. Use this option with -T. |
-m: |
Runs modules serially and sets the module memory limit in MB; -m 0 runs serially without limits. |
-p: |
Adds a prefix to the cl-support archive file name. |
-r: |
Provides the reason for running the cl-support script. You must enclose the reason in quotes. |
-S: |
Uses a different output directory than the default /var/support. |
-s: |
Includes security sensitive information, such as the sudoers file. |
-T: |
Sets the timeout in seconds for creating the cl-support file. 0 disables the timeout. |
-t: |
Provides a tag string as part of the cl-support file name. |
-v: |
Runs in verbose mode to display status messages. |
cl-support Examples
The following example does not run the cl-support script on the ptp4l.ptp4l and what-just-happened.wjh modules.
cumulus@switch:~$ sudo cl-support -d ptp4l.ptp4l,what-just-happened.wjh
cl-support: cl-support is running without memory limits
Please send /var/support/cl_support_leaf01_20240214_183635.txz to Cumulus support.
The following example runs the cl-support script and displays debugging information:
cumulus@switch:~$ sudo cl-support -D
DEBUG: Memory headroom set as 256MB
DEBUG: Available memory 576MB
DEBUG: Allowed memory consumption calculated at 320MB
DEBUG: Using calculated memory limit
DEBUG: Last parallel mode archive creation used 4MB
DEBUG: /usr/bin/systemd-run -q -P -G -p MemoryMax=320M /usr/bin/time -v -o /tmp/tmp.f8L5l6odWn /usr/lib/cumulus/cl-support -D
DEBUG: run_timeout 90 synced
...
The following example runs the cl-support script, lists available modules, then exits.
cumulus@switch:~$ sudo cl-support -l
Default modules: synced.synced ptp4l.ptp4l what-just-happened.wjh
gdb.coreinfo openvswitch.dump ptmd.ptm switchd.mlx switchd.stack
switchd.fuse clag.clag network.kernel network.ifquery network.sfp
network.sfphex network.net_use network.ifupdown2_policy dot1x.config
system.versions system.logs system.systemd system.dmesg system.hwinfo
system.memory_use system.configs system.pkg system.misc system.uefi
system.time frr.frr neighmgr.neighmgr nvue.config lldp.lldp
Optional modules: switchd.verbose clag.clagkerneldB system.pkgverify
frr.ospftable frr.ospf6table frr.evpntable frr.bgptable nclu.config
The following example adds a prefix to the generated cl-support file name:
cumulus@switch:~$ sudo cl-support -p myprefix
Please send /var/support/myprefix_support_leaf01_20240214_184135.txz to Cumulus support.
The following example provides the reason for running the cl-support script:
cumulus@switch:~$ sudo cl-support -r "switchd crash"
Please send /var/support/cl_support_leaf01_20240214_184806.txz to Cumulus support.
Delete cl-support Files
To delete a cl-support file from the switch, run the NVUE nv action delete system tech-support files <file-name> command. You can also use the Linux sudo rm /var/support/<file-name> command.
cumulus@switch:~$ nv action delete system tech-support files /var/support/cl_support_leaf01_20240725_221237.txz
Action executing ...
File Delete Succeeded
Action succeeded
Show cl-support Files
To show the cl-support files on the switch, run the nv show system tech-support files command. You can also run the Linux ls command on the /var/support directory (ls /var/support).
cumulus@switch:~$ nv show system tech-support files
File name File path
------------------------------------- --------------------------------------------------
cl_support_leaf01_20240725_225811.txz /var/support/cl_support_leaf01_20240725_225811.txz
Upload cl-support Files
To upload a cl-support file off the switch to an external location, run the nv action upload system tech-support files <file-name> <remote-url> command.
Related Information
For information on the directories included in the cl-support archive, see:
- Troubleshooting the etc Directory. The
/etcdirectory contains the largest number of files. - Troubleshooting Log Files. This guide highlights the most important log files to inspect. Keep in mind,
cl-supportincludes all log files.