Используйте номер хоста и процессора в качестве двойного ключа и группу для получения среднего.
Вот пример с sqlite3.
Сначала создайте таблицу:
CREATE TABLE cpu (host string, cpu integer, load integer, primary key (host, cpu));
Затем вставьте некоторые тестовые данные (это будет сделано вашим Perl-сценарием):
INSERT INTO cpu (host, cpu, load) VALUES ("appserv", 1, 25);
INSERT INTO cpu (host, cpu, load) VALUES ("appserv", 2, 15);
INSERT INTO cpu (host, cpu, load) VALUES ("dbserv", 1, 10);
INSERT INTO cpu (host, cpu, load) VALUES ("dbserv", 2, 30);
INSERT INTO cpu (host, cpu, load) VALUES ("dbserv", 3, 5);
INSERT INTO cpu (host, cpu, load) VALUES ("dbserv", 4, 5);
Теперь вы можете получить среднюю загрузку для каждого хоста, которую можно получить и построить на графике с помощью PHP:
SELECT host, avg(load) FROM cpu GROUP BY host;
appserv|20.0
dbserv|12.5
Общее среднее по всем хостам:
SELECT avg(load) FROM cpu;
15.0
Или найти хосты с высокой нагрузкой:
SELECT host FROM cpu WHERE load > 25;
dbserv
Возможно, вы захотите сделать длясоздайте таблицу всех ваших компьютеров и свяжите ее с приведенной выше таблицей процессора, заменив строку хоста на computer_id.
Все это предполагает, что вы используете реляционную базу данных (например, SQLite, MySQL, Oracle и т. д.).).