Beispiel #1
0
 public function xListAction($serverId = null, $farmId = null, $farmRoleId = null, $status = null)
 {
     $sql = "SELECT sa.* FROM server_alerts sa LEFT JOIN farms f ON f.id = sa.farm_id WHERE sa.env_id = ?";
     $args = [$this->getEnvironmentId()];
     if ($serverId) {
         $sql .= ' AND sa.server_id = ?';
         $args[] = $serverId;
     }
     if ($farmId) {
         $sql .= ' AND sa.farm_id = ?';
         $args[] = $farmId;
         if ($farmRoleId) {
             $sql .= ' AND sa.farm_roleid = ?';
             $args[] = $farmRoleId;
         }
     }
     if ($status) {
         $sql .= ' AND sa.status = ?';
         $args[] = $status;
     }
     list($sql, $args) = $this->request->prepareFarmSqlQuery($sql, $args, 'f');
     $response = $this->buildResponseFromSql2($sql, ['metric', 'status', 'dtoccured', 'dtlastcheck', 'dtsolved', 'details'], ['server_id', 'details'], $args);
     foreach ($response['data'] as $i => $row) {
         $row['dtoccured'] = Scalr_Util_DateTime::convertTz($row['dtoccured']);
         if ($row['dtlastcheck']) {
             $row['dtlastcheck'] = Scalr_Util_DateTime::convertTz($row['dtlastcheck']);
         } else {
             $row['dtlastcheck'] = false;
         }
         if ($row['status'] == Alerts::STATUS_RESOLVED) {
             $row['dtsolved'] = Scalr_Util_DateTime::convertTz($row['dtsolved']);
         } else {
             $row['dtsolved'] = false;
         }
         $row['metric'] = Alerts::getMetricName($row['metric']);
         $row['farm_name'] = DBFarm::LoadByID($row['farm_id'])->Name;
         try {
             $row['role_name'] = DBFarmRole::LoadByID($row['farm_roleid'])->GetRoleObject()->name;
             $dbServer = DBServer::LoadByID($row['server_id']);
             $row['server_exists'] = $dbServer->status == SERVER_STATUS::RUNNING ? true : false;
         } catch (Exception $e) {
         }
         $response['data'][$i] = $row;
     }
     $this->response->data($response);
 }
Beispiel #2
0
 public function xListAlertsAction()
 {
     $this->request->defineParams(array('sort' => array('type' => 'string', 'default' => 'id'), 'dir' => array('type' => 'string', 'default' => 'DESC')));
     $sql = "SELECT * FROM server_alerts WHERE env_id='" . $this->getEnvironmentId() . "'";
     if ($this->getParam('serverId')) {
         $sql .= ' AND server_id = ' . $this->db->qstr($this->getParam('serverId'));
     }
     if ($this->getParam('farmId')) {
         $sql .= ' AND farm_id = ' . $this->db->qstr($this->getParam('farmId'));
         if ($this->getParam('farmRoleId')) {
             $sql .= ' AND farm_roleid = ' . $this->db->qstr($this->getParam('farmRoleId'));
         }
     }
     if ($this->getParam('status')) {
         $sql .= ' AND status = ' . $this->db->qstr($this->getParam('status'));
     }
     $response = $this->buildResponseFromSql($sql, array('server_id', 'details'));
     foreach ($response['data'] as $i => $row) {
         $row['dtoccured'] = Scalr_Util_DateTime::convertTz($row['dtoccured']);
         if ($row['dtlastcheck']) {
             $row['dtlastcheck'] = Scalr_Util_DateTime::convertTz($row['dtlastcheck']);
         } else {
             $row['dtlastcheck'] = false;
         }
         if ($row['status'] == Alerts::STATUS_RESOLVED) {
             $row['dtsolved'] = Scalr_Util_DateTime::convertTz($row['dtsolved']);
         } else {
             $row['dtsolved'] = false;
         }
         $row['metric'] = Alerts::getMetricName($row['metric']);
         $row['farm_name'] = DBFarm::LoadByID($row['farm_id'])->Name;
         try {
             $row['role_name'] = DBFarmRole::LoadByID($row['farm_roleid'])->GetRoleObject()->name;
             $dbServer = DBServer::LoadByID($row['server_id']);
             $row['server_exists'] = $dbServer->status == SERVER_STATUS::RUNNING ? true : false;
         } catch (Exception $e) {
         }
         $response['data'][$i] = $row;
     }
     $this->response->data($response);
 }