烂泥:学习Nagios(一):Nagios安装

简介:

本文首发于烂泥行天下

最近一段时间,一直在学习有关Nagios监控系统的相关知识。

有关Nagios监控系统,你可以在百度或者google搜索下,那文章是一堆一堆的。让人看起来很简单。但是在实际的搭建过程中,却不是那么回事。下面就把自己在搭建过程的步骤及注意的事项记录下来。

在安装Nagios前,有些软件与套件需要首先安装。具体如下:

PHP、Apache、Net-snmp、gcc、perl-CPAN

其中Apache是nagios打开必须要使用的。因为Nagios监控主要是通过插件来实现的,而插件有包括SNMP方式、NRPE方式。在接下来的几篇文章,都是围绕SNMP方式来进行监测。所以需要安装net-snmp相关组件。

而SNMP方式监测都是通过check_snmp_mem.pl等perl文件来实现的,所以在安装SNMP相关的插件时,需要perl-CPAN的支持。所以需要安装perl-CPAN。

有关perl-CPAN的安装,可以参考我的另外一篇文章《烂泥:perl中CPAN的安装》。

首先,我们来安装相关的软件及套件。我们可以通过yum方式安装,也可以通过编译方式来。因为牵涉的软件及套件比较多,各个软件集套件的依赖比较麻烦,所以建议使用yum方式来安装。

本次实验OS:CentOS 6.6 mini 32bit

Nagios版本是中文版:nagios-cn

本次相关的软件可以到这个地址下载:

http://pan.baidu.com/s/1jGzFtiQ

clip_image002

nagios的运行是在nagios用户下进行的,所以在此之前我们要创建nagios。如下:

useradd nagios

id nagios

wKioL1T2v9OQLII5AADJsAM0cII405.jpg

下面我们来使用yum方式安装,如下图:

yum -y install php httpd net-snmp gcc perl-CPAN

clip_image004

clip_image006

安装完毕后,我们把Nagios的相关软件包上传到Linux服务器上。

具体如何上传,这个我就在此作介绍了。你可以通过FTP、SSH等等都可以,就看你自己喜欢的方式了。

上传完毕后,我们来进行解压。我现在把相关的软件包都放在/home/ilanni目录下,如下图:

clip_image008

tar -xf nagios-cn-3.2.0.tar.bz2

tar -xf nagios-plugins-2.0.1.tar.gz

tar -xf nagios-snmp-plugins.1.1.1.tgz

clip_image010

解压完毕后,我们来进入nagios-cn-3.2.0目录,如下图:

clip_image012

开始编译nagios,如下图:

./configure --prefix=/usr/local/nagios --nagios的安装路径

clip_image014

clip_image016

编译完毕,如下图:

clip_image018

可以看到需要新建用户nagios,系统中如果没有的话。我们现在可以新建用户,如下图:

clip_image020

Nagios用户新建完毕后,我们还继续nagios编译后的工作。

继续执行make all ,如下图:

clip_image022

make all完毕后,如下图:

clip_image024

我们只需要按照上边的命令执行即可,如下图:

clip_image026

make install安装nagios的相关程序文件。

clip_image028

make install-init安装nagios启动的初始化脚本。

clip_image030

make install-commandmode 安装nagios的命令文件。

clip_image032

make install-config安装nagios的配置文件。

clip_image034

make install-webconf安装nagios的web配置文件。

以上是nagios的安装步骤,下面进行nagios插件的安装。

进入nagios的插件目录,如下图:

[root@ilanni nagios-cn-3.2.0]# cd ../nagios-plugins-2.0.1

[root@ilanni nagios-plugins-2.0.1]# pwd

/home/ilanni/nagios-plugins-2.0.1

[root@ilanni nagios-plugins-2.0.1]# ll

clip_image036

编译插件

./configure --prefix=/usr/local/nagios/

clip_image038

clip_image040

clip_image042

编译完毕,没有报错就可以进行安装。

make

make install

clip_image044

clip_image046

Nagios与nagios插件基本安装完毕,我们可以查看下。

clip_image048

插件截图:

clip_image050

如果你仔细看的话,会发现这个插件时没有有关SNMP的。如下图:

clip_image052

下面我们就安装SNMP的插件。切换到nagios_plugins目录,如下图:

clip_image054

注意SNMP安装之前一定要安装CPAN。有关CPAN的安装,我在文章开头就说过,可以参考我的另外一篇文章《烂泥:perl中CPAN的安装》。

执行install.sh进行安装,如下图:

clip_image056

接下来一路回车即可。

clip_image058

安装完毕如下图示:

clip_image060

现在SNMP的插件已经安装完毕,我们来查看下:

clip_image062

查看命令是否可以使用:

clip_image064

      通过上图可以看到,snmp插件已经可以正常使用。

下面我们把nagios加入到系统的服务中,如下:

chkconfig --add nagios

chkconfig nagios on

chkconfig --list nagios

   wKiom1UCtB_DLVyhAAD0vxc-hKQ195.jpg

在开始启动nagios之前,我们还要为nagios配置登录的用户名和密码。

有关nagios登录的用户名和密码,我们可以查看nagios.conf文件,如下:

cat nagios.conf |grep -v ^#|grep -v ^$

wKioL1UCtd-SdHYeAAF7UqGuMuc907.jpg

通过上图,我们可以很明显看出nagios用户存放在/usr/local/nagios/etc/htpasswd.users文件中。

但是如果此时查看htpasswd.users文件会发现该文件是不存在的。

为什么回是这样呢?

这个是因为nagios安装完毕后,需要使用apache的htpasswd工具创建nagios登录的用户。如下:

/usr/local/apache2/bin/htpasswd-c /usr/local/nagios/etc/htpasswd.users nagiosadmin

wKiom1UCtI-DSyCHAAEi1SJrc7o029.jpg

通过上图,我们可以很明显的看出,htpasswd在创建nagios登录用户的同时,也设置了该用户的密码。

注意:nagios默认的用户名是nagiosadmin。我们可以通过查看/usr/local/nagios/etc/cgi.conf文件得知。如下:

cat cgi.cfg |grep -v^#|grep -v ^$

wKioL1UCtXTSHd4sAAIjdQ5J2l8757.jpg

现在我们再来查看htpasswd.users文件,内容如下:

cat /usr/local/nagios/etc/htpasswd.users

wKioL1UCtf2hP__eAAC3DFkvujk577.jpg

nagios用户创建完毕后,我们来启动nagios并登录,如下:

/etc/init.d/nagios start

ps aux |grep nagios

wKiom1UCtPiiyAiNAAEu04M52rw117.jpg   

wKiom1UCtTOzpHDRAANkLn21ZkE945.jpg

wKioL1UCtlWSqTIZAAOxTNZwdl0699.jpg


以上安装的nagios中文版,nagios最新版的安装和这个步骤基本一直。

wKiom1UCtVGQU3zKAAUnw15xAgw899.jpg

这个是nagios4.1版本的界面。

nagios4.1的下载地址如下:

http://www.nagios.org/download/core/thanks/?t=1426844202

wKiom1UL8eiyb9b2AAMMVetL-hc056.jpg

wgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.1.0rc1.tar.gz

wKiom1UL8k-j6_diAANbfDPqgT8614.jpg

至此Nagios的安装已经结束,下篇我们来介绍Nagios的相关配置。


本文转自 烂泥行天下 51CTO博客,原文链接:http://blog.51cto.com/ilanni/1416723

相关文章
|
Web App开发 监控 应用服务中间件
|
JSON 数据安全/隐私保护 数据格式
|
监控 测试技术 Linux
|
PHP Apache 数据安全/隐私保护