Jeśli dobrze rozumiem, dodajesz nowy rekord z sygnaturą czasową i statusem za każdym razem, gdy aktualizujesz status serwera? Jeśli to się zgadza, musisz GROUP BY server_id i ORDER BY date DESC .
Można to wyrazić w SQL jako
SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;
lub w ActiveRecord Railsów jako
Server.all.group(:server_id).order(:created_at => :desc)
(Na marginesie, polecam nazwać ten model czymś w rodzaju ServerStatus a nie tylko Server - reprezentuje status, a nie sam serwer.)