File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/elastic.cpython-38.pyc
U
i��d� � @ s. d dl mZmZ d dlZG dd� dee�ZdS )� )�Plugin�IndependentPluginNc @ s, e Zd ZdZdZdZdZdd� Zdd� Zd S )
�ElasticzElasticSearch serviceZelastic)�services)Z
elasticsearchc
C s� d}d}z�t |���}|D ]t}t�d|�}t�d|�}|rht|�� �dkrh|�� d �� }t�dd|�}q|rt|�� �dkr|�� d �� }qW 5 Q R X W n4 tk
r� } z| �d ||f � W 5 d }~X Y nX ||fS )
NZ localhostZ9200z(^network.host):(.*)z(^http.port):(.*)� ���z"|\'� zFailed to parse %s: %s) �open�re�search�len�groups�strip�sub� ExceptionZ _log_info) �self�els_config_fileZhostname�portZfread�lineZnetwork_hostZnetwork_port�e� r �</usr/lib/python3/dist-packages/sos/report/plugins/elastic.py�get_hostname_port s
$zElastic.get_hostname_portc
C s� | � d�}| �|� | �d�r*| �d� n
| �d� | �|�\}}|d | }| �d| d| d| d | d
| d| d| g� d S )
Nz$/etc/elasticsearch/elasticsearch.ymlZall_logsz/var/log/elasticsearch/*z/var/log/elasticsearch/*.log�:z)curl -X GET '%s/_cluster/settings?pretty'z'curl -X GET '%s/_cluster/health?pretty'z&curl -X GET '%s/_cluster/stats?pretty'zcurl -X GET '%s/_cat/nodes?v'zcurl -X GET '%s/_cat/indices'zcurl -X GET '%s/_cat/shards'zcurl -X GET '%s/_cat/aliases')Z path_joinZ
add_copy_specZ
get_optionr Zadd_cmd_output)r r Zhostr Zendpointr r r �setup) s$ �
�z
Elastic.setupN) �__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackagesr r r r r r r s r )Zsos.report.pluginsr r r
r r r r r �<module> s