zabbix監控大華攝像頭


from amcrest import AmcrestCamera
import sys

class DataNvr(object):
    def __init__(self,name):
        self.name = name
        self._data_dic = {
            "HF-NVR":["192.168.89.210", 80,"hehe", "hehe"],
            "SY-NVR": ["192.168.33.9", 80,"hehe", "hehe"],
        }
        self._ipaddress = self._data_dic[self.name][0]
        self._port = self._data_dic[self.name][1]
        self._useradmin = self._data_dic[self.name][2]
        self._password = self._data_dic[self.name][3]
        self.cameras = AmcrestCamera(self._ipaddress, self._port,self._useradmin, self._password).camera


    @property
    def storage_used(self):
        used = self.cameras.storage_used[0]
        """(1639.49, 'GB')"""
        return used

    @property
    def storage_all(self):
        storage_all = self.cameras.storage_all
        """{'used_percent': 88.01, 'used': (1639.49, 'GB'), 'total': (1862.95, 'GB')}"""
        return storage_all

    @property
    def storage_total(self):
        total = self.cameras.storage_total[0]
        return total
    @property
    def storage_used_percent(self):
        percent = self.cameras.storage_used_percent
        return percent

    @property
    def ping_alive(self):
        from mass_ping import MassPing
        hosts = [self._ipaddress, ]
        ping = MassPing(hosts=hosts, thread_count=len(hosts), test_count=2)
        return 1 if ping.each_ping(self._ipaddress) else 0

if __name__ == '__main__':
    msg_name  = sys.argv[1].strip()
    msg_case = sys.argv[2].strip()
    datanvr = DataNvr(msg_name)
    if hasattr(datanvr,msg_case):
        values = getattr(datanvr, msg_case)
        print(values)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM