본문 바로가기

Academy I/Tech Academy

CentOS Cacti 설치

Cacti

  • cacti는 SNMP 프로토콜을 사용하는 네트워크 모니터링 툴이다.
  • 관리 및 사용은 브라우저를 통해 이루어지고 모든 관리 데이터들은 MySQL을 이용하여 저장된다.
  • Poller는 주어진 대상 시스템을 조회하여 가져온 결과를 RRD 파일에 저장하고 이 정보는 그래프를 만드는데 사용된다.


Cacti의 작업


Data Retrieval

  • cacti는 poller를 사용하여 데이터를 검색한다.
  • poller는 unix의 crontab과 같은 스케쥴러를 수행한다.
  • cacti는 원격 대상의 데이터 검색에 네트워크 관리 프로토콜인 SNMP를 사용한다. 따라서 SNMP를 사용할 수 있는 모든 디바이스는 cacti에서 모니터링 할 수 있다.


Data Storage

  • cacti는 데이터를 저장하는데 RRDTool을 사용한다.
  • 히스토리 데이터는 공간 절약을 위해 압축된다.


Data Presentation

  • RRDTool의 가장 두드러진 특징 중 하나는 그래프 함수이다.
  • 그래프에 다양한 항목을 표현할 수 있고 어떤 플랫폼에서든 거의 모든 브라우저에서 액세스 할 수 있다.
  • cacti는 주로 php로 작성되었는데 php는 웹 개발에 적합하고 쉽게 html에 적용할 수 있는 범용 스크립트 언어이다.

참고 : http://docs.cacti.net/


========================================================================================


Cacti 설치 방법


설치 환경은 centos 6.6 32bit 



아파치 설치

# yum install httpd httpd-devel


mysql 설치

# yum install mysql mysql-server


php 설치

# yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-snmp


net-snmp 설치

# yum install snmpd net-snmp net-snmp-utils net-snmp-devel net-snmpt-libs


RRDTool 설치

# yum install rrdtool


cacti 설치

# yum install cacti

설치가 안될것이다. epel repository 를 받자


 -> 참조

=======================================================================================

epel repository


RHEL/CentOS 7 64 Bit


## RHEL/CentOS 7 64-Bit ##

# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

# rpm -ivh epel-release-7-5.noarch.rpm

RHEL/CentOS 6 32-64 Bit


## RHEL/CentOS 6 32-Bit ##

# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

# rpm -ivh epel-release-6-8.noarch.rpm


## RHEL/CentOS 6 64-Bit ##

# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# rpm -ivh epel-release-6-8.noarch.rpm

RHEL/CentOS 5 32-64 Bit

=======================================================================================


서비스 시작 및 설정

# service httpd start

# service mysqld start

# service snmpd start

# chkconfig httpd on

# chkconfig mysqld on

# chkconfig snmpd on


mysql 설정

# mysql -u root -p

> create database cacti;

> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'password';

> FLUSH privileges;

> quit


cacti 설치하면 샘플 sql 파일이 있다 이걸 restore 하자

# mysql -u root -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql

경로가 다를수 있다.


db 환경 설정

# vi /etc/cacti/db.php

/* make sure these values reflect your actual database/host/user/password */

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cactiuser";

$database_password = "password";

$database_port = "3306";

$database_ssl = false;

자기가 설정한 환경으로 입력하면 된다.


snmp 환경설정

# vi /etc/snmp/snmpd.conf

com2sec public default public

group public v1 public

group public v2c public

group public v2c rnd1

group public usm public

view all included .1

access public "" any noauth exact all none none


테스트  해보자
# snmpwalk -v2c -c public localhost

숄량 숄랑 뜨면 정상

안뜨면 snmp 설정이나 방화벽 설정을 확인해보자


PHP 환경설정

# vi /etc/php.ini 

;date.timezone =        --> date.timezone = Asia/Seoul



방화벽 설정

# iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT

# iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT

# service iptables save


아파치 설정

# vi /etc/httpd/conf.d/cacti.conf

Alias /cacti    /usr/share/cacti


<Directory /usr/share/cacti/>

        <IfModule mod_authz_core.c>

                # httpd 2.4

                Require all granted

        </IfModule>

        <IfModule !mod_authz_core.c>

                # httpd 2.2

                Order deny,allow

                Deny from all

                Allow from all

        </IfModule>

</Directory>

localhost를 all로 변경해준다


# service httpd restart


그래프를 나오게 하기 위해서 위해서는 poller.php 를 구동시켜줘야 한다.

이걸 crontab 에 등록하자


# crontab -e

*/5 * * * *    /usr/bin/php /usr/share/cacti/poller.php --force > /dev/null 2>&1


혹시 그래프가 깨져서 나온다면 수동으로 poller.php 을 구동해주자

/usr/bin/php /usr/share/cacti/poller.php --force --debug

뒤에 --force 명령은 오류 무시고

--debug 는 무슨 오류가 있는지  확인 하는 명령이다.


자 모든 작업이 끝났다.

웹으로 접속하자


http://localhost/cacti/install/

혹시 권한 문제로 접속이 안된다면

httpd 설정이 정상적으로 됐는지 확인해보자

문제가 없다면

# chcon -R -t httpd_user_content_t /usr/share/cacti/

해주자






다음



새설치




특별한 문제가 없다면 에러가 없을것이다.

문제생긴곳이 있다면 설치나 설정해주면 된다.




접속화면이 뜬다. 

default id : admin pass : admin 이다.



[출처 : http://algo79.tistory.com/entry/cacti-%EC%84%A4%EC%B9%98%EB%B0%A9%EB%B2%95]