HEX
Server: Apache
System: Linux www3.pit.tblive.com 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64
User: awaldron (1020)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/local/lib/python3.9/site-packages/agent360/plugins/__pycache__/diskstatus.cpython-39.pyc
a

F�Eg��@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-