Server IP : 192.64.112.168 / Your IP : 3.141.25.100 Web Server : Apache System : Linux nc-ph-2300-85.bluforrest.com 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64 User : expressoneac ( 1128) PHP Version : 8.0.30 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib/python3.6/site-packages/sos/report/plugins/ |
Upload File : |
# This file is part of the sos project: https://github.com/sosreport/sos # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions of # version 2 of the GNU General Public License. # # See the LICENSE file in the source distribution for further information. from socket import gethostname from sos.report.plugins import Plugin, RedHatPlugin, UbuntuPlugin class CephCommon(Plugin, RedHatPlugin, UbuntuPlugin): short_desc = 'CEPH common' plugin_name = 'ceph_common' profiles = ('storage', 'virt', 'container', 'ceph') containers = ('ceph-(.*-)?(mon|rgw|osd).*',) ceph_hostname = gethostname() packages = ( 'ceph', 'ceph-mds', 'ceph-common', 'libcephfs1', 'ceph-fs-common', 'calamari-server', ) services = ( 'ceph-nfs@pacemaker', f'ceph-mds@{ceph_hostname}', f'ceph-mon@{ceph_hostname}', f'ceph-mgr@{ceph_hostname}', 'ceph-radosgw@*', 'ceph-osd@*' ) # This check will enable the plugin regardless of being # containerized or not files = ('/etc/ceph/ceph.conf', '/var/snap/microceph/*',) def setup(self): all_logs = self.get_option("all_logs") microceph_pkg = self.policy.package_manager.pkg_by_name('microceph') if not microceph_pkg: self.add_file_tags({ '.*/ceph.conf': 'ceph_conf', '/var/log/ceph(.*)?/ceph.log.*': 'ceph_log', }) if not all_logs: self.add_copy_spec([ "/var/log/calamari/*.log", "/var/log/ceph/**/ceph.log", ]) else: self.add_copy_spec([ "/var/log/calamari", "/var/log/ceph/**/ceph.log*", ]) self.add_copy_spec([ "/var/log/ceph/**/ceph.audit.log*", "/etc/ceph/", "/etc/calamari/", "/var/lib/ceph/tmp/", ]) self.add_forbidden_path([ "/etc/ceph/*keyring*", "/var/lib/ceph/*keyring*", "/var/lib/ceph/*/*keyring*", "/var/lib/ceph/*/*/*keyring*", "/var/lib/ceph/osd", "/var/lib/ceph/mon", # Excludes temporary ceph-osd mount location like # /var/lib/ceph/tmp/mnt.XXXX from sos collection. "/var/lib/ceph/tmp/*mnt*", "/etc/ceph/*bindpass*" ]) else: if not all_logs: self.add_copy_spec([ "/var/snap/microceph/common/logs/ceph.log", "/var/snap/microceph/common/logs/ceph.audit.log", ]) else: self.add_copy_spec([ "/var/snap/microceph/common/logs/ceph.log*", "/var/snap/microceph/common/logs/ceph.audit.log*", ]) self.add_cmd_output("snap info microceph", subdir="microceph") cmds = [ 'client config list', 'cluster config list', 'cluster list', # exclude keyrings from the config db 'cluster sql \'select * from config where key NOT LIKE \ \"%keyring%\"\'', 'disk list', 'log get-level', 'status', ] self.add_cmd_output([f"microceph {cmd}" for cmd in cmds], subdir='microceph') self.add_cmd_output([ "ceph -v", ]) # vim: set et ts=4 sw=4 :