您的位置:首页 > 运维架构 > Linux

Centos 5.2安装Cacti并集成Nagios安装文档

2009-05-19 14:33 597 查看

Centos 5.2安装Cacti并集成Nagios安装文档

本文档并非原创,而是参照网上很多文档,因为不能全部都把参照者列举出来,特在此感谢我参照文档的作者.

一、本文档所用软件说明:

.

二、系统环境部署及调整

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

配置到此结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息