基于 cPanel 的主机上的 Puppet、Nagios、Munin

基于 cPanel 的主机上的 Puppet、Nagios、Munin

在过去的一年里,我一直使用 Puppet、Nagios 和 Munin 管理 20-30 个基于 cPanel 的主机,进行常规监控/趋势分析,但是我不得不使用很多方法来部署/管理配置等事情,这很麻烦。

对于那些不熟悉 cPanel 的人来说 - 它向 yum 排除添加了一些内容,例如 perl*、ruby* 等等。这导致我无法通过 Puppet(通过包类型)在新服务器上引导监控,因为与通过 Yum 安装存在一系列冲突。

现在我可以为所有内容创建自定义 RPM 并从 spec 文件中删除某些依赖项,但是如果可能的话,我想避免这种情况。有没有人提出任何管理此类环境的实用方法?

目前我通过 RPM 安装 Puppet、Facter 和 Munin,并使用 --nodeps 等强制安装(因为它们已安装,只是没有 Yum 想要的)。Nagios 我这次从源代码手动安装(可能会创建 RPM,但我想先解决这个一般问题)。

答案1

使用 cPanel 的 ruby​​ 实例 -- /scripts/installruby -- 从那里您可以通过 gem 或通过源进行安装。

答案2

嗯,Munin 可以通过 WHM 插件安装程序进行安装:

主页 >> cPanel >> 管理插件

只需单击“安装并保持更新”即可安装。

exclude=只要软件包位于 RPM 数据库中且版本正确,Yum 就能够安装 yum.conf 部分中具有依赖关系的软件包。众所周知,cPanel 系统经常会遇到损坏的 RPM 数据库。尝试重建它,然后再次尝试安装。重建 RPM 数据库:

删除 /var/lib/rpm/__db* 文件以清除死 RPM 进程的陈旧锁:

cd /var/lib/rpm
rm __db*

重建 RPM 数据库:

rpm --rebuilddb

有什么区别吗?

如果没有,是否安装了缺少的依赖项?使用以下命令检查:

rpm -qa

或者:

rpm -qi [packagename]

cPanel 通过 RPM 安装 ruby​​,因此应该列出它并解决通过 yum 安装时的依赖关系。但是,cPanel 不会安装 PHP,因此如果缺少这个依赖关系,那就是另一个问题。

答案3

问题在于 RPM 自动解析。不幸的是,cPanel 不使用基于 RPM 的软件包/将某些东西添加到 Yum 排除/在非标准区域安装某些东西(就 RHEL 而言)导致 RPM/Yum 解析出现问题。

我发现的解决方案是构建我自己的 RPM 并使其不自动解决。

相关内容