static function get_all_instance_search_json() { $arr_instance_objs = instance_actions::get_all_instances(); foreach ($arr_instance_objs as $instance) { $data[$instance->db_id]['info_string'] = $instance->service_name . " " . $instance->hostname . " " . $instance->sid . " " . $instance->status . " " . $instance->charset; } return json_encode($data); }
static function get_all_switchover_as_array() { # Generating instance objects $db = mysqli_connect($_SESSION['db_host'], $_SESSION['db_user'], $_SESSION['db_password'], $_SESSION['db_database']); $arr_instance_objs = instance_actions::get_all_instances(); foreach ($arr_instance_objs as $instance) { if (strpos($instance->service_name, 'RZ1') !== false) { # Check if there was a failover/switchover during the last 14 days $query = "select count(*) as failover_count from (SELECT distinct `value_string` FROM `values` WHERE `parameter_id` = 9002 and `db_id` = " . $instance->db_id . " and time > DATE_FORMAT(now(), '%Y-%m-%d') - INTERVAL 14 DAY limit 2) as a"; $result = mysqli_query($db, $query); while ($row = mysqli_fetch_object($result)) { $failover_count = $row->failover_count; } if ($failover_count > 1) { unset($rz2_db_id); unset($rz1_status); unset($so_time); # Check current status of RZ1 db $query = "SELECT ID, dba_notice, lower(`value_string`) as value_string, DATE_FORMAT(time, '%d.%m.%y (%k:%i)') as time_formated FROM `values` WHERE `parameter_id` = 9002 and db_id = " . $instance->db_id . " order by time desc limit 1;"; $result = mysqli_query($db, $query); while ($row = mysqli_fetch_object($result)) { $rz1_status = $row->value_string; $so_time = $row->time_formated; $so_data_arr[$so_time]['value_id'] = $row->ID; $so_data_arr[$so_time]['dba_notice'] = $row->dba_notice; } if (strtolower($rz1_status) == "open") { $so_direction = "to_rz1"; } if (strtolower($rz1_status) == "mounted") { $so_direction = "to_rz2"; } # Get RZ2 DB $query = "SELECT db_id FROM `values` WHERE `parameter_id` = 1698 and `value_string` like '%" . $instance->sid . "_rz2%' limit 1"; $result = mysqli_query($db, $query); while ($row = mysqli_fetch_object($result)) { $rz2_db_id = $row->db_id; } if (isset($rz2_db_id) && isset($so_direction)) { $rz2_server_obj = instance_actions::get_instance_by_id($rz2_db_id); $so_data_arr[$so_time]['rz1_hostname'] = $instance->get_hostname(); $so_data_arr[$so_time]['rz1_sid'] = $instance->sid . '_RZ1'; $so_data_arr[$so_time]['rz1_db_id'] = $instance->db_id; $so_data_arr[$so_time]['rz2_hostname'] = $rz2_server_obj->get_hostname(); $so_data_arr[$so_time]['rz2_sid'] = $rz2_server_obj->sid . '_RZ2'; $so_data_arr[$so_time]['rz2_db_id'] = $rz2_server_obj->db_id; $so_data_arr[$so_time]['direction'] = $so_direction; } } } } return $so_data_arr; }
<?php #error_reporting(E_ALL); ini_set('display_errors', '1'); include "./includes/templates/header.php"; include "./includes/templates/top_header.php"; include_once "./includes/classes/class_parameter_actions.php"; include_once "./includes/classes/class_instance.php"; include_once "./includes/classes/class_instance_actions.php"; # Generating instance objects $arr_instance_objs = instance_actions::get_all_instances(); # Generating the content of the dialog box for selection a parameter $dialog_parameter_arr = parameter_actions::get_all_parameter_array(); $dialog_parameter_html = ""; ?> <script type="text/javascript"> var instance_search_objs = <?php echo instance_actions::get_all_instance_search_json(); ?> ; var parameter_search_objs = <?php echo parameter_actions::get_all_parameter_search_json(); ?> ; </script> <div id="bottom-header"> <div class="container clearfix"> <h1 id="bh_h1">Database Overview</h1> <div id="target_menu_div"> <ul id="target_menu"> </ul> </div>