Cacti,Nagios,Ntop的安装详细步骤
做一名运维工程师,监控恐怕是日常生活中必不可少的活了,在企业中的监控,大多是用开源软件来实现的, 而且开源软件也有着非常优秀的表现,其中著名的有cacti,nagios,ntop,Ganglia,等等..而cacti+nagios+ntop的结合应用,能为企业做到更细微的保证。
下面是记录了我在自己的计算机上实现cacti,nagios,ntop安装及基本配置的全部过程,实施保证正确。最后的整合我暂时没有实施,如果有问题,请及时留言告诉我,谢谢。
第一阶段:配置LAMP平台
1、启用红帽子源:
http://download.fedora.redhat.com/pub/epel/5Server/x86_64/epel-release-5-4.noarch.rpm
下载上面的文件安装,即可更新源,如果不需要,则卸载即可,非常简单。
2、安装LAMP环境:
yum install httpd php php-mysql mysql mysql-server php-snmp
3、设置以上服务自动启动,并启动服务:
chkconfig –level 35 mysqld on
chkconfig –level 35 httpd on
service mysqld start
service httpd start
4、确认httpd服务的status模块是否开启。
cat /etc/httpd/conf/httpd.conf | grep status.so
如果结果的最前面没有#号,则说明开启。
5、执行一下命令,测试php是否支持:
touch /var/www/html/index.php
echo “<?php phpinfo(); ?>” > /var/www/html/index.php
浏览器输入http://ServerIP,确认页面是php信息。
6、执行如下命令修改mysql数据库的root用户密码:
mysqladmin -u root password ‘password’
7、把/var/www/html/index.php文件的内容修改为如下内容
<?php $link=mysql_connect(“localhost”,”root”,”password”);
if(!$link)
echo “Faild!”;
else
echo “OK!”; ?>
在浏览器中输入地址:http://localhost,确认是不是OK!。
第二阶段:配置安装cacti
1、执行如下命令,安装rrdtool系列包
yum install rrdtool rrdtool-devel rrdtool-php cacti-spine
2、安装snmp测试工具
yum install net-snmp-utils net-snmp-devel
配置SNMP的共同体及安全
打开配置文件/etc/snmp/snmpd.conf
com2sec notConfigUser default public
找到这一行,default定义可以获取此计算机数据的地址
public是密码,这里默认,不做任何修改。
找到这两行:
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
access notConfigGroup “” any noauth exact systemview none none
更改为:
view all included .1 80
access notConfigGroup “” any noauth exact all none none
启动snmp服务:service snmpd restart
测试:snmpwalk -v 2c 被监控计算机地址 -c public
chkconfig –level 35 snmpd on
3、准备cacti的数据库配置和用户配置
创建数据库:create database cactidb
创建数据库用户:
grant all on cactidb.* to cactier@’%’ identified by ‘password’;
grant all on cactidb.* to cactier@’localhost’ identified by ‘password’;
更新权限:flush privileges
创建Linux用户:useradd cactier
设置cactier的密码:passwd cactier
4、安装cacti软件
在http://www.cacti.net/downloads/下载
修改权限:chmod -R 755 /usr/local/cacti
在/etc/httpd/conf/httpd.conf中添加目录的访问权限,添加如下信息:
alias /cacti/ “/usr/local/cacti/”
<Directory “/usr/local/cacti”>
AllowOverride None
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
安装cacti数据库:
mysql -u root -p cactidb < /usr/local/cacti/cacti.sql
编辑cacti的配置文件:/usr/local/cacti/include/config.php
参数主要修改:
$database_type = “mysql”;
$database_default = “cactidb”;
$database_hostname = “服务器IP地址”;
$database_username = “cactier”;
$database_password = “password”;
设置rra和log目录的属组和属主为cactier
chown -R cactier:cactier /usr/local/cacti/rra /usr/local/cacti/log
5、采集数据:
添加作业:
执行vi crontab
在此文件的空白处添加下面一行:
*/5 * * * * cactier php /usr/local/cacti/poller.php > /dev/null &
6、重启httpd服务:service httpd restart
在浏览器地址栏输入:http://IP/cacti/install一路回车安装完成,并以admin用户admin密码登录系统
第一次登录会强制修改密码。
然后进入系统后,建立图表,选择顶部的graphs选项卡,如果不能立即看到图形,则执行下面步骤
su – cactier
php /usr/local/cacti/poller.php > /dev/null &
第三阶段:配置安装Nagios
Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和
四个可选的ADDON(NRPE、NSCA、 NSClient++和NDOUtils)组成。Nagios的
监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器
端工作所必须的组件。
1、安装支持组件
检查安装apache,gcc,glibc,gd,gd-devel
yum install gcc glibc gd gd-devel mysql-devel
2、创建用户和组
useradd -m nagios
usermod -a -G nagios apache
3、安装Nagios
tar -zxvf nagios-3.2.3.tar.gz
cd nagios-3.2.3
./configure –with-command-group=nagios \
–with-httpd-conf=/etc/httpd/conf \
–prefix=/usr/local/nagios \
–with-gd-lib=/usr/lib \
–with-gd-inc=/usr/include
make all
make install
make install-init
make install-config
make install-commandmode
4、配置管理员E-mail地址
vi /usr/local/nagios/etc/objects/contacts.cfg
把nagiosadmin的邮件地址更改为你的email地址。
5、配置Web用户
进入源代码目录,执行:make install-webconf
然后执行
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
6、在apache配置文件中的最好添加
vi /etc/httpd/conf/httpd.conf
#nagios default settings
Include conf/nagios.conf
7、安装nagios-plugins
tar -zxvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure –with-nagios-user=nagios –with-nagios-group=nagios
make
make install
8、配置守护进程
chkconfig –add nagios
chkconfig –level 35 nagios on
验证配置文件是否正确
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
启动nagios服务
service nagios start
9、配置selinux
关闭selinux:setenfoce 0
或者允许:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin
chcon -R -t httpd_sys_content_t /usr/local/nagios/share
10、通过Web页面验证是否安装成功
service httpd restart
http://IP/nagios
第四阶段:配置安装ndoutils
1、安装ndoutils-1.4b9.tar.gz
在下面的网址下载文件
http://sourceforge.net/projects/nagios/files/
先安装
yum install mysql-devel
tar -zxvf ndoutils-1.4b9.tar.gz
cd ndoutils-1.4b9
./configure –enable-mysql –with-mysql-lib=/usr/lib/mysql –with-mysql-inc=/usr/include/mysql –disable-pgsql
make
cd src
cp -v ndomod-3x.o /usr/local/nagios/bin/
cp -v ndo2db-3x /usr/local/nagios/bin/
cp -v file2sock /usr/local/nagios/bin/
cp -v log2ndo /usr/local/nagios/bin/
创建ndoutils创建数据库用户及权限
mysql -uroot -p
create database ndodb;
grant all on ndodb.* to ndouser@’localhost’ identified by ‘password’;
flush privileges;
创建用户表:cd ../db
./installdb -u ndouser -p password -h localhost -d ndodb
2、复制、编辑配置文件
cd ../config
cp ndo2db.cfg-sample /usr/local/nagios/etc/
cp ndomod.cfg-sample /usr/local/nagios/etc/
mv /usr/local/nagios/etc/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
mv /usr/local/nagios/etc/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
chmod 644 /usr/local/nagios/etc/ndo*
chown nagios:nagios /usr/local/nagios/etc/*
chown nagios:nagios /usr/local/nagios/bin/*
在下面的文件中添加:
vim /usr/local/nagios/etc/nagios.cfg
添加(注意一定是在同一行):
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
另外确保在此文件中有
event_broker_options=-1
执行下面的命令,检查配置文件是否正确
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
3、编辑ndo2db守护进程和ndomod的配置文件
vim /usr/local/nagios/etc/ndo2db.cfg
socket_type=tcp
db_servertype=mysql
db_host=localhost
db_port=3306
db_name=ndodb
db_prefix=nagios_
db_user=ndouser
db_pass=password
vim /usr/local/nagios/etc/ndomod.cfg
output_type=tcpsocket
output=127.0.0.1
4、启动ndo2db守护进程
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
5、重启nagios服务(必须这样启动)
killall -SIGHUP nagios
rm -f /usr/local/nagios/var/nagios.lock
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
第五阶段:配置安装Ntop
1、安装相关的软件
安装GeoIP和GetIP-devel
yum install geoip geoip-devel
安装ettercap相关软件
yum install ettercap*
安装开发环境
yum install libpcap libpcap-devel gdbm gdbm-devel zlib zlib-devel
安装编译工具
yum install automake autoconf imake libtool
2、创建用户
useradd -M -s /sbin/nologin -r ntop
3、编译安装
tar zxvf ntop-4.0.3.gz
cd ntop-4.0.3
./autogen.sh
make
make install
”
echo “Shall you be using SELinux please run:”
Shall you be using SELinux please run:
echo “make install-selinux-policy”
make install-selinux-policy
”
chown -R ntop:ntop /usr/local/share/ntop
chown -R ntop:root /usr/local/var/ntop
4、配置并启动ntop
为ntop的admin用户设置密码
ntop -A
启动ntop
ntop -i eth0 -d -L -u ntop
开机自动启动
echo “ntop -i eth0 -d -L -u ntop &> /dev/null” >> /etc/rc.d/rc.local
5、测试:http://yourIP:3000
第六阶段:把nagios和ntop整合到cacti中
1、为cacti启用支持插件功能
下面的地址下载文件:
http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip
2、拷贝文件
cp -R cacti-plugin-arch/* /usr/local/cacti/
mysql -u root -p cactidb < pa.sql
patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff
3、打完补丁后,可能不显示图片了,路径也换成根了。
把/usr/local/cacti/include/global.php文件中的
$config['url_path'] = ‘/’;
更改为$config['url_path'] = ‘/cacti/’;
4、打开cacti页面
左边菜单栏中选择”User Management“
选择”admin“用户
选择最后一项:Plugin Management
启用插件完成。
5、整合ntop
1、下载cacti的ntop插件http://cactiusers.org/downloads/ntop.tar.gz
2、解压缩:
tar zxvf ntop-0.1.tar.gz -C /usr/local/cacti/plugins/
3、设置配置文件
vim /usr/local/cacti/include/config.php
添加如下内容:$plugins[]=’ntop’;
4、在cacti的控制台的setting中配置此插件,指向ntop服务器的URL
5、在user Management中的admin用户中启用插件。
6、整合nagios
1、安装json:yum install php-pecl-json
2、重启httpd
3、解压:tar -zxvf npc-2.0.4.tar.gz
4、拷贝:mv npc /usr/local/cacti/plugins/
5、/usr/local/cacti/include/config.php中添加:
$plugins[]=’npc’;
6、cacti中配置:
在Plugin Management菜单,选择intall和enable