????

Your IP : 216.73.217.84


Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/wmt/common/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/wmt/common/__pycache__/utils.cpython-311.pyc

�

�Y_������ddlZddlZddlZddlZddlZddlmZddlZddlZddl	m
Z
ddlmZddl
mZddlmZmZmZmZmZmZd�Zd�Zejd	ed
efd���Zd�Zdd
�Zd�Zd�Zd�Zd�Z d�Z!dd�Z"dS)�N)�urlparse)�cpapi)�get_rhn_systemid_value)�parse)�CLICKHOUSE_WMT_ENDPOINT�	JWT_TOKEN�UNKNOWN_RHN_ID�SERVICE_BIN�
CHKCONFIG_BIN�
SYSTEMCTL_BINc�T�t��}tjtjkr d�tjd���D��}ntj��}|s|S	tj��}n&#t$rtj	d��g}YnwxYwtjdkr"t��tjj_
|D]X}||vrtjd|���tj|��D]'\}}|�t#|�����(�Y|S)Nc��g|]
}|d��S)r�)�.0�_cpinfos  ��/builddir/build/BUILDROOT/cl-web-monitoring-tool-3.2.3-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/wmt/common/utils.py�
<listcomp>zget_domains.<locals>.<listcomp>$s��L�L�L�����L�L�L�)�cplogin)�keylsz%Cannot obtain list of suspended users�cPanelz<User: %s is will not be pinged, because account is suspended)�setr�CP_NAME�
PLESK_NAME�cpinfo�cpusers�suspended_users_list�	Exception�logging�	exception�dict�plugins�cpanel�_user_to_domains_map_cpanel�warning�userdomains�addr)�domains�users�suspended_users�user�domain�_s      r�get_domainsr.!s4���e�e�G��}��(�(�(�L�L�5�<�l�+K�+K�+K�L�L�L����
����������4�6�6����������A�B�B�B���������
�}�� � �;?�6�6��
��8��'�'���?�"�"��O�Z�\`�a�a�a���*�4�0�0�	'�	'�I�F�A��K�K��f�
�
�&�&�&�&�	'��Ns�!A5�5 B�Bc���tj|��}|�tj��	t	jd��}	tjd��}t	j|��n#t	j|��wxYw		t	j|jd��n#t$rYnwxYwtj
d��|_|�|��n#t$rYnwxYw|S)N�_z/var/log/cl_wmt.logi�z*[%(levelname)s | %(asctime)s]: %(message)s)r�	getLogger�setLevel�DEBUG�os�umask�FileHandler�chmod�baseFilename�OSError�	Formatter�	formatter�
addHandler�IOError)�logger_name�
app_logger�	old_umask�fhs    r�setup_loggerrB=s���"�;�/�/�J�����
�&�&�&�"��H�U�O�O�	�	 ��$�%:�;�;�B��H�Y������B�H�Y���������	��H�R�_�e�,�,�,�,���	�	�	��D�	�����(�)U�V�V������b�!�!�!�!���
�
�
���
�����s;�C(�
A3�C(�3B	�	C(�B)�)
B6�5B6�(
C5�4C5�file�pidc#�VK�t|d��}	tj|���tjtjz��n4#t$r'|���t
d|z���wxYw	|�d��|�	��|�
|��|���tj
|��dV�tj|���tj��|���tj|��dS#tj|���tj��|���tj|��wxYw)Nza+zProcess %s already running!r)�open�fcntl�flock�fileno�LOCK_EX�LOCK_NBr9�close�seek�truncate�write�flushr4�fsync�LOCK_UN�remove)rCrD�fs   r�save_pid_and_lockrUUsI����
	
�T�4���A�;�
��A�H�H�J�J��
��
� =�>�>�>�>���;�;�;�	���	�	�	��3�c�9�:�:�:�;����
�	���q�	�	�	�	�
�
����	�������	���	�	�	�
������
����
��A�H�H�J�J��
�.�.�.�	���	�	�	�
�	�$�������	��A�H�H�J�J��
�.�.�.�	���	�	�	�
�	�$�������s�>A�1B�A*E
�
AF(c�B�i}|D]}||vr||||f||<�|S�Nr)�d1�d2�result�keys    r�	intersectr\ms;��
�F��+�+���"�9�9��S�'�2�c�7�*�F�3�K���Mrc�6�tjd��}td��D]t}	tj|||d���}|���dS#tj$r1}|}tjtd|zd����Yd}~�md}~wwxYw|�)Nz(Error while sending report to ClickHouse��<)�json�headers�timeout��)�requests�RequestException�range�post�raise_for_status�time�sleep�min)�url�reportra�error�i�response�errs       r�send_reportrsus����%�&P�Q�Q�E�
�1�X�X�
�
��	��}�S�v�w�PR�S�S�S�H��%�%�'�'�'�

�E�E��	�(�	(�	(�	(��E��J�s�1��6�2���'�'�'�'�'�'�'�'�����	(�����s�,A�B�%'B�Bc��t|��}|jr'|jr d�|j|j��S|S)Nz{}://{})r�scheme�netloc�format)rm�parseds  r�_strip_url_to_originry�s?��
�c�]�]�F�
�}�>���>�����
�v�}�=�=�=��Jrc��	ttd��5}|������cddd��S#1swxYwYdS#tt
tf$rtjdt��YdSwxYw)N�rzCannot read JWT token from %s)	rFr�read�stripr=r9�UnicodeDecodeErrorrr%)rTs r�_read_jwt_tokenr�s���
�
�)�S�
!�
!�	$�Q��6�6�8�8�>�>�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$���W�0�1������7��C�C�C��t�t����s3�A�&A
�A�
A�A�A�A�1B�Bc��td��pt}|�dd��|d<|�d��}|�dg��D]}t|d��|d<�|�dg��D]}t|d��|d<�i}t
��}|rd	|z|d
<tti|�|�|���dS)N�	system_idzID-��	server_id�summary_report�error_reportrm�duration_reportzBearer �
Authorization)ra)	rr	�replace�pop�getryrrsr)rn�
systemd_id�summary�entryra�tokens      r�send_report_to_clickhouser��s���'��4�4�F��J�$�,�,�U�B�7�7�F�;���j�j�)�*�*�G����N�B�/�/�:�:��+�E�%�L�9�9��e������-�r�2�2�:�:��+�E�%�L�9�9��e����G����E��5�#,�u�#4��� ��'�)>�F�)>�g�)>��P�P�P�P�P�Prc�8�|r>tjt|dgd���tjtd|gd���dStjtdgd���tjtd|gd���tjtd|gd���dS)z'
    Enable cl_wmt_scanner service
    �startT��capture_outputz--addz
daemon-reload�enableN��
subprocess�runr
rr��daemon_name�is_cl6s  r�enable_wmt_daemonr��s����,�	���[�'�:�&*�	,�	,�	,�	,���
�w��<�&*�	,�	,�	,�	,�	,�	,�	��
��7�&*�	,�	,�	,�	,�	��
�x��=�&*�	,�	,�	,�	,���
�w��<�&*�	,�	,�	,�	,�	,�	,rc��|r>tjt|dgd���tjtd|gd���dStjtd|gd���tjtd|gd���dS)z)
    Disable WMT daemon
    :return:
    �stopTr�z--del�kill�disableNr�r�s  r�disable_wmt_daemonr��s���
�,����[�&�9�&*�	,�	,�	,�	,���
�w��<�&*�	,�	,�	,�	,�	,�	,�	��
�v�{�;�&*�	,�	,�	,�	,���
�y�+�>�&*�	,�	,�	,�	,�	,�	,rTc�N�d}|r|dg}n|dg}tj|dd���dS)Nz./usr/share/web-monitoring-tool/cron_control.pyz-iz-dT)r��text)r�r�)�status�	cron_tool�commands   r�manage_cronsr��sB��@�I�
�$��d�#����d�#���N�7�4�d�;�;�;�;�;�;rrW)T)#�
contextlibrrGr4rj�urllib.parserrer��clcommonr�clcommon.utilsr�wmt.common.url_parserr�wmt.common.constrrr	r
rrr.rB�contextmanager�strrUr\rsryrr�r�r�r�rrr�<module>r�s���������������	�	�	�	�����!�!�!�!�!�!���������������1�1�1�1�1�1�'�'�'�'�'�'��������������������8���0���C��c�������.����������
�
�
�Q�Q�Q�&,�,�,�,,�,�,�$<�<�<�<�<�<r