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

相关日志:

  1. Mediawiki和Cacti从Windows迁移到Linux的注意事项
  2. 双管理节点集群配置范例
  3. MySQL集群配置详细案例
  4. Ubuntu系统创建SVN多仓库脚本
  5. MySQL快速入门

评论已经关闭