Установка GUI дя Nagios Vshell2

ОС – Unumtu 18.04, но с модификациями подходит для любой ОС

Для начала установим требуемый пакет (предполагается что apache2, php, nagios у вас уже установлены и натсроены):

apt-get install php7.2-intl

Теперь скачиваем архив с оболочкой отсюда:

https://github.com/NagiosEnterprises/nagiosvshell/tree/2.x

На сервер, распаковываем и открываем файл конфигурации:

wget https://github.com/NagiosEnterprises/nagiosvshell/archive/2.x.zip
unzip 2.x.zip
cd nagiosvshell-2.x/
nano config.php

Строки, на которые следует обратить внимание, выделены жирным шрифтом. Значения по-умолчанию указаны для nagios3, установленного через пакетный менеджер. У меня уже был nagios 4, установленный внучную. Необходимые поправки для путей установки, расположения конфигурационного файла сайта и файла пользователей стандартного Nagios GUI дописываем в скобки ” в разделе $custom = array(

<?php
Custom values
#
Add any custom values here. If a value is empty, the default value defined
below is used.
$custom = array(
'targetdir' => '',
'apacheconfdir' => '',
'apacheconffile' => '',
'apacheuser' => '',
'apachegroup' => '',
'etc_conf' => '',
'htpasswd_file' => '',
# See config/vshell.conf for explanations of each value
'vshell_baseurl' => '',
'TTL' => '',
'update_interval' => '',
'nagios_coreurl' => '',
'lang' => '',
);
Default values
#
Do not edit these defaults
$defaults = array();
$defaults['debian'] = array(
'targetdir' => '/usr/local/vshell2',
'apacheconfdir' => '/etc/apache2/sites-enabled',
'apacheconffile' => 'vshell2.conf',
'apacheuser' => 'www-data',
'apachegroup' => 'www-data',
'etc_conf' => 'vshell2.conf',
'htpasswd_file' => '/etc/nagios3/htpasswd.users',
'vshell_baseurl' => 'vshell2',
'nagios_coreurl' => 'nagios3',
'TTL' => '90',
'update_interval' => '90',
'lang' => 'en_GB',
);
$defaults['redhat'] = array(
'targetdir' => '/usr/local/vshell2',
'apacheconfdir' => '/etc/httpd/conf.d',
'apacheconffile' => 'vshell2.conf',
'apacheuser' => 'apache',
'apachegroup' => 'apache',
'etc_conf' => 'vshell2.conf',
'htpasswd_file' => '/etc/nagios/passwd',
'vshell_baseurl' => 'vshell2',
'nagios_coreurl' => 'nagios',
'TTL' => '90',
'update_interval' => '90',
'lang' => 'en_GB',
);

Теперь даём права на запуск и запускаем install.php:

chmod +x install.php
./install.php

Скрипт сделает всё сам. И если все данные были указаны правильно в конфиг-файле, то мы сможем увидить новую оболочку по адресу http://your_server_ip/vshell2

Если видите ошибку 500 или ещё что – лопатим логи apache (/var/log/apache2/error.log) на предмет того что пошло не так.

Linux. Распределение прерываний

Посмотреть распределение прерываний по ядрам в ОС Linux можно командой:
cat /proc/interrupts
Вы должны увидеть нечто следующее:

Где:

  • Первый столбец — номер прерывания
  • CPU0 .. CPUx — счетчик обработанных прерываний по процессорным ядрам
  • PCI-MSI-edge — тип прерывания
  • Последний столбец — название устройства

Как видите, все прерывания по-умолчанию обрабатываются ядром 0. Что не всегда хорошо.
Перенести обработку прерываний на другие ядра можно как в примерах ниже:
# CPU0
echo 1 >/proc/irq/45/smp_affinity
echo 1 >/proc/irq/46/smp_affinity
echo 1 >/proc/irq/47/smp_affinity
# CPU1
echo 2 >/proc/irq/48/smp_affinity
echo 2 >/proc/irq/49/smp_affinity
# CPU2
echo 4 >/proc/irq/50/smp_affinity
echo 4 >/proc/irq/51/smp_affinity
# CPU3
echo 8 >/proc/irq/52/smp_affinity
echo 8 >/proc/irq/53/smp_affinity
Где цифра после echo определяет маску для используемых ядер. Например, использовать только ядро 0 это будет выглядеть 00000001 в двоичной системе исчисления. Ядро 2 – 00000100. 0 и 2 соответственно 00000101, что соответствует 5 в десятичной системе.
Этот метод действует до перезагрузки. Чтобы сохранить настройки и после перезагрузки просто добавляем эти команды в файл /etc/rc.local – это скрипт, автоматически выполняющий своё содержимое при загрузке ОС.
Источники:

  1. https://cesbo.com/ru/linux/interrupts/