Nagios Core 安装 – Apple OS X篇

苹果OS X

增强安全性的Linux

SELinux未在Apple OS X中部署,因此不是问题。

先决条件

首先,确保已安装Xcode。如果尚未安装,请访问App Store并安装Xcode(3.8GB下载)。

然后,您需要下载并安装MacPorts,有关此操作的说明可在此处找到:

https://www.macports.org/install.php

完成此操作后,请在终端会话中执行以下步骤:

sudo xcodebuild -license
View the agreement and then type agree
sudo xcode-select --install

Mac显示屏上将提示您安装组件,然后单击“安装”。

点击同意

等待下载并安装它

继续进行终端会话(您可能需要关闭并打开终端会话):

sudo /opt/local/bin/port install zlib libpng jpeg gd2 apache2 php70 php70-apache2handler

下载源

cd /tmp
curl -L -o nagioscore.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.5.tar.gz
tar xzf nagioscore.tar.gz

编译

cd /tmp/nagioscore-nagios-4.4.5/
sudo ./configure --with-httpd-conf=/opt/local/apache2/conf/extra --with-gd-lib=/opt/local/lib --with-gd-inc=/opt/local/include
sudo make all

创建用户和组

当前,Nagios Core没有用于创建nagios用户和组的内置脚本。但是NRPE v3确实有此脚本,因此我们将下载并运行它,这使事情变得容易。

sudo make install-groups-users
sudo dseditgroup -o edit -a _www -t user nagios

安装二进制文件

此步骤将安装二进制文件,CGI和HTML文件。

sudo make install

安装服务/守护程序

这会将脚本安装在/etc/rc.d/init.d/nagios中,这不是应在OS X中运行的正确方式,但是此版本的Nagios Core中不存在本机OS X启动脚本。

sudo make install-daemoninit

您将使用“全局守护程序”属性列表将其配置为在启动时启动。

使用以下命令打开vi文本编辑器:

sudo vi /Library/LaunchDaemons/org.nagios.nagios.plist

这将创建一个新文件。

按键盘上的i进入插入模式。

将以下内容粘贴到vi编辑器中:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>org.nagios.nagios</string>
        <key>UserName</key>
        <string>nagios</string>
        <key>GroupName</key>
        <string>nagios</string>
        <key>Program</key>
        <string>/etc/rc.d/init.d/nagios</string>
        <key>ProgramArguments</key>
        <array>
                <string>nagios</string>
                <string>start</string>
        </array>
        <key>KeepAlive</key>
        <dict>
                <key>SuccessfulExit</key>
                <false/>
                <key>NetworkState</key>
                <true/>
        </dict>
        <key>RunAtLoad</key>
        <true/>
        <key>ProcessType</key>
        <string>Background</string>
</dict>
</plist>

逃生键盘上退出插入模式。

在上键入:wq,然后按Enter

该文件已保存,Nagios将在下次启动时自动启动。

有关启动和停止服务的信息将在后面进一步说明。

安装命令模式

这将安装并配置外部命令文件。

sudo make install-commandmode

安装配置文件

这将安装* SAMPLE *配置文件。这些是必需的,因为Nagios需要一些配置文件才能启动。

sudo make install-config

安装Apache配置文件

这将安装Apache Web服务器配置文件。

sudo make install-webconf

除了安装Apache Web服务器配置文件外,还需要对Apache配置文件httpd.conf进行其他更改才能启用模块。

下面是进行所有这些更改的命令,但首先是要进行的更改的列表。

更改此配置:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

改为:

<IfModule dir_module>
    DirectoryIndex index.php index.html index.htm AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps
</IfModule>

将这些行添加到文件末尾:

Include conf/extra/nagios.conf
Include conf/extra/mod_php70.conf

执行以下命令进行上述更改:

sudo cp /opt/local/etc/php70/php.ini-production /opt/local/etc/php70/php.ini
cd /opt/local/apache2/modules/
sudo /opt/local/apache2/bin/apxs -a -e -n php7 mod_php70.so
printf '\nInclude conf/extra/nagios.conf\n' | sudo tee -a /opt/local/apache2/conf/httpd.conf
printf '\nInclude conf/extra/mod_php70.conf\n' | sudo tee -a /opt/local/apache2/conf/httpd.conf
sudo sed -i '' 's/DirectoryIndex index.html/DirectoryIndex index.php index.html index.htm AddType application\/x-httpd-php .phpAddType application\/x-httpd-php-source .phps/g' /opt/local/apache2/conf/httpd.conf 

配置防火墙

默认情况下,OS X中的防火墙是关闭的。请参阅Apple文档以获取有关如何启用或配置TCP 端口80入站的信息。

创建nagiosadmin用户帐户

您需要创建一个Apache用户帐户才能登录Nagios。

以下命令将创建一个名为nagiosadmin的用户帐户,并提示您提供该帐户的密码。

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

将来添加其他用户时,您需要从上述命令中删除-c,否则它将替换现有的nagiosadmin用户(以及您可能添加的任何其他用户)

启动Apache Web服务器

sudo /opt/local/bin/port load apache2

启动服务/守护程序

此命令启动Nagios Core。

sudo /etc/rc.d/init.d/nagios start

测试Nagios

Nagios现在正在运行,要确认这一点,您需要登录Nagios Web界面。

将您的Web浏览器指向Nagios Core服务器的IP地址或FQDN ,例如:

http://10.25.5.143/nagios

http://core-013.domain.local/nagios

系统将提示您输入用户名和密码。用户名是nagiosadmin(您在上一步中创建),密码是您之前提供的密码。

登录后,将显示Nagios界面。恭喜,您已经安装了Nagios Core。

可是等等 …

当前,您仅安装了Nagios Core引擎。您会在host和服务下注意到一些错误,具体如下:

(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_load, ...) failed. errno is 2: No such file or directory 

一旦安装了Nagios插件,这些错误将得到解决,这将在下一步中介绍。

安装Nagios插件

Nagios Core需要插件才能正常运行。这些步骤将安装可通过MacPorts使用的Nagios插件。Nagios插件软件包的将来版本将被更新以支持OS X,直到那时MacPorts可用的版本就可以了。

这些文件已安装到/ opt / local / libexec / nagios /中,因此还需要更新/ usr / local / nagios / etc / resource.cfg文件,并重新启动Nagios(在以下步骤中介绍)。

sudo /opt/local/bin/port install nagios-plugins
sudo sed -i '' 's/\/usr\/local\/nagios\/libexec/\/opt\/local\/libexec\/nagios/g' /usr/local/nagios/etc/resource.cfg
sudo /etc/rc.d/init.d/nagios stop
sudo /etc/rc.d/init.d/nagios start

测试插件

将您的Web浏览器指向Nagios Core服务器的IP地址或FQDN ,例如:

http://10.25.5.143/nagios

http://core-013.domain.local/nagios

转到host或服务对象,然后在“命令”菜单下“重新计划下一个检查”。您以前看到的错误现在应该消失,并且正确的输出将显示在屏幕上。

服务/守护程序命令

这些命令用于启动/停止/重新启动/状态Nagios。

sudo /etc/rc.d/init.d/nagios start
sudo /etc/rc.d/init.d/nagios stop
sudo /etc/rc.d/init.d/nagios restart
sudo /etc/rc.d/init.d/nagios status

觉得文章有用?

点个广告表达一下你的爱意吧 !😁