posted by 은이종 2012. 9. 13. 17:43
OS : CentOS 6.4 x64 Minimal


0. 
selinux disable
vi /etc/selinux/config 
SELINUX=disabled 

service iptables stop

1. APM 및 라이브러리 설치

yum -y install gcc

yum -y install mysql mysql-server

yum -y install httpd

yum -y install php php-mysql php-snmp php-gd php-devel

yum -y install gd gd-devel  libart_lgpl libart_lgpl-devel  zlib zlib-devel patch

yum -y install libxml2 libxml2-devel libpng libpng-devel freetype freetype-devel  

yum -y install perl-devel

yum -y install net-snmp-*

yum -y install pango-devel

yum -y install rdate wget vim



2. 서버 내 시간 동기화

rdate -s time.bora.net


cron에 등록하여 반복 진행

crontab -e

49 * * * *  rdate -s time.bora.net > /dev/null


3.SNMP 설정 및 기타 필수데몬 설정

내용 삭제하고

cat /dev/null > /etc/snmp/snmpd.conf  


# vi /etc/snmp/snmpd.conf

쓰시던 Comm. 값 넣어서 수정해주시고 재시작

SNMP 는 현재 보안레벨에 따라서 v1, v2c, v3가 있음

v1, v2c기준으로

ex) 

com2sec public   default public

group   public   v1              public

group   public   v2c              public

view    public   included        .1              80

access  public   ""              any             noauth          exact   public   none    none



 /etc/rc.d/init.d/snmpd restart

/etc/rc.d/init.d/mysqld start

/etc/rc.d/init.d/httpd start

chkconfig mysqld on

chkconfig httpd on

chkconfig snmpd on


4. RRDTool  설치

wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz

tar zxvf rrdtool-1.4.7.tar.gz
cd rrdtool-1.4.7

./configure --prefix=/usr/local/rrdtool

make  

make install


5. apache 설정

Apache에서 php를 연동하기 위해 php.conf 와 httpd.conf 를 열어서 아래처럼 수정

vi /etc/httpd/conf.d/php.conf

AddHandler php5-script .php .htm .html

AddType text/html .php

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


vi /etc/httpd/conf/httpd.conf

Options Indexes FollowSymLinks -> Options -Indexes
AllowOverride None ->AllowOverride All
DirectoryIndex index.html index.html.var -> DirectoryIndex index.html index.htm index.php

AddType application/x-httpd-php .htm .html .php .ph .php3 .php4 .phtml .inc

AddType application/x-httpd-php-source .phps


기존의 주석을 풀고 추가 

AddHandler cgi-script .cgi


변경

DocumentRoot "/var/www/html" -> "/var/www/html/cacti"


6. Cacti를 설치

wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz

tar zxvf cacti-0.8.8a.tar.gz
mv cacti-0.8.8a cacti

cp -Rf cacti /var/www/html/

7. MySQL을 설정

가. Cacti 설정

mysql -u root -p mysql

create database cacti;
grant all on cacti.* to cactiuser@localhost identified by 'cactiuser';

flush privileges;

quit;

기본 스키마를 밀어넣구.(cacti.sql 기본)

cd /var/www/html/cacti/

mysql -u root -p cacti < cacti.sql

--------------------------------------------

정상적으로 들어갔는지 확인

mysql -u root -p cacti

mysql> show databes;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'databes' at line 1

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| cacti              |


나. Cacti PA(Plugin Architecture) 설치

(Cacti 0.8.8부터는 PA가 내장됨..현 버전은 구지 설치 진행 필요없음.

필요한 Plugin만 설치하면 됨)

wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz

tar xvfz cacti-plugin-0.8.7g-PA-v2.8.tar.gz

cd cacti-plugin-arch/


cp -rf * /var/www/html/cacti/

cd /var/www/html/cacti/



patch -p1 -N --dry-run < cacti-plugin-0.8.7g-PA-v2.8.diff
patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff
mysql -u root -p cacti -f -A < pa.sql



8. 권한 등 설정 

로그와 데이터가 저장되는 디렉토리에 권한을 줍니다.

# chmod 777 log rra

이제 웹브라우저에서 각 도메인이나 IP를 쳐보자.

아래와같이 알람이 뜨는데 경로를 바꿔준다

/usr/local/bin/rrdtool -> /usr/local/rrdtool/bin/rrdtool

admin / admin 기본 패스워드. 

보안상 추후 변경 필요


9. cacti GUI 설정

Configuration -> Settings 선택 후 General과 Path를 확인.


10. cacti 에 있는 poller.php 를 실행시켜서 그래프를 생성

crontab -e

*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1

## 참고로 0.8.8 부터는 기존의 interval을 5분에서 1분으로 수정할 수 있다!!!!


11. 그래프의 텍스트가 깨질때 필독

CentOS minimal 로 설치시 기본 폰트가 설치가 안된다.

맘에 드는 글자 폰트를 

/usr/share/fonts 로 복사해두고

fc-cache 를 실행하면 정상화 된다.


12. Cacti 기본 수정

Local Linux Template엔 Traffic이 기본 들어가 있지 않으니,

SNMP - Interface Statistics 

추가

사용하지 않는 Templates 는 과감히 제거


13. 트래픽 설정시 주의!! (선택사항)

디폴트로 설정하면 100M이상이 그려지지 않는다.

꼭 64bit로 설정해야함.

짜잘한 꼼수 부리긔 @.@




14. backup 설정

(1) 백업할 폴더, 스크립트 생성

mkdir /var/www/html/cacti/backup

touch /var/www/html/cacti/backup/backup.sh

-각 폴더가 틀릴 수 있으니, 폴더에 맞춰서--------------------------------

#/bin/bash

cd /var/www/html/cacti/backup


# Remove old backups

find /var/www/html/cacti/backup/* -mtime +3 -exec rm -fr {} \; > /dev/null 2>&1


# Remove old RRAs (usually means the datasource is deleted)

find /var/www/html/cacti/rra/* -mtime +3 -exec rm -fr {} \; > /dev/null 2>&1


# Create the filename for the backup

eval `date "+day=%d; month=%m; year=%Y"`

INSTFIL="cacti-backup-$year-$month-$day.tar.gz"


# Dump the MySQL Database

mysqldump -uroot --opt cacti> /var/www/html/cacti/cacti-backup.sql


# Gzip the whole folder

tar -Pcpzf /var/www/html/cacti/backup/$INSTFIL /var/www/html/cacti/*


# Remove the SQL Dump

rm -f /var/www/html/cacti/cacti-backup.sql

-------------------------------------------------------------------

(2)crontab -e 설정

0 0 * * * /var/www/backup.sh


*  cacti 세부 설정은 추후 포스팅 예정

* 튜닝 관련 참고사이트

  http://sclabs.blogspot.kr/2011/03/cacti.html


'Monitor > Cacti' 카테고리의 다른 글

Cacti Plugin  (0) 2014.02.12
Cacti Thold 설정  (0) 2013.01.09