Sindbad~EG File Manager
3
�f
� @ s. d dl Z d dlmZmZ G dd� dee�ZdS )� N)�Plugin�IndependentPluginc @ s, e Zd ZdZdZd
ZdZdd� Zdd� Zd S )�ElasticzElasticSearch serviceZelastic�services�
elasticsearchc C s� d}d}y�t |dd���}x||D ]t}tjd|�}tjd|�}|rnt|j� �dkrn|j� d
j� }tjd d
|�}q|rt|j� �dkr|j� d j� }qW W dQ R X W n4 tk
r� } z| jd||f � W Y dd}~X nX ||fS )z Get hostname and port number Z localhostZ9200zUTF-8)�encodingz(^network.host):(.*)z(^http.port):(.*)� � z"|\'� NzFailed to parse %s: %s���r ) �open�re�search�len�groups�strip�sub� ExceptionZ _log_info) �self�els_config_fileZhostname�portZfread�lineZnetwork_hostZnetwork_port�err� r �/usr/lib/python3.6/elastic.py�get_hostname_port s
"$zElastic.get_hostname_portc C s� | j d�}| j|� | jd�r*| jd� n
| jd� | j|�\}}|d | }| jd| 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 �hostr Zendpointr r r �setup* s
z
Elastic.setupN)r )r ) �__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackagesr r r r r r r s r )r
Zsos.report.pluginsr r r r r r r �<module> s
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists