Cómo instalar y utilizar sosreport en Ubuntu 18.04 LTS
SOS es una herramienta de recopilación de datos gratuita y de código abierto que puede utilizarse para recoger detalles de configuración del sistema e información de diagnóstico de un sistema operativo tipo Unix. Funciona recogiendo información de configuración y registros del sistema y archivándola en un único archivo. Generalmente se utiliza para que los ingenieros de soporte técnico encuentren cuál es el problema en el sistema.
En este tutorial, aprenderemos a utilizar SOS en el servidor Ubuntu 18.04.
Requisitos
- Un servidor con Ubuntu 18.04.
- Una contraseña de root en tu servidor.
Generar un informe SOS
Por defecto, la herramienta SOS está disponible en el servidor Ubuntu 18.04. Así que no necesitas instalarla en tu servidor.
Para recoger los detalles de la configuración de tu sistema y otra información de diagnóstico, sólo tienes que ejecutar el siguiente comando:
sosreport
Salida:
sosreport (version 3.5) This command will collect system configuration and diagnostic information from this Ubuntu system. An archive containing the collected information will be generated in /tmp/sos.91hh07wb. For more information on Ubuntu visit: http://www.ubuntu.com/ The generated archive may contain data considered sensitive and its content should be reviewed by the originating organization before being passed to any third party. No changes will be made to system configuration. Press ENTER to continue, or CTRL-C to quit. Please enter your first initial and last name [ubuntu1804]: Please enter the case id that you are generating this report for []: Setting up archive ... Setting up plugins ... Running plugins. Please wait ... Running 61/61: xfs... Creating compressed archive... Your sosreport has been generated and saved in: /tmp/sosreport-ubuntu1804-20190130103134.tar.xz The checksum is: 180c9e539b00c626d84fc055df5fb864 Please send this file to your support representative.
El comando anterior recogerá la configuración del sistema y la información de diagnóstico de este sistema y la almacenará en el directorio /tmp.
También puedes generar sosreport y guardarlo en otra ubicación ejecutando el siguiente comando:
sosreport --tmp-dir /opt
Por defecto, sosreport se comprime en tipo xz. Para comprimir sosreport en gzip con el siguiente comando:
sosreport --compression-type gzip
Generar sosreport para plugins específicos
Por defecto, sosreport viene con muchos plugins. Puedes listar todos los plugins con el siguiente comando:
sosreport -l
Deberías ver la siguiente salida:
sosreport (version 3.5) The following plugins are currently enabled: acpid ACPI daemon information apache Apache http daemon apparmor Apparmor mandatory access control apport Apport crash reporting tool apt APT - advanced packaging tool ata ATA and IDE information block Block device information boot Bootloader information btrfs Btrfs filesystem cgroups Control groups subsystem cron Cron job scheduler crypto System crypto services information date Basic system time information dbus D-Bus message bus devicemapper device-mapper framework devices devices specific commands dpkg Debian Package Management filesys Local file systems hardware General hardware information host Host information i18n Internationalization iscsi iSCSI initiator java Java runtime kernel Linux kernel last login information libraries Dynamic shared libraries libvirt libvirt virtualization API logrotate LogRotate service logs System logs lvm2 LVM2 volume manager lxd LXD is a containers hypervisor. md MD RAID subsystem memory Memory configuration and use multipath Device-mapper multipath tools mysql MySQL and MariaDB RDBMS networking network and device configuration openssl openssl related information for Debian distributions pam Pluggable Authentication Modules pci PCI devices perl Perl runtime procenv Process environment process process information processor CPU information release Linux release information scsi SCSI devices services System services snappy Snap packages soundcard Sound devices ssh Secure shell service system core system information systemd System management daemon sysvipc SysV IPC ubuntu Ubuntu specific information udev udev dynamic device management usb USB devices wireless Wireless x11 X windowing system xfs XFS filesystem The following plugins are currently disabled: activemq inactive ActiveMQ message broker anacron inactive Anacron job scheduling service ansible inactive Ansible configuration management auditd inactive Audit daemon information autofs inactive Autofs on-demand automounter azure inactive Microsoft Azure client canonical_livepatch inactive Canonical Livepatch Service ceph inactive CEPH distributed storage ceph_ansible inactive CEPH distributed storage - Ansible installer clear_containers inactive Intel(R) Clear Containers configuration cobbler inactivecollectd inactive Collectd config collector conntrackd inactive conntrackd - netfilter connection tracking user-space daemon corosync inactive Corosync cluster engine ctdb inactive Samba Clustered TDB cups inactive CUPS IPP print service dhcp inactive DHCP daemon dlm inactive DLM (Distributed lock manager) dmraid inactive dmraid software RAID docker inactive Docker containers dovecot inactive dovecot server related information for Debian based distribution elastic inactive ElasticSearch service gdm inactive GNOME display manager gfs2 inactive GFS2 (Global Filesystem 2) grub inactive GRUB bootloader grub2 inactive GRUB2 bootloader haproxy inactive HAProxy load balancer hpasm inactive HP Advanced Server Management infiniband inactive Infiniband data ipmitool inactive IpmiTool hardware information. iprconfig inactive IBM Power RAID storage adapter configuration information ipsec inactive Internet protocol security ipvs inactive Linux IP virtual server iscsitarget inactive iSCSI target juju inactive Juju orchestration tool kata_containers inactive Kata Containers configuration kdump inactive Kdump crash dumps kimchi inactive kimchi-related information krb5 inactive Kerberos authentication kvm inactive Kernel virtual machine landscape inactive Ubuntu Landscape client ldap inactive LDAP configuration lightdm inactive Light Display Manager lilo inactive Lilo bootloader lstopo inactive lstopo / machine topology/numa node information maas inactive Ubuntu Metal-As-A-Service memcached inactive memcached distributed memory caching system mongodb inactive MongoDB document database mpt inactive LSI Message Passing Technology named inactive BIND named server networkmanager inactive NetworkManager service configuration nfs inactive Network file system information nfsganesha inactive NFS-Ganesha file server information nis inactive Network information service nodejs inactive Ubuntu/Debian require nodejs-legacy package in order to have a node executable npm inactive Get info about available npm modules nscd inactive Name service caching daemon nss inactive Network Security Services configuration ntp inactive Network time protocol numa inactive NUMA state and configuration nvme inactive Collect config and system information about NVMe devices omsa inactive Dell OpenManage Server Administrator (OMSA) opencl inactive OpenCL opengl inactive OpenGL openstack_ansible inactive OpenStack-Ansible sos plugin. openstack_ceilometer inactive Openstack Ceilometer openstack_cinder inactive OpenStack cinder openstack_glance inactive OpenStack Glance openstack_heat inactive OpenStack Heat openstack_horizon inactive OpenStack Horizon openstack_ironic inactive OpenStack Ironic openstack_keystone inactive OpenStack Keystone openstack_manila inactive OpenStackManila related information for Debian based distributions. openstack_neutron inactive OpenStack Networking openstack_nova inactive OpenStack Nova openstack_octavia inactive Openstack Octavia openstack_sahara inactive OpenStackSahara related information for Debian based distributions. openstack_swift inactive OpenStack Swift openstack_trove inactive OpenStack Trove openswan inactive Openswan IPsec openvswitch inactive OpenVSwitch networking os_net_config inactive OpenStack Net Config ovn_central inactive OVN Northd ovn_host inactive OVN Controller pacemaker inactive Pacemaker high-availability cluster resource manager pcp inactive Performance Co-Pilot data postfix inactive Postfix smtp server postgresql inactive PostgreSQL RDBMS powerpc inactive IBM Power systems ppp inactive Point-to-point protocol acct inactive Process accounting information ptp inactive Precision time protocol puppet inactive Puppet service pxe inactive PXE service python inactive Python runtime rabbitmq inactive RabbitMQ messaging service radius inactive RADIUS service information s390 inactive IBM S/390 salt inactive Salt saltmaster inactive Salt Master samba inactive Samba Windows interoperability sar inactive System Activity Reporter sas3ircu inactive SAS-3 Integrated RAID adapter information sendmail inactive sendmail service snmp inactive Simple network management protocol squid inactive Squid caching proxy sssd inactive System security service daemon storageconsole inactive Red Hat Storage Console sunrpc inactive Sun RPC service systemtap inactive SystemTap dynamic instrumentation targetcli inactive TargetCLI TCM/LIO configuration teamd inactive Network interface teaming unity inactive Unity upstart inactive Upstart init system virsh inactive client for libvirt virtualization API vulkan inactive Vulkan xinetd inactive xinetd information zfs inactive ZFS filesystem The following plugin options are available: apache.log off gathers all apache logs boot.all-images off collect lsinitrd for all images filesys.lsof off gathers information on all open files filesys.dumpe2fs off dump filesystem information filesys.frag off filesystem fragmentation status kernel.with-timer off gather /proc/timer* statistics libraries.ldconfigv off collect verbose ldconfig output lvm2.lvmdump off collect an lvmdump tarball lvm2.lvmdump-am off attempt to collect an lvmdump with advanced options and raw metadata collection mysql.dbuser mysql username for database dumps mysql.dbpass off password for database dumps (password visible in process listings) mysql.dbdump off collect a database dump networking.traceroute off collect a traceroute to www.example.com process.lsof-threads off gathers threads' open file info if supported services.servicestatus off get a status of all running services Profiles: boot, container, debug, desktop, hardware, identity, java, kernel, memory, network, openshift, packagemanager, perl, security, services, storage, sysmgmt, system, virt, webserver 20 profiles, 58 plugins
Si quieres generar sosreport sólo para plugins específicos como apache, ejecuta el siguiente comando:
sosreport -o apache --batch
Deberías ver el siguiente resultado:
sosreport (version 3.5) This command will collect system configuration and diagnostic information from this Ubuntu system. An archive containing the collected information will be generated in /tmp/sos.uwazci0o. For more information on Ubuntu visit: http://www.ubuntu.com/ The generated archive may contain data considered sensitive and its content should be reviewed by the originating organization before being passed to any third party. No changes will be made to system configuration. Setting up archive ... Setting up plugins ... Running plugins. Please wait ... Running 1/1: apache... Creating compressed archive... Your sosreport has been generated and saved in: /tmp/sosreport-ubuntu1804-20190130103821.tar.xz The checksum is: 27dea53416ae1fae56ad4448a5cf6189 Please send this file to your support representative.
El comando anterior generará sosreport para apache y lo guardará en el archivo /tmp/sosreport-ubuntu1804-20190130103821.tar.xz.
Puedes extraer el archivo con el siguiente comando:
tar -xvf /tmp/sosreport-ubuntu1804-20190130103821.tar.xz
Ahora, cambia el directorio a sosreport-ubuntu1804-20190130103821 con el siguiente comando:
cd sosreport-ubuntu1804-20190130103821
A continuación, ejecuta el siguiente comando para listar todos los archivos generados por sosreport:
tree
Salida:
. ??? etc ? ??? apache2 ? ??? apache2.conf ? ??? conf-available ? ? ??? charset.conf ? ? ??? javascript-common.conf ? ? ??? localized-error-pages.conf ? ? ??? other-vhosts-access-log.conf ? ? ??? security.conf ? ? ??? serve-cgi-bin.conf ? ??? conf-enabled ? ? ??? charset.conf -> ../conf-available/charset.conf ? ? ??? localized-error-pages.conf -> ../conf-available/localized-error-pages.conf ? ? ??? other-vhosts-access-log.conf -> ../conf-available/other-vhosts-access-log.conf ? ? ??? security.conf -> ../conf-available/security.conf ? ? ??? serve-cgi-bin.conf -> ../conf-available/serve-cgi-bin.conf ? ??? envvars ? ??? magic ? ??? mods-available ? ? ??? access_compat.load ? ? ??? actions.conf ? ? ??? actions.load ? ? ??? alias.conf ? ? ??? alias.load ? ? ??? allowmethods.load ? ? ??? asis.load ? ? ??? auth_basic.load ? ? ??? auth_digest.load ? ? ??? auth_form.load ? ? ??? authn_anon.load ? ? ??? authn_core.load ? ? ??? authn_dbd.load ? ? ??? authn_dbm.load ? ? ??? authn_file.load ? ? ??? authn_socache.load ? ? ??? authnz_fcgi.load ? ? ??? authnz_ldap.load ? ? ??? authz_core.load ? ? ??? authz_dbd.load ? ? ??? authz_dbm.load ? ? ??? authz_groupfile.load ? ? ??? authz_host.load ? ? ??? authz_owner.load ? ? ??? authz_user.load ? ? ??? autoindex.conf ? ? ??? autoindex.load ? ? ??? buffer.load ? ? ??? cache_disk.conf ? ? ??? cache_disk.load ? ? ??? cache.load ? ? ??? cache_socache.load ? ? ??? cern_meta.load ? ? ??? cgid.conf ? ? ??? cgid.load ? ? ??? cgi.load ? ? ??? charset_lite.load ? ? ??? data.load ? ? ??? dav_fs.conf ? ? ??? dav_fs.load ? ? ??? dav.load ? ? ??? dav_lock.load ? ? ??? dbd.load ? ? ??? deflate.conf ? ? ??? deflate.load ? ? ??? dialup.load ? ? ??? dir.conf ? ? ??? dir.load ? ? ??? dump_io.load ? ? ??? echo.load ? ? ??? env.load ? ? ??? expires.load ? ? ??? ext_filter.load ? ? ??? file_cache.load ? ? ??? filter.load ? ? ??? headers.load ? ? ??? heartbeat.load ? ? ??? heartmonitor.load ? ? ??? http2.load ? ? ??? ident.load ? ? ??? imagemap.load ? ? ??? include.load ? ? ??? info.conf ? ? ??? info.load ? ? ??? lbmethod_bybusyness.load ? ? ??? lbmethod_byrequests.load ? ? ??? lbmethod_bytraffic.load ? ? ??? lbmethod_heartbeat.load ? ? ??? ldap.conf ? ? ??? ldap.load ? ? ??? log_debug.load ? ? ??? log_forensic.load ? ? ??? lua.load ? ? ??? macro.load ? ? ??? mime.conf ? ? ??? mime.load ? ? ??? mime_magic.conf ? ? ??? mime_magic.load ? ? ??? mpm_event.conf ? ? ??? mpm_event.load ? ? ??? mpm_prefork.conf ? ? ??? mpm_prefork.load ? ? ??? mpm_worker.conf ? ? ??? mpm_worker.load ? ? ??? negotiation.conf ? ? ??? negotiation.load ? ? ??? proxy_ajp.load ? ? ??? proxy_balancer.conf ? ? ??? proxy_balancer.load ? ? ??? proxy.conf ? ? ??? proxy_connect.load ? ? ??? proxy_express.load ? ? ??? proxy_fcgi.load ? ? ??? proxy_fdpass.load ? ? ??? proxy_ftp.conf ? ? ??? proxy_ftp.load ? ? ??? proxy_hcheck.load ? ? ??? proxy_html.conf ? ? ??? proxy_html.load ? ? ??? proxy_http2.load ? ? ??? proxy_http.load ? ? ??? proxy.load ? ? ??? proxy_scgi.load ? ? ??? proxy_wstunnel.load ? ? ??? ratelimit.load ? ? ??? reflector.load ? ? ??? remoteip.load ? ? ??? reqtimeout.conf ? ? ??? reqtimeout.load ? ? ??? request.load ? ? ??? rewrite.load ? ? ??? sed.load ? ? ??? session_cookie.load ? ? ??? session_crypto.load ? ? ??? session_dbd.load ? ? ??? session.load ? ? ??? setenvif.conf ? ? ??? setenvif.load ? ? ??? slotmem_plain.load ? ? ??? slotmem_shm.load ? ? ??? socache_dbm.load ? ? ??? socache_memcache.load ? ? ??? socache_shmcb.load ? ? ??? speling.load ? ? ??? ssl.conf ? ? ??? ssl.load ? ? ??? status.conf ? ? ??? status.load ? ? ??? substitute.load ? ? ??? suexec.load ? ? ??? unique_id.load ? ? ??? userdir.conf ? ? ??? userdir.load ? ? ??? usertrack.load ? ? ??? vhost_alias.load ? ? ??? xml2enc.load ? ??? mods-enabled ? ? ??? access_compat.load -> ../mods-available/access_compat.load ? ? ??? alias.conf -> ../mods-available/alias.conf ? ? ??? alias.load -> ../mods-available/alias.load ? ? ??? auth_basic.load -> ../mods-available/auth_basic.load ? ? ??? authn_core.load -> ../mods-available/authn_core.load ? ? ??? authn_file.load -> ../mods-available/authn_file.load ? ? ??? authz_core.load -> ../mods-available/authz_core.load ? ? ??? authz_host.load -> ../mods-available/authz_host.load ? ? ??? authz_user.load -> ../mods-available/authz_user.load ? ? ??? autoindex.conf -> ../mods-available/autoindex.conf ? ? ??? autoindex.load -> ../mods-available/autoindex.load ? ? ??? deflate.conf -> ../mods-available/deflate.conf ? ? ??? deflate.load -> ../mods-available/deflate.load ? ? ??? dir.conf -> ../mods-available/dir.conf ? ? ??? dir.load -> ../mods-available/dir.load ? ? ??? env.load -> ../mods-available/env.load ? ? ??? filter.load -> ../mods-available/filter.load ? ? ??? mime.conf -> ../mods-available/mime.conf ? ? ??? mime.load -> ../mods-available/mime.load ? ? ??? mpm_event.conf -> ../mods-available/mpm_event.conf ? ? ??? mpm_event.load -> ../mods-available/mpm_event.load ? ? ??? negotiation.conf -> ../mods-available/negotiation.conf ? ? ??? negotiation.load -> ../mods-available/negotiation.load ? ? ??? reqtimeout.conf -> ../mods-available/reqtimeout.conf ? ? ??? reqtimeout.load -> ../mods-available/reqtimeout.load ? ? ??? setenvif.conf -> ../mods-available/setenvif.conf ? ? ??? setenvif.load -> ../mods-available/setenvif.load ? ? ??? status.conf -> ../mods-available/status.conf ? ? ??? status.load -> ../mods-available/status.load ? ??? ports.conf ? ??? sites-available ? ? ??? 000-default.conf ? ? ??? default-ssl.conf ? ??? sites-enabled ? ??? 000-default.conf -> ../sites-available/000-default.conf ??? sos_commands ? ??? apache ? ??? apachectl_-M ??? sos_logs ? ??? sos.log ? ??? ui.log ??? sos_reports ? ??? sos.html ? ??? sos.txt ??? version.txt 12 directories, 189 files
También puedes ver las diferentes opciones disponibles con el comando sosreport con el siguiente comando:
sosreport -h
Deberías ver la siguiente salida:
Usage: sosreport [options] Options: -h, --help show this help message and exit -l, --list-plugins list plugins and available plugin options -n NOPLUGINS, --skip-plugins=NOPLUGINS disable these plugins --experimental enable experimental plugins -e ENABLEPLUGINS, --enable-plugins=ENABLEPLUGINS enable these plugins -o ONLYPLUGINS, --only-plugins=ONLYPLUGINS enable these plugins only -k PLUGOPTS, --plugin-option=PLUGOPTS plugin options in plugname.option=value format (see -l) --log-size=LOG_SIZE set a limit on the size of collected logs (in MiB) -a, --alloptions enable all options for loaded plugins --all-logs collect all available logs regardless of size --batch batch mode - do not prompt interactively --build preserve the temporary directory and do not package results -v, --verbose increase verbosity --verify perform data verification during collection --quiet only print fatal errors --debug enable interactive debugging using the python debugger --ticket-number=CASE_ID specify ticket number --case-id=CASE_ID specify case identifier -p PROFILES, --profile=PROFILES enable plugins selected by the given profiles --list-profiles display a list of available profiles and plugins that they include --name=CUSTOMER_NAME specify report name --config-file=CONFIG_FILE specify alternate configuration file --tmp-dir=TMP_DIR specify alternate temporary directory --no-report disable HTML/XML reporting -s SYSROOT, --sysroot=SYSROOT system root directory path (default='/') -c CHROOT, --chroot=CHROOT chroot executed commands to SYSROOT [auto, always, never] (default=auto) -z COMPRESSION_TYPE, --compression-type=COMPRESSION_TYPE compression technology to use [auto, gzip, bzip2, xz] (default=auto) Some examples: enable dlm plugin only and collect dlm lockdumps: # sosreport -o dlm -k dlm.lockdump disable memory and samba plugins, turn off rpm -Va collection: # sosreport -n memory,samba -k rpm.rpmva=off
Eso es todo. Espero que ahora tengas suficientes conocimientos sobre sosreport. Para encontrar más información, consulta la página man de sosreport.