示例#1
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        self._init_connector()

        self.test_data = {}
        self._get_global_status()
        self._get_variables()

        if self.config.get("check_slave", True):
            self._get_slave_status()

        if self.config.get("check_master", True) and dict_has_item(
                self.test_data, "log_bin", "ON"):
            self._get_master_status()

        if self.config.get("check_procs", True):
            self._get_processlist()

        if self.config.get("check_innodb",
                           True) and "innodb_version" in self.test_data:
            self._get_innodb_status()

        # Not yet implemented
        # if self.config.get("check_qrt", True):
        # self._get_percona_qrt()

        Cache.write(self.name, self.test_data)
示例#2
0
    def _load_data(self):
        self.test_data = Cache.read(self.name, ttl=3600)
        if self.test_data is not None:
            return

        with open(self._get_statistics_file(), "r") as f:
            self.test_data = "".join(f.readlines())

        Cache.write(self.name, self.test_data)
示例#3
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        connector = MySQLConnector(host=self.config.get("host", "127.0.0.1"), port=self.config.get("port", 9306))
        self.test_data = self._format_data(connector.get("SHOW STATUS"))

        Cache.write(self.name, self.test_data)
示例#4
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        self._refresh_stats()
        self._parse_stats()

        Cache.write(self.name, self.test_data)
示例#5
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        connector = SocketConnector(socket_file=self.config.get("socket", "/var/lib/haproxy/stats.sock"),
                                    command="show info\nshow stat\n")

        self.test_data = connector.get()
        Cache.write(self.name, self.test_data)
示例#6
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        connector = MySQLConnector(host=self.config.get("host", "127.0.0.1"),
                                   port=self.config.get("port", 9306))
        self.test_data = self._format_data(connector.get("SHOW STATUS"))

        Cache.write(self.name, self.test_data)
示例#7
0
    def _load_data(self):
        self.test_data = Cache.read(self.name, 3000)
        if self.test_data is not None:
            return self.test_data

        with open(self._get_statistics_file(), "r") as f:
            self.test_data = f.readlines()

        Cache.write(self.name, self.test_data)

        return self.test_data
示例#8
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        connector = SocketConnector(socket_file=self.config.get(
            "socket", "/var/lib/haproxy/stats.sock"),
                                    command="show info\nshow stat\n")

        self.test_data = connector.get()
        Cache.write(self.name, self.test_data)
示例#9
0
    def _load_data(self):
        self.test_data = Cache.read(self.name, 3000)
        if self.test_data is not None:
            return self.test_data

        with open(self._get_statistics_file(), "r") as f:
            self.test_data = f.readlines()

        Cache.write(self.name, self.test_data)

        return self.test_data
示例#10
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        connector = SocketConnector(host=self.config.get("host", "127.0.0.1"),
                                    port=self.config.get("port", 9002),
                                    command="LOGIN %s %s\nSTATS .\nQUIT\n" % (
                                        self.config.get("user", ""), self.config.get("passwd", "")))

        self.test_data = connector.get()
        Cache.write(self.name, self.test_data)
示例#11
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        connector = self._get_connector()

        code, headers, self.test_data, error = connector.get()
        self.test_data += connector.get_load_time()

        if not code.startswith("200"):
            raise CheckFail("Unable to get response: %s (code: %s)" % (error, code))

        Cache.write(self.name, self.test_data)
示例#12
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        connector = self._get_connector()

        code, headers, self.test_data, error = connector.get()
        self.test_data += connector.get_load_time()

        if not code.startswith("200"):
            raise CheckFail("Unable to get response: %s (code: %s)" %
                            (error, code))

        Cache.write(self.name, self.test_data)
示例#13
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return self.test_data

        url = "%s://%s:%s%s" % (
            self.config.get("proto", "http"), self.config.get("host", "localhost"), self.config.get("port", "80"),
            self.config.get("resource", "/nginx-status")
        )

        connector = UrlConnector(url)
        data = connector.get()
        if data.status_code != 200:
            raise CheckFail("Unable to retrieve data (error code: %s)" % data.status_code)

        data = data.text.strip()
        Cache.write(self.name, data)

        return data.split("\n")
示例#14
0
    def _load_data(self):
        self.test_data = Cache.read(self.name)
        if self.test_data is not None:
            return

        url = "%s://%s:%s%s" % (self.config.get(
            "proto", "http"), self.config.get(
                "host", "localhost"), self.config.get("port", "80"),
                                self.config.get("resource", "/nginx-status"))

        connector = UrlConnector(url)
        data = connector.get()
        if data.status_code != 200:
            raise CheckFail("Unable to retrieve data (error code: %s)" %
                            data.status_code)

        self.test_data = data.text.strip()
        self.test_data += connector.get_load_time()

        Cache.write(self.name, self.test_data)