File manager - Edit - /usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/foreman.cpython-310.pyc
Back
o -�_g�; � @ sn d dl mZ d dlmZ d dlmZmZmZmZm Z G dd� de�Z G dd� de e�ZG dd � d e ee�Zd S )� )�match)�quote)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPlugin� PluginOptc @ s� e Zd ZdZdZdZdZdZdZdZ dZ d diZed ddd �edddd �edddd �gZ dZdd� Zdd� Zdd� Zddd�Zdd� ZdS ) �Foremanz$Foreman/Satellite systems management�foremani )�sysmgmt)r N� localhost� � PGPASSWORD�days� z!number of days for dynflow output)�default�desc� proxyfeaturesFz!collect features of smart proxies�puma-gczcollect Puma GC statsz/pumactl %s -S /usr/share/foreman/tmp/puma.statec C s� d}zZd}t |ddd��}|�� �� }W d � n1 sw Y |D ]6}|r.|d dkr/q$|�d�r7d }q$|rEtd |�rE|�� d | _|rStd|�rS|�� d | _|�d �sZd}q$W n tye Y nw | j�d�rr| j� d�s~| j�d�r�| j� d�r�| jdd� | _d| ji| _ | �ddddd�� | �ddg� | � d�d }|�� }| � d�d }|�� }| jdd| j� d�gdd� | �d d!d"d#d$d%d&d'd(d)d*d+d,d-d| j� d.�d| j� d/�d| j� d0�d1| j� d2�d1| j� d3�d| j� d4�g� | �d5d6d7d8d9d:|� �d:|� �d;g� | jd<d=gd d>� | jd?d@dA� | jdBdCdDdE� | jdFdGdA� | jdHdIdA� | jdJdK� | �dL��rG| j| jdM dNdA� | j| jdO dPdA� | �dQ� | �dR�}| j|dS| j dT� | �� | �� d S )UNFz/etc/foreman/database.yml�rzUTF-8)�encodingr �#zproduction:Tz\s+host:\s+\S+� z\s+password:\s+\S+� �"�'���r �foreman_production_log�foreman_tasks_config�foreman_ssl_access_ssl_log)z!/var/log/foreman/production.log.*z/etc/sysconfig/foreman-tasks�/etc/sysconfig/dynflowdz)/var/log/httpd/foreman-ssl_access_ssl.logz/etc/foreman/*key.pemz/etc/foreman/encryption_key.rb�hostname�outputzhostname -fz/var/log/foreman/production.logz /var/log/z*/foreman-ssl_*_ssl.logi� )� sizelimitz /etc/foreman/z/etc/sysconfig/foremanr z/etc/default/foremanz&/var/log/foreman/dynflow_executor*log*z*/var/log/foreman/dynflow_executor*.output*z#/var/log/foreman/apipie_cache*.log*z/var/log/foreman/cron*.log*z /var/log/foreman/db_migrate*log*z/var/log/foreman/db_seed*log*z$/var/log/foreman/production.log[.-]*z$/var/log/foreman-selinux-install.logz&/var/log/foreman-proxy-certs-generate*z/usr/share/foreman/Gemfile*z */foreman*z&*/katello-reverse-proxy_error_ssl.log*z*/error_log*z/etc/z*/conf/z */conf.d/z'*/katello-reverse-proxy_access_ssl.log*zforeman-selinux-relabel -nvzpassenger-status --show poolz passenger-status --show requestsz"passenger-status --show backtraceszpassenger-memory-statsz ping -c1 -W1 zping -c1 -W1 localhostz/root/ssl-buildz/usr/share/foreman/config/hooks)� recursivez�qpid-stat -b amqps://localhost:5671 -q --ssl-certificate=/etc/pki/katello/qpid_router_client.crt --ssl-key=/etc/pki/katello/qpid_router_client.key --sasl-mechanism=ANONYMOUSzqpid-stat_-q)�suggest_filenamezhammer ping�hammer_ping�x )�tags�timeoutzsystemctl list-units dynflow*� dynflow_unitsz!"system-dynflow\x2dsidekiq.slice"�dynflow_sidekiq_statuszdynflow-sidekiq@*)�unitsr zgc-statszpumactl_gc-stats�stats� pumactl_statsz/usr/sbin/foreman-puma-statusa[ SELECT table_name, pg_size_pretty(total_bytes) AS total, pg_size_pretty(index_bytes) AS INDEX , pg_size_pretty(toast_bytes) AS toast, pg_size_pretty(table_bytes) AS TABLE FROM ( SELECT *, total_bytes-index_bytes-COALESCE(toast_bytes,0) AS table_bytes FROM (SELECT c.oid,nspname AS table_schema, relname AS TABLE_NAME, c.reltuples AS row_estimate, pg_total_relation_size(c.oid) AS total_bytes, pg_indexes_size(c.oid) AS index_bytes, pg_total_relation_size(reltoastrelid) AS toast_bytes FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE relkind = 'r') a) a order by total_bytes DESC�foreman_db_tables_sizes)r% �env)�open�read� splitlines� startswithr �split�dbhost�dbpasswd�IOError�endswithr0 � add_file_tags�add_forbidden_path�exec_cmd�strip� add_copy_spec� apachepkg�add_cmd_output�add_dir_listing�add_service_status�add_journal� get_option�pumactl�build_query_cmd�collect_foreman_db�collect_proxies) �self�production_scope� foreman_db�dfile� foreman_lines�line� _hostname�_host_f�_cmd� rR �</usr/lib/python3/dist-packages/sos/report/plugins/foreman.py�setup( s� � ��� � �������������� ��z Foreman.setupc C s | � d�� d�}t|�}d}d|� d�}d|� d�}d|� d�}d |� d�}d }|ddd dd|dd�} ||||d�} | �� D ]\}}| �|�} | j| |dd| jd� q>| �d�}| �� D ]!\}}d}|dkrj|rjd}| j|d|d�} | j| |dd| jd� q\dS )z% Collect foreman db and dynflow data r z dayszRselect id,name,value from settings where name not similar to '%(pass|key|secret)%'zFselect * from foreman_tasks_tasks where started_at > NOW() - interval z order by started_at ascz�select dynflow_execution_plans.* from foreman_tasks_tasks join dynflow_execution_plans on (foreman_tasks_tasks.external_id = dynflow_execution_plans.uuid::varchar) where foreman_tasks_tasks.started_at > NOW() - interval z, order by foreman_tasks_tasks.started_at ascz�select dynflow_actions.* from foreman_tasks_tasks join dynflow_actions on (foreman_tasks_tasks.external_id = dynflow_actions.execution_plan_uuid::varchar) where foreman_tasks_tasks.started_at > NOW() - interval z�select dynflow_steps.* from foreman_tasks_tasks join dynflow_steps on (foreman_tasks_tasks.external_id = dynflow_steps.execution_plan_uuid::varchar) where foreman_tasks_tasks.started_at > NOW() - interval z�WITH prefix_counts AS (SELECT split_part(name,'::',1) FROM fact_names) SELECT COUNT(*), split_part AS "fact_name_prefix" FROM prefix_counts GROUP BY split_part ORDER BY count DESC LIMIT 100zselect * from schema_migrationsz`select id,type,name,host,port,account,base_dn,attr_login,onthefly_register,tls from auth_sourcesz!select * from dynflow_schema_infozselect count(*) from auditszselect count(*) from logsz2select name,url,download_policy from smart_proxies)�foreman_settings_table�foreman_schema_migrations�foreman_auth_table�dynflow_schema_info�audits_table_count�logs_table_count�fact_names_prefixes� smart_proxies)�foreman_tasks_tasks�dynflow_execution_plans�dynflow_actions� dynflow_stepsiX �d )r% r) r# r0 z dynflow-utils�psqlr] z /usr/libexec/psql-msgpack-decodeT)�csv�binaryN)rD r �itemsrF r@ r0 �is_installed)rI r �interval�scmd�dtaskcmd�dyncmd� dactioncmd� dstepscmd�factnamescmd� foremandb� foremancsv�table�valrQ �dynutils�dynrd rR rR rS rG � sd �������� ��� � ��zForeman.collect_foreman_dbc C s� | � d�r?| jddd�}| j|| jd�}|d dkr?|d �� d d � D ]}|�d�}d|d � d �}| j||d ddd� q$| �g d�� d S )z Collect foreman proxies r z"select name,url from smart_proxiesT)rc )r0 �statusr r"