Моніторинг використання пам'яті
Я більше відповідаю одному з попередніх дописів, в якому згадуються кактуси як чудовий спосіб контролювати використання пам'яті. Однак, оскільки, схоже, кактуси вже не користуються популярністю в мейнстрімі, існує альтернативна програма для графічного зображення під назвою 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
?