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__/openvpn.cpython-39.pyc
a

q�dg��@sLddlZddlZddlZddlmZGdd�dej�ZedkrHe���dS)�N)�parse_statusc@seZdZdZdd�ZdS)�Plugin�openvpnc
Cs�i}i}|��}z@t|�dd���}t|���}Wd�n1sD0YWn(tyx}z|WYd}~Sd}~00z�t|j���|d<|j��D]�\}}	|	j	�
dd�|	_	i||	j	<t|	j�}
t|	j
�}|�d|	j	df|
|�||	j	d<|�d|	j	d	f||�||	j	d	<||d|	j	d	f<|
|d|	j	df<q�Wn*t�yd}z|WYd}~Sd}~00t��|d
<|�|�|S)a
        OpenVPN monitoring, needs access to openvpn-status.log file.
        pip install openvpn-status
        or
        pip3 install openvpn-status

        In /etc/agent360.ini to enable put:
        [openvpn]
        enabled = yes
        status_path = /etc/openvpn/openvpn-status.log

        test the plugin by running: sudo -u agent360 agent360 test OpenVPN

        If you are having permission issues try to run the agent as root user:
        https://docs.360monitoring.com/docs/run-the-monitoring-agent-as-the-root-user
        rZstatus_pathNZ
containers�.�-z%s_%sZ
net_out_bytesZnet_in_bytes�ts)Zget_agent_cache�open�getr�read�	Exception�lenZclient_list�itemsZcommon_name�replace�intZ
bytes_sentZbytes_receivedZabsolute_to_per_second�timeZset_agent_cache)�self�configZopenvpn_clients�
last_valueZ
prev_cache�logfile�status�e�key�clientZ	bytes_outZbytes_in�r�B/usr/local/lib/python3.9/site-packages/agent360/plugins/openvpn.py�runs0.


""
z
Plugin.runN)�__name__�
__module__�__qualname__rrrrrr	sr�__main__)	�osZpluginsrZopenvpn_statusrZ
BasePluginrr�executerrrr�<module>s2