cacti - (시스템 및 네트워크 모니터링) 설치하기



    cacti


    cacti란? 업계 표준 오픈 소스 데이터 로깅 도구인 RRDtool에 대한 프론트 엔드용 으용 프로그램으로 설계된, 오픈 소스 웹 기반 네트워크 모니터링 및 그래프 도구입니다.



    cacti는 사용자가 소정의 간격으로 서비스를 폴링하고 그 결과 데이터를 그래프로 표시 할 수 있습니다 일반적으로 CPU 부하 및 네트워크의 대역폭 같은 수치 데이터를 그래프로 변환합니다.


    일반적인 사용은 단순 네트워크 관리 프로토콜 (SNMP)를 통해 네트워크 스위치 또는 라우터 인터페이스를 폴링하여 네트워크 트래픽을 감시하는 것입니다


    프론트 엔드는 각자의 그래프 세트를 가진 복수의 사용자를 처리 할 수 있어서 전용 서버, 가상 개인 서버 및 코로케이션을 공급하는 웹 호스팅 제공 업체가 고객들의 대역폭 통계를 확인하기 위해 사용하기도 합니다.


    RRDtool의 수동 구성 없이 모니터링 할 수 있는 특정 설정을 허용하여 데이터 수집 자체를 구성하는 데 사용될 수 있습니다. Cacti는 쉘 스크립트 실행을 통해 다양한 소스를 모니터링 할 수 있도록 확장 할 수 있습니다


    Cacti는 RRD에 특화된 정교한 프론트 엔드 툴입니다 대부분의 구성은 자사의 웹 인터페이스를 통해 이뤄지며 사용자인터페이스는 훌륭하지만 신뢰성이 떨어지는 부분과 유연하지 않다는 것이 단점 입니다



    서버 모니터링 관련글 


    오픈소스 서버 모니터링 툴 : http://server-talk.tistory.com/120






     Cacti 설치하기



    Cacti를 설치하기에 앞서 Cacti를 사용하려면 설치하려는 서버의 APM(Apache, php, MySQL)이 설정 되어 있어야 사용할 수 있습니다.






    1. cacti 설치 및 가동에 필요한 패키지 설치


    [root@cacti ~]# yum -y install php-snmp php-gd php-devel gd gd-devel libart_lgpl libart_lgpl-devel zlib zlib-devel libxml2 libxml2-devel libpng libpng-devel freetype freetype-devel net-snmp-* pango-devel
    

    1) Cacti SNMP 설정



    [root@cacti ~]# vi /etc/snmp/snmpd.conf
    com2sec public          default       public
     
    group    public         v1      public
    group    public         v2c     public
     
    view     all           included   .1
     
    access   public         ""      any       noauth    exact  all        none none
    


    Cacti는 SNMP통신으로 데이터를 가져오기 때문에 SNMP 설정파일로 들어가 위그림과 같이 수정합니다



    2)snmd 재시작

    [root@cacti ~]# service snmpd restart
    



    2.RRDTool 설치

    [root@cacti ~]# yum -y install rrdtool
    



    3. cacti 다운로드 및 설치


    1) cacti 설치

    [root@cacti ~]# adduser cacti
    [root@cacti ~]# cd /home/cacti
    [root@cacti cacti]# wget http://www.cacti.net/downloads/cacti-0.8.8c.tar.gz
    [root@cacti cacti]# tar zxf cacti-0.8.8c.tar.gz
    [root@cacti cacti]# mv cacti-0.8.8c public_html
    [root@cacti cacti]# chown cacti.cacti /home/cacti -R
    [root@cacti cacti]# chmod 755 /home/cacti
    

    cacti계정을 생성하여 생성된 계정의 디렉토리의 다운로드 합니다

    다운로드 후 압축해제후 사용하기 쉽게 파일일 명을 변경 후 권한을 설정해 줍니다



    2) /server/apache/conf/extra/httpd-userdir.conf 설정


    <IfModule mod_userdir.c>
        #UserDir disabled
        UserDir public_html
    </IfModule>
    <Directory "/home/*/public_html">
        AllowOverride FileInfo AuthConfig Limit Indexes
        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        <Limit GET POST OPTIONS>
            Order allow,deny
            Allow from all
        </Limit>
        <LimitExcept GET POST OPTIONS>
            Order deny,allow
            Deny from all
        </LimitExcept>
    </Directory>
    
    Alias /cacti /home/cacti/public_html
    


    3) /server/apache/conf/httpd.conf

    AddHandler php5-script .php .htm .html
    AddType application/x-httpd-php-source .phps .php .htm .html
    

    cacti는 php로 구성되어 있어 php인식이 가능하도록 설정하는 과정입니다



    4) /etc/php.ini

    date.timezone = Asia/seoul
    

    php설정까지 모두 완료 되었으면 아파치 재실행을 합니다




    4.cacti mysql 설정


    1)cacti DB 생성

    [root@cacti /]# cd /home/cacti/public_html/
    [root@cacti public_html]# mysqladmin create cacti -u root -p
    [root@cacti public_html]# mysql cacti < ./cacti.sql -uroot -p
    

    cacti 계정생성과 데이터 파일들을 저장하기 위해 mysql 데이터베이스를 생성한후 cacti 데이터 베이스에 필요한 테이블 및 기본데이터를 복원합니다


    2)cacti DB 접근권한 설정하기

    [root@cacti public_html]# mysql -u root -p
    
    mysql> grant all on cacti.* to cacti@localhost identified by 'cacti_password';
    Query OK, 0 rows affected (0.05 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)




    5.cacti DB 접속정보 설정


    [root@cacti public_html]# vi /home/cacti/public_html/include/config.php
    <!--?php
    /*
     +-------------------------------------------------------------------------+
     | Copyright (C) 2004-2014 The Cacti Group                                 |
     |                                                                         |
     | This program is free software; you can redistribute it and/or           |
     | modify it under the terms of the GNU General Public License             |
     | as published by the Free Software Foundation; either version 2          |
     | of the License, or (at your option) any later version.                  |
     |                                                                         |
     | This program is distributed in the hope that it will be useful,         |
     | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
     | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
     | GNU General Public License for more details.                            |
     +-------------------------------------------------------------------------+
     | Cacti: The Complete RRDTool-based Graphing Solution                     |
     +-------------------------------------------------------------------------+
     | This code is designed, written, and maintained by the Cacti Group. See  |
     | about.php and/or the AUTHORS file for specific developer information.   |
     +-------------------------------------------------------------------------+
     | http://www.cacti.net/                                                   |
     +-------------------------------------------------------------------------+
    */
    
    /* make sure these values refect your actual database/host/user/password */
    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cacti";
    $database_password = "cacti_password";
    $database_port = "3306";
    $database_ssl = false;
    
    /*
       Edit this to point to the default URL of your Cacti install
       ex: if your cacti install as at http://serverip/cacti/ this
       would be set to /cacti/
    */
    //$url_path = "/cacti/";
    
    /* Default session name - Session name must contain alpha characters */
    //$cacti_session_name = "Cacti";
    
    ?-->
    




    6.cacti 디렉토리 권한 설정


    [root@cacti public_html]# chown cacti.cacti /home/cacti/ -R;chmod 705 /home/cacti/;chmod 777 /home/cacti/public_html/rra;chmod 777 /home/cacti/public_html/log
    




    7.Crontab poller.php 등록


    [root@cacti public_html]# crontab -l
    */5 * * * * /usr/local/php/bin/php /home/cacti/public_html/poller.php > /dev/null2>&1
    



    Posted by Server-talk 서버이야기