File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/elastic.cpython-310.pyc
o
-�_g� � @ s. d dl Z d dlmZmZ G dd� dee�ZdS )� N)�Plugin�IndependentPluginc @ s, e Zd ZdZdZdZdZdd� Zdd� Zd S )
�ElasticzElasticSearch service�elastic)�services)�
elasticsearchc
C s d}d}z]t |dd��E}|D ]:}t�d|�}t�d|�}|r6t|�� �dkr6|�� d �� }t�d d
|�}q|rHt|�� �dkrH|�� d �� }qW d � n
1 sSw Y W ||fS W ||fS ty� } z| �d|� d
|� �� W Y d}~||fS d}~ww )z Get hostname and port number � localhost�9200zUTF-8)�encodingz(^network.host):(.*)z(^http.port):(.*)� ���z"|\'� NzFailed to parse z: ) �open�re�search�len�groups�strip�sub� Exception� _log_info) �self�els_config_file�hostname�port�fread�line�network_host�network_port�err� r �</usr/lib/python3/dist-packages/sos/report/plugins/elastic.py�get_hostname_port s0 ����� ��zElastic.get_hostname_portc C s� | � d�}| �|� | �d�r| �d� n| �d� | �|�\}}|d | }| �d|� d�d|� d�d|� d �d|� d
�d|� d�d|� d�d|� d
�g� d S )Nz$/etc/elasticsearch/elasticsearch.yml�all_logsz/var/log/elasticsearch/*z/var/log/elasticsearch/*.log�:z
curl -X GET 'z/_cluster/settings?pretty'z/_cluster/health?pretty'z/_cluster/stats?pretty'z/_cat/nodes?v'z/_cat/indices'z
/_cat/shards'z/_cat/aliases')� path_join�
add_copy_spec�
get_optionr"