SoS¶
Sos is an extensible, portable, support data collection tool primarily aimed at Linux distributions and other UNIX-like operating systems.
This is the SoS developer documentation, for user documentation refer to:
https://github.com/sosreport/sos/wiki
This project is hosted at:
https://github.com/sosreport/sos
For the latest version, to contribute, and for more information, please visit the project pages or join the mailing list.
To clone the current main (development) branch run:
git clone git@github.com:sosreport/sos.git
Reporting bugs¶
Please report bugs via the mailing list or by opening an issue in the GitHub Issue Tracker
Mailing list¶
sos-devel is the mailing list for any sos-related questions and discussion. Patch submissions and reviews are welcome too.
Patches and pull requests¶
Patches can be submitted via the mailing list or as GitHub pull requests. If using GitHub please make sure your branch applies to the current main branch as a ‘fast forward’ merge (i.e. without creating a merge commit). Use the git rebase command to update your branch to the current main branch if necessary.
Documentation¶
User and API documentation is automatically generated using Sphinx and Read the Docs.
Wiki¶
To help get your changes merged quickly with as few revisions as possible please refer to the Contributor Guidelines when submitting patches or pull requests.
Installation¶
Manual Installation¶
python3 setup.py install
Pre-built Packaging¶
Fedora/RHEL users install via dnf:
dnf install sos
Debian users install via apt:
apt install sosreport
Ubuntu (14.04 LTS and above) users install via apt:
sudo apt install sosreport
API¶
Core Reference¶
sos.archive
— Archive InterfaceArchive
Archive.add_binary()
Archive.add_dir()
Archive.add_file()
Archive.add_link()
Archive.add_node()
Archive.add_string()
Archive.archive_type()
Archive.cleanup()
Archive.finalize()
Archive.get_archive_path()
Archive.get_tmp_dir()
Archive.log
Archive.log_debug()
Archive.log_error()
Archive.log_info()
Archive.log_warn()
Archive.name()
Archive.name_max()
Archive.set_debug()
FileCacheArchive
FileCacheArchive.add_binary()
FileCacheArchive.add_dir()
FileCacheArchive.add_file()
FileCacheArchive.add_final_manifest_data()
FileCacheArchive.add_link()
FileCacheArchive.add_node()
FileCacheArchive.add_string()
FileCacheArchive.check_path()
FileCacheArchive.cleanup()
FileCacheArchive.dest_path()
FileCacheArchive.do_file_sub()
FileCacheArchive.finalize()
FileCacheArchive.get_archive_path()
FileCacheArchive.get_tmp_dir()
FileCacheArchive.join_sysroot()
FileCacheArchive.makedirs()
FileCacheArchive.name_max()
FileCacheArchive.open_file()
FileCacheArchive.rename_archive_root()
sos.collector.clusters
— Cluster Interfacesos.cleaner.parsers
— Parser InterfaceSoSCleanerParser
SoSCleanerParser.compile_regexes
SoSCleanerParser.generate_item_regexes()
SoSCleanerParser.get_map_contents()
SoSCleanerParser.map_file_key
SoSCleanerParser.name
SoSCleanerParser.parse_line()
SoSCleanerParser.parse_string_for_keys()
SoSCleanerParser.parser_skip_files
SoSCleanerParser.regex_patterns
SoSCleanerParser.skip_cleaning_files
SoSCleanerParser.skip_line_patterns
sos.policies
— Policy InterfacePolicy
Policy.PATH
Policy.add_preset()
Policy.check()
Policy.del_preset()
Policy.display_help()
Policy.display_results()
Policy.dist_version()
Policy.find_preset()
Policy.forbidden_paths
Policy.get_archive_name()
Policy.get_msg()
Policy.get_preferred_archive()
Policy.get_preferred_hash_name()
Policy.get_tmp_dir()
Policy.in_container()
Policy.is_root()
Policy.load_presets()
Policy.match_plugin()
Policy.msg
Policy.name_pattern
Policy.os_release_file
Policy.os_release_id
Policy.os_release_name
Policy.pkg_by_name()
Policy.post_work()
Policy.pre_work()
Policy.presets
Policy.presets_path
Policy.probe_preset()
Policy.register_presets()
Policy.set_commons()
Policy.set_exec_path()
Policy.set_forbidden_paths()
Policy.validate_plugin()
Policy.vendor
Policy.vendor_text
Policy.vendor_urls
import_policy()
load()
sos.report.plugins
— Plugin InterfaceAzurePlugin
CosPlugin
DebianPlugin
ExperimentalPlugin
IndependentPlugin
OpenEulerPlugin
Plugin
Plugin.add_alert()
Plugin.add_cmd_output()
Plugin.add_cmd_tags()
Plugin.add_container_logs()
Plugin.add_copy_spec()
Plugin.add_custom_text()
Plugin.add_default_cmd_environment()
Plugin.add_default_collections()
Plugin.add_device_cmd()
Plugin.add_dir_listing()
Plugin.add_env_var()
Plugin.add_file_tags()
Plugin.add_forbidden_path()
Plugin.add_journal()
Plugin.add_service_status()
Plugin.add_string_as_file()
Plugin.architectures
Plugin.archive
Plugin.check_enabled()
Plugin.check_is_architecture()
Plugin.check_process_by_name()
Plugin.check_timeout()
Plugin.cmd_predicate
Plugin.cmd_timeout
Plugin.cmdtags
Plugin.cmdtimeout
Plugin.collect()
Plugin.collect_cmd_output()
Plugin.collect_plugin()
Plugin.collection_file()
Plugin.commands
Plugin.container_exists()
Plugin.container_path_exists()
Plugin.containers
Plugin.default_enabled()
Plugin.display_help()
Plugin.display_plugin_help()
Plugin.display_self_help()
Plugin.do_cmd_output_sub()
Plugin.do_cmd_private_sub()
Plugin.do_file_private_sub()
Plugin.do_file_sub()
Plugin.do_path_regex_sub()
Plugin.do_paths_http_sub()
Plugin.do_regex_find_all()
Plugin.exec_cmd()
Plugin.file_grep()
Plugin.files
Plugin.filetags
Plugin.filter_namespaces()
Plugin.fmt_container_cmd()
Plugin.generate_copyspec_tags()
Plugin.get_all_containers_by_regex()
Plugin.get_cmd_output_path()
Plugin.get_container_by_name()
Plugin.get_container_images()
Plugin.get_container_volumes()
Plugin.get_containers()
Plugin.get_default_plugin_opts()
Plugin.get_description()
Plugin.get_network_namespaces()
Plugin.get_option()
Plugin.get_predicate()
Plugin.get_process_pids()
Plugin.get_service_names()
Plugin.get_service_status()
Plugin.get_tags_for_cmd()
Plugin.get_tags_for_file()
Plugin.is_installed()
Plugin.is_module_loaded()
Plugin.is_service()
Plugin.is_service_disabled()
Plugin.is_service_enabled()
Plugin.is_service_running()
Plugin.is_snap
Plugin.is_snap_installed()
Plugin.kernel_mods
Plugin.listdir()
Plugin.log_skipped_cmd()
Plugin.name()
Plugin.option_list
Plugin.packages
Plugin.path_exists()
Plugin.path_isdir()
Plugin.path_isfile()
Plugin.path_islink()
Plugin.path_join()
Plugin.plugin_name
Plugin.plugin_timeout
Plugin.postproc()
Plugin.predicate
Plugin.profiles
Plugin.services
Plugin.set_cmd_predicate()
Plugin.set_default_cmd_environment()
Plugin.set_option()
Plugin.set_plugin_manifest()
Plugin.set_predicate()
Plugin.set_timeout_hit()
Plugin.setup()
Plugin.setup_verify()
Plugin.short_desc
Plugin.signal_process_usr1()
Plugin.strip_sysroot()
Plugin.sysroot
Plugin.test_predicate()
Plugin.timeout
Plugin.timeout_from_options()
Plugin.tmp_in_sysroot()
Plugin.use_sysroot()
PluginDistroTag
PluginOpt
RedHatPlugin
SoSCommand
SoSPredicate
SuSEPlugin
UbuntuPlugin
import_plugin()
regex_findall()
sos.report.reporting
— Reporting InterfaceAlert
Command
CopiedFile
CreatedFile
HTMLReport
JSONReport
Leaf
Node
Note
PlainTextReport
PlainTextReport.ALERT
PlainTextReport.FOOTER
PlainTextReport.HEADER
PlainTextReport.LEAF
PlainTextReport.NOTE
PlainTextReport.PLUGDIVIDER
PlainTextReport.PLUGINFORMAT
PlainTextReport.PLUGLISTFOOTER
PlainTextReport.PLUGLISTHEADER
PlainTextReport.PLUGLISTITEM
PlainTextReport.PLUGLISTMAXITEMS
PlainTextReport.PLUGLISTSEP
PlainTextReport.line_buf
PlainTextReport.process_subsection()
PlainTextReport.subsections
PlainTextReport.unicode()
Report
Section
ends_bs()
sos.utilities
— Utilites InterfaceImporterHelper
SoSTimeoutError
TempFileUtil
bold()
file_is_binary()
fileobj()
find()
get_human_readable()
grep()
import_module()
is_executable()
listdir()
parse_version()
path_exists()
path_isdir()
path_isfile()
path_islink()
path_join()
recursive_dict_values_by_key()
shell_out()
sos_get_command_output()
tac_logs()
tail()
sos.upload
— Upload Interfacesos.upload.targets
— Targets InterfaceUploadTarget
UploadTarget.arg_defaults
UploadTarget.check_distribution()
UploadTarget.desc
UploadTarget.get_commons()
UploadTarget.get_target_id()
UploadTarget.get_upload_https_auth()
UploadTarget.get_upload_password()
UploadTarget.get_upload_s3_access_key()
UploadTarget.get_upload_s3_bucket()
UploadTarget.get_upload_s3_endpoint()
UploadTarget.get_upload_s3_object_prefix()
UploadTarget.get_upload_s3_region()
UploadTarget.get_upload_s3_secret_key()
UploadTarget.get_upload_url()
UploadTarget.get_upload_url_string()
UploadTarget.get_upload_user()
UploadTarget.name()
UploadTarget.pre_work()
UploadTarget.prompt_for_upload_password()
UploadTarget.prompt_for_upload_s3_access_key()
UploadTarget.prompt_for_upload_s3_bucket()
UploadTarget.prompt_for_upload_s3_endpoint()
UploadTarget.prompt_for_upload_s3_secret_key()
UploadTarget.prompt_for_upload_user()
UploadTarget.set_commons()
UploadTarget.upload_archive()
UploadTarget.upload_ftp()
UploadTarget.upload_https()
UploadTarget.upload_password
UploadTarget.upload_s3()
UploadTarget.upload_s3_access_key
UploadTarget.upload_s3_bucket
UploadTarget.upload_s3_endpoint
UploadTarget.upload_s3_object_prefix
UploadTarget.upload_s3_region
UploadTarget.upload_s3_secret_key
UploadTarget.upload_sftp()
UploadTarget.upload_target
UploadTarget.upload_target_id
UploadTarget.upload_target_name
UploadTarget.upload_url
UploadTarget.upload_user