Nagios 3.5.1 установлен под VMWare ESXi 5.5, диски SATA, 8 гигабайт RAM, 4 ядра CPU
Перед оптимизацией:
load average: 2.0
# iostat -x Linux 2.6.32-504.1.3.el6.x86_64 (nagios) 02/03/2015 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 26.76 0.00 4.59 0.31 0.00 68.34 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 53.89 0.01 28.98 0.43 662.95 22.88 0.05 1.87 2.29 6.64 dm-0 0.00 0.00 0.02 82.87 0.43 662.94 8.00 0.05 0.58 0.80 6.65 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 7.23 0.84 0.00
Переходим на RAM:
- Создаем директорию под RAM disk:
# mkdir /var/log/nagiosramdisk
- Оцениваем размер и монтируем RAM disk с размером примерно в 5 раз больше текущего занятого места (чаще всего хватает 50 мегабайт):
# du -h --max-depth=0 /var/log/nagios # mount -t tmpfs none /var/log/nagiosramdisk -o size=50m
- Подготавливаем место:
# mkdir -p -m 755 /var/log/nagiosramdisk/tmp # chown -R nagios:nagios /var/log/nagiosramdisk
- Делаем изменения в nagios.cfg (в CentOS лежит в /etc/nagios/):
object_cache_file=/var/log/nagiosramdisk/objects.cache status_file=/var/log/nagiosramdisk/status.dat temp_file=/var/log/nagiosramdisk/nagios.tmp temp_path=/var/log/nagiosramdisk/tmp
- Перезапускаем nagios и проверяем результат:
# /etc/init.d/nagios restart # ls -l /var/log/nagiosramdisk
- Если вы используете n2rrd или другие дополнения для nagios, то нужно изменить соответствующие настройки и конфигурационных файлах этих пакетов
- Продолжаем, если все в порядке (если нет — проверьте каждый шаг, убедитесь что права на каталоги верны):
# mkdir -p -m 775 /var/log/nagiosramdisk/spool # mkdir -p -m 775 /var/log/nagiosramdisk/spool/checkresults # chown -R nagios:nagios /var/log/nagiosramdisk
- Меняем настройки для check_result_path:
check_result_path=/var/log/nagiosramdisk/spool/checkresults
- Меняем настройки для host_perfdata_file и service_perfdata_file:
host_perfdata_file=/var/log/nagiosramdisk/host-perfdata service_perfdata_file=/var/log/nagiosramdisk/service-perfdata
- Проверяем во всех дополнениях, определениях команд и плагинах пути к файлам и меняем их на наш RAM диск, если это возможно (файлы временные или их потеря после перезагрузки не влечет серьезного нарушения работы)
Вносим изменения для использования RAM диска после перезагрузки:
- Добавляем в /etc/fstab:
tmpfs /var/log/nagiosramdisk tmpfs defaults,size=50m 0 0
- Добавляем во все скрипты запуска сервисов nagios и дополнений, в самое начало:
mkdir -p -m 775 /var/log/nagiosramdisk mkdir -p -m 775 /var/log/nagiosramdisk/tmp mkdir -p -m 775 /var/log/nagiosramdisk/spool mkdir -p -m 775 /var/log/nagiosramdisk/spool/checkresults chown -R nagios:nagios /var/log/nagiosramdisk
Список может быть неполный, добавьте необходимые директории в соответствии с вашей спецификой
- перезапускаем сервер и проверяем результат
В дополнении к переходу на RAM диск, можно часть файлов перевести на NFS раздел, если в вашей гигабитной сети есть подходящее хранилище. Например log-файлы или
rrd данные (Round Robin Database) вполне можно разместить на NFS разделе.
После оптимизации:
# iostat -x Linux 2.6.32-504.3.3.el6.x86_64 (nagios) 02/04/2015 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 24.78 0.00 3.17 1.18 0.00 70.86 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.12 9.37 0.16 5.04 7.56 115.22 23.64 0.21 40.70 3.37 1.75 dm-0 0.00 0.00 0.25 14.40 7.10 115.22 8.35 0.40 27.00 1.19 1.75 dm-1 0.00 0.00 0.01 0.00 0.04 0.00 8.00 0.00 0.98 0.88 0.00
Итог: уменьшение работы с диском примерно в 5 раз, если судить по показателям записи и %util
Дополнительная информация: Utilizing a RAM disk in Nagios XI