File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/ceph_mon.cpython-310.pyc
o
���b! � @ s4 d dl mZmZmZ d dlZG dd� deee�ZdS )� )�Plugin�RedHatPlugin�UbuntuPluginNc @ s4 e Zd ZdZdZdZdZdd� Zdd� Zd d
� Z dS )�CephMONzCEPH mon�ceph_mon)�storage�virt� container)z
ceph-mon.*c C s t � d�rdS dS )Nz/var/lib/ceph/mon/*/*TF)�glob)�self� r �=/usr/lib/python3/dist-packages/sos/report/plugins/ceph_mon.py�
check_enabled s zCephMON.check_enabledc
C sJ | � ddd�� | �g d�� | �g d�� g d�}| jdd� |D �d d
d� g }| �d�}|d
dkrl|d �� D ]1}|�� }|rk|d �d�rkz|�d�}|�||d � W q: t t
fyj | �d|� Y q:w q:| jdd� |D �d d
d� | �g d�� z| �
d�d d }W n ty� d }Y nw | jdd� |D �|d� d S )N� ceph_conf�ceph_mon_log)z.*/ceph.confz/var/log/ceph/ceph-mon.*.log)z/run/ceph/ceph-mon*z/var/lib/ceph/mon/*/kv_backendz/var/log/ceph/ceph-mon*.log)z
ceph mon statzceph quorum_statuszceph reportzceph-disk listz
ceph versionsz
ceph featuresz
ceph insightszceph crash statz
ceph crash lszceph config logz!ceph config generate-minimal-conf�ceph config-key dumpzceph osd metadataz ceph osd erasure-code-profile lszceph osd crush dumpzceph osd crush show-tunablesz!ceph osd crush tree --show-shadowz
ceph mgr dumpzceph mgr metadatazceph mgr module lszceph mgr serviceszceph mgr versions)zmon dump�statusz
health detailz device ls�dfz df detailzfs lszfs dumpzpg dumpzpg statztime-sync-statuszosd treezosd statzosd df treezosd dumpzosd dfzosd perfzosd blocked-byzosd pool ls detailzosd pool autoscale-statuszmds statzosd numa-statusc S � g | ]}d | �qS )zceph %s --format json-prettyr )�.0�sr r r
�
<listcomp>Y � �z!CephMON.setup.<locals>.<listcomp>�json_output�insights_ceph_health_detail)�subdir�tagszps -u ceph -o argsr r �outputzceph-monz--id� zcould not find ceph-mon id: %sc S r )zceph tell mon.%s mon_statusr )r �mon_idr r r
r m r )z/etc/ceph/*keyring*z/var/lib/ceph/*keyring*z/var/lib/ceph/*/*keyring*z/var/lib/ceph/*/*/*keyring*z/var/lib/ceph/tmp/*mnt*z/etc/ceph/*bindpass*z ceph-mon*c S r )zceph %sr )r �cmdr r r
r � s )r )�
add_file_tags�
add_copy_spec�add_cmd_output�exec_cmd�
splitlines�split�endswith�index�append�
IndexError�
ValueError�log_warn�add_forbidden_path�get_all_containers_by_regex� Exception)r � ceph_cmds�mon_ids�out�procs�proc�id_index�cnamer r r
�setup sP �
��
��
���
�z
CephMON.setupc C s( g d�}dd� |� }| �d|d� d S )N)�API_PASSWORDz
API_USER.*z
API_.*_KEY�key�_secretzrbd/mirror/peer/.*z((\".*(%s)\":) \")(.*)(\".*)�|r z\1*******\5)�join�do_cmd_output_sub)r �keys�cregr r r
�postproc� s zCephMON.postprocN)
�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�
containersr r7 r@ r r r r
r
s or )�sos.report.pluginsr r r r
r r r r r
�<module> s