예제 #1
0
 public function info()
 {
     $server = $this->model->one(intval($this->input->get('id')));
     $redis = new \redis();
     if ($redis->connect($server->host, $server->port, 30) == false) {
         echo "Redis '{$server->host}' Connected Failed. \n";
         exit($redis->getLastError());
     }
     if ($server->password) {
         if ($redis->auth($server->password) == false) {
             echo "Redis '{$server->host}' Password Is Incorrect. \n";
             exit($redis->getLastError());
         }
     }
     $data['keyspace'] = $redis->info('keyspace');
     $data['memory'] = $redis->info('memory');
     $data['clients'] = $redis->info('clients');
     //$data['slow'] = $redis->slowLog('get',10);
     $redis->close();
     $result = $this->db('bs')->query('select * from en_server_redis_data where server_id=' . $server->id . ' order by created asc ')->result();
     $data['chart_memory_data'] = [];
     $data['chart_memory_time'] = [];
     $data['chart_connection_data'] = [];
     $data['chart_connection_time'] = [];
     foreach ($result as $rs) {
         $data['chart_memory_data'][] = round($rs->memory / 1024 / 1024, 2);
         $data['chart_memory_time'][] = date('H:i', $rs->created);
         $data['chart_connection_data'][] = intval($rs->connection);
         $data['chart_connection_time'][] = date('H:i', $rs->created);
     }
     $data['server'] = $server;
     $this->output->view('monitor/redis/server_info', $data);
 }
예제 #2
0
파일: monitor.php 프로젝트: beyondye/ENPHP
 public function redisData()
 {
     $result = $this->db('bs')->query("select * from en_server_redis")->result();
     foreach ($result as $server) {
         $redis = new \redis();
         if ($redis->connect($server->host, $server->port, 30) == false) {
             echo "Redis '{$server->host}' Connected Failed. \n";
             continue;
         }
         if ($server->password) {
             if ($redis->auth($server->password) == false) {
                 echo "Redis '{$server->host}' Password Is Incorrect. \n";
                 $redis->close();
                 continue;
             }
         }
         $memory = $redis->info('memory');
         $clients = $redis->info('clients');
         $redis->close();
         $this->db('bs')->insert('en_server_redis_data', ['server_id' => $server->id, 'memory' => $memory['used_memory'], 'connection' => $clients['connected_clients'], 'created' => time()]);
     }
     $del = time() - 3600 * 24;
     $this->db('bs')->delete('en_server_redis_data', " created<{$del} ");
 }