disk_collector.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:ops_agent 作者: sjqzhang 项目源码 文件源码
def check(self):
        data = {
            'disk.max_used_percent': 0,
            'disk.max_used_percent_mount': '',
            'disk.max_used': 0,
            'disk.max_used_mount': '',
            'disk.min_free': 0,
            'disk.min_free_mount': '',
            'disk.used_percent': 0,
            'disk.used': 0,
            'disk.free': 0,
            'disk.total': 0,
        }
        partitions = psutil.disk_partitions(all=True)
        for partition in partitions:
            if partition.opts.upper() in ('CDROM', 'REMOVABLE'):
                continue
            mountpoint = partition.mountpoint
            usage = psutil.disk_usage(mountpoint)
            if usage.percent > data['disk.max_used_percent']:
                data['disk.max_used_percent'] = usage.percent
                data['disk.max_used_percent_mount'] = mountpoint
            if usage.used > data['disk.max_used']:
                data['disk.max_used'] = usage.used
                data['disk.max_used_mount'] = mountpoint
            if usage.free < data['disk.min_free'] or data['disk.min_free'] == 0:
                data['disk.min_free'] = usage.free
                data['disk.min_free_mount'] = mountpoint
            data['disk.used'] += usage.used
            data['disk.free'] += usage.free
            data['disk.total'] += usage.total
        data['disk.used_percent'] = data['disk.used']*100 / data['disk.total'] if data['disk.total'] else 0
        data['disk.max_used'] = data['disk.max_used'] / 1024
        data['disk.min_free'] = data['disk.min_free'] / 1024
        data['disk.used'] = data['disk.used'] / 1024
        data['disk.free'] = data['disk.free'] / 1024
        data['disk.total'] = data['disk.total'] / 1024
        return data
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号