在源码安装的LAMP环境中搭建Nagios
(在这个项目中/usr/local/nagios/etc下面的文件是采用拷贝其它机器上的文件方式,所以如果涉及该目录中文件的修改都要根据具体情况而言!)
首选查看日期时间是否准确,如不准确就将Ntpdate写入Crontab进行网络对时,
*/1 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null
2>&1
将上面这行写入Crontab中,
Service crond restart
重启进行生效
一:安装Mysql
52tar -xzvf mysql-5.0.22.tar.gz
解压Mysql
53rpm -qa |grep mysql
检查系统中是否安装了Rpm包的MysqlHttpdPhp,有则进行删除
进入Mysql目录
59cd mysql-5.0.22
首先添加一个Mysql用户,用这个用户来跑Mysql
61useradd mysql
再配置安装环境
63./configure --prefix=/usr/local/mysql
再进行编译和安装
64make
65make install
然后将源配置文件拷贝到目的路径下
67cp /usr/local/mysql/share/mysql/my-medium.cnf
/etc/my.cnf
安装好数据库后,进行初始化,记得要使用之前创建的用户
69/usr/local/mysql/bin/mysql_install_db
--user=mysql
将Mysql的目录权限进行设置
71chown -R root /usr/local/mysql
72chown -R mysql /usr/local/mysql/var
73chgrp -R mysql /usr/local/mysql
让Mysql以后台方式运行起来
74/usr/local/mysql/bin/mysqld_safe
--user=mysql&
并且添加到自动启动中
76echo '/usr/local/mysql/bin/mysqld_safe
--user=mysql&'>>/etc/rc.d/rc.local
将Mysql的Root用户的密码进行更改
80/usr/local/mysql/bin/mysqladmin -u root
password '123456'
连接到数据库,测试密码是否更改成功
81/usr/local/mysql/bin/mysql -u root –p
编译Mysql的配置文件,并且添加三行参数,
84vi /etc/my.cnf
//添加以下行
[mysqld]
set-variable=max_connections=1000
set-variable=max_user_connections=500
set-variable=wait_timeout=200
将Mysql进程杀死,再重新跑Mysql
86killall mysqld
90/usr/local/mysql/bin/mysqld_safe
--user=mysql&
检查3306端口是否开启
92netstat -an |grep 3306
94/usr/local/mysql/bin/mysqladmin -uroot -p
variables |grep max
再查看最大连接数,看刚才的修改是否生效
二:安装Apache
将Apache进行解压
97tar -xzvf httpd-2.2.8.tar.gz
98cd httpd-2.2.8
进行配置环境,编译和安装
102./configure --prefix=/usr/local/apache2
--enable-so
103make;make install
修改Apache配置文件,将ServerName去掉注释并将后面改成本机IP
104vi /usr/local/apache2/conf/httpd.conf
测试一下Apache配置文件的语法
106/usr/local/apache2/bin/apachectl –t
启动Apache
107/usr/local/apache2/bin/apachectl -k
start&
将Apache添加到自动启动中
108echo '/usr/local/apache2/bin/apachectl -k
start&'>>/etc/rc.d/rc.local
检查Apache的端口是否跑起来了
111netstat -an |grep 80
三:安装Gd
使用Yum安装好GD
jpeg libpng freetype 等
113yum -y update zlib-devel zlib libpng-devel
libpng freetype-devel freetype libjpeg-devel libjpeg fontconfig-devel
fontconfig libxml2-devel libxml2 libxml2-python gd-devel gd
四:安装Php
接下来将Php进行解压
116tar -xzvf php-5.2.5.tar.gz
117cd php-5.2.5
配置Php之前要拷贝这个文件才行
119cp /usr/include/gd.h /usr/lib/gd.h
将Php进行配置,编译和安装
121./configure --prefix=/usr/local/php5
--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
--with-gd=/usr/lib --with-freetype-dir --with-png-dir --with-jpeg-dir
--with-zlib --enable-gd-jis-conv --enable-xml --enable-sockets
122make
123make install
将源模板配置拷贝到目的路径下
124cp php.ini-recommended
/usr/local/php5/lib/php.ini
编辑Apache配置文件
126vi /usr/local/apache2/conf/httpd.conf
查找AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在其下加入AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType p_w_picpath/x-icon .ico
修改DirectoryIndex行,添加index.php
修改为DirectoryIndex index.php index.html
然后进入Apache的Document目录下建立一个Php文件
132cd /usr/local/apache2/htdocs/
133vi index.php
Index.php内容如下
Phpinfo();
?>
将Apache关闭再重新启动
135/usr/local/apache2/bin/apachectl -k stop
136/usr/local/apache2/bin/apachectl -k start
五:安装Rrdtool
首先将libart_lgpl-devel使用Yum安装好(Rrdtool安装需要)
39yum install libart_lgpl-devel
将Cgilib解压
143tar -xzvf cgilib-0.5.tar.gz
144cd cgilib-0.5
将Cgilib编译,但不要安装
146make
将这两个文件复制到库目录下(安装Rrdtool时需要)
150cp cgi.h /usr/include/
151cp libcgi.a /usr/local/lib
将Rrdtool进行解压
154tar -xzvf rrdtool.tar.gz
把Rrdtool进行配置,编译和安装
157./configure --prefix=/usr/local/rrdtool
158make
159make install
六:安装Nagios
将Nagios进行解压
163tar -xzvf nagios-2.12.tar.gz
164cd nagios-2.12
进行配置,并安装(根据提示),不过先要建立好Nagios用户和Nagios目录
167./configure --prefix=/usr/local/nagios
168make all
170useradd nagios
171mkdir /usr/local/nagios
172chown nagios.nagios /usr/local/nagios
173clear
174make install
175make install-init
176make install-commandmode
177make install-config
安装Nagios插件,将插件进行解压
181tar -xzvf nagios-plugins-1.4.11.tar.gz
182cd nagios-plugins-1.4.11
将Nagios插件进行配置,编译和安装
184./configure --prefix=/usr/local/nagios
185make
186make install
安装Nagios-snmp的插件
188tar -xzvf nagios-snmp-plugins.1.1.1.tgz
189cd nagios_plugins/
查看安装说明
191vi README
首先要安装好Cpan,参考站点:[url]http://gzmaster.blog.51cto.com/299556/66897[/url]
192perl -MCPAN -e shell
如果已经满足安装条件的话,再执行install这个脚本
194./install.sh
如果nagios-snmp插件装好后,就会在$NAGIOS/libexec目录下生成check_snmp_int.pl等
七:安装Pnp
首先将Pnp进行解压
198tar -xzvf pnp-0.4.9.tar.gz
199cd pnp-0.4.9
将Pnp进行配置,编译和安装
206./configure
--with-rrdtool=/usr/local/rrdtool/bin/rrdtool
--with-perfdata-spool-dir=/usr/local/nagios/share/perfdata/
207make all
208make install
209make install-config
将Nagios启动起来
211/usr/local/nagios/bin/nagios -d
/usr/local/nagios/etc/nagios.cfg
将Nagios添加到自动启动中
212echo '/usr/local/nagios/bin/nagios -d
/usr/local/nagios/etc/nagios.cfg'>>/etc/rc.d/rc.local
将$NAGIOS目录的所有者及所属目录的所有者设置为Nagios用户和Nagios组
215chown -R nagios.nagios /usr/local/nagios
进入Pnp目录,将模板文件改名
218cd /usr/local/nagios/etc/pnp/
220mv rra.cfg-sample rra.cfg
221mv npcd.cfg-sample npcd.cfg
222mv process_perfdata.cfg-sample
process_perfdata.cfg
223cd pages/
225mv web_traffic.cfg-sample web_traffic.cfg
229cd check_commands/
231mv check_nwstat.cfg-sample check_nwstat.cfg
再将process_perfdata.cfg文件中的log_level设置为2,以生成日志
vi /usr/local/nagios/etc/pnp/process_perfdata.cfg
再将Nagios重新启动
235service nagios restart
将机器重新启动
246reboot
查看是否有Rrd数据生成
257ls /usr/local/nagios/share/perfdata/
查看Apache的运行用户,将该用户加入到Nagios组中
262grep ^User /usr/local/apache2/conf/httpd.conf
263usermod -G nagios daemon
修改Apache配置文件,并且添加访问控制
265vi /usr/local/apache2/conf/httpd.conf
访问控制的内容如下
#setting for nagios 20070707
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName
"Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
Alias /nagios /usr/local/nagios/share
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName
"Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
再生成访问密码文件
267/usr/local/apache2/bin/htpasswd -c
/usr/local/nagios/etc/htpasswd test
修改Apache文件后,要将Apache重启才能生效
274killall httpd
275/usr/local/apache2/bin/apachectl -k start
再查看Nagios的Rrd文件生成目录
270tail -f /usr/local/nagios/var/perfdata.log
再检查有没有Rrd数据生成
271ls /usr/local/nagios/share/perfdata/
这时应该可以看到有数据生成了。