Мониторинг использования памяти
Я больше согласен с одним из предыдущих постов, в которых упоминалась Cacti как отличный способ контролировать использование памяти. Однако, поскольку кажется, что кактусы больше не популярны в мейнстриме, есть альтернативное графическое приложение под названием Graphite.
Graphite относительно прост в установке на сервер Ubuntu, и для его установки вы можете воспользоваться этой ссылкой для простых процедур установки.
После того, как графит был установлен, теперь вы можете отправлять ему метрики памяти с любым интервалом, который пожелаете; каждые 5 секунд, каждую минуту, каждый час ... и т. д.
Чтобы построить график метрик памяти, как уже предлагалось в предыдущих статьях, вы можете написать свой собственный скрипт, используя системные инструменты для сбора необходимой информации о памяти. Или вы можете использовать заранее написанный плагин snmp, который сделает всю работу за вас.
Если вы хотите написать свой собственный скрипт памяти, будет разумно убедиться, что вы учитываете буферизованную и кэшированную память при расчете используемой памяти, в противном случае вы в конечном итоге соберете ложные данные.
Если вы хотите вместо этого использовать плагин snmp, который уже выполняет все необходимые вычисления, вот ссылка на тот, который работает довольно хорошо: checkMemoryviaSNMP .
Плюсы SNMP:
У меня установлен snmp на всех удаленных узлах, которые я наблюдаю. Это позволяет мне контролировать все мои системы с одного центрального сервера (ов) , без необходимости копировать или устанавливать плагин на удаленных узлах.
Минусы SNMP:
Вы должны убедиться, что агент snmp установлен на каждом из удаленных узлов, на которых вы хотите отслеживать память. Тем не менее, эта установка будет разовой. Если в вашей среде вы используете инструменты автоматизации, такие как «повар», «марионетка» или аналогичные, тогда это не проблема.
Конфигурация агента SNMP на удаленном узле (ах):
После того, как агент snmp был установлен, просто загрузите файл /etc/snmpd/snmpd.conf и добавьте в него следующую строку:
rocommunity (specify-a-community-string-aka-password-here)
Затем перезапустите агент snmpd:
/etc/init.d/snmpd restart
Затем на вашем центральном сервере, с которого вы вместо этого будете контролировать все остальные ваши серверы, вы можете запустить следующую команду:
$ time ./checkMemoryviaSNMP -v2 public gearman001.phs.blah.com 30 90 graphite,10.10.10.10,2003,typical
WARNING: Used = [ 3.26154 GB ], Installed = [ 5.71509 GB ], PCT.Used = [ 57.069% ], Available.Memory = [ 2.00291 GB ]. Buffer = [ 137.594 MB ], Cached = [ 1.3849 GB ]. Thresholds: [ W=(30%) / C=(90%) ]. System Information = [ Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 ].
real 0m0.23s
user 0m0.03s
sys 0m0.02s
2896
а затем1528
для буферов, разве это не означает, что вы используете2896 + 1528
?