1. 安装必须的软件

2. 安装Cacti
3. 安装Cacti Plugins Arch
4. 安装NPC,Settings和Thold
5. 安装Nagios
6. 安装NDoutils
 
 
 
1. 安装必须的软件
 
 
sudo apt-get update
sudo apt-get install apache2 mysql-server php5 php5-cli php5-mysql php5-snmp libapache2-mod-php5 snmp rrdtool
具体来说安装的就是apache,mysql,php5,snmp和rrdtool以及一些必须的mod或extension。
安装完成后,下面就开始Cacti的安装了。
 
 
2. 安装Cacti
 
mkdir ~/cacti 我习惯把下载的东西都放在home下面
sudo tar -xzvf cacti-0.8.7e.tar.gz 解压缩
sudo mv ~/cacti/cacti-0.8.7e /usr/share/cacti 将cacti移动到/usr/share下面
 
cd /usr/share/cacti
chown -R www-data:www-data rra/ log/ 
编辑/etc/crontab并添加下面一行
*/5 * * * * root php /usr/share/cacti/poller.php > /dev/null 2>&1
 
然后编辑/etc/apache2/sites-avaliable/default并添加一下内容
Alias /cacti/   "/usr/share/cacti/"
          AllowOverride  None
          Order  Allow,Deny
          Allow from all
重启apache
/etc/init.d/apache2 restart
 
接下来是mysql的配置
create一个用户cacti
mysqladmin -u root -p create cacti
导入sql文件
mysql -u root -p cacti
进入mysql设置权限
mysql -u root -p
mysql>GRANT ALL ON cacti.* To cacti@localhost IDENTIFIED BY 'cacti';
mysql>flush privileges;
mysql>exit;
 
最后更改一下cacti的config文件
vi /usr/share/cacti/include/config.php
更改如下内容
$database_username = "cacti";
$database_password = "cacti";
 
到这里,cacti的安装在server上完成了
接下来在浏览器中输入
http://yourserver/cacti/
会见到cacti的安装界面,进行new install,基本上都没有什么需要修改的,稍微看一下,next就好了。
初次登录,用户名和密码都是admin,会提示修改密码。
 
 
3. 安装Cacti Plugins Arch
 
cd /home/cacti
cacti-plugin-0.8.7e-PA-v2.6.zip
sudo unzip cacti-plugin-0.8.7e-PA-v2.6.zip
sudo mv cacti-plugin-arch /usr/share/cacti/cacti-plugin-arch
 
cd ~/cacti-plugin-arch/files-0.8.7b
cp * /usr/share/cacti/
cp include/* /usr/share/cacti/include/
cp lib/* /usr/share/cacti/lib/
mv plugins /usr/share/cacti/
 
 
cd /usr/share/cacti/cacti-plugin-arch/
mysql -u root -p cacti
 
接下来编辑一下文件以符合自己的设置
现在cacti的配置文件已经不是config.php了,而是global.php
vi /usr/share/cacti/include/global.php
修改mysql的用户密码
$database_username = "cacti";
$database_password = "cacti";
另外,由于我们的浏览器路径是http://yourserver/cacti/,所以还要修改下面一项
$config['url_path'] = '/cacti/';
 
这样,plugin arch的安装完成了,下面就是plugin的安装了。
 
 
4. 安装NPC,Settings和Thold
 
这一部分相对来说比较简单。
首先就是下载这些plugin
cd /usr/share/cacti/plugins
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
然后分别解压
sudo tar xzf settings.tar.gz
sudo tar xzf thold.tar.gz
 
 
 
回到网页中,记得要去user managerment里面,给予相应用户的permissions,具体做法是,点页面左边的菜单User Managerment,然后在右边点击某个用户(如admin),然后在Realm Permissions中选中相应的选项即可。
 
而NPC,直接进入网页,点击左边的Plugin Management,然后在右边的Uninstalled中install NPC,在Installed中enable NPC,就可以了。
这样说可能会有点抽象,我会抽空把图截下来上传。
 
这里要说一下Thold这个plugin,这个plugin的作用就是对某项数据设定一个范围,超过这个范围就会伐alarm,比如说我监控cpu,设定cpu使用率大于90%或者小于10%就发mail给我。这个对于流量的监控很好用,我主要是用来监控公司网络流量和file server的硬盘空间。
 
 
5. 安装Nagios(注意权限,nagios)
这一部分相对来说比较复杂一点,因为要自己编译程序,但是一旦会了,也是很简单的事情。
一开始先要安装Nagios需要的两个package
sudo apt-get install build-essential libgd2-xpm-dev
 
添加编辑用户和组
useradd nagios
groupadd nagios
groupadd nagcmd
usermod -G nagcmd nagios
usermod -G nagcmd www-data
 
下载并编译安装Nagios
mkdir ~/nagios
cd ~/nagios
wget http://osdn.dl.sourceforge.net/s ... nagios-3.2.1.tar.gz
tar nagios-3.2.1.tar.gz
cd ~/nagios/nagios-3.2.1
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
 
然后给nagios一个web的密码
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
 
重启apache
/etc/init.d/apache2 restart
 
下面就是做个link,具体有什么用我也不清楚,但是不用不行,有知道的请告诉我。
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
 
然后安装nagios plugins,这个plugins里面主要是有很多用来check host和service的文件
cd ~/nagios
wget http://osdn.dl.sourceforge.net/s ... ugins-1.4.15.tar.gz
tar xzf nagios-plugins-1.4.15.tar.gz
./configure --with-nagios-user=nagios --with-nagios-gourp=nagios
make
make install
 
 
 
6. 安装NDoutils
 
NDoutils算是Nagios的mysql mod吧,可以把Nagios的情况同步到mysql里面,这也是整个安装步骤中最关键的。因为只有同步到mysql里,才可以让NPC得到相关的信息。
 
一开始还是先安装一个package,因为NDoutils要用到mysql的一些源文件。
apt-get install libmysql++-dev
 
然后下载NDoutils并编译
mkdir ~/ndoutils
cd ~/ndoutils
wget http://*****/ndoutils-1.4b9.tar.gz 今天我无法连到sourceforge,没法给出具体的地址,可以到这里去找,注意一定要1.4b7的。
tar xzf ndoutils-1.4b9.tar.gz
cd ~/ndoutils/ndoutils-1.4b9
./configure
make
 
接下来安装,不是用make install
cd ~/ndoutils/ndoutils-1.4b7/src
cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin
cd ~/ndoutils/ndoutils-1.4b7/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 = cacti
db_pass = cacti
debug_level = 1
这里是用Cacti在mysql中使用的用户和密码以及数据库,因为我们这个npc的plugin是用在cacti中的嘛。
 
改一下Nagios的config文件,使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
/etc/init.d/nagios start
 
安装nrpe
由于NRPE是通过SSL方式在监控和被监控主机上进行数据传输的,所以必须先安装ssl相关的软件包。
 
apt-get install libssl-dev libssl0.9.8
  编译安装NRPE
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
启动NRPE
 
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
  验证NRPE是否正确安装
 
/usr/local/nagios/libexec/check_nrpe -H ip
 
 
最后的工作是在Web里面配置一下NPC
在Cacti中,点击左边的Settings,点到NPC的tab,勾上Remote Commands,Nagios Command File Path中输入/usr/local/nagios/var/rw/nagios.cmd,Nagios URL中输入http://yourserver/nagios/,然后Save一下。
 
OK,大功告成!
 
7. 被监控主机安装
创建Nagios用户及组
 
  建立Nagios账号
useradd -m -s /sbin/nologin nagios
     1.安装snmp,snmpd
sudo apt-get install snmp snmpd
sudo vim /etc/snmp/snmpd.conf
source          community改成监控服务器的ip,和密码
2.安装nagios-plugins
cd ~/nagios
wget http://osdn.dl.sourceforge.net/s ... ugins-1.4.15.tar.gz
tar -xzvf nagios-plugins-1.4.15.tar.gz
./configure --with-nagios-user=nagios --with-nagios-gourp=nagios
make
make install
3. 安装nrpe
由于NRPE是通过SSL方式在监控和被监控主机上进行数据传输的,所以必须先安装ssl相关的软件包。
 
apt-get install libssl-dev libssl0.9.8
  编译安装NRPE
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
  注:监控主机上只需要make install-plugin这一步就可以了。监控机上只要有一个check_nrpe插件用于连接被监控端nrpe的daemon就行了。
启动NRPE
 
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
  验证NRPE是否正确安装
 
/usr/local/nagios/libexec/check_nrpe -H localhost
  注:如果成功,会返回NRPE的版本号。
 
 
修改NRPE配置文件,让监控主机可以访问被监控主机的NRPE。
 
  缺省NRPE配置文件中只允许本机访问NRPE的Daemon
vi /usr/local/nagios/etc/nrpe.cfg
 
#缺省为127.0.0.1,只能本机访问
allowed_hosts=192.168.1.108
 
 
重启nrpe的方法
 
killall nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d