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

q�dg��@sPddlZddlZddlZddlZddlZGdd�dej�ZedkrLe���dS)�Nc@seZdZdZdd�ZdS)�PluginZ
diskstatuscCs�i}z.tjdtjtjdd���d����}d}Wn*ty\}zd}WYd}~dSd}~00|du�r�|D�]}z�|�d�d�d	�d
}t�	d�
|�d�d������}d}	|d�d
�ddkr�d}	i||<d}
|D]p}|dd�dk�r�d}
q�|
du�rq�t�
dd|���}|�d�}t|�dkr�|d|||d���dd�<q�|	||d<Wqlt�y�}zt|�WYd}~qld}~00ql|S)a
        Monitor nvme or smart disk status.
        For NVME drives use the diskstatus-nvme plugin
        for smart status install smartmontools (apt-get/yum install smartmontools)
        This plugin requires the agent to be run under the root user.
        zsmartctl --scanT)�stdout�stderr�shellrFNz+Could not fetch smartctl status information� �/�zsmartctl -A -H {}�z: �ZPASSED�zID#z +�	Z_celsius��status)�
subprocess�Popen�PIPE�communicate�decode�
splitlines�	Exception�split�os�popen�format�read�re�sub�strip�len�lower�replace�print)�self�config�resultsZdevlistZsmartctl�e�rowZdisk_idZ
disk_statsZsmart_status�start�stats�r)�E/usr/local/lib/python3.9/site-packages/agent360/plugins/diskstatus.py�runs>&

"

" z
Plugin.runN)�__name__�
__module__�__qualname__r+r)r)r)r*r	sr�__main__)	rrZplugins�jsonrZ
BasePluginrr,�executer)r)r)r*�<module>s-