예제 #1
0
 private function get_title($target_type, $target_id)
 {
     switch ($target_type) {
         case 'service':
             if (empty($this->title['service'][$target_id])) {
                 $ret = pdo_get_service_byid($this->pdo, $target_id);
                 if ($ret) {
                     $this->title['service'][$target_id] = $ret['service_name'];
                 }
             }
             return $this->title['service'][$target_id];
             break;
         case 'instance':
             if (empty($this->title['instance'][$target_id])) {
                 $ret = pdo_get_instance_byid($this->pdo, $target_id);
                 if ($ret) {
                     $this->title['instance'][$target_id] = $ret['service_name'] . ':' . $ret['port_num'];
                 }
             }
             return $this->title['instance'][$target_id];
             break;
         case 'host':
             if (empty($this->title['service'][$target_id])) {
                 $ret = get_host_info($this->pdo, $target_id);
                 if ($ret) {
                     $this->title['host'][$target_id] = $ret['host_name'];
                 }
             }
             return $this->title['host'][$target_id];
             break;
         case 'host-instance':
             if (empty($this->title['instance'][$target_id])) {
                 $ret = pdo_get_instance_byid($this->pdo, $target_id);
                 if ($ret) {
                     $this->title['instance'][$target_id] = $ret['service_name'] . ':' . $ret['port_num'];
                 }
             }
             return $this->title['instance'][$target_id];
             break;
         case 'global':
             return 'global';
             break;
     }
 }
예제 #2
0
파일: host.php 프로젝트: referjs/solrcloud
require_once './libraries/common.lib.php';
$action = isset($params['action']) ? $params['action'] : "";
$req_url = $cfg['sc_url'] . $_SERVER["REQUEST_URI"];
include_once './php-ofc-library-2.2/open-flash-chart.php';
switch ($action) {
    case 'edit':
        $u_info = check_login($req_url);
        $host_info = get_host_info($pdo, $params['host_id']);
        $template = 'host_edit';
        break;
    case 'do_edit':
        update_host($pdo, $params['host_id'], array('host_name' => $params['host_name'], 'host_ip' => $params['host_ip'], 'host_memory' => $params['host_memory']));
        msg_redirect("host.php");
        break;
    case 'detail':
        $host_info = get_host_info($pdo, $params['host_id']);
        $host_memory = round($host_info['host_memory'] / 1024, 2);
        /*某host上面的所有instance*/
        $host_instance_list = get_instance_list_complex($pdo, array('host_id' => $params['host_id'], 'with_unbind' => true));
        if ($host_instance_list) {
            /*取近期10min以内的最后一条数据*/
            foreach ($host_instance_list as &$instance) {
                $jvmmem_logs = get_status_log($pdo_log, $cfg['idc'], $cfg['default_host'], 'instance', 'jvmmem', $instance['instance_id'], 'status_log_instance_jvmmemory', 1, array('min' => date('Y-m-d H:i:00', time() - 10 * 60)));
                if ($jvmmem_logs) {
                    $instance['jvmmem'] = $jvmmem_logs[0]['log_value'];
                }
            }
        }
        $json_mem_instance = stacked_bar_chart($host_instance_list);
        //load
        $load_logs = get_status_log($pdo_log, $cfg['idc'], $cfg['default_host'], 'host', 'loadaverage', $params['host_id'], 'status_log_host_loadaverage', 150);