本文档并不是原创,而是参照网上不少文档,由于不能所有都把参照者列举出来,特在此感谢我参照文档的做者.
1、本文档所用软件说明:
.
2、系统环境部署及调整
1. 检查系统是否正常
# more /var/log/messages (检查有无系统级错误信息)
# dmesg (检查硬件设备是否有错误信息)
# ifconfig(检查网卡设置是否正确)
# ping
www.163.com (检查网络是否正常)
2. 关闭不须要的服务
# ntsysv
如下仅列出须要启动的服务,未列出的服务一概推荐关闭:
atd
crond
irqbalance
microcode_ctl
network
sendmail
sshd
syslog
httpd
mysqld
3. 从新启动系统
# init 6
4. 配置 vim
# vi /root/.bashrc
在 alias mv='mv -i' 下面添加一行:alias vi='vim' 保存退出。
# echo 'syntax on' > /root/.vimrc
# source /root/.bashrc
5. 使用 yum 对系统进行更新而且安装必要软件包
#wget
http://dag.wieers.com/packages/r ... 4-1.el4.rf.i386.rpm
#rpm –Uvh rpmforge-release-0.3.4-1.el4.rf.i386.rpm
#rpm -Uvh
http://download.fedora.redhat.co ... ease-5-2.noarch.rpm
#yum install php mysql http php-gd php-devel php-mysql mysql-devel
# yum update -y
# yum install ntp -y
6. 定时校订服务器时钟,定时与中国国家授时中心授时服务器同步
# crontab -e
加入一行:
1 */6 * * * ntpdate 210.72.145.44 > /dev/null 2>&1
三.CACTI的安装
1安装 net-snmp
yum install net-snmp*
注意加个*,把全部的包都装上,不然没有cacti须要的命令.
2安装 php-snmp
yum install php-snmp
3.安装rrdtool
#yum –y install rrdtool
4.下载最新的CACTI
#wget
http://www.cacti.net/downloads/cacti-0.8.7d.tar.gz
# tar -zxf cacti-0.8.7d.tar.gz
# mv cacti-0.8.7d /var/www/html/cact
# cd /var/www/html/cacti/
# mysqladmin -uroot -p create cacti
# mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
mysql> flush privileges;
#mysql -ucactiuser -pcactiuser cacti < /var/www/html/cacti/cacti.sql
crontab -e
插入
*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1
保存退出。
5.安装安装Cacti Plugins Arch
#wget
http://mirror.cactiusers.org/dow ... -0.8.7d-PA-v2.4.zip
# tar xzf cacti-plugin-arch.tar.gz
plugin arch的安装有两种方法,第一中是运行patch文件修改现有的内容,第二种是使用已经patch好的文件覆盖源文件,我用第二种,直接把files-0.8.7b下面的文件复制到cacti下面
# cd cacti-plugin-arch
#cp files-0.8.7b/* /var/www/html/cacti/
# mysql -ucactiuser -pcactiuser cacti<pa.sql
**********这个文件不导入的话,未来会看不到plugin management这个页面,对其余的影响不大,可是咱们要用npc(nagios plugin),必定要用这个
如今cacti的配置文件global.php
# vi /var/www/html/cacti/include/global.php
找到
$database_username = "cactiuser";
$database_password = "cactiuser"; //设置成本身数据库用户名和密码
若是你的把CACTI放到WEB目录的根目录就不用改下面的设置,个人是放到CACTI目录下因此把下面的参数改为
$config['url_path'] = '/cacti/';
插件安装(这里只介绍通常插件的安装,主要讲NPC的安装)
# cd /soft
#wget
http://cactiusers.org/downloads/settings.tar.gz
# wget
http://cactiusers.org/downloads/thold.tar.gz
# wget
http://www.assembla.com/spaces/n ... c-2.0.0b.166.tar.gz
# mv download\?filename\=npc-2.0.0b.166.tar.gz npc-2.0.0b.166.tar.gz
# tar zxf settings-0.5.tar.gz
# tar zxf thold-0.3.9.tar.gz
# tar zxf npc-2.0.0b.166.tar.gz
# cp -rf settings thold npc /var/www/html/cacti/plugins/
接下来在global.php中加载settings和thold
# vi /var/www/html/cacti/include/global.php
添加下面内容
$plugins[] = 'settings';
$plugins[] = 'thold';
回到网页中,记得要去user managerment里面,给予相应用户的permissions,具体作法是,点页面左边的菜单User Managerment,而后在右边点击某个用户(如admin),而后在Realm Permissions中选中相应的选项便可。
而NPC,直接进入网页,点击左边的Plugin Management,而后在右边的Uninstalled中install NPC,在Installed中enable NPC,就能够了。
安装php-json,在npc中要用到php-json这个组件,若是没有安装在npc中只是一片空白
# wget
http://aurore.net/projects/php-json/php-json-ext-1.2.1.tar.bz2
# tar jxf php-json-ext-1.2.1.tar.bz2
# cd php-json-ext-1.2.1
# ./configure &&make &&make install
由于编译安装的不会加载到php中,因此要手动加个配置文件
# vi /etc/php.d/json.ini
extension=json.so
四,nagios的安装
1. # mkdir /usr/local/nagios
# useradd nagios -d /usr/local/nagios
# passwd nagios
# chmod 755 /usr/local/nagios/
# grep ^User /etc/httpd/conf/httpd.conf
User apache
查找运行apache的用户
# groupadd nagcmd
# usermod -G nagcmd apache
# usermod -G nagcmd nagios
2下载并安装nagios
nagios 主页:
http://www.nagios.org
nagios 当前版本:nagios-3.0.6
nagios 插件当前版本:nagios-plugins-1.4.6
fruity:图形化配置nagios的工具,须要php5.x版本才能运行
http://heanet.dl.sourceforge.net/sourceforge/fruity/
http://pear.php.net/get/HTML_TreeMenu-1.2.1.tgz
http://puzzle.dl.sourceforge.net/sourceforge/adodb/adodb471-1.tgz
将HTML_TreeMenu-1.2.0.tgz和adodb471-1.tgz直接解压复制到fruity 下 分别更名为HTML 和adodb 其余不作修改 修改 fruity/includes下的config.ifg,须要更改的地方有,路径,mysql信息 mysql 添加fruity 数据库和user,password. 这样,就能够用fruity来进行配置了。 注意: 在cacti服务器上的mysql版本必须是4.1以上,由于npc是以mysql4.1为基础进行开发的。
# tar zxf nagios-cn-3.0.6.tgz
# cd nagios-cn-3.0.6
#./configure --prefix=/usr/local/nagios --with-gd-lib --with-gd-inc --enable-event-broker
# make all
# make all install
# make install-init //安装启动脚本到/etc/init.d/
# make install-commandmode
# make install-config //安装初始配置文件到/usr/local/nagios
nagios-plugins的安装
#cd /soft
# tar zxf nagios-plugins-1.4.13.tar.gz
# cd nagios-plugins-1.4.13
# ./configure --prefix=/usr/local/nagios-plugins
# make&&make install
安装完成之后在/usr/local/nagios-plugins会产生一个libexec的目录,将该目录所有移动到/usr/local/nagios目录下便可。 以下:
# mv /usr/local/nagios-plugins/libexec /usr/local/nagios/
如今配置apache:
在apache的httpd.conf文件中加入以下内容:
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /nagios/ /usr/local/nagios/share/
<Directory "/usr/local/nagios/share">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
而后重启apache
配置页面访问权限:
在/usr/local/nagios/share目录下加个.htaccess文件
# cd /usr/local/nagios/share
# vi .htaccess
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd
require valid-user
而后复制此.htaccess文件到/usr/local/nagios/sbin下
# cp .htaccess /usr/local/nagios/sbin
# htpasswd -c /usr/local/nagios/etc/.htpasswd nagiosadmin
这个apache目录根据安装目录的不一样而不一样,用htpasswd命令生成用户名和密码以控制访问权限。
配置和启动nagios过程
# cd /usr/local/nagios/etc
把目录里的.cfg-sample文件所有拷贝成.cfg
例如:
# cp nagios.cfg-sample nagios.cfg
修改cgi.cfg,把use_authentication=1改成use_authentication=0,即不用验证.否则有一些页面不会显示。
修改后用以下命令检查配置文件是否正常:
#/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
若是出现以下显示就说明配置没问题
Total Warnings: 0
Total Errors: 0
如今您就能够http://您的IP/nagios/访问nagios了
五集成nagios到cacti
.1.安装NDoutils
NDoutils是把Nagios的数据写到mysql里的插件,这个是集成的关键
到
http://www.nagios.org/download/addons/中下载ndoutils-1.4b7 #cd /soft # tar zxf ndoutils-1.4b7.tar.gz # cd ndoutils-1.4b7 # ./configure #make 而后直接把咱们想要的程序及配置文件复制到nagios中就能够 # cd src # cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin # cd ../config # cp ndomod.cfg ndo2db.cfg /usr/local/nagios/etc/ 修改相关配置文件 # vi /usr/local/nagios/etc/ndo2db.cfg db_name=cacti db_prefix=npc_ db_user=cactiuser db_pass=cactiuser debug_level=1 这里是用Cacti在mysql中使用的用户和密码以及数据库. 修改nagios的配置文件,使ndoutils能够在nagios中加载 # vi /usr/local/nagios/etc/nagios.cfg 更改 check_external_commands = 1 command_check_interval = -1 event_broker_options = -1 添加 broker_module = /usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg 而后分别启动NDoutils和Nagios #/usr/local/nagios/bin/ndo2db-3x –c /usr/local/nagios/etc/ndo2db.cfg # service nagios restart 让NDoutils开机就启动 # echo “/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg” >>/etc/rc.local 配置到此结束