×

微信扫一扫,快捷登录!

用Centos6.3搭建cacti&nagios

标签: 暂无标签
来自:网络





[  /deepnight2005/article/details/8364409]在CentOS6.3上搭建nagios+cacti+ntop+pnp[/url]

CentOS版本: centos-x64 2.6.32-279.el6.x86_64  
nagios版本:Nagios  Core 3.4.2
Cacti版本: cacti-0.8.8a
Ntop:ntop-5.0.1
pnp:pnp4nagios-0.6.19

一、配置yum, 更换为163的源

1. 首先备份/etc/yum.repos.d/CentOS-Base.repo
         #mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup             nagios培训

2. 下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)
         #[  /.help/CentOS6-Base-163.repo].help/CentOS6-Base-163.repo[/url]

3. 修改repo文件名称
         #mv /etc/yum.repos.d/CentOS6-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo        

4. 运行yum makecache生成缓存

5. 安装rpmforge
         #rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

二、安装包及相关软件
1. 每个人机器的环境不一样,我是用最小安装模式安装的centos,需要安装以上的包,如果还安装过程中提示缺少依赖包,请自行安装吧。
yum install httpd -y
yum install php php-mysql php-snmp php-gd -y
yum install mysql mysql-server mysql-devel -y
yum install net-snmp-utils -y
yum install rrdtool* -y
yum install gcc* -y
yum install gd gd-devel -y
yum install glibc* -y
yum install make.x86_64 automake -y
yum install openssl* -y
yum install perl-devel -y
yum install GeoIP GeoIP-devel -y
yum install ettercap  -y
yum install libpcap libpcap-devel -y
yum install gdbm gdbm-devel -y
yum install python python-libspython-devel -y
yum install wget  -y
yum install automake* -y
yum install libtool -y
yum install subversion -y
yum install libdbi libdbi-devel -y
yum install libdbi-dbd-mysql –y

2. 配置apache
  #vi/etc/httpd/conf/httpd.conf,确保有“LoadModule status_module modules/mod_status.so”这行并没有被注释,标示已经支持检测模块,然后启动apache:
         #servicehttpd start
    #chkconfig --level 35 httpd on  开机启动

3. 配置php
         #vi/var/www/html/index.php
         <?php
                   phpinfo();
         ?>
    访问http://localhost,验证php能够正常工作

4. 配置mysql
         #servicemysqld start    启动mysql
         #chkconfig--level 35 mysqld on    设置mysql开机启动
         #mysqladmin-u root password 'password'    设置root账号登陆密码

    #mysql-u root -p  使用root账号登陆
         mysql>create database cactidb;             创建数据库cactidb,并创建管理账号cactier             nagios实施
         mysql>GRANT all Privileges ON cactidb.* TO cactier[  /u/570656]@localhost[/url] IDENTIFIED BY 'password';         
         mysql>GRANT all Privileges ON cactidb.* TO cactier[  /u/567043]@127.0.0.1[/url] IDENTIFIED BY 'password';
         mysql>flush privileges;                               更新权限设置

         创建mysql.php验证mysql数据库连接
         <?php
                   $link=mysql_connect("localhost","root","password");
                   if(!$link) echo"FAILD!";
                   else echo "OK!";
         ?>
         页面显示OK!表示连接正常。

5. 配置SNMP
    #vi/etc/snmp/snmpd.conf   编辑SNMP的配置文件,其中修改一下几行
         # First, map the community name "public"into a "security name"
         #      sec.name  source          community
        41 com2sec notConfigUser  default       public#默认的密码为“public”, 可以改为需要的密码
        62 access  notConfigGroup ""      any       noauth    exact  all none none
       85 view all    included  .1                               80
        #service snmpd start      启动SNMP服务
       #chkconfig--level 35 snmpd on        设置snmp服务开机启动

三、安装nagios
1. 设置nagios用户和组
         #/usr/sbin/useradd-m nagios
         #passwdnagios
         #/usr/sbin/groupaddnagios
         #/usr/sbin/usermod-a -G nagios nagios

2. 安装配置nagios
         #tarzxf nagios-3.4.2.tar.gz
         #cd nagios
         #./configure --with-gd-lib=/usr/lib64  --with-gd-inc=/usr/include --with-command-group=nagios--with-httpd-conf=/etc/httpd/conf/
         #makeall
         #makeinstall
         #makeinstall-init
         #makeinstall-config
         #makeinstall-commandmode
         #makeinstall-webconf
         #vi/usr/local/nagios/etc/objects/contacts.cfg
         #htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

         vi/etc/httpd/conf/httpd.conf
         添加:
         #nagios default settings
            Include /etc/httpd/conf/nagios.conf
         #service httpd restart
         访问http://IP/nagios

3. 安装nagios-plugins
         #tar zxf nagios-plugins-1.4.16.tar.gz
         #cd nagios-plugins-1.4.16
         #./configure--with-nagios-user=nagios --with-nagios-group=nagios
         #make
         #makeinstall

4. 安装 nagios-snmp
         #tar zxf CPAN-1.9800.tar.gz
         #cd CPAN-1.9800
         #perl Makefile.PL
         #make
         #make install
         #yuminstall perl-Time-HiRes -y
         #perl -MCPAN -e shell (ftp://freesoft.cgi.gov.cn/pub/languages/perl/CPAN )              监控软件
         cpan>installNet::SNMP

         #tar zxf nagios-snmp-plugins.1.1.1.tgz
         #cd nagios_plugins

         #chkconfig --add nagios
          #chkconfig nagios on
         #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
         #chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin
         #chcon -R -t httpd_sys_content_t /usr/local/nagios/share
         #servicenagios start

四、安装cacti
1. 安装
         #tar zxvf /root/cacti-0.8.8a.tar.gz
         #mv /root/cacti-0.8.8a /usr/local/cacti
         #mysql -u root -p cactidb < /usr/local/cacti/cacti.sql
         #vi/usr/local/cacti/include/config.php
         $database_type = "mysql";
         $database_default ="cactidb";
         $database_hostname ="localhost";
         $database_username ="cactier";
         $database_password ="password";
         $database_port = "3306";
           $database_ssl = false;

         #adduser -s /sbin/nologin cactier
         #cd /usr/local/cacti
         #chown -R cactier rra/ log/
         #vi/etc/crontab
                  */5* * * * cactier php /usr/local/cacti/poller.php > /dev/null &

         #vi /etc/httpd/conf/cacti.conf
         Alias /cacti "/usr/local/cacti"
         <Directory"/usr/local/cacti">
               OptionsFollowSymLinks MultiViews
               AllowOverrideNone
               Orderallow,deny
               Allowfrom all
         </Directory>

2. 配置
         #/usr/bin/php -q /usr/local/cacti/poller.php --force --debug
验证php是否有错误,如有:PHP Warning:  strtotime()或PHPWarning:  date()的警告信息,则 vi/etc/php.ini,修改“;date.timezone=”为“date.timezone= PRC”,然后重启httpd服务。

打开http://IP/cacti/install 进行cacti的安装

五、安装ntop
         #useradd -M -s /sbin/nologin -r ntop
         #tarzxvf ntop-5.0.1.tar.gz
         #cd  ntop-5.0.1
         #./autogen.sh
         #make
         #makeinstall
         #chown-R ntop.ntop /usr/local/share/ntop
         #chown-R ntop:root /usr/local/share/ntop
         #ntop -A
         #ntop -i eth0 -d -L -u ntop
         #echo 'ntop -i eth0 -d -L -u ntop &> /dev/null' >>/etc/rc.d/rc.local
         访问http://IP:3000

六、整合cacti和ntop
         #tar zxvf ntop-v0.2-1.tgz
         #mv ntop /usr/local/cacti/plugins/
         #vi/usr/local/cacti/include/config.php
         添加“$plugins[] = 'ntop';”

七、整合cacti和nagios
1. 安装ndoutils
         #tar zxf ndoutils-1.5.2.tar.gz
         #cd ndoutils-1.5.2
         #./configure --with-mysql-lib=/usr/lib64/mysql
    #make
         #cd /root/ndoutils-1.5.2/db
         #./installdb -ucactier -p 123#abc -h localhost -d cactidb
         #cd /root/ndoutils-1.5.2/src
         cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /var/www/html/nagios/bin

         #cp -v ndomod-3x.o /usr/local/nagios/bin/
         #mv/usr/local/nagios/bin/ndomod-3x.o /usr/local/nagios/bin/ndomod.o

         #cp -v ndo2db-3x /usr/local/nagios/bin/
         #mv/usr/local/nagios/bin/ndo2db-3x /usr/local/nagios/bin/ndo2db

         #cp -v file2sock /usr/local/nagios/bin/
         #cp -v log2ndo /usr/local/nagios/bin/
         #cd /root/ndoutils-1.5.2/config
         #cp -v ndo2db.cfg-sample /usr/local/nagios/etc/
         #mv/usr/local/nagios/etc/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg

         #cp -v ndomod.cfg-sample /usr/local/nagios/etc/
         #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/*

#vi /usr/local/nagios/etc/nagios.cfg   
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg   # 在文件中添加:  
event_broker_options=-1# 检查   

#vi/usr/local/nagios/etc/ndo2db.cfg
socket_type=tcp   
  db_servertype=mysql   
db_host=localhost   
db_port=3306   
db_name=cactidb   
db_prefix=npc_   
db_user=cactier  
db_pass=password  

#/usr/local/nagios/etc/ndomod.cfg
output_type=tcpsocket   
  output=127.0.0.1

        为ndo2db添加启动进程
#cp ./daemon-init /etc/init.d/ndo2db   
#vi /etc/init.d/ndo2db  
  # 检查里面的路径确保不会出现“//",并将Ndo2dbBin修改成下面的值:                nagios配置
      Ndo2dbBin=/usr/local/nagios/bin/ndo2db
#chmod +x /etc/init.d/ndo2db

         #servicendo2db start
         #tail-20 /var/log/messages    ## 查看其中是否有错误出现。如无报错请继续
         #/usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg    检查nagios配置没有问题
#service nagios restart

2. 安装npc
         #tar zxf /root/npc-2.0.4.tar.gz
         #mv /root/npc/ /usr/local/cacti/plugins/
#vi /usr/local/cacti/include/config.php
         添加 $plugins[] = 'npc';

3. 为apche添加php支持
         #vi /etc/httpd/conf/httpd.conf
# 添加一行:   
                   AddType application/x-httpd-php .php .phtml   
         # 修改原DirectoryIndex内容为:   
                   DirectoryIndex index.html index.html.var index.php   

#usermod -G cactier apache   
#service httpd restart    ## 重启apache以让php生效   
#php -m   ## 查看是否有json被加载


4. 修改mysql中的表结构:
use cactidb;
alter table npc_eventhandlers addlong_output TEXT NOT NULL default '' after output;
alter table npc_eventhandlers add long_outputTEXT NOT NULL default '' after output;
alter table npc_hostchecks add long_outputTEXT NOT NULL default '' after output;  
alter table npc_hoststatus add long_outputTEXT NOT NULL default '' after output;  
alter table npc_notifications add long_outputTEXT NOT NULL default '' after output;  
alter table npc_servicechecks addlong_output TEXT NOT NULL default '' after output;  
alter table npc_servicestatus addlong_output TEXT NOT NULL default '' after output;  
alter table npc_statehistory add long_outputTEXT NOT NULL default '' after output;  
alter table npc_systemcommands addlong_output TEXT NOT NULL default '' after output;

#service ndo2db restart  
#service nagios restart


八、安装pnp4nagios
1. 安装pnp
#tar pnp4nagios-0.6.19.tar.gz
        #cdpnp4nagios-0.6.19
# ./configure --with-nagios-user=nagios--with-nagios-group=nagios
#make all
#make install
#make install-webconf
#make install-config
#make install-init

         部署配置文件
#chown –R nagios.nagios /usr/local/pnp4nagios
#su - nagios
$cd /usr/local/pnp4nagios/etc
$mv misccommands.cfg-sample misccommands.cfg                   开源监控软件
$mv nagios.cfg-sample  nagios.cfg
$mv process_perfdata.cfg-sample process_perfdata.cfg
$mv rra.cfg-sample rra.cfg

$cd /usr/local/pnp4nagios/etc/pages
$mv web_traffic.cfg-sample web_traffic.cfg

$cd /usr/local/pnp4nagios/etc/check_commands
$mv check_all_local_disks.cfg-sample check_all_local_disks.cfg
$mv check_nrpe.cfg-sample check_nrpe.cfg
$mv check_nwstat.cfg-sample check_nwstat.cfg

         设置npcd开机启动
         #chkconfig–add /etc/init.d/npcd
         启动npcd
#service npcd start

2. 修改nagios配置文件
         配置nagios.cfg,修改:
         #vi/usr/local/nagios/etc/nagios.cfg
process_performance_data=1
                 host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata

         配置commands.cfg,修改:
#vi /usr/local/nagios/etc/objects/etc/objects/commands.cfg
# 'process-host-perfdata' command definition
define command{
                      command_name    process-host-perfdata
                      command_line   /usr/local/pnp4nagios/libexec/process_perfdata.pl                  nagios安装
        }

           # 'process-service-perfdata'command definition
                define command{
                       command_name    process-service-perfdata
                      command_line   /usr/local/pnp4nagios/libexec/process_perfdata.pl
        }

         配置templates.cfg,添加:
         #vi/usr/local/nagios/etc/objects/etc/objects/templates.cfg
# Pnp4nagios host definition template
                define host {
                                name       host-pnp
                                action_url/pnp4nagios/graph?host=$HOSTNAME$
                                register   0
                  }

# Pnp4nagioshost definition template
define service {
                  name       srv-pnp
                  action_url/pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
                  register   0
         }

         配置主机监控文件:
         #vi/usr/local/nagios/etc/objects/etc/objects/192.168.8.80-NSClient.cfg
                define service{
                                use                                          generic-service,srv-pnp
                                host_name                            192.168.8.80-NSClient
                                service_description            check_ping
                                check_command                 check_ping!100.0,20%!500.0,60%
                  }

3. 重启服务
#/usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg    检查nagios配置
#service nagios restart   没有错误重启nagios服务
        #service npcd restart      重启npcd服务


想做Nagios Zabbix,Cacti,iTop各种交流的,可以进入开源监控工具Nagios交流  QQ群号 476809427




上一篇:企业级系统监控方案之Nagios
下一篇:nagios插件性能数据格式解读
monicazhang

写了 2297 篇文章,拥有财富 12859,被 21 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

Powered by IT 运维管理
返回顶部