Esempio n. 1
0
    def check_sensors(self):
        """
        Sprawdza czy zarejestrowane sensory są nadal aktywne.
        """
        
        db = None

        try:
            db = mysql.connector.Connect(**Config.dbinfo())
            cursor = db.cursor()
            cursor.execute("SELECT sensorID, address, port FROM Sensors")
            rows = cursor.fetchall()
        except Exception, e:
            print e
Esempio n. 2
0
    def m_register(self, address, port, uuid):
        """
        Dodaje informacje o nowym monitorze do katalogu.\n
        """

        db = None

        try:
            db = mysql.connector.Connect(**Config.dbinfo())
            cursor = db.cursor()
#            cursor.execute("INSERT INTO Monitors(address, port, uuid) VALUES(SUBSTRING_INDEX((SELECT host FROM information_schema.processlist WHERE ID=CONNECTION_ID()), ':', 1), %s, %s)", (self.port, MonitorHTTP.monitor.get_id()))
            cursor.execute("INSERT INTO Monitors(address, port, uuid) VALUES(%s, %s, %s)", (address, port, uuid))
            db.commit()
        except Exception, e:
            print "Database Error: %s"%e
Esempio n. 3
0
    def del_sensor(self, sid):
        """
        Usuwa sensor z bazy danych.\n

        sid - numer ID sensora.\n
        """

        db = None

        try:
            db = mysql.connector.Connect(**Config.dbinfo())
            cursor = db.cursor()
            cursor.execute("DELETE FROM Sensors WHERE sensorID = %s", (sid,))
            db.commit()
        except Exception, e:
            print e
Esempio n. 4
0
    def del_sensor(self, host, port, uuid):
        """
        Usuwa sensor z bazy danych.\n

        sid - numer ID sensora.\n
        """

        db = None

        try:
            db = mysql.connector.Connect(**Config.dbinfo())
            cursor = db.cursor()
            cursor.execute("DELETE FROM Sensors WHERE address = %s AND port = %s AND monitorUUID = %s", (host, port, uuid))
            db.commit()
        except Exception, e:
            print e
Esempio n. 5
0
    def del_monitor(self, mid, uuid):
        """
        Usuwa monitor z bazy danych.\n

        mid - numer ID monitora.\n
        uuid - UUID monitora.\n
        """

        db = None

        try:
            db = mysql.connector.Connect(**Config.dbinfo())
            cursor = db.cursor()
            cursor.execute("DELETE FROM Sensors WHERE monitorUUID = %s", (uuid,))
            cursor.execute("DELETE FROM Monitors WHERE monitorID = %s", (mid,))
            db.commit()
        except Exception, e:
            print e
Esempio n. 6
0
    def get_monitors(self):
        """
        Zwraca pełną informację o wszystkich monitorach znajdujących się w bazie danych.\n
        """

        db = None
        monitors = []

        try:
            db = mysql.connector.Connect(**Config.dbinfo())
            cursor = db.cursor()
            cursor.execute("SELECT * FROM Monitors")

            for row in cursor.fetchall():
                monitor = {"monitorID" : str(row[0]), "address" : str(row[1]), "port" : str(row[2])}
                monitors.append(monitor)

        except Exception, e:
            print e
Esempio n. 7
0
    def m_register(self, address, port, uuid):
        """
        Dodaje informacje o nowym monitorze do katalogu.\n
        """

        db = None

        try:
            db = mysql.connector.Connect(**Config.dbinfo())
            cursor = db.cursor()
            #Usuniecie ewentualnych duplikatow
            cursor.execute("SELECT monitorID, uuid FROM Monitors WHERE address = %s AND port = %s", (address, port))
            for row in cursor.fetchall():
                cursor.execute("DELETE FROM Monitors WHERE monitorID = %s", (row[0],))
                cursor.execute("DELETE FROM Sensors WHERE monitorUUID = %s", (row[1],))

#            cursor.execute("INSERT INTO Monitors(address, port, uuid) VALUES(SUBSTRING_INDEX((SELECT host FROM information_schema.processlist WHERE ID=CONNECTION_ID()), ':', 1), %s, %s)", (self.port, MonitorHTTP.monitor.get_id()))
            cursor.execute("INSERT INTO Monitors(address, port, uuid) VALUES(%s, %s, %s)", (address, port, uuid))
            db.commit()
        except Exception, e:
            print "Database Error: %s"%e
Esempio n. 8
0
    def s_register(self, uuid, host, port, hostname, cpu = True, ram = True, hdd = True):
        """
        Rejestruje nowy sensor.\n

        uuid - UUID monitora\n
        host - adres sensora\n
        port - port sensora\n
        hostname - nazwa sensora\n
        cpu - informuje czy sensor monitoruje obciażenie cpu\n
        ram - informuje czy sensor monitoruje zużycie ramu\n
        hdd - informuje czy sensor monitoruje dane o dyskach\n
        """

        db = None

        try:
            db = mysql.connector.Connect(**Config.dbinfo())
            cursor = db.cursor()
            cursor.execute("INSERT INTO Sensors(monitorUUID, name, address, port, cpu, ram, hdd) VALUES(%s, %s, %s, %s, %s, %s, %s)", (uuid, hostname, host, port, cpu, ram, hdd))
            db.commit()
        except Exception, e:
            print e
Esempio n. 9
0
    def get_sensors(self, mid = None):
        """
        Zwraca pełną informację o wszystkich sensorach znajdujących się w bazie danych.\n
        """

        db = None
        sensors = []

        try:
            db = mysql.connector.Connect(**Config.dbinfo())
            cursor = db.cursor()
            if mid:
                cursor.execute("SELECT * FROM Sensors WHERE monitorUUID = (SELECT uuid FROM Monitors WHERE monitorID = %s)", 
                               (mid,))
            else:
                cursor.execute("SELECT * FROM Sensors")

            for row in cursor.fetchall():
                sensor = {"sensorID" : str(row[0]), "name" : str(row[2]), "address" : str(row[3]), "port" : str(row[4]), 
                          "cpu" : str(row[5]), "ram" : str(row[6]), "hdd" : str(row[7])}
                sensors.append(sensor)

        except Exception, e:
            print e