Se bem entendi, você está adicionando um novo registro com timestamp e status toda vez que atualiza o status de um servidor? Se estiver correto, você precisará
GROUP BY server_id
e ORDER BY date DESC
. Isso pode ser expresso em SQL como
SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;
ou no ActiveRecord do Rails como
Server.all.group(:server_id).order(:created_at => :desc)
(Como uma nota lateral, eu recomendo chamar este modelo de algo como
ServerStatus
em vez de apenas Server
- está representando o status, não o próprio servidor.)