Puppet, Nagios, Munin на хостах с cPanel

Puppet, Nagios, Munin на хостах с cPanel

За последний год я управлял 20–30 хостами на базе cPanel с помощью Puppet, Nagios и Munin для общего мониторинга/отслеживания тенденций, однако многие методы, которые мне приходилось использовать для развертывания/управления такими вещами, как конфигурации, были утомительными.

Для тех из вас, кто не знаком с cPanel - он добавляет несколько вещей в исключение yum, таких как perl*, ruby* и т. д. Это вызывает проблемы с возможностью загрузочного мониторинга на новом сервере через Puppet (точнее, через тип Package) из-за кучи конфликтов с установкой через Yum.

Теперь я мог бы создать пользовательский RPM для всего и удалить определенные зависимости из файла спецификации, однако я хотел бы избежать этого, если это возможно. Есть ли у кого-нибудь какие-либо предлагаемые функциональные способы управления такого рода средой?

В настоящее время я устанавливаю Puppet, Facter и Munin через RPM и принудительно устанавливаю с помощью --nodeps и т. п. (так как они установлены, просто нет тех, которые хочет Yum). Nagios я установил вручную из исходников в это время (вероятно, создам RPM, однако я хочу сначала решить эту общую проблему).

решение1

Используйте экземпляр ruby ​​cPanel — /scripts/installruby — оттуда вы можете выполнить установку через gem или через исходный код.

решение2

Munin можно установить с помощью установщика плагина WHM по адресу:

Главная >> cPanel >> Управление плагинами

Просто нажмите «Установить и обновлять», и обновление будет установлено.

Yum должен иметь возможность устанавливать пакеты с зависимостями в exclude=разделе yum.conf, если они находятся в базе данных RPM и имеют правильную версию. Известно, что системы cPanel часто получают поврежденные базы данных RPM. Попробуйте перестроить ее, а затем повторите установку. Перестройте базу данных RPM:

Удалите файлы /var/lib/rpm/__db*, чтобы очистить устаревшие блокировки от мертвых процессов RPM:

cd /var/lib/rpm
rm __db*

Перестроить базу данных RPM:

rpm --rebuilddb

Есть ли разница?

Если нет, то установлены ли вообще недостающие зависимости? Проверьте с помощью:

rpm -qa

или:

rpm -qi [packagename]

cPanel устанавливает Ruby через RPM, поэтому он должен быть указан в списке и должен разрешить зависимость при установке через yum. Однако cPanel не устанавливает PHP, поэтому если эта зависимость отсутствует, то это уже другая проблема.

решение3

Проблема с автоматическим деплойментом RPM. К сожалению, cPanel не использует пакеты на основе RPM / добавляет некоторые вещи в исключения Yum / устанавливает некоторые вещи в нестандартных областях (насколько это касается RHEL), что приводит к проблемам с деплойментом RPM/Yum.

Решение, которое я нашел, заключалось в создании собственного RPM-файла и отключении его автоматического декомпилирования.

Связанный контент