3
ܓi' @ s4 d dl Z d dlmZmZmZ G dd deeeZdS ) N)PluginRedHatPluginUbuntuPluginc @ sH e Zd ZdZdZdZdZdZdZdZ d
d Z
dd Zdd Zdd Z
dS )CephMONan
This plugin serves to collect information on monitor nodes within a Ceph
or microceph cluster. It is designed to collect from several versions of
Ceph, including versions that serve as the basis for RHCS 4 and RHCS 5.
Older versions of Ceph will have collections from locations such as
/var/log/ceph, whereas newer versions (as of this plugin's latest update)
will have collections from /var/log/ceph//. This plugin attempts to
account for this where possible across the host's filesystem.
Users may expect to see several collections twice - once in standard output
from the `ceph` command, and again in JSON format. The latter of which will
be placed in the `json_output/` subdirectory within this plugin's directory
in the report archive. These JSON formatted collections are intended to
aid in automated analysis.
zCEPH monZceph_monstoragevirt containercephceph-(.*-)?mon.*/var/lib/ceph/mon/*/var/lib/ceph/*/mon*%/var/snap/microceph/common/data/mon/*r c ! C s$ | j d}| j | _| jjjd}|sv| jddd | jdddd g |sZ| jd
g n| jdg | jdd
g n>| jddddg |s| jdg n| jdg | jddg | j dddd | j ddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9g | j
d}|d: d;krfx>|d< j D ].}|jd=r4|j
d; }| j d>| q4W d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUd:dVg}| j dWdXdYdZ | j d[dXd\dZ x4| j D ](}| j d]| d^d]| d_gdXd` qW | j dadb |D | j dcdb |D dXddd d S )eNall_logsZ microcephZ ceph_confZceph_mon_log)z.*/ceph.confz$/var/log/ceph/(.*/)?ceph-.*mon.*.logz/etc/ceph/*keyring*z/var/lib/ceph/**/*keyring*z/var/lib/ceph/**/tmp/*mnt*z/etc/ceph/*bindpass*z/var/log/ceph/**/*ceph-mon*.logz /var/log/ceph/**/*ceph-mon*.log*z/run/ceph/**/ceph-mon*z/var/lib/ceph/**/kv_backendz'/var/snap/microceph/common/**/*keyring*z(/var/snap/microceph/current/**/*keyring*z./var/snap/microceph/common/data/mon/*/store.dbz"/var/snap/microceph/common/state/*z./var/snap/microceph/common/logs/*ceph-mon*.logz//var/snap/microceph/common/logs/*ceph-mon*.log*z%/var/snap/microceph/common/data/mon/*z"/var/snap/microceph/current/conf/*zceph reportZceph_reportF)tagsstderrz!ceph config generate-minimal-confzceph config logzceph config-key dumpz
ceph crash lszceph crash statz
ceph featureszceph health detailz
ceph insightszceph log last 10000 debug auditz!ceph log last 10000 debug clusterz
ceph mgr dumpzceph mgr metadatazceph mgr module lszceph mgr serviceszceph mgr versionsz
ceph mon statzceph mon features lszceph node lszceph osd crush class lszceph osd crush dumpzceph osd crush rule lszceph osd crush show-tunablesz!ceph osd crush tree --show-shadowz ceph osd erasure-code-profile lszceph osd metadatazceph osd utilizationzceph telemetry channel lszceph telemetry collection lszceph telemetry lszceph quorum_statusz
ceph versionszceph-disk liststatusr output*zceph crash info zconfig dumpz device lsz df detailZdfzfs dumpzfs lsz fs statuszmds statzmon dumpzosd blocked-byzosd blocklist lszosd df treezosd dfzosd dumpzosd numa-statuszosd perfzosd pool autoscale-statuszosd pool availability-statuszosd pool ls detailzosd statzpg dumpz
pg dump_stuckzpg statztime-sync-statusz'ceph health detail --format json-prettyZjson_outputZceph_health_detail)subdirr z"ceph osd tree --format json-prettyZ
ceph_osd_treezceph tell mon.z mon_statusz sessions)r c S s g | ]}d | qS )zceph ).0cmdr r /usr/lib/python3.6/ceph_mon.py