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