Fluentd 설치 참조 : http://misoin.tistory.com/43

MongoDB 설치 참조 : http://misoin.tistory.com/21


 

nginx access 로그를 수집하도록 설정

# vi /etc/td-agent/td-agent.conf

# nginx access log

<source>

  type tail

  path /log/nginx/access.log

  tag nginx.log.access

  format apache

  time_format %d/%b/%Y:%H:%M:%S %z

</source>

 

<match nginx.log.access>

  type mongo

  database nginx

  collection access

  host 192.168.0.204

  port 27017

  flush_interval 10s

</match>

# /etc/init.d/td-agent restart

 

자료 몇 개 때려넣고

# ab -n 100 -c 10 http://192.168.0.201/

 

몽고디비에서 확인해보자

# mongo

MongoDB shell version: 2.2.1

connecting to: test

> use nginx

switched to db nginx

> db.access.find()

{ "_id" : ObjectId("50a79176e1382305f5000009"), "host" : "192.168.0.201", "user" : "-", "method" : "GET", "path" : "/", "code" : "200", "size" : "612", "referer" : "-", "agent" : "ApacheBench/2.0.40-dev", "time" : ISODate("2012-11-17T13:30:24Z") }

{ "_id" : ObjectId("50a79176e1382305f500000a"), "host" : "192.168.0.201", "user" : "-", "method" : "GET", "path" : "/", "code" : "200", "size" : "612", "referer" : "-", "agent" : "ApacheBench/2.0.40-dev", "time" : ISODate("2012-11-17T13:30:24Z") }

{ "_id" : ObjectId("50a79176e1382305f500000b"), "host" : "192.168.0.201", "user" : "-", "method" : "GET", "path" : "/", "code" : "200", "size" : "612", "referer" : "-", "agent" : "ApacheBench/2.0.40-dev", "time" : ISODate("2012-11-17T13:30:24Z") }

{ "_id" : ObjectId("50a79176e1382305f500000c"), "host" : "192.168.0.201", "user" : "-", "method" : "GET", "path" : "/", "code" : "200", "size" : "612", "referer" : "-", "agent" : "ApacheBench/2.0.40-dev", "time" : ISODate("2012-11-17T13:30:24Z") }

{ "_id" : ObjectId("50a79176e1382305f500000d"), "host" : "192.168.0.201", "user" : "-", "method" : "GET", "path" : "/", "code" : "200", "size" : "612", "referer" : "-", "agent" : "ApacheBench/2.0.40-dev", "time" : ISODate("2012-11-17T13:30:24Z") }

http://help.treasure-data.com/kb/installing-td-agent-daemon/installing-td-agent-for-redhat-and-centos 참조


CentOS 기준임

 

 

# vi /etc/yum.repos.d/td.repo

[treasuredata]

name=TreasureData

baseurl=http://packages.treasure-data.com/redhat/$basearch

gpgcheck=0

 

# yum update

# yum install td-agent

 

td-agent 구동

# /etc/init.d/td-agent start

Starting td-agent:                                         [  OK  ]

 

td-agent 중지

# /etc/init.d/td-agent stop

 

td-agent 재시작

# /etc/init.d/td-agent restart

 

설정파일 위치

/etc/td-agent/td-agent.conf


시스템/네트워크 모니터링 툴인 nagios (발음: 나기오스)를 소스 설치해보자. (CentOS 기준)

소스 설치로 깔끔하게 정리된 글이 없어서 약간의 개고생을 했음.

다른 사람은 개고생 덜하길 바라며.. 아니면 RPM설치를 권고함. 



Nagios (시스템/네트워크 모니터링 툴) 설치

 

 

의존성 패키지 설치

# yum install -y wget gcc glibc glibc-common gd gd-devel make xinetd net-snmp zlib-devel libxml2-devel freetype-devel

 

httpd가 패키지로 설치되어있으면 삭제하자

# rpm -qa | grep httpd

httpd-2.2.3-65.el5.centos.3

설치된 게 있으면 삭제 (안해도 됨)

# rpm -e --nodeps httpd-2.2.3-65.el5.centos.3

혹은

# yum remove httpd-2.2.3-65.el5.centos.3

 

아파치 설치전에 apr(apache portable runtime) arp-util을 설치한다.

# cd /usr/local/src

# wget http://apache.tt.co.kr//apr/apr-1.4.6.tar.gz

# wget http://apache.mirror.cdnetworks.com//apr/apr-util-1.5.1.tar.gz

# tar zxvf apr-1.4.6.tar.gz

# tar zxvf apr-util-1.5.1.tar.gz

# cd apr-1.4.6

# ./configure --prefix=/usr/local/apr

# make && make install

# cd ../apr-util-1.5.1

# ./configure --with-apr=/usr/local/apr

# make && make install

 

아파치 설치시 아래와 같은 에러가 날 경우가 있다.

configure: error: pcre-config for libpcre not found.PCRE is required and available from http://pcre.org/

 

PCRE(Perl Compatible Regular Expressions)도 그냥 설치하자.

# cd /usr/local/src

# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz

# tar zxvf pcre-8.32.tar.gz

# cd pcre-8.32

# ./configure

# make && make install

 

이제 아파치 웹서버를 다운받고 설치하자

# cd /usr/local/src

# wget http://ftp.apache-kr.org/httpd/httpd-2.4.3.tar.gz

# tar zxvf httpd-2.4.3.tar.gz

# cp -Rf httpd-2.4.3 /usr/local/apache2

# cd ../apache2

# ./configure --prefix=/usr/local/apache2 --enable-module=so --enable-mods-shared-all --enable-so --enable-rewrite --enable-sll

# make && make install

# vi /etc/ld.so.conf

/usr/local/apache2/lib

/usr/local/apache2/modules

# ldconfig

 

아파치에 nagios 관련한 설정을 먼저 하자.

(추가적으로 nagios를 위한 웹서비스 포트는 기본 80이 아니라 8082번으로 변경하자.)

# vi conf/httpd.conf

# Listen 80

Listen 8082

 

# add nagios

ScriptAlias /nagios/cgi-bin/ “/usr/local/nagios/sbin/”

<Directory "/usr/local/nagios/sbin">

    AllowOverride AuthConfig

    Options ExecCGI

    AuthName "Nagios Access"

    AuthType Basic

    AuthUserFile /usr/local/nagios/etc/htpasswd.users

    require valid-user

    Order allow,deny

    Allow from all

</Directory>

 

Alias /nagios/ “/usr/local/nagios/share/”

<Directory "/usr/local/nagios/share">

    Options None

    AllowOverride AuthConfig

    AuthName "Nagios Access"

    AuthType Basic

    AuthUserFile /usr/local/nagios/etc/htpasswd.users

    require valid-user

    Order allow,deny

    Allow from all

</Directory>

 

아파치를 서비스로 등록하자

# cp ./bin/apachectl /etc/init.d/httpd

# vi /etc/init.d/httpd

#!/bin/sh

#

# 아래 부분 추가

# chkconfig: 2345 90 90

# description: init file for Apache server daemon

# processnmae: /usr/local/apache2/bin/apachectl

# config: /usr/local/apache2/conf/httpd.conf

# pidfile: /usr/local/apache2/logs/httpd.pid

#

# Licensed to the Apache Software Foundation (ASF) under one or more

httpd를 서비스에 등록

# chkconfig --add httpd

httpd가 서비스에 등록되었는지 확인

# chkconfig --list | grep httpd

 

아파치 실행은

# /etc/init.d/httpd start

아파치 중지는

# /etc/init.d/httpd stop

 

다음은 php 설치를 한다.

# /usr/local/src

# wget http://kr1.php.net/get/php-5.4.9.tar.gz/from/this/mirror

# tar zxvf php-5.4.9.tar.gz

# cp -Rf php-5.4.9 /usr/local/php

# cd ../php

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --enable-sigchild

# make && make install

# cp php.ini-production /usr/local/apache2/conf/php.ini

 

아파치에 php설정을 한다

# cd /usr/local/apache2

# vi conf/httpd.conf

LoadModule cgid_module         modules/mod_cgid.so

LoadModule php5_module        modules/libphp5.so

# php

    AddType application/x-httpd-php .php

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

<IfModule dir_module>

    DirectoryIndex index.html index.php

</IfModule>

 

다음으로 nagios를 설치한다.

데이터와 로그를 위한 폴더를 만들고

# mkdir -p /data/nagios

# mkdir -p /log/nagios

 

우선 nagios를 위한 사용자와 그룹을 추가

# useradd nagios

# groupadd nagcmd

# usermod -a -G nagcmd nagios

# usermod -a -G nagcmd apache

# groupadd nagios

# usermod –a -G nagios nagios

 

다음으로 nagios core plugin을 다운로드 받아서 압축을 푼다

# cd /usr/local/src

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz

# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz

# tar zxvf nagios-3.4.3.tar.gz

# tar zxvf nagios-plugins-1.4.16.tar.gz

# cp -Rf nagios /usr/local/nagios

# cp -Rf nagios-plugins-1.4.16 /usr/local/nagios-plugins

 

nagios core 부터 설치하자

# cd ../nagios

# ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd

# make all

# make install

# make install-init

# make install-config

# make install-commandmode

# make install-webconf

# cp -R contrib/eventhandlers/ libexec/

# chown -R nagios:nagios libexec/eventhandlers

# chown nagios.nagcmd /usr/local/nagios/var/rw –

# chmod u+rwx /usr/local/nagios/var/rw

# chmod g+s /usr/local/nagios/var/rw

# chmod o-rwx /usr/local/nagios/var/rw

 

아래처럼 /usr/local/nagios/var other 사용자는 권한이 없으면 된다.

# ll /usr/local/nagios/var

drwxrws--- 2 nagios nagcmd  4096 12??  5 11:54 rw

 

NAGIOS_HOMEAPACHE2_HOME 셋팅

# vi /etc/profile

APACHE_HOME=/usr/local/apache2

export APACHE_HOME

NAGIOS_HOME=/usr/local/nagios

export NAGIOS_HOME

PATH=$PATH:$APACHE_HOME/bin:$NAGIOS_HOME/sbin

export PATH

# source /etc/profile

 

설정파일은 nagiosetc 폴더 아래에 위치한다.

etc/cgi.cfg

etc/nagios.cfg

etc/resource.cfg

etc/objects/commands.cfg

etc/objects/contacts.cfg

etc/objects/localhost.cfg

etc/objects/printer.cfg

etc/objects/switch.cfg

etc/objects/templates.cfg

etc/objects/timeperiods.cfg

etc/objects/windows.cfg

 

필요한 설정파일만 수정해서 사용하면 된다.

# vi etc/nagios.cfg

# log_file=/usr/local/nagios/var/nagios.log

log_file=/log/nagios/nagios.log

 

담당자 이메일 정보 수정

# vi etc/objects/contacts.cfg

email                           misoin@hanmail.net

 

이제, 플러그인을 설치하자.

# cd ../nagios-plugins

# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios

# make && make install

 

nagios에 대한 아파치 인증을 설정

# cd /usr/local/apache2

# ./bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

New password: abcd

Re-type new password: abcd

Adding password for user nagiosadmin

 

nagios.cfg 검증은 아래와 같다. 설정 수정 후 검증 해볼 것!

# nagios -v /usr/local/nagios/etc/nagios.cfg

.

Total Warnings: 0

Total Errors:   0

 

Things look okay - No serious problems were detected during the pre-flight check

 

문제없이 검증이 되었다면, 서비스에 등록하고 실행

# /etc/init.d/nagios start

Starting nagios: done.

 

아파치를 다시 재시작해보자

# /etc/init.d/httpd stop

# /etc/init.d/httpd start

 

이제 브라우저 창에서 http://192.168.0.207:8082/nagios 를 하자.

로그인 창이 나오고, 위에서 설정한 nagiosadmin / abcd 으로 로그인하면

Nagios 화면이 나올것이다.



Nagios 원격서버 모니터링 (NRPE)


이렇게까지만 하면, localhost.cfg 설정에 따라 기본적으로 localhost만 모니터링이 가능하다.

nrpe를 이용해서 다른 클라이언트도 모니터링해보자.

 

nagios 클라이언트는 nrpe를 이용해서 nagios 서버의 접근을 허용하고,

nagios 클라이언트와 nagios 서버가 서로 통신하여 nagios 클라이언트의 서버 상태를 모니터링하게 된다.

 

우선, nagios 서버 역할을 하는 곳에 nrpe를 설치하자.

 

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz

# tar zxvf nrpe-2.13.tar.gz

# cp -Rf nrpe-2.13 /usr/local/nrpe

 

다음은 nrpe 설치

# cd ../nrpe/

# ./configure --prefix=/usr/local/nagios

# make && make all

# cp ./src/check_nrpe /usr/local/nagios/libexec/

# cp ./src/nrpe /usr/local/nagios/bin

# cp sample-config/nrpe.cfg /usr/local/nagios/etc/

# cd /usr/local/nagios

# vi etc/nrpe.cfg

 

nrpe 명령어 추가

# vi etc/objects/commands.cfg

# 'check-nrpe' command definition

define command{

        command_name    check_nrpe

        command_line    /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

        }

 

이제 nagios 클라이언트들의 정보를 nagios 서버에 설정할 차례이다.

우리는 총 7대의 서버를 모니터링할 것이다. (본인꺼 포함)

 

proxy1 (192.168.0.201)

was1 (192.168.0.202)

was2 (192.168.0.203)

storage1 (192.168.0.204)

storage2 (192.168.0.205)

maindb (192.168.0.206)

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

localhost (192.168.0.207)

 

위의 6 nagios 클라이언트를 설정하자.

localhost.cfg를 복사해서 몇가지 값만 바꿔주면 된다. (host_name, alias, address 이런 부분만 찾아서 수정해줌)

# mkdir –p etc/objects/clients

# cp etc/objects/localhost.cfg etc/objects/clients/proxy1.cfg

# vi etc/objects/clients/proxy1.cfg

# host_name, alias, address 이런 부분만 찾아서 수정해주자

# proxy1의 경우 host_name proxy1, alias proxy1, address 192.168.0.201)

이렇게 6개를 만든다. (proxy1.cfg, was1.cfg, was2.cfg, storage1.cfg, storage2.cfg, maindb.cfg)

 

설정파일 내에는 hostgroup 정의하는 부분이 있는데.

서버들 중에 서로 관련있는 것들끼리 그룹으로 묶으면 보기에 좋아진다.

예를 들어, was1, was2는 같은 그룹으로 묶어서 정의하면 되겠다. (was1.cfg, was2.cfg 에서)

 

###############################################################################

###############################################################################

#

# HOST GROUP DEFINITION

#

###############################################################################

###############################################################################

 

# Define an optional hostgroup for Linux machines

 

define hostgroup{

        hostgroup_name  linux-was-servers ; The name of the hostgroup

        alias           Linux WAS Servers ; Long name of the group

        members         was1, was2     ; Comma separated list of hosts that belong to this group

        }

 

다음으로, 생성한 클라이언트 cfg 파일을 nagios.cfg에 등록

# vi etc/nagios.cfg

# Definitions for monitoring the local (Linux) host

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

 

# Definition for monitoring the remote (Linux) host

cfg_file=/usr/local/nagios/etc/objects/clients/proxy1.cfg

cfg_file=/usr/local/nagios/etc/objects/clients/was1.cfg

cfg_file=/usr/local/nagios/etc/objects/clients/was2.cfg

cfg_file=/usr/local/nagios/etc/objects/clients/storage1.cfg

cfg_file=/usr/local/nagios/etc/objects/clients/storage2.cfg

cfg_file=/usr/local/nagios/etc/objects/clients/maindb.cfg

 

설정파일을 검증해보고

# nagios -v /usr/local/nagios/etc/nagios.cfg

 

이상이 없으면 nagios를 재시작

# /etc/init.d/nagios restart

 

이제는 nagios 클라이언트를 할 차례이다.

nagios 클라이언트에는 core는 필요없고, nagios plugin nrpe를 설치해주면 된다.

 

의존성 패키지 설치

# yum install -y wget gcc glibc glibc-common gd gd-devel make net-snmp zlib-devel

 

우선 nagios를 위한 사용자와 그룹을 추가

# useradd nagios

# groupadd nagcmd

# usermod -a -G nagcmd nagios

# groupadd nagios

# usermod –a -G nagios nagios

 

NAGIOS_HOME APACHE2_HOME 셋팅

# vi /etc/profile

NAGIOS_HOME=/usr/local/nagios

export NAGIOS_HOME

PATH=$PATH:$NAGIOS_HOME/sbin

export PATH

# source /etc/profile

 

nrpe 포드 개방 (5666)

# iptables -I INPUT -m tcp -p tcp --dport 5666 -j ACCEPT

 

nagios plugin nrpe를 다운로드

# mkdir –p /usr/local/nagios

# cd /usr/local/src

# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz

# tar zxvf nagios-plugins-1.4.16.tar.gz

# tar zxvf nrpe-2.13.tar.gz

# cp -Rf nagios-plugins-1.4.16 /usr/local/nagios-plugins

# cp -Rf nrpe-2.13 /usr/local/nrpe

 

플러그인 설치

# cd ../nagios-plugins

# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios

# make && make install

 

다음은 nrpe 설치

# cd /usr/local/nrpe/

# ./configure --prefix=/usr/local/nagios

# make && make all

# mkdir –p /usr/local/nagios/etc

# mkdir -p /usr/local/nagios/bin

# cp ./src/check_nrpe /usr/local/nagios/libexec/

# cp ./src/nrpe /usr/local/nagios/bin

# cp sample-config/nrpe.cfg /usr/local/nagios/etc/

# cd /usr/local/nagios

# chown -R nagios:nagios bin

# chown -R nagios:nagios etc

# chown -R nagios:nagios libexec

# chown -R nagios:nagios share

# vi etc/nrpe.cfg

# allowed_hosts=127.0.0.1

allowed_hosts=192.168.0.207

 

nrpe를 서비스로 등록하자 (xinetd를 이용함)

# chkconfig --level 2345 xinetd on

# cd /etc/xinetd.d

# vi nrpe

service nrpe

{

    flags = REUSE

    type = UNLISTED

    port = 5666

    socket_type = stream

    wait = no

    user = nagios

    group = nagios

    server = /usr/local/nagios/bin/nrpe

    server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd

    log_on_failure += USERID

    disable = NO

    only_from = 192.168.0.207

}

위에서 only_from를 설정하지 않으면 아무 서버나 접근 가능

 

# vi /etc/services

nrpe            5666/tcp                        # nagios NRPE

 

xinetd를 재구동하자.

# /etc/init.d/xinetd restart

 

nrpe 구동확인

# netstat -nap |grep 5666

tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      3015/xinetd

 

다시, nagios 서버로 돌아와서, 클라이언트로 테스트를 해보자

# cd /usr/local/nagios

# ./libexec/check_nrpe -H 192.168.0.201 -c check_load

OK - load average: 0.00, 0.00, 0.00|load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;

 

성공적으로 결과가 나온다면, 다시 브라우저에서 http://192.168.0.207:8082/nagios 를 해보자

왼쪽 메뉴에서 Map을 클릭하면 nagios 클라이언트가 하나 더 추가되었을 것이다


많은 서버를 한번에 관리하기 좋은 툴이라고 하겠다.. 




시스템 자원을 모니터링하는 Cacti



이렇게 생긴거다.. 자세한 내용이나 스크린샷은 아래 링크에서 구경할 수 있겠다.

http://www.cacti.net/features.php   http://www.cacti.net/screenshots.php


요구사항은 아래와 같다. (http://www.cacti.net/downloads/docs/html/requirements.html)

  • RRDTool 1.0.49 or 1.2.x or greater
  • MySQL 4.1.x or 5.x or greater
  • PHP 4.3.6 or greater, 5.x greater highly recommended for advanced features
  • A Web Server e.g. Apache or IIS


CentOS 기준임.. 우선 몇가지 패키지를 미리 설치하자.


# yum install httpd
# yum install mysql mysql-server
# yum install php php-mysql php-snmp php-gd php-devel
# yum install gd gd-devel
# yum install libart_lgpl libart_lgpl-devel
# yum install zlib zlib-devel
# yum install libxml2 libxml2-devel
# yum install libpng libpng-devel
# yum install freetype freetype-devel
# yum install net-snmp-*
# yum install pango-devel


snmp 설정을 바꿔주고.. 재구동


# vi /etc/snmp/snmpd.conf

com2sec public default public
group public v1 public
group public v2c public
group public usm public
view all included .1
access public “” any noauth exact all none none

# /etc/rc.d/init.d/snmpd stop
# /etc/rc.d/init.d/snmpd start


MySQL 이나 Apache 구동은 아래처럼 하면 되겠다.


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


서버 부팅시 자동으로 데몬이 실행되게 하려면 이런 식으로..


# chkconfig httpd on


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


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

AddHandler php5-script .php .htm .html
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



다음은 RRDTool  설치


# cd /usr/local/src
# 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


이제 Cacti를 설치하자.


소스로 설치했으면  웹루트를 이렇게 잡을텐데

yum 으로 httpd 설치하면 기본적으로 웹루트가 /var/www/html/


# cd /usr/local/src
# wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
# tar zxvf cacti-0.8.8a.tar.gz
# cp -Rf cacti-0.8.8a /usr/local/cacti
# ln -s /usr/local/cacti /var/www/html/cacti


/usr/local/cacti/include/config.php 를 열어보면 아래처럼 설정되어있다.

기본 설정대로 사용하도록 하겠다.


 



MySQL을 설정하자

# mysql -u root -p mysql

mysql> create database cacti;
Query OK, 1 row affected (0.05 sec)

mysql> grant all on cacti.* to cactiuser@localhost identified by ‘cactiuser’;
Query OK, 0 rows affected (0.08 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)


기본 스키마를 밀어넣구.


# mysql -u root -p cacti < cacti.sql
# mysql -u root -p mysql


확인


mysql> show databases;

+——————–+
| Database |
+——————–+
| information_schema |
| cacti |
| mysql |
| performance_schema |
| test |
+——————–+
5 rows in set (0.00 sec)

mysql> use cacti;
Database changed
mysql> show tables;
+—————————+
| Tables_in_cacti |
+—————————+
| cdef |
| cdef_items |
| colors |
| data_input |
| data_input_data |
| data_input_fields |
| data_local |
| data_template |
| data_template_data |
| data_template_data_rra |
| data_template_rrd |
| graph_local |
| graph_template_input |
| graph_template_input_defs |
| graph_templates |
| graph_templates_gprint |
| graph_templates_graph |
| graph_templates_item |
| graph_tree |
| graph_tree_items |
| host |
| host_graph |
| host_snmp_cache |
| host_snmp_query |
| host_template |
| host_template_graph |
| host_template_snmp_query |
| plugin_config |
| plugin_db_changes |
| plugin_hooks |
| plugin_realms |
| poller |
| poller_command |
| poller_item |
| poller_output |
| poller_reindex |
| poller_time |
| rra |
| rra_cf |
| settings |
| settings_graphs |
| settings_tree |
| snmp_query |
| snmp_query_graph |
| snmp_query_graph_rrd |
| snmp_query_graph_rrd_sv |
| snmp_query_graph_sv |
| user_auth |
| user_auth_perms |
| user_auth_realm |
| user_log |
| version |
+—————————+
52 rows in set (0.00 sec)


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


# chmod 777 log rra


이제 웹브라우저에서 http://xxx.xxx.xxx.xxx/cacti/ 를 쳐보자.

http://xxx.xxx.xxx.xxx/cacti/install/ 로 변경되면서 아래와 같은 화면이 보여진다.


웹상에서 Cacti 를 설치한다.




신규 설치 혹은 업그레이드를 선택할 수 있다.




경로를 제대로 잡아주자.

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




Finish 버튼을 클릭하면 다음 화면으로 이동한다. admin / admin 으로 로그인




비밀번호를 바꾸라고 함.



따랑~ 설치는 여기서 끝.




이제 설정을 해보자.

왼쪽 메뉴에서 Configuration -> Settings 선택 후 Ganeral과 Path를 잡아준다.




snmp는 /usr/local/bin 디렉토리가 아니구 /usr/bin 에 있음



왼쪽 메뉴에서 Management -> Devices 선택하고 localhost 클릭.



그래프도 잡아준 뒤 Save 버튼 클릭



자. 이제 그래프를 만들자. 왼쪽 메뉴에서 Create -> New Graphs 를 선택하면

보고자했던 항목이 모두 나열된다. 여기에서 입맛에 맞게 항목을 따로 선택해도 된다.


 


Create 버튼을 클릭하면, 색상을 바꾸거나 할 수 있다.



그래프가 생성되었다는 메시지..



왼쪽 메뉴에서 Menagement -> Graph Management 를 선택하면, 관리를 할 수 있고.



왼쪽 메뉴에서 Menagement -> Graph Trees 를 선택하면




Default Tree 를 선택하면



Host: Localhost 를 선택하면, 이러함..



상단의  graphs 탭을 선택하면, 이미지가 깨져나온다. 아직 데이터가 안만들어졌으니까.



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


# php /usr/local/cacti/poller.php –force



OK u:0.00 s:0.00 r:2.99
OK u:0.00 s:0.00 r:2.99
OK u:0.00 s:0.00 r:3.00
05/31/2012 04:22:13 PM – SYSTEM STATS: Time:3.1194 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:54 RRDsProcessed:32


5분마다 자동으로 실행되도록 crontab을 이용할 경우


# crontab -e

*/5 * * * *  /usr/bin/php /usr/local/cacti/poller.php > /dev/null 2>&1


아래처럼 뭔가 스믈스믈 그려지는게 보일것이다.




 

+ Recent posts