본문 바로가기

리눅스

리눅스에서 Cacti 기반 시스템 모니터링 구축

반응형

리눅스에서 Cacti 기반 시스템 모니터링 구축

Cacti는 RRDTool 기반의 오픈소스 시스템 모니터링 도구입니다.

SNMP 데이터를 수집하여 CPU, Memory, Network, Disk 등의 성능 정보를 그래프 형태로 시각화합니다.

APM 환경 구축

Apache + MySQL + PHP 환경(APM)을 구성합니다.

 

Apache 설치

yum install -y httpd

MySQL 설치

yum install -y mysql mysql-server mysql-devel

필수 라이브러리 설치

  • Cacti 및 RRDTool 빌드에 필요한 라이브러리를 설치합니다.
yum install -y \
  gd gd-devel \
  libpng libpng-devel \
  libjpeg libjpeg-devel \
  freetype freetype-devel \
  fontconfig fontconfig-devel \
  libxml2 libxml2-devel \
  openssl openssl-devel \
  gmp gmp-devel \
  mhash mhash-devel \
  libmcrypt libmcrypt-devel

PHP 및 MySQL 연동 모듈 설치

yum install -y \
  php \
  php-mysql \
  php-devel \
  php-gd \
  php-mbstring \
  php-mhash

Cacti 설치 준비

추가 라이브러리 설치

yum install -y freetype-devel libpng-devel libart-lgpl

RRDTool 설치

RRDTool은 Cacti 그래프 생성에 사용됩니다.

 

소스 다운로드

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

압축 해제

tar zxvf rrdtool-1.2.23.tar.gz
cd rrdtool-1.2.23

컴파일 및 설치

./configure --disable-tcl
make
make install

rrdtool 명령어 링크 생성

ln -s /usr/local/rrdtool-1.2.23/bin/rrdtool /usr/local/bin/rrdtool

Cacti 설치

Cacti 패키지 다운로드

wget http://www.cacti.net/downloads/cacti-0.8.7b.tar.gz
wget http://cactiusers.org/downloads/cacti-plugin-arch.tar.gz

Cacti 사용자 생성

useradd cacti

압축 해제 및 디렉토리 이동

tar zxvf cacti-0.8.7b.tar.gz
mv cacti-0.8.7b /home/cacti/public_html

Cacti Plugin 설치

tar zxvf cacti-plugin-arch.tar.gz
cd cacti-plugin-arch

패치 파일 복사

cp cacti-plugin-0.8.7b-PA-v2.1.diff /home/cacti/public_html/

패치 테스트

patch -p1 -N --dry-run < cacti-plugin-0.8.7b-PA-v2.1.diff

패치 적용

patch -p1 -N < cacti-plugin-0.8.7b-PA-v2.1.diff

로그 파일 권한 설정

chgrp apache log/cacti.log
chmod 664 log/cacti.log
728x90

MySQL 데이터베이스 설정

Cacti 데이터베이스 생성 후 초기 테이블을 생성합니다.

mysql -u root -p

DB 생성

CREATE DATABASE cacti;
GRANT ALL ON cacti.* TO 'cacti'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

테이블 생성

mysql -u cacti -p cacti < /home/cacti/public_html/cacti.sql

Cacti 설정

설정 파일 수정

vim /home/cacti/public_html/include/global.php

DB 정보 설정

database_type = mysql
database_default = cacti
database_hostname = localhost
database_username = cacti
database_password = password

Cacti Poller 설정 (crontab)

Cacti 데이터 수집을 위해 5분마다 Poller 실행합니다.

crontab 등록

crontab -e
*/5 * * * * /usr/local/php/bin/php /home/cacti/public_html/poller.php >/dev/null 2>&1

Apache VirtualHost 설정

Apache 설정 파일에 Cacti 웹 디렉토리를 연결합니다.

<VirtualHost *:80>
    DocumentRoot /home/cacti/public_html
    ServerName cacti.local
</VirtualHost>

Apache 재시작

systemctl restart httpd

Cacti 웹 접속

웹 브라우저에서 접속합니다.

http://서버IP

초기 계정

  • ID : admin
  • Password : admin

로그인 후 초기 비밀번호를 반드시 변경해야 합니다.

참고: 소스 빌드 환경 설정

MySQL 컴파일 옵션

./configure \
  --prefix=/usr/local/mysql \
  --localstatedir=/usr/local/mysql/data \
  --with-charset=euckr \
  --with-extra-charsets=all \
  --enable-thread-safe-client \
  --with-mysql-user=mysql

Apache 컴파일 옵션

./configure \
  --prefix=/usr/local \
  --sysconfdir=/etc/httpd \
  --enable-so \
  --enable-rewrite \
  --enable-ssl \
  --enable-modules=so

PHP 컴파일 옵션

./configure \
  --with-apxs2=/usr/sbin/apxs \
  --with-mysql=/usr/local/mysql \
  --with-gd \
  --with-openssl \
  --enable-mbstring

 

728x90
반응형