HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //usr/local/lib/python3.9/site-packages/agent360/plugins/__pycache__/elasticsearch.cpython-39.pyc
a

q�dg��@s�z0ddlmZmZddlmZmZddlmZWn>eynddlmZddl	mZddl
mZmZmZYn0ddlZddlZddl
Z
ddlZGdd	�d	ej�Zed
kr�e���dS)�)�urlparse�	urlencode)�urlopen�Request)�	HTTPError)r)r)rrrNc@seZdZdZdd�ZdS)�Plugin�
elasticsearchc
s4dd�}t�}t�}t�|�dd��}t�|�}t��|d<|��}d�fdd	�	�z"�tj|�	�|d
�dd�}Wnt
y�Yd
S0d}	i}
ttg}|�
�D]v\}}
|����}|D]$}z||
�}
Wq�ty�Yq�0q�||	vr�t|
�tur�|�|t|
�|�||<t|
�|
|<q�q�t��|
d<|�|
�|S)z�
        experimental monitoring plugin for elasticsearch
        Add to /etc/agent360.ini:
        [elasticsearch]
        enabled = yes
        status_page_url = http://127.0.0.1:9200/_stats
        cs"dd��t�fdd�|��D��S)NcSst|t�r|�d�S|S)N�ascii)�
isinstance�unicode�encode)�x�r�H/usr/local/lib/python3.9/site-packages/agent360/plugins/elasticsearch.py�<lambda>�z7Plugin.run.<locals>.ascii_encode_dict.<locals>.<lambda>c3s|]}t�|�VqdS)N)�map)�.0�pair��ascii_encoderr�	<genexpr>rz8Plugin.run.<locals>.ascii_encode_dict.<locals>.<genexpr>)�dict�items)�datarrr�ascii_encode_dictsz%Plugin.run.<locals>.ascii_encode_dictrZstatus_page_url�ts��_csfg}|��D]P\}}|r$|||n|}t|tj�rN|��|||d����q|�||f�qt|�S)N)�sep)rr
�collections�MutableMapping�extend�appendr)�dZ
parent_keyrr�k�vZnew_key��flattenrrr('szPlugin.run.<locals>.flatten)�object_hookZ_all�totalF)/Zget_time_in_millis�indexing_index_time_in_millisZflush_total_time_in_millisZindexing_delete_time_in_millisr+Z indexing_throttle_time_in_millisZ#merges_total_stopped_time_in_millisZ%merges_total_throttled_time_in_millisZmerges_total_time_in_millisZ recovery_throttle_time_in_millisZrefresh_total_time_in_millisZsearch_fetch_time_in_millisZsearch_query_time_in_millisZsearch_scroll_time_in_millisZsearch_suggest_time_in_millisZwarmer_total_time_in_millisZ
docs_countZdocs_deletedZflush_totalZget_exists_totalZget_missing_totalZ	get_totalZindexing_delete_totalZindexing_index_totalZindexing_noop_update_totalZmerges_totalZmerges_total_docsZ#merges_total_auto_throttle_in_bytesZquery_cache_cache_countZquery_cache_cache_sizeZquery_cache_evictionsZquery_cache_hit_countZquery_cache_miss_countZquery_cache_total_countZ
refresh_totalZrequest_cache_hit_countZrequest_cache_miss_countZsearch_fetch_totalZsearch_open_contextsZsearch_query_totalZsearch_scroll_totalZsearch_suggest_totalZsegments_countZ%segments_max_unsafe_auto_id_timestampZwarmer_totalZget_exists_time_in_millisZget_missing_time_in_millis)rr)r�urllib2r�getr�timeZget_agent_cache�json�loads�read�	Exception�str�floatr�lower�strip�
ValueError�typeZabsolute_to_per_secondZset_agent_cache)�self�configr�resultsZ
next_cache�requestZraw_responseZ
prev_cache�jZ
delta_keysr�constructors�key�value�crr'r�runs:	
	"2
z
Plugin.runN)�__name__�
__module__�__qualname__rBrrrrrsr�__main__)�urllib.parserr�urllib.requestrr�urllib.errorr�ImportError�urllibr,r.Zpluginsr/r Z
BasePluginrrC�executerrrr�<module>sm